Difference between revisions of "Template:API"

From PCGamingWiki, the wiki about fixing PC games
m ({{{macos arm app|}}} appear again!)
(updated OS X to only show for 'native' games)
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<includeonly>{{#vardefine:section|Other_information}}{{#if:{{{direct3d versions|}}}{{{directdraw versions|}}}{{{wing|}}}{{{opengl versions|}}}{{{glide versions|}}}{{{software mode|}}}{{{mantle support|}}}{{{metal support|}}}{{{vulkan versions|}}}{{#var:DOS}}{{#var:PC booter}}{{{shader model versions|}}}{{#var:Windows 3.x}}{{#var:Windows native}}{{{windows exe notes|}}}{{#var:OS X}}{{{macos app notes|}}}{{{macos arm app|}}}{{{macos arm notes|}}}{{#var:Linux native}}{{{linux executable notes|}}}|
+
<includeonly>{{#switch:{{#var:section}}
{{#if:{{{direct3d versions|}}}{{{directdraw versions|}}}{{{wing|}}}{{{opengl versions|}}}{{{glide versions|}}}{{{software mode|}}}{{{mantle support|}}}{{{metal support|}}}{{{vulkan versions|}}}{{#var:DOS}}{{#var:PC booter}}{{{shader model versions|}}}{{{macos arm app|}}}
+
|Audio
 +
|Localizations/done
 +
|Network/Multiplayer
 +
|Network/Connections
 +
|Network/Ports
 +
|VR support={{#vardefine:section|API}}
 +
|#Default = [[Category:Invalid section order]]
 +
}}{{#vardefine:API|present}}{{#if:{{{direct3d versions|}}}{{{directdraw versions|}}}{{{wing|}}}{{{opengl versions|}}}{{{glide versions|}}}{{{software mode|}}}{{{mantle support|}}}{{{metal support|}}}{{{vulkan versions|}}}{{#var:DOS}}{{#var:PC booter}}{{{shader model versions|}}}{{#var:Windows 3.x}}{{#var:Windows native}}{{{windows exe notes|}}}{{#var:OS X native}}{{{macos app notes|}}}{{#var:Linux native}}{{{linux executable notes|}}}|
 +
{{#if:{{{direct3d versions|}}}{{{directdraw versions|}}}{{{wing|}}}{{{opengl versions|}}}{{{glide versions|}}}{{{software mode|}}}{{{mantle support|}}}{{{metal support|}}}{{{vulkan versions|}}}{{#var:DOS}}{{#var:PC booter}}{{{shader model versions|}}}
 
|<div class="container-pcgwikitable"><table class="pcgwikitable template-infotable" id="table-api">
 
|<div class="container-pcgwikitable"><table class="pcgwikitable template-infotable" id="table-api">
 
<tr class="template-infotable-head table-api-head-row">
 
<tr class="template-infotable-head table-api-head-row">
Line 91: Line 99:
 
<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|}}}|Mantle support|{{{mantle support notes|}}}}}{{#vardefine:Warnings|true}}</td>
 
<td class="table-api-body-support">{{Tickcross|{{{mantle support|}}}|Mantle support|{{{mantle support notes|}}}}}{{#vardefine:Warnings|true}}</td>
<td class="table-api-body-notes">{{{mantle support notes|}}}</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 97: Line 105:
 
}}
 
}}
 
{{#if: {{{metal support|}}} |
 
{{#if: {{{metal support|}}} |
{{#if: {{#var:OS X}} |
+
{{#if: {{#var:OS X native}} |
 
{{#ifeq: {{lc:{{{metal support|}}}}} | false ||
 
{{#ifeq: {{lc:{{{metal support|}}}}} | false ||
 
{{#ifeq: {{lc:{{{metal support|}}}}} | unknown ||
 
{{#ifeq: {{lc:{{{metal support|}}}}} | unknown ||
Line 104: Line 112:
 
<td class="table-api-body-support">{{Tickcross|{{{metal support|}}}|Metal support|{{{metal support notes|}}}}}</td>
 
<td class="table-api-body-support">{{Tickcross|{{{metal support|}}}|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>
 
}}
 
}}
 
}}
 
}}
 
{{#if: {{{macos arm app|}}} |
 
{{#if: {{#var:OS X}} |
 
{{#ifeq: {{lc:{{{macos arm app|}}}}} | false ||
 
{{#ifeq: {{lc:{{{macos arm app|}}}}} | unknown ||
 
<tr class="template-infotable-body table-api-body-row">
 
<th scope="row" class="table-api-body-parameter"><abbr title="Support for ARM-based macOS introduced with macOS 11 Big Sur in 2020">macOS (ARM)</abbr></th>
 
<td class="table-api-body-support">{{Tickcross|{{{macos arm app|}}}|MacOS ARM app|{{{macos arm notes|}}}}}</td>
 
<td class="table-api-body-notes">{{{macos arm notes|}}}</td>
 
 
</tr>
 
</tr>
 
}}
 
}}
Line 158: Line 153:
 
}}
 
}}
 
}}
 
}}
</table></div>}}{{#if:{{#var:Windows 3.x native}}{{#var:Windows native}}{{{windows exe notes|}}}{{#var:OS X}}{{{macos app notes|}}}{{#var:Linux native}}{{{linux executable notes|}}}|<div class="container-pcgwikitable"><table class="pcgwikitable template-infotable">
+
</table></div>}}{{#if:{{#var:Windows 3.x native}}{{#var:Windows native}}{{{windows exe notes|}}}{{#var:OS X native}}{{{macos app notes|}}}{{#var:Linux native}}{{{linux executable notes|}}}|<div class="container-pcgwikitable"><table class="pcgwikitable template-infotable" id="table-api-executable">
 
<tr class="template-infotable-head table-api-head-row"><!--
 
<tr class="template-infotable-head table-api-head-row"><!--
 
-->{{#switch:{{{mac os x powerpc app|}}}|true|hackable={{#vardefine:powerpc app|true}}}}<!--
 
-->{{#switch:{{{mac os x powerpc app|}}}|true|hackable={{#vardefine:powerpc app|true}}}}<!--
-->{{#switch:{{{linux powerpc app|}}}|true|hackable={{#vardefine:powerpc app|true}}}}
+
-->{{#switch:{{{linux powerpc app|}}}|true|hackable={{#vardefine:powerpc app|true}}}}<!--
 +
-->{{#switch:{{{windows arm app|}}}|true|hackable={{#vardefine:arm app|true}}}}<!--
 +
-->{{#switch:{{{macos arm app|}}}|true|hackable={{#vardefine:arm app|true}}}}<!--
 +
-->{{#switch:{{{linux arm app|}}}|true|hackable|limited={{#vardefine:arm app|true}}}}<!--
 +
-->{{#vardefine:api notes width|490}}<!--
 +
-->{{#if:{{#var:Windows 3.x native}}|{{#vardefine:api notes width|{{#expr: {{#var:api notes width}} - 50}}}}}}<!--
 +
-->{{#if:{{#var:powerpc app}}|{{#vardefine:api notes width|{{#expr: {{#var:api notes width}} - 50}}}}}}<!--
 +
-->{{#if:{{#var:arm app}}|{{#vardefine:api notes width|{{#expr: {{#var:api notes width}} - 50}}}}}}
 
<th scope="col" style="width: 230px;" class="table-api-head-parameter">Executable</th><!--
 
<th scope="col" style="width: 230px;" class="table-api-head-parameter">Executable</th><!--
 
-->{{#if:{{#var:powerpc app}}|<th scope="col" style="width: 50px;" class="table-api-head-support"><abbr title="PowerPC">PPC</abbr></th>}}<!--
 
-->{{#if:{{#var:powerpc app}}|<th scope="col" style="width: 50px;" class="table-api-head-support"><abbr title="PowerPC">PPC</abbr></th>}}<!--
-->{{#if:{{#var:Windows 3.x native}}|<th scope="col" style="width: 50px;" class="table-api-head-support">16-bit</th>}}
+
-->{{#if:{{#var:Windows 3.x native}}|<th scope="col" style="width: 50px;" class="table-api-head-support"><abbr title="Intel 16-bit">16-bit</abbr></th>}}
<th scope="col" style="width: 50px;" class="table-api-head-support">32-bit</th>
+
<th scope="col" style="width: 50px;" class="table-api-head-support"><abbr title="Intel 32-bit (x86)">32-bit</abbr></th>
<th scope="col" style="width: 50px;" class="table-api-head-support">64-bit</th>
+
<th scope="col" style="width: 50px;" class="table-api-head-support"><abbr title="Intel 64-bit (x64 / x86-64)">64-bit</abbr></th><!--
<th scope="col" style="width: {{#if:{{#var:powerpc app}} | 440px | 490px }};" class="table-api-head-notes">Notes</th>
+
-->{{#if:{{#var:arm app}}|<th scope="col" style="width: 50px;" class="table-api-head-support">ARM</th>}}
 +
<th scope="col" style="width: {{#var:api notes width}}px;" class="table-api-head-notes">Notes</th>
 
</tr>
 
</tr>
 
{{#if:{{#var:Windows 3.x native}}{{#var:Windows native}}{{{windows exe notes|}}}|
 
{{#if:{{#var:Windows 3.x native}}{{#var:Windows native}}{{{windows exe notes|}}}|
Line 175: Line 178:
 
-->{{#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|}}}|Windows 32-bit executable|{{{windows exe notes|}}}}}</td>
 
<td class="table-api-body-support">{{Tickcross|{{{windows 32-bit exe|}}}|Windows 32-bit executable|{{{windows exe notes|}}}}}</td>
<td class="table-api-body-support">{{Tickcross|{{{windows 64-bit exe|}}}|Windows 64-bit executable|{{{windows exe notes|}}}}}</td>
+
<td class="table-api-body-support">{{Tickcross|{{{windows 64-bit exe|}}}|Windows 64-bit executable|{{{windows exe notes|}}}}}</td><!--
 +
-->{{#if:{{#var:arm app}}|<td class="table-api-body-support">{{Tickcross|{{{windows arm app|}}}|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>
 
{{#ifeq:{{{windows 32-bit exe|}}}{{{windows 64-bit exe|}}}|falsetrue|{{#vardefine:Windows 64-bit only|true}}}}
 
{{#ifeq:{{{windows 32-bit exe|}}}{{{windows 64-bit exe|}}}|falsetrue|{{#vardefine:Windows 64-bit only|true}}}}
{{#if:{{#var:Windows native}}|{{#ifeq:{{{windows 32-bit exe|}}}{{{windows 64-bit exe|}}}|falsefalse|[[Category:Invalid template usage (API)]]}}}}
+
{{#if:{{#var:Windows native}}|{{#ifeq:{{{windows 32-bit exe|}}}{{{windows 64-bit exe|}}}|falsefalse|{{#ifeq:{{{windows arm app|}}}|true||[[Category:Invalid template usage (API)]]}}}}}}
 
}}
 
}}
{{#if:{{#var:OS X}}{{{macos app notes|}}}|
+
{{#if:{{#var:OS X native}}{{{macos app notes|}}}{{{macos arm notes|}}}|
 
<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|}}}|Mac OS X PowerPC app|{{{macos app notes|}}}}}</td><!--
 
-->{{#if:{{#var:powerpc app}}|<td class="table-api-body-support">{{Tickcross|{{{mac os x powerpc app|}}}|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|{{#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><!--
<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|{{#if:{{{macos app notes|}}}|{{{macos app notes|}}}|''This 32-bit-only macOS game '''does not work''' on macOS Catalina (10.15) or later.''}}|{{{macos app notes|}}}}}</td>
+
-->{{#if:{{#var:arm app}}|<td class="table-api-body-support">{{Tickcross|{{{macos arm app|}}}|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>
 
</tr>
 
</tr>
 
{{#switch:{{{macos intel 32-bit app|{{{macos 32-bit app|}}}}}}{{{macos intel 64-bit app|{{{macos 64-bit app|}}}}}}
 
{{#switch:{{{macos intel 32-bit app|{{{macos 32-bit app|}}}}}}{{{macos intel 64-bit app|{{{macos 64-bit app|}}}}}}
 
|falsetrue={{#vardefine:OS X 64-bit only|true}}
 
|falsetrue={{#vardefine:OS X 64-bit only|true}}
 
|truefalse
 
|truefalse
|truehackable={{#vardefine:Warnings|true}}
+
|truehackable={{#ifeq:{{{macos arm app|}}}|true||{{#vardefine:Warnings|true}}}}
|falsefalse={{#ifeq:{{{mac os x powerpc app|}}}|true||[[Category:Invalid template usage (API)]]}}
+
|falsefalse={{#ifeq:{{{mac os x powerpc app|}}}|true||{{#ifeq:{{{macos arm app|}}}|true||[[Category:Invalid template usage (API)]]}}}}
 
}}
 
}}
 
}}
 
}}
Line 204: Line 209:
 
-->{{#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|}}}|Linux 32-bit executable|{{{linux executable notes|}}}}}</td>
 
<td class="table-api-body-support">{{Tickcross|{{{linux 32-bit executable|}}}|Linux 32-bit executable|{{{linux executable notes|}}}}}</td>
<td class="table-api-body-support">{{Tickcross|{{{linux 64-bit executable|}}}|Linux 64-bit executable|{{{linux executable notes|}}}}}</td>
+
<td class="table-api-body-support">{{Tickcross|{{{linux 64-bit executable|}}}|Linux 64-bit executable|{{{linux executable notes|}}}}}</td><!--
 +
-->{{#if:{{#var:arm app}}|<td class="table-api-body-support">{{Tickcross|{{{linux arm app|}}}|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>

Latest revision as of 10:46, 3 September 2021

Documentation for the above template (sometimes hidden from view).
Description

The API template contains information on what APIs and additional features does the game support.

Supported values
Direct3D versions
2
3
4
5
6
7
8
9
10
10.1
11
11.1
11.2
11.3
11.4
12.0
OpenGL Versions
1.0
1.1
1.2
1.2.1
1.3
1.4
1.5
2.0
2.1
3.0
3.1
3.2
3.3
4.0
4.1
4.2
4.3
4.4
4.5
4.6
Vulkan Versions
1.0
1.1
The DOS row is only shown in the article when a DOS or PC booter release date row is also present in the Infobox.
DOS modes Mode description
text Output drawn by characters rather than pixels.
hgc Hercules Graphics Card
cga Color Graphics Adapter
mcga Multi-Color Graphics Array
ega Enhanced Graphics Adapter
tga Tandy Graphics Adapter
vga Video Graphics Array
svga Super Video Graphics Array
Syntax
{{API
|direct3d versions      = 
|direct3d notes         = 
|directdraw versions    = 
|directdraw notes       = 
|wing                   = 
|wing notes             = 
|opengl versions        = 
|opengl notes           = 
|glide versions         = 
|glide notes            = 
|software mode          = 
|software mode notes    = 
|mantle support         = 
|mantle support notes   = 
|metal support          = 
|metal support notes    = 
|vulkan versions        = 
|vulkan notes           = 
|dos modes              = 
|dos modes notes        = 
|shader model versions  = 
|shader model notes     = 
|windows 32-bit exe     = 
|windows 64-bit exe     = 
|windows arm app        = 
|windows exe notes      = 
|mac os x powerpc app   = 
|macos intel 32-bit app = 
|macos intel 64-bit app = 
|macos arm app          = 
|macos app notes        = 
|linux powerpc app      = 
|linux 32-bit executable= 
|linux 64-bit executable= 
|linux arm app          = 
|linux executable notes = 
}}
Related templates