Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Difference between revisions of "Template:Middleware"

From PCGamingWiki, the wiki about fixing PC games
(added previous section validity check (ensures templates are being used in the correct order on game pages))
m (fixed Cargo values not being updated)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<includeonly>{{#ifeq:{{#var:section}}|API|{{#vardefine:section|Middleware}}|[[Category:Invalid section order]]}}{{#if:{{{physics|}}}{{{audio|}}}{{{interface|}}}{{{input|}}}{{{cutscenes|}}}{{{multiplayer|}}}{{{anticheat|}}}|<div class="container-pcgwikitable"><table class="pcgwikitable template-infotable" id="table-middleware">
+
<noinclude>{{#cargo_declare:
 +
_table=Middleware
 +
|Physics=List (,) of String
 +
|Audio=List (,) of String
 +
|Interface=List (,) of String
 +
|Input=List (,) of String
 +
|Cutscenes=List (,) of String
 +
|Multiplayer=List (,) of String
 +
|Anticheat=List (,) of String
 +
}}</noinclude><includeonly>{{#ifeq:{{#var:section}}|API|{{#vardefine:section|Middleware}}|{{#ifeq:{{NAMESPACE}}||[[Category:Invalid section order]]}}}}{{#if:{{{physics|}}}{{{audio|}}}{{{interface|}}}{{{input|}}}{{{cutscenes|}}}{{{multiplayer|}}}{{{anticheat|}}}|<div class="container-pcgwikitable"><table class="pcgwikitable template-infotable" id="table-middleware">
 
<tr class="template-infotable-head table-middleware-head-row">
 
<tr class="template-infotable-head table-middleware-head-row">
 
<th scope="col" style="width: 230px;" class="table-middleware-head-parameter"></th>
 
<th scope="col" style="width: 230px;" class="table-middleware-head-parameter"></th>
Line 9: Line 18:
 
<tr class="template-infotable-body table-middleware-body-row">
 
<tr class="template-infotable-body table-middleware-body-row">
 
<th scope="row" class="table-middleware-body-parameter">Physics</th>
 
<th scope="row" class="table-middleware-body-parameter">Physics</th>
<td class="table-middleware-body-middleware">{{{physics|}}}</td>
+
<td class="table-middleware-body-middleware">{{#arraymaptemplate:{{{physics}}}|Middleware/physics}}</td>
 
<td class="table-middleware-body-notes">{{{physics notes|}}}</td>
 
<td class="table-middleware-body-notes">{{{physics notes|}}}</td>
 
</tr>
 
</tr>
Line 16: Line 25:
 
<tr class="template-infotable-body table-middleware-body-row">
 
<tr class="template-infotable-body table-middleware-body-row">
 
<th scope="row" class="table-middleware-body-parameter">Audio</th>
 
<th scope="row" class="table-middleware-body-parameter">Audio</th>
<td class="table-middleware-body-middleware">{{{audio|}}}</td>
+
<td class="table-middleware-body-middleware">{{#arraymaptemplate:{{{audio}}}|Middleware/audio}}</td>
 
<td class="table-middleware-body-notes">{{{audio notes|}}}</td>
 
<td class="table-middleware-body-notes">{{{audio notes|}}}</td>
 
</tr>
 
</tr>
Line 23: Line 32:
 
<tr class="template-infotable-body table-middleware-body-row">
 
<tr class="template-infotable-body table-middleware-body-row">
 
<th scope="row" class="table-middleware-body-parameter">Interface</th>
 
<th scope="row" class="table-middleware-body-parameter">Interface</th>
<td class="table-middleware-body-middleware">{{{interface|}}}</td>
+
<td class="table-middleware-body-middleware">{{#arraymaptemplate:{{{interface}}}|Middleware/interface}}</td>
 
<td class="table-middleware-body-notes">{{{interface notes|}}}</td>
 
<td class="table-middleware-body-notes">{{{interface notes|}}}</td>
 
</tr>
 
</tr>
Line 30: Line 39:
 
<tr class="template-infotable-body table-middleware-body-row">
 
<tr class="template-infotable-body table-middleware-body-row">
 
<th scope="row" class="table-middleware-body-parameter">Input</th>
 
<th scope="row" class="table-middleware-body-parameter">Input</th>
<td class="table-middleware-body-middleware">{{{input|}}}</td>
+
<td class="table-middleware-body-middleware">{{#arraymaptemplate:{{{input}}}|Middleware/input}}</td>
 
<td class="table-middleware-body-notes">{{{input notes|}}}</td>
 
<td class="table-middleware-body-notes">{{{input notes|}}}</td>
 
</tr>
 
</tr>
Line 37: Line 46:
 
<tr class="template-infotable-body table-middleware-body-row">
 
<tr class="template-infotable-body table-middleware-body-row">
 
<th scope="row" class="table-middleware-body-parameter">Cutscenes</th>
 
<th scope="row" class="table-middleware-body-parameter">Cutscenes</th>
<td class="table-middleware-body-middleware">{{{cutscenes|}}}</td>
+
<td class="table-middleware-body-middleware">{{#arraymaptemplate:{{{cutscenes}}}|Middleware/cutscenes}}</td>
 
<td class="table-middleware-body-notes">{{{cutscenes notes|}}}</td>
 
<td class="table-middleware-body-notes">{{{cutscenes notes|}}}</td>
 
</tr>
 
</tr>
Line 48: Line 57:
 
</tr>
 
</tr>
 
}}
 
}}
{{#if: {{{anticheat|}}} |
+
{{#if: {{{anticheat|}}} |{{#if:{{#var:multiplayer}}||{{#vardefine:multiplayer|needed}}}}
 
<tr class="template-infotable-body table-middleware-body-row">
 
<tr class="template-infotable-body table-middleware-body-row">
 
<th scope="row" class="table-middleware-body-parameter">Anti-cheat</th>
 
<th scope="row" class="table-middleware-body-parameter">Anti-cheat</th>
Line 54: Line 63:
 
<td class="table-middleware-body-notes">{{{anticheat notes|}}}</td>
 
<td class="table-middleware-body-notes">{{{anticheat notes|}}}</td>
 
</tr>
 
</tr>
}}</table></div>|{{ii}} ''No middleware information; you can <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page]</span> to add it.''}}</includeonly><noinclude>{{Documentation}}</noinclude>
+
}}</table></div>{{#ifeq: {{NAMESPACE}} | | {{#cargo_store:
 +
_table=Middleware
 +
|Physics={{#var:physics middleware}}
 +
|Audio={{#var:audio middleware}}
 +
|Interface={{#var:interface middleware}}
 +
|Input={{#var:input middleware}}
 +
|Cutscenes={{#var:cutscenes middleware}}
 +
|Multiplayer={{#var:multiplayer middleware}}
 +
|Anticheat={{#var:anticheat middleware}}
 +
}}}}|{{ii}} ''No middleware information; you can <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page]</span> to add it.''}}</includeonly><noinclude>{{Documentation}}</noinclude>

Latest revision as of 18:39, 2 April 2024

This template defines the table "Middleware". View table.

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

Table to list middleware used by a game.

Arguments
  • physics - Middleware that simulates physics against objects in-game, e.g. Bullet Physics Engine, Havok, PhysX.
  • audio - Middleware that provides support for audio playback, e.g. FMOD, Miles Sound System, Wwise.
  • interface - Middleware that assists with rendering or the design of in-game user interfaces, e.g. Flash, FreeType 2, Scaleform.
  • input - Middleware that provides support for or assists with input systems/controls (keyboard, mouse, gamepads, etc), e.g. Object Oriented Input System (OIS).
  • cutscenes - Middleware that provides cutscene or pre-recorded video playback support, e.g. Bink Video, Smacker.
  • multiplayer - Middleware that provides the base of multiplayer support or assists with other aspects related to it (matchmaking, etc), e.g. Steamworks, GameSpy, Epic Online Services.
  • anticheat - Middleware that protects against cheating or assists with other aspects related to it (anti-cheat, matchmaking, etc), e.g. PunkBuster, VAC, Easy Anti-Cheat.
Syntax
===Middleware===
{{Middleware
|physics          = 
|physics notes    = 
|audio            = 
|audio notes      = 
|interface        = 
|interface notes  = 
|input            = 
|input notes      = 
|cutscenes        = 
|cutscenes notes  = 
|multiplayer      = 
|multiplayer notes= 
|anticheat        = 
|anticheat notes  = 
}}
Related

These sub-templates consolidates the given input and automatically outputs links for well-known middleware.