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 "Special K"

From PCGamingWiki, the wiki about fixing PC games
m (→‎Global (system-wide): Added DirectDraw)
m (→‎Local (game-specific): Added DirectDraw)
Line 71: Line 71:
 
# Move the appropriate Special K DLL file to the folder where the executable were located: <code>SpecialK32.dll</code> for 32-bit, and <code>SpecialK64.dll</code> for 64-bit.
 
# Move the appropriate Special K DLL file to the folder where the executable were located: <code>SpecialK32.dll</code> for 32-bit, and <code>SpecialK64.dll</code> for 64-bit.
 
# Rename the DLL file to match the API used by the game:
 
# Rename the DLL file to match the API used by the game:
 +
#* OpenGL: <code>opengl32.dll</code>
 +
#* DirectX 11.x: <code>dxgi.dll</code> or <code>d3d11.dll</code>
 +
#* DirectX 9: <code>d3d9.dll</code>
 
#* DirectX 8: <code>d3d8.dll</code> - ''Requires the '''dgVoodoo''' plugin installed for Special K.''
 
#* DirectX 8: <code>d3d8.dll</code> - ''Requires the '''dgVoodoo''' plugin installed for Special K.''
#* DirectX 9: <code>d3d9.dll</code>
+
#* DirectDraw: <code>ddraw.dll</code> - ''Requires the '''dgVoodoo''' plugin installed for Special K.''
#* DirectX 11.x: <code>dxgi.dll</code> or <code>d3d11.dll</code>
 
#* OpenGL: <code>opengl32.dll</code>
 
 
#* DirectInput 8: <code>dinput8.dll</code> - ''Alternative injection method for titles that supports DirectInput 8.''
 
#* DirectInput 8: <code>dinput8.dll</code> - ''Alternative injection method for titles that supports DirectInput 8.''
 
# Launch the game.
 
# Launch the game.

Revision as of 16:10, 11 April 2018

Key points

Extensive game modifying framework allowing for various in-depth tweaking of a game. The focus is primarily on the graphics pipeline but it also includes various features such as input device blocking/configuring, etc.
As with other third-party stuff, Special K can have an adverse effect if used in multiplayer titles where anti-cheat protection exist.
Includes a number of game-specific changes and optimizations, although minor ones are not exposed.
Supports multiple graphics APIs as well as injection methods, making it compatible with a lot of games.
Vulkan is supported, although as rendering is not available all changes must be performed through the config files.
Does not support DirectX 12, 10, 7, or older.

General information

Official Steam Group
Unofficial Guide
Releases
Changelog
Source code

Installation

Global (system-wide)

Launcher for the global injector of Special K.
Launcher for the global injector of Special K.
Allows Special K to inject automatically in all Steam games/applications it detects, as well as non-Steam games the user manually allows.
Stop the global injection before playing a multiplayer game where Special K might have an adverse effect.
Install the global injector of Special K:
  1. Download the latest version available, refer to the Steam Group discussions board for details.
  2. Extract the archive at a location of your choice.
  3. Run the Special K Install Manager using either SKIM.exe (32-bit) or SKIM64.exe (64-bit) located within the extracted files.
  4. Select Special K (Global Injector) in the product list.
  5. Click Install.
  6. After the global injector have been installed injection should automatically have started. To stop the injection, click on Stop Injecting in SKIM.
  7. Use Ctrl+ Shift+← Backspace to access the control panel while in-game.
  8. Use the Special K Install Manager (aka SKIM) icon in the notification area of Windows to start/stop the global injector. A shortcut on the start menu should've also been created during the installation. Global injection is only enabled while SKIM is running and injection have been started.

Notes

Antivirus/Internet Security Suites can cause the installer to fail.
Enable for non-Steam games:
  1. Start the global injection.
  2. Navigate to <path-to-game> and the appropriate subfolder containing the game executable.
  3. Look up what API the game uses. Refer to game-specific articles for details.
  4. Create a new empty file based on what API the game uses out of these:
    • OpenGL: SpecialK.OpenGL32
    • DirectX 11.x: SpecialK.dxgi or SpecialK.d3d11
    • DirectX 9: SpecialK.d3d9
    • DirectX 8: SpecialK.d3d8 - Requires the dgVoodoo plugin installed for Special K.
    • DirectDraw: SpecialK.ddraw - Requires the dgVoodoo plugin installed for Special K.
    • DirectInput 8: SpecialK.dinput8 - Alternative injection method for titles that supports DirectInput 8.
  5. Launch the game. Special K should now detect and hook it.
  6. Use Ctrl+ Shift+← Backspace to access the control panel while in-game.

Local (game-specific)

Installs Special K for a specific game, making it possible to use with said game without having global injection enabled.
Use at own risk in multiplayer games where Special K might have an adverse effect.
Does not support automatic updates.
Convert global injection to local wrapper DLLs:
  1. Enable global injection.
  2. Launch the game.
  3. Use Ctrl+ Shift+← Backspace to access the control panel while in-game.
  4. Click on File > Install wrapper DLL for this game.
  5. Exit the game, disable global injection and then start the game again. Local injection should now occur instead.
Manually install local wrapper DLLs:
  1. Download the latest version available, refer to the Steam Group discussions board for details.
  2. Extract the archive at a temporary location of your choice.
  3. Navigate to <path-to-game> and the appropriate subfolder containing the game executable.
  4. Look up if the game uses a 32-bit or 64-bit executable, as well as what API is used. Refer to game-specific articles for details.
  5. Move the appropriate Special K DLL file to the folder where the executable were located: SpecialK32.dll for 32-bit, and SpecialK64.dll for 64-bit.
  6. Rename the DLL file to match the API used by the game:
    • OpenGL: opengl32.dll
    • DirectX 11.x: dxgi.dll or d3d11.dll
    • DirectX 9: d3d9.dll
    • DirectX 8: d3d8.dll - Requires the dgVoodoo plugin installed for Special K.
    • DirectDraw: ddraw.dll - Requires the dgVoodoo plugin installed for Special K.
    • DirectInput 8: dinput8.dll - Alternative injection method for titles that supports DirectInput 8.
  7. Launch the game.
  8. Use Ctrl+ Shift+← Backspace to access the control panel while in-game.

Custom game-specific mods

There's also custom versions available of Special K tailored to certain games. These often features more in-depth changes or fixes that might not exist in the main branch.
Supports automatic updates despite being a local install of Special K; although as the update channel is separate from the main release channel these mods might not be frequently updated, if ever.
Install the appropriate game-specific mod of Special K:
  1. Download the latest version available, refer to the Steam Group discussions board for details.
  2. Extract the archive at a location of your choice.
  3. Run the Special K Install Manager using either SKIM.exe (32-bit) or SKIM64.exe (64-bit) located within the extracted files.
  4. Select the appropriate game-specific mod in the product list:
  5. Click Install to install the selected mod.
  6. Use Ctrl+ Shift+← Backspace to access the control panel while in-game.

Notes

Antivirus/Internet Security Suites can cause the installer to fail.

Game data

Configuration file(s) location

game-specific in the below table refers to either the title of the game (Steam releases) or the executable filename of the game (other titles).
Type of install Location
Global %USERPROFILE%\Documents\My Mods\SpecialK\Profiles\game-specific\SpecialK.ini
Local (converted) %USERPROFILE%\Documents\My Mods\SpecialK\Profiles\game-specific\SpecialK.ini
Local (manual) <path-to-game>; in the game executable folder. Filename mirrors DLL file, e.g. dxgi.ini.

Video settings

Compatibility for features varies for games; most usually works, but at times a game might not function properly with some. Hold down Ctrl+ Shift while launching a game if you need to reset the config file of Special K.

Windowed

Force window mode for games that do not natively support it:
  1. Launch the game with Special K enabled and confirmed working for the game.
  2. Press Ctrl+ Shift+← Backspace to open the control panel of Special K.
  3. Open the Display menu on the top.
  4. Change change Fullscreen Mode to Windowed Mode. The Force Override option might be required as well for some titles.
  5. Restart the game to confirm everything works. See Mouse locking if the cursor is not locked to the game window.

Borderless fullscreen windowed

Force borderless fullscreen windowed for games that do not natively support it:
  1. Launch the game with Special K enabled and confirmed working for the game.
  2. Configure the in-game options to window mode and the resolution of the monitor.
    • See Windowed for how to force window mode for games that do not expose it.
  3. Press Ctrl+ Shift+← Backspace to open the control panel of Special K.
  4. Open the Display menu on the top.
  5. Change Window style to Borderless Fullscreen.
  6. Restart the game to confirm everything works. See Mouse locking if the cursor is not locked to the game window.

Refresh rate (Hz)

Force a custom refresh rate:
  1. Install Special K for the game, either globally or locally.
  2. Launch and close the game once to allow the Special K config file to be created.
  3. Open the game-specific config file, see Configuration file(s) location for details.
  4. Find and change the parameter RefreshRate to the desired refresh rate (e.g. "RefreshRate=120").
  5. Save and close the file.

Scan type

Controls if the game outputs in progressive or interlaced scanning. This is normally more relevant for a television than a computer monitor, as typically computer monitors only support progressive display modes.
This override should only be used if the game does not properly output to the correct scan mode.
Force a custom scanning method:
  1. Install Special K for the game, either globally or locally.
  2. Launch and close the game once to allow the Special K config file to be created.
  3. Open the game-specific config file, see Configuration file(s) location for details.
  4. Find and change the parameter ScanlineOrder to one of the below values:
    • Progressive for progressive scan.
    • UpperFieldFirst for interlaced even scan.
    • LowerFieldFirst for interlaced odd scan.
    • DontCare to retain the game default.
  5. Save and close the file.

Override resolution

Overrides the framebuffer resolution in windowed modes, forcing games to render at a higher resolution than what they might natively support.
Force an override resolution in windowed modes for games that do not natively support it:
  1. Launch the game with Special K enabled and confirmed working for the game.
  2. Configure the in-game options to window mode.
    • See Windowed for how to force window mode for games that do not expose it.
  3. Press Ctrl+ Shift+← Backspace to open the control panel of Special K.
  4. Expand Window Management > Style and Position.
  5. Enable Borderless and Center.
    • Do not enable Fullscreen (Borderless Upscale) as this will disable the override resolution.
  6. Change Override Resolution to the desired resolution.
  7. Restart the game to confirm everything works. See Mouse locking if the cursor is not locked to the game window.

Notes

Remove the override resolution by changing the Override Resolution values to 0, followed by a game restart.

Continue rendering

Prevents games from pausing when they lose focus.
Instructions
  1. Launch the game with Special K enabled.
  2. Press Ctrl+ Shift+← Backspace to open the control panel of Special K.
  3. Expand Window Management > Input/Output Behavior.
  4. Enable Continue Rendering.
  5. Press Ctrl+ Shift+← Backspace to close the control panel of Special K.

Input settings

Mouse locking

Lock the mouse to the game window for games that do not natively support it:
  1. Launch the game with Special K enabled.
  2. Press Ctrl+ Shift+← Backspace to open the control panel of Special K.
  3. Expand Window Management > Input/Output Behavior and set Cursor Boundaries to Keep Inside Window.
  4. Restart the game to confirm everything is working as intended.

Haptic feedback

The control panel of Special K uses haptic UI feedback; this can cause a controller to rumble even if the keyboard/mouse is being used to navigate the UI.
Toggle haptic feedback:
  1. Launch the game with Special K enabled.
  2. Press Ctrl+ Shift+← Backspace to open the control panel of Special K.
  3. Expand Input Management > Gamepad and toggle the following settings as desired:
    • Haptic UI Feedback affects only the built-in UI feedback of Special K.
    • Disable ALL Rumble affects all haptic feedback.
  4. Press Ctrl+ Shift+← Backspace to close the control panel of Special K.

Disable type(s) of input

This will block the game from receiving input of the blocked type. It can be used to e.g. prevent input devices from messing with the game. The block only affects the game itself and not Special K.
Instructions
  1. Launch the game with Special K enabled.
  2. Press Ctrl+ Shift+← Backspace to open the control panel of Special K.
  3. Expand Input Management > Enable / Disable Devices and disable the desired type of input:
    • Disable Mouse Input to Game
    • Disable Keyboard Input to Game
    • Disable Gamepad Input to Game
  4. Press Ctrl+ Shift+← Backspace to close the control panel of Special K.

Audio settings

Template:Audio settings

Localizations

Language UI Audio Sub Notes
English

Separate volume controls

Special K allows muting or changing the volume from a game for individual speakers.
Instructions
  1. Launch the game with Special K enabled.
  2. Press Ctrl+ Shift+← Backspace to open the control panel of Special K.
  3. Expand Volume Management.
  4. All speakers used by the game will be listed, and the volume through each can be controlled or muted individually.
  5. Press Ctrl+ Shift+← Backspace to close the control panel of Special K.

Mute on focus lost

This will mute the game when it does not have focus.
Instructions
  1. Launch the game with Special K enabled.
  2. Press Ctrl+ Shift+← Backspace to open the control panel of Special K.
  3. Expand Window Management > Input/Output Behavior.
  4. Enable Mute Game.
  5. Press Ctrl+ Shift+← Backspace to close the control panel of Special K.

Other information

API

This refers to the APIs supported by and compatible with Special K as an injection point.
DirectInput 8 is also supported as an injection point.
Technical specs Supported Notes
Direct3D 8, 9, 11 D3D8 requires dgVoodoo plugin.
DirectDraw 7 Requires dgVoodoo plugin.
OpenGL 1, 2, 3, 4
Vulkan 1.0 Rendering is not available; manual edit of the config file is required.

System requirements

Requires Visual C++ 2017 Redistributables (32-bit, 64-bit) and the DirectX End-User Runtime.
Windows 7 also requires KB2670838 and KB2533623, although one/both might be superseeded by another already installed update(s).
Windows
Minimum Recommended
Operating system (OS) 7
Processor (CPU)
System memory (RAM)
Hard disk drive (HDD) 150 MB
Video card (GPU) DirectX 11 compatible


References