Difference between revisions of "Development:API"
From PCGamingWiki, the wiki about fixing PC games
(dev switches) |
(added DOS modes vardefine for "unknown") |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | <includeonly>{{#switch:{{#var:section}} | + | <noinclude>{{#cargo_declare: |
+ | _table=API | ||
+ | |Direct3D_versions=List (,) of String | ||
+ | |DirectDraw_versions=List (,) of String | ||
+ | |WinG=String | ||
+ | |OpenGL_versions=List (,) of String | ||
+ | |Glide_versions=List (,) of String | ||
+ | |Software_renderer=String | ||
+ | |Mantle_support=String | ||
+ | |Metal_support=String | ||
+ | |Vulkan_versions=List (,) of String | ||
+ | |DOS_video_modes=List (,) of String | ||
+ | |Shader_Model_versions=List (,) of String | ||
+ | |Windows_16bit_executable=String | ||
+ | |Windows_32bit_executable=String | ||
+ | |Windows_64bit_executable=String | ||
+ | |Windows_ARM_app=String | ||
+ | |Mac_OS_X_PowerPC_app=String | ||
+ | |macOS_Intel_32bit_app=String | ||
+ | |macOS_Intel_64bit_app=String | ||
+ | |macOS_ARM_app=String | ||
+ | |Linux_PowerPC_app=String | ||
+ | |Linux_32bit_executable=String | ||
+ | |Linux_64bit_executable=String | ||
+ | |Linux_ARM_app=String | ||
+ | }}</noinclude><includeonly>{{#switch:{{#var:section}} | ||
|Audio | |Audio | ||
|Localizations/done | |Localizations/done | ||
Line 22: | Line 47: | ||
<td class="table-api-body-support">{{#switch:{{lc:{{{direct3d versions|}}}}} | <td class="table-api-body-support">{{#switch:{{lc:{{{direct3d versions|}}}}} | ||
|true | |true | ||
− | |unknown={{Tickcross|{{{direct3d versions|}}}| | + | |unknown={{Tickcross|{{{direct3d versions|}}}||unknown}} |
− | |hackable={{Tickcross|hackable| | + | |hackable={{Tickcross|hackable||{{{direct3d notes|}}}}} |
− | |#default={{#arraymaptemplate:{{{direct3d versions}}}| | + | |#default={{#arraymaptemplate:{{{direct3d versions}}}|API/switch Direct3D|,|, }} }}</td> |
<td class="table-api-body-notes">{{{direct3d notes|}}}</td> | <td class="table-api-body-notes">{{{direct3d notes|}}}</td> | ||
</tr> | </tr> | ||
Line 35: | Line 60: | ||
<td class="table-api-body-support">{{#switch:{{lc:{{{directdraw versions|}}}}} | <td class="table-api-body-support">{{#switch:{{lc:{{{directdraw versions|}}}}} | ||
|true | |true | ||
− | |unknown={{Tickcross|{{{directdraw versions|}}}| | + | |unknown={{Tickcross|{{{directdraw versions|}}}||unknown}} |
− | |hackable={{Tickcross|hackable| | + | |hackable={{Tickcross|hackable||{{{directdraw notes|}}}}} |
− | |#default={{{directdraw versions|}}} | + | |#default={{{directdraw versions|}}} |
+ | }}</td> | ||
<td class="table-api-body-notes">{{{directdraw notes|}}}</td> | <td class="table-api-body-notes">{{{directdraw notes|}}}</td> | ||
</tr> | </tr> | ||
Line 48: | Line 74: | ||
<tr class="template-infotable-body table-api-body-row"> | <tr class="template-infotable-body table-api-body-row"> | ||
<th scope="row" class="table-api-body-parameter">WinG</th> | <th scope="row" class="table-api-body-parameter">WinG</th> | ||
− | <td class="table-api-body-support">{{Tickcross|{{{wing|}}}| | + | <td class="table-api-body-support">{{Tickcross|{{{wing|}}}||{{{wing notes|}}}}}</td> |
<td class="table-api-body-notes">{{{wing notes|}}}</td> | <td class="table-api-body-notes">{{{wing notes|}}}</td> | ||
</tr> | </tr> | ||
Line 61: | Line 87: | ||
<td class="table-api-body-support">{{#switch:{{lc:{{{opengl versions|}}}}} | <td class="table-api-body-support">{{#switch:{{lc:{{{opengl versions|}}}}} | ||
|true | |true | ||
− | |unknown={{Tickcross|{{{opengl versions|}}}| | + | |unknown={{Tickcross|{{{opengl versions|}}}||unknown}} |
− | |hackable={{Tickcross|hackable| | + | |hackable={{Tickcross|hackable||{{{opengl notes|}}}}} |
− | |#default={{{opengl versions|}}} | + | |#default={{{opengl versions|}}} |
+ | }}</td> | ||
<td class="table-api-body-notes">{{{opengl notes|}}}</td> | <td class="table-api-body-notes">{{{opengl notes|}}}</td> | ||
</tr> | </tr> | ||
Line 75: | Line 102: | ||
|true | |true | ||
|unknown | |unknown | ||
− | |hackable={{Tickcross|{{{glide versions|}}}| | + | |hackable={{Tickcross|{{{glide versions|}}}||{{{glide notes|}}}}} |
− | |#default={{{glide versions|}}} | + | |#default={{{glide versions|}}} |
+ | }}</td> | ||
<td class="table-api-body-notes">{{{glide notes|}}}</td> | <td class="table-api-body-notes">{{{glide notes|}}}</td> | ||
</tr> | </tr> | ||
Line 86: | Line 114: | ||
<tr class="template-infotable-body table-api-body-row"> | <tr class="template-infotable-body table-api-body-row"> | ||
<th scope="row" class="table-api-body-parameter">Software renderer</th> | <th scope="row" class="table-api-body-parameter">Software renderer</th> | ||
− | <td class="table-api-body-support">{{Tickcross|{{{software mode|}}}| | + | <td class="table-api-body-support">{{Tickcross|{{{software mode|}}}||{{{software mode notes|}}}}}</td> |
<td class="table-api-body-notes">{{{software mode notes|}}}</td> | <td class="table-api-body-notes">{{{software mode notes|}}}</td> | ||
</tr> | </tr> | ||
Line 98: | Line 126: | ||
<tr class="template-infotable-body table-api-body-row"> | <tr class="template-infotable-body table-api-body-row"> | ||
<th scope="row" class="table-api-body-parameter"><abbr title="Only supported on compatible AMD video cards">Mantle support</abbr></th> | <th scope="row" class="table-api-body-parameter"><abbr title="Only supported on compatible AMD video cards">Mantle support</abbr></th> | ||
− | <td class="table-api-body-support">{{Tickcross|{{{mantle support|}}}| | + | <td class="table-api-body-support">{{Tickcross|{{{mantle support|}}}||{{{mantle support notes|}}}}}{{#vardefine:Warnings|true}}</td> |
<td class="table-api-body-notes">{{#if:{{{mantle support notes|}}}|{{{mantle support notes|}}}|''Requires an AMD video card with a driver version earlier than 19.5.1 (2019).''<ref name="Mantle support"/>}}</td> | <td class="table-api-body-notes">{{#if:{{{mantle support notes|}}}|{{{mantle support notes|}}}|''Requires an AMD video card with a driver version earlier than 19.5.1 (2019).''<ref name="Mantle support"/>}}</td> | ||
</tr> | </tr> | ||
Line 110: | Line 138: | ||
<tr class="template-infotable-body table-api-body-row"> | <tr class="template-infotable-body table-api-body-row"> | ||
<th scope="row" class="table-api-body-parameter"><abbr title="Only supported on macOS (OS X)">Metal support</abbr></th> | <th scope="row" class="table-api-body-parameter"><abbr title="Only supported on macOS (OS X)">Metal support</abbr></th> | ||
− | <td class="table-api-body-support">{{Tickcross|{{{metal support|}}}| | + | <td class="table-api-body-support">{{Tickcross|{{{metal support|}}}||{{{metal support notes|}}}}}</td> |
<td class="table-api-body-notes">{{{metal support notes|}}}</td> | <td class="table-api-body-notes">{{{metal support notes|}}}</td> | ||
</tr> | </tr> | ||
Line 123: | Line 151: | ||
<th scope="row" class="table-api-body-parameter">Vulkan</th> | <th scope="row" class="table-api-body-parameter">Vulkan</th> | ||
<td class="table-api-body-support">{{#switch:{{lc:{{{vulkan versions|}}}}} | <td class="table-api-body-support">{{#switch:{{lc:{{{vulkan versions|}}}}} | ||
− | |true={{Tickcross|true|Vulkan versions|true}} | + | |true={{Tickcross|true||true}}{{#vardefine:Vulkan versions|true}} |
− | |hackable={{Tickcross|hackable| | + | |hackable={{Tickcross|hackable||{{{vulkan notes|}}}}}{{#vardefine:Vulkan versions|hackable}} |
− | |#default={{#arraymaptemplate:{{{vulkan versions}}}| | + | |#default={{#arraymaptemplate:{{{vulkan versions}}}|API/switch Vulkan|,|, }} }}</td> |
<td class="table-api-body-notes">{{{vulkan notes|}}}</td> | <td class="table-api-body-notes">{{{vulkan notes|}}}</td> | ||
</tr> | </tr> | ||
Line 134: | Line 162: | ||
<tr class="template-infotable-body table-api-body-row"> | <tr class="template-infotable-body table-api-body-row"> | ||
<th scope="row" class="table-api-body-parameter"><abbr title="Only applies to DOS and/or PC booter versions">DOS video modes</abbr></th> | <th scope="row" class="table-api-body-parameter"><abbr title="Only applies to DOS and/or PC booter versions">DOS video modes</abbr></th> | ||
− | <td class="table-api-body-support">{{#if: {{{dos modes|}}} | {{#ifeq: {{{dos modes|}}} | unknown | {{tickcross|unknown | + | <td class="table-api-body-support">{{#if: {{{dos modes|}}} | {{#ifeq: {{{dos modes|}}} | unknown | {{tickcross|unknown}}{{#vardefine:DOS modes|unknown}} | {{#arraymaptemplate:{{{dos modes}}}|API/switch DOS|,|, }} }} | {{tickcross|unknown}}{{#vardefine:DOS modes|unknown}} }}</td></td> |
<td class="table-api-body-notes">{{{dos modes notes|}}}</td> | <td class="table-api-body-notes">{{{dos modes notes|}}}</td> | ||
</tr> | </tr> | ||
Line 177: | Line 205: | ||
-->{{#if:{{#var:powerpc app}}|<td class="table-api-body-support">{{Tickcross-na|n/a}}</td>}}<!-- | -->{{#if:{{#var:powerpc app}}|<td class="table-api-body-support">{{Tickcross-na|n/a}}</td>}}<!-- | ||
-->{{#if:{{#var:Windows 3.x native}}|<td class="table-api-body-support">{{Tickcross|true}}</td>}} | -->{{#if:{{#var:Windows 3.x native}}|<td class="table-api-body-support">{{Tickcross|true}}</td>}} | ||
− | <td class="table-api-body-support">{{Tickcross|{{{windows 32-bit exe|}}}| | + | <td class="table-api-body-support">{{Tickcross|{{{windows 32-bit exe|}}}||{{{windows exe notes|}}}}}</td> |
− | <td class="table-api-body-support">{{Tickcross|{{{windows 64-bit exe|}}}| | + | <td class="table-api-body-support">{{Tickcross|{{{windows 64-bit exe|}}}||{{{windows exe notes|}}}}}</td><!-- |
− | -->{{#if:{{#var:arm app}}|<td class="table-api-body-support">{{Tickcross|{{{windows arm app|}}}| | + | -->{{#if:{{#var:arm app}}|<td class="table-api-body-support">{{Tickcross|{{{windows arm app|}}}||{{{windows exe notes|}}}}}</td>}} |
<td class="table-api-body-notes">{{#if: {{{windows exe notes|}}}|{{{windows exe notes|}}}|{{#if:{{#var:Windows 3.x native}}|''Windows 3.x version might be playable on a 64-bit OS using {{#if:{{#var:ScummVM}}|[[ScummVM]]|[https://github.com/otya128/winevdm winevdm]}}.''}}}}</td> | <td class="table-api-body-notes">{{#if: {{{windows exe notes|}}}|{{{windows exe notes|}}}|{{#if:{{#var:Windows 3.x native}}|''Windows 3.x version might be playable on a 64-bit OS using {{#if:{{#var:ScummVM}}|[[ScummVM]]|[https://github.com/otya128/winevdm winevdm]}}.''}}}}</td> | ||
</tr> | </tr> | ||
Line 188: | Line 216: | ||
<tr class="template-infotable-body table-api-body-row"> | <tr class="template-infotable-body table-api-body-row"> | ||
<th scope="row" class="table-api-body-parameter">macOS (OS X)</th><!-- | <th scope="row" class="table-api-body-parameter">macOS (OS X)</th><!-- | ||
− | -->{{#if:{{#var:powerpc app}}|<td class="table-api-body-support">{{Tickcross|{{{mac os x powerpc app|}}}| | + | -->{{#if:{{#var:powerpc app}}|<td class="table-api-body-support">{{Tickcross|{{{mac os x powerpc app|}}}||{{{macos app notes|}}}}}</td><!-- |
-->{{#ifeq:{{{mac os x powerpc app|}}}{{{macos intel 32-bit app|}}}{{{macos 32-bit app|}}}{{{macos intel 64-bit app|}}}{{{macos 64-bit app|}}}|truefalsefalse|{{#ifeq:{{{macos arm app|}}}|true||{{#vardefine:Warnings|true}}}}}}}}<!-- | -->{{#ifeq:{{{mac os x powerpc app|}}}{{{macos intel 32-bit app|}}}{{{macos 32-bit app|}}}{{{macos intel 64-bit app|}}}{{{macos 64-bit app|}}}|truefalsefalse|{{#ifeq:{{{macos arm app|}}}|true||{{#vardefine:Warnings|true}}}}}}}}<!-- | ||
-->{{#if:{{#var:Windows 3.x native}}|<td class="table-api-body-support">{{Tickcross-na|n/a}}</td>}} | -->{{#if:{{#var:Windows 3.x native}}|<td class="table-api-body-support">{{Tickcross-na|n/a}}</td>}} | ||
<td class="table-api-body-support">{{Tickcross|{{{macos intel 32-bit app|{{{macos 32-bit app|}}}}}}|macOS Intel 32-bit app|{{{macos app notes|}}}}}</td> | <td class="table-api-body-support">{{Tickcross|{{{macos intel 32-bit app|{{{macos 32-bit app|}}}}}}|macOS Intel 32-bit app|{{{macos app notes|}}}}}</td> | ||
<td class="table-api-body-support">{{Tickcross|{{{macos intel 64-bit app|{{{macos 64-bit app|}}}}}}|macOS Intel 64-bit app|{{{macos app notes|}}}}}</td><!-- | <td class="table-api-body-support">{{Tickcross|{{{macos intel 64-bit app|{{{macos 64-bit app|}}}}}}|macOS Intel 64-bit app|{{{macos app notes|}}}}}</td><!-- | ||
− | -->{{#if:{{#var:arm app}}|<td class="table-api-body-support">{{Tickcross|{{{macos arm app|}}}| | + | -->{{#if:{{#var:arm app}}|<td class="table-api-body-support">{{Tickcross|{{{macos arm app|}}}||{{{macos app notes|}}}}}</td>}} |
<td class="table-api-body-notes">{{#ifeq:{{{macos intel 32-bit app|{{{macos 32-bit app|}}}}}}{{{macos intel 64-bit app|{{{macos 64-bit app|}}}}}}|truefalse|{{#ifeq:{{{macos arm app|}}}|true||{{#if:{{{macos app notes|}}}{{{macos arm notes|}}}|{{{macos app notes|}}} {{{macos arm notes|}}}|''This 32-bit-only macOS game '''does not work''' on macOS Catalina (10.15) or later.''}}}}|{{{macos app notes|}}} {{{macos arm notes|}}}}}</td> | <td class="table-api-body-notes">{{#ifeq:{{{macos intel 32-bit app|{{{macos 32-bit app|}}}}}}{{{macos intel 64-bit app|{{{macos 64-bit app|}}}}}}|truefalse|{{#ifeq:{{{macos arm app|}}}|true||{{#if:{{{macos app notes|}}}{{{macos arm notes|}}}|{{{macos app notes|}}} {{{macos arm notes|}}}|''This 32-bit-only macOS game '''does not work''' on macOS Catalina (10.15) or later.''}}}}|{{{macos app notes|}}} {{{macos arm notes|}}}}}</td> | ||
</tr> | </tr> | ||
Line 206: | Line 234: | ||
<tr class="template-infotable-body table-api-body-row"> | <tr class="template-infotable-body table-api-body-row"> | ||
<th scope="row" class="table-api-body-parameter">Linux</th><!-- | <th scope="row" class="table-api-body-parameter">Linux</th><!-- | ||
− | -->{{#if:{{#var:powerpc app}}|<td class="table-api-body-support">{{Tickcross|{{{linux powerpc app|}}}| | + | -->{{#if:{{#var:powerpc app}}|<td class="table-api-body-support">{{Tickcross|{{{linux powerpc app|}}}||{{{linux executable notes|}}}}}</td>}}<!-- |
-->{{#if:{{#var:Windows 3.x native}}|<td class="table-api-body-support">{{Tickcross-na|n/a}}</td>}} | -->{{#if:{{#var:Windows 3.x native}}|<td class="table-api-body-support">{{Tickcross-na|n/a}}</td>}} | ||
− | <td class="table-api-body-support">{{Tickcross|{{{linux 32-bit executable|}}}| | + | <td class="table-api-body-support">{{Tickcross|{{{linux 32-bit executable|}}}||{{{linux executable notes|}}}}}</td> |
− | <td class="table-api-body-support">{{Tickcross|{{{linux 64-bit executable|}}}| | + | <td class="table-api-body-support">{{Tickcross|{{{linux 64-bit executable|}}}||{{{linux executable notes|}}}}}</td><!-- |
− | -->{{#if:{{#var:arm app}}|<td class="table-api-body-support">{{Tickcross|{{{linux arm app|}}}| | + | -->{{#if:{{#var:arm app}}|<td class="table-api-body-support">{{Tickcross|{{{linux arm app|}}}||{{{linux executable notes|}}}}}</td>}} |
<td class="table-api-body-notes">{{{linux executable notes|}}}</td> | <td class="table-api-body-notes">{{{linux executable notes|}}}</td> | ||
</tr> | </tr> | ||
Line 216: | Line 244: | ||
{{#ifeq:{{{linux 32-bit executable|}}}{{{linux 64-bit executable|}}}|falsefalse|{{#ifeq:{{{linux powerpc app|}}}|true||[[Category:Invalid template usage (API)]]}}}} | {{#ifeq:{{{linux 32-bit executable|}}}{{{linux 64-bit executable|}}}|falsefalse|{{#ifeq:{{{linux powerpc app|}}}|true||[[Category:Invalid template usage (API)]]}}}} | ||
}} | }} | ||
− | </table></div> }}|{{ii}} ''No API information; <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page]</span> to add it.''}}{{#if: {{{vulkan support|}}} |[[Category:Invalid template usage (API)]]}}</includeonly><noinclude>{{Documentation}}</noinclude> | + | </table></div> }}{{#ifeq: {{NAMESPACE}} | | {{#cargo_store: |
+ | _table=API | ||
+ | |Direct3D_versions={{#var:Direct3D versions}} | ||
+ | |DirectDraw_versions={{{directdraw versions|}}} | ||
+ | |WinG={{{wing|}}} | ||
+ | |OpenGL_versions={{{opengl versions|}}} | ||
+ | |Glide_versions={{{glide versions|}}} | ||
+ | |Software_renderer={{{software mode|}}} | ||
+ | |Mantle_support={{{mantle support|}}} | ||
+ | |Metal_support={{{metal support|}}} | ||
+ | |Vulkan_versions={{#var:Vulkan versions}} | ||
+ | |DOS_video_modes={{#var:DOS modes}} | ||
+ | |Shader_Model_versions={{{shader model versions|}}} | ||
+ | |Windows_16bit_executable={{#var:Windows 3.x}} | ||
+ | |Windows_32bit_executable={{{windows 32-bit exe|}}} | ||
+ | |Windows_64bit_executable={{{windows 64-bit exe|}}} | ||
+ | |Windows_ARM_app={{{windows arm app|}}} | ||
+ | |Mac_OS_X_PowerPC_app={{{mac os x powerpc app|}}} | ||
+ | |macOS_Intel_32bit_app={{{macos intel 32-bit app|}}} | ||
+ | |macOS_Intel_64bit_app={{{macos intel 64-bit app|}}} | ||
+ | |macOS_ARM_app={{{macos arm app|}}} | ||
+ | |Linux_PowerPC_app={{{linux powerpc app|}}} | ||
+ | |Linux_32bit_executable={{{linux 32-bit executable|}}} | ||
+ | |Linux_64bit_executable={{{linux 64-bit executable|}}} | ||
+ | |Linux_ARM_app={{{linux arm app|}}} | ||
+ | }}}}|{{ii}} ''No API information; <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page]</span> to add it.''}}{{#if: {{{vulkan support|}}} |[[Category:Invalid template usage (API)]]}}</includeonly><noinclude>{{Documentation}}</noinclude> |
Latest revision as of 02:10, 3 October 2021
Error: #cargo_declare must be called from a template page.
Documentation for the above template (sometimes hidden from view).
Visit Development:API/Documentation to edit this text. (How does this work?)