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

Difference between revisions of "PCGamingWiki:Editing guide/Other information"

From PCGamingWiki, the wiki about fixing PC games
m (spelling on unknown)
m (→‎API table: fixed the infobox link)
Line 134: Line 134:
 
| Vulkan versions || The game supports the [[Wikipedia:Vulkan_(API)|Vulkan]] API. || Check the video settings for a renderer toggle. The developer's official website, game feature list, or game manual may also state it. || New API that was recently released, making support limited. Considered the successor of OpenGL and is equivalent to [[Wikipedia:DirectX#DirectX_12|DirectX 12]]. Leave the field blank if Vulkan support is not available.
 
| Vulkan versions || The game supports the [[Wikipedia:Vulkan_(API)|Vulkan]] API. || Check the video settings for a renderer toggle. The developer's official website, game feature list, or game manual may also state it. || New API that was recently released, making support limited. Considered the successor of OpenGL and is equivalent to [[Wikipedia:DirectX#DirectX_12|DirectX 12]]. Leave the field blank if Vulkan support is not available.
 
|-
 
|-
| DOS modes || The [[Wikipedia:Graphics display resolution|display modes]] available for a game. || Check the system requirements for the game. Can also be found on the retail box. || Only for games with a DOS/PC booter release or version. Some display modes may be exclusive to certain releases. '''This row is only shown when a DOS or PC booter release date row is present in [[PCGamingWiki:Editing guide/The Infobox|the Infobox]].'''
+
| DOS modes || The [[Wikipedia:Graphics display resolution|display modes]] available for a game. || Check the system requirements for the game. Can also be found on the retail box. || Only for games with a DOS/PC booter release or version. Some display modes may be exclusive to certain releases. '''This row is only shown when a DOS or PC booter release date row is present in [[PCGamingWiki:Editing guide/The infobox|the infobox]].'''
 
|-
 
|-
 
| Shader model versions || The versions of the [[Wikipedia:High-level shader language|High-level shader language]] the game supports. || Check the system requirements for the game. The DirectX version required can determine the Shader model used (see [[#DirectX and associated Shader model versions|DirectX and associated Shader model versions]]). || Also called the High-level shading language (HLSL) or Shader model. Only for games using Direct3D 8 or newer. Most games use just one version, but some have support for multiple.
 
| Shader model versions || The versions of the [[Wikipedia:High-level shader language|High-level shader language]] the game supports. || Check the system requirements for the game. The DirectX version required can determine the Shader model used (see [[#DirectX and associated Shader model versions|DirectX and associated Shader model versions]]). || Also called the High-level shading language (HLSL) or Shader model. Only for games using Direct3D 8 or newer. Most games use just one version, but some have support for multiple.

Revision as of 22:59, 8 May 2021

The Other Information section hold all information and downloads that are not critically essential, but useful all the same. It acts as a sister section to Essential improvements.

The API and Middleware tables also reside here. Note that both tables are always placed at the top of the section.

General

All guidelines that apply to to the Essential improvements section apply here as well.

Some examples of what would be placed in this section:

  • General console commands list
  • Steps to add alternate OS support
  • Wine setup tips
  • Cosmetic/enhanced visuals mods
  • Downgrading the game
  • Anything that would not fit in either the Essential improvements or Issues fixed sections

API table

See {{API}} for the condensed template documentation.

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 = 
}}

Example

Technical specs Supported Notes
Direct3D 6, 7, 8, 9, 10, 11
DirectDraw 7
OpenGL 2.0, 4.4 OS X and Linux only.
Glide 2.4, 3
Software renderer
Mantle support
Requires an AMD video card with a driver version earlier than 19.5.1 (2019).[1]
Vulkan 1.0
DOS video modes CGA, VGA, SVGA
Shader Model support 1.1, 3, 5
Executable 32-bit 64-bitARM Notes
Windows
macOS (OS X)
ARM support was added in November 2020.
Linux

The first major table of the section, the API table tracks all the graphics APIs and rendering modes available for a game.

General rules

  • Fill in the relevant fields only. Leave the rest blank. If you know a particular 3D renderer is used but aren't sure which version of the renderer it is, set it to true.

Field breakdown

Do not list render versions or APIs that can be forced for a game but otherwise is not confirmed working entirely for the whole game! A present issue on PCGamingWiki is that editors mistakenly lists various Direct3D versions as supported by games solely because the underlying engine they make use of supports such a version (most commonly for Unity and Unreal Engine games) and because a command-line argument can be used to force the engine to make use of that particular version — but without actually confirming full support for the game itself and its assets. This creates inaccuracies and misinforms other readers attempting to and expecting a fully functioning game but instead ends up with a broken game that barely works, suffers from major limitations, or various bugs.
Field Definition How to find Notes
Direct3D versions The versions of Direct3D the game can be rendered in. Check the minimum system requirements for the game. The DirectX version required is what the game is using. Alternatively, some games have multiple renderers available and can be toggled in the video settings. Finally, some screen recording tools (like Bandicam) have an API indicator, stating the exact version currently being used. Also called D3D. Can only be found in Windows-based games. Newer versions of the API are restricted to newer versions of Windows (Direct3D 10 requires Vista or newer).
DirectDraw versions The versions of DirectDraw the game can be rendered in. Check the minimum system requirements for the game. The DirectX version required is what the game is using. Alternatively, some games have multiple renderers available and can be toggled in the video settings. Finally, some screen recording tools (like Bandicam) have an API indicator, stating if the API is being used in general. Also called DDraw. DirectDraw was deprecated in DirectX 8, making it a legacy API. The latest version available is 7. Very rare to find any modern game still using the API. Can only be found in Windows-based games.
WinG Support for the WinG API. Old API used for some early '90s games on Windows, later superseded by DirectDraw/Direct3D/etc. The game may prompt to install WinG or it may be mentioned in the manual or readme. Can only be found in Windows-based games.
OpenGL versions The versions of OpenGL the game can be rendered in. Check the minimum system requirements for the game. Sometimes the OpenGL version required is stated. If not, checking the latest OpenGL version supported by the GPU required can give an accurate ballpark figure. Alternatively, some games have multiple renderers available and can be toggled in the video settings. Finally, some screen recording tools (like Bandicam) have an API indicator, stating if the API is being used in general. Harder to determine compared to the other APIs. Mainly found in Mac OS, OS X, and Linux games, but can sometimes be found on Windows.
Glide versions The versions of Glide the game can be rendered in. Check the minimum system requirements for the game. Sometimes the Glide version required is stated. If not, checking the game installation folder for the DLL file can give the major version used (glide.dll=Glide 2.1, glide2x.dll=Glide 2.4, and glide3x.dll=Glide 3.0). Alternatively, some games have multiple renderers available and can be toggled in the video settings. Legacy API only found in early 3D games (1996-early 2000s). The latest version available is 3.10.00.30303. Some games refuse to run or provide higher quality visuals without a Glide-enabled GPU. Use a Glide wrapper like nGlide to bypass these restrictions.
Software mode The game has a software renderer available (i.e. 3D rendering is all handled by the CPU, instead of the GPU). Check the video settings for a renderer toggle or option along the lines of "hardware acceleration", "hardware rendering", or "Software mode". Usually found in early 3D games (1996-early 2000s). If the software mode uses another API (ex. DirectDraw), make note of it in the respective fields. Being able to toggle between software and hardware-rendered cursors does not count. Leave the field blank if a software mode is not available. Do not use this field for games that are only available for DOS or PC booter (use the DOS modes field for these systems).
Mantle support The game supports the Mantle API. Check the video settings for a renderer toggle. The developer's official website, game feature list, or game manual may also state it. Legacy API that was made redundant as a mainstream graphics API by DirectX 12 and Vulkan, making existing support very limited. Only available for AMD GPUs. Leave the field blank if Mantle support is not available.
Metal support The game supports the Metal API. Check the video settings for a renderer toggle. The developer's official website, game feature list, or game manual may also state it. Only available for macOS (OS X). Leave the field blank if Metal support is not available.
Vulkan versions The game supports the Vulkan API. Check the video settings for a renderer toggle. The developer's official website, game feature list, or game manual may also state it. New API that was recently released, making support limited. Considered the successor of OpenGL and is equivalent to DirectX 12. Leave the field blank if Vulkan support is not available.
DOS modes The display modes available for a game. Check the system requirements for the game. Can also be found on the retail box. Only for games with a DOS/PC booter release or version. Some display modes may be exclusive to certain releases. This row is only shown when a DOS or PC booter release date row is present in the infobox.
Shader model versions The versions of the High-level shader language the game supports. Check the system requirements for the game. The DirectX version required can determine the Shader model used (see DirectX and associated Shader model versions). Also called the High-level shading language (HLSL) or Shader model. Only for games using Direct3D 8 or newer. Most games use just one version, but some have support for multiple.
Executable What executable (or binary) versions are available. Check the system requirements for the game. Sometimes a 64-bit OS is required. Alternatively, running the game on a 64-bit system and checking the game process in the Task Manager is a reliable method (32-bit applications will have a tag next to their process, 64-bit apps will not). 64-bit applications started appearing around the mid-2000s, but did not become more commonplace until a few years ago. Most modern AAA releases require 64-bit OSes. The field is not applicable for DOS-based games.

DirectX OpenGL equivalents

For DirectX 12.x, OpenGL has no equivalent version. The closest equivalents available are Mantle and Vulkan, both entirely separate APIs.

For games using both DirectX and OpenGL, it may be difficult to determine what version of OpenGL the game is using. The developer may not provide a specific version.

That being said, knowing just the DirectX version used can give a rough estimate on the equivalent OpenGL version.

DirectX version Equivalent OpenGL version
9.0x 2.x
10.x 3.x
11.x 4.x

DirectX and associated Shader model versions

For 3D games using DirectX, the Shader model field must be filled in. However, the Shader model version used may not be provided by the developer.

Unless otherwise specified, the associated Shader model version is what that version of DirectX is using.

DirectX version Associated Shader model version
8.0 1.0 and 1.1
8.0a 1.3
8.1 1.4
9.0 2.0
9.0a 2.0a
9.0b 2.0b
9.0c 3.0
10.0 4.0
10.1 4.1
11.x 5.0
12.x 5.1

Middleware table

See {{Middleware}} for the condensed template documentation.

Syntax

===Middleware===
{{Middleware
|physics          = 
|physics notes    = 
|audio            = 
|audio notes      = 
|interface        = 
|interface notes  = 
|input            = 
|input notes      = 
|cutscenes        = 
|cutscenes notes  = 
|multiplayer      = 
|multiplayer notes= 
|anticheat        = 
|anticheat notes  = 
}}

Example

Middleware Notes
Physics PhysX Lacks GPU acceleration on Linux.
Audio FMOD
Interface Scaleform
Input Object Oriented Input System (OIS)
Cutscenes Bink Video
Multiplayer Steamworks
Anti-cheat PunkBuster

The second major table of the section, the Middleware table lists all the known 3rd party middleware (i.e. not a proprietary in-house solution, integrated as part of the game engine or as part of a graphics API) included with the game.

There are six major types of middleware relevant to the wiki that are tracked:

Middleware type Definition Examples
Physics Middleware that simulates physics against objects in-game. Bullet Physics Engine, Havok, PhysX
Audio Middleware that provides support for audio playback. FMOD, Miles Sound System, Wwise
Interface Middleware that assists with rendering or the design of in-game user interfaces. Flash, FreeType 2, Scaleform
Input Middleware that provides support for or assists with input systems/controls (keyboard, mouse, gamepads, etc.) Object Oriented Input System (OIS)
Cutscenes Middleware that provides cutscene or pre-recorded video playback support. Bink Video, Smacker
Multiplayer Middleware that provides the base of multiplayer support or assists with other aspects related to it (matchmaking, etc.) Steamworks, GameSpy, Epic Online Services
Anticheat Middleware that protects against cheating or assists with other aspects related to it (anti-cheat, matchmaking, etc.) PunkBuster, VAC, Easy Anti-Cheat

Known middleware DLL files

One method of detecting what middleware a game uses is looking through its files for specific DLL files.

This is a list of all the DLL files associated with middleware:

Physics

DLL file Associated middleware
APEX_*.dll, PhysX*.dll PhysX
FarseerPhysics.dll Farseer Physics Engine
Newton.dll Newton Dynamics
ode.dll Open Dynamics Engine

Audio

DLL file Associated middleware
bass.dll, bass*.dll BASS
fmod.dll, fmodex.dll FMOD
FonixTtsDtSimple*.dll Fonix TTS (Text to Speech)
irrKlang.dll irrKlang
mss32.dll Miles Sound System
OpenAL32.dll OpenAL

Interface

DLL file Associated middleware
CEGUI*.dll Crazy Eddie's GUI System (CEGUI)
RocketCore.dll, RocketControls.dll libRocket
wxmsw*.dll wxWidgets

Input

DLL file Associated middleware
OIS.dll Object Oriented Input System (OIS)
openvr_api.dll OpenVR
sixense.dll Sixense Core API

Cutscenes

DLL file Associated middleware
binkw32.dll, bink2w64.dll Bink Video
Smackw32.dll Smacker
SwiffPlayer.dll Swiff Player

Multiplayer

DLL file Associated middleware
CommunityExpress.dll, CommunityExpressSW.dll Community Express SDK
EOSSDK-Win64-Shipping.dll Epic Online Services
pb*.dll PunkBuster
  1. Cite error: Invalid <ref> tag; no text was provided for refs named Mantle support