WormKit
From Worms Knowledge Base
WormKit | |
---|---|
Developer: | CyberShadow |
Supported games: | W:A |
Supported W:A version: | All versions |
Language: | Delphi |
License: | Open-source[1] |
WormKit was an extension framework for Worms Armageddon. The distribution contained a module loader (whose only purpose is to load WormKit modules), and a set of default modules, each providing specific functionality.
By convention, a WormKit module is a DLL file, the filename of which begins with the prefix "wk". There is no API or further integration, however some DLLs can provide common functionality for other modules to share (such as wkPackets).
Starting with W:A version 3.7.0.0, the ability to load WormKit modules is included as a game option, which makes the loader itself obsolete.
Some of the WormKit modules listed on this page have eventually become part of the base game. Such is the case, for example, with D3D9Wnd and RubberWorm in Update 3.8.
Modules
Original modules
Name | Short description | Compat. | W:A version | Developer |
---|---|---|---|---|
FileOverride[1] | In the CD edition, allows to override CD-only files with your versions. | All | CyberShadow | |
SoundCardSelect[1] | Choose the soundcard W:A should use for sound output. | All | CyberShadow | |
WormNAT2 | Allows hosting games even if you're behind a router or firewall. | 3.6.28.0+ | CyberShadow |
Current modules by community
Name | Short description | Compat. | W:A version | Developer |
---|---|---|---|---|
AntiLag | A simple module to fix screen lags in-game by increasing the WA.exe process priority. | All | Kawoosh | |
BindKeys | A key mapper which works independently of the game's code and has a toggle key option. | All | drey08 | |
FkeyRearrange | Allows the user to redefine the order and content of weapons for each F hotkey. | 3.8.1 ▼ | boobl, StepS | |
IndiMask | It allows maps to have both destructible and indy areas by embedding data in the palette. | 3.8.0 ▼ 3.8.1 via unofficial patch | Plutonic | |
Kick38 | A kick module for 3.8. Allows host to kick players from in-game. | 3.8.x | terion | |
MapGEN | Allows to generate random PNG maps from the map editor. | All | Plutonic | |
wkMultiInstance | Allows launching multiple WA instances without file conflicts. | All | nizikawa | |
NewWave | Play custom music instead of the original in-game music. | All | terion | |
NV3Doff | Prevents the NVIDIA 3DVision from becoming active when using Direct3D 9. | All | Kawoosh | |
RemapKeys | A W:A-specific key remapper which doesn't affect chatting and works in-game only. | 3.7+ | Kawoosh, StepS | |
SuperFrontendHD | Allows to run the menu screens at any screen resolution with higher-definition graphics. | 3.7+ | StepS | |
wkTerrainSync | Allows to specify custom terrains for use with the map generator. | 3.8.x | nizikawa | |
wkTextMacros | Implements automatic text macros in both lobby and in-game chat. | 3.8.x | terion | |
wkToolAssist | Adds Tool Assisted features - playing the game in super slow motion or frame by frame, saving and restoring game state, showing roping trajectory | 3.8.1 | nizikawa | |
wkTTS | Reads chat messages with text-to-speech. | 3.8.x | greisane | |
wkWMDB | Allows the downloading of maps randomly from the WMDB site from within the editor, based on schemes and map size. | All | Plutonic | |
wkPin | Allows the weapon menu to remain open. Allows forcing the chat window to a set size. | 3.8.1 | Tester7 | |
wkFlamingHealthBars | Brings back the famous flaming team health bars and allows the use of custom health bars. | 3.8.x | terion |
Developer modules, SDKs, debuggers
Name | Short description | Compat. | W:A version | Developer |
---|---|---|---|---|
DetectFocusLoss | Helpful to find what process(es) steal focus from the game (causing e.g. unwanted minimizations) | All | StepS | |
MinidumpOnCtrlBreak | Helpful to find reasons of certain freezes. Creates dump by pressing Ctrl+Break. | All | CyberShadow | |
PointerScan | A pointer scan made specifically for W:A. Helpful in the development of new WormKit modules. | 3.6.31.0 ▼ | Pisto | |
VersionCheck | An example on C++ to verify the W:A version before hooking code. | All | Kawoosh | |
wkSample | The example open source module, which shows the development of WormKit modules. | All | The SCS |
Not compatible with the latest release
Name | Short description | Compat. | W:A version | Developer |
---|---|---|---|---|
KawooshKick | An in-game kicking module, fully compatible with v3.7.2.1, supports kicking reasons. | 3.7.2.1 ▼ | Kawoosh | |
LobbyCmd | Allows to change the in-game resolution from a network game lobby to any value. | 3.7.2.1 ▼ | Kawoosh | |
PrivateCfg | Allows you to store all the W:A settings in an INI file instead of registry. | 3.7.0.0 ▼ | Kawoosh | |
Project X | Extends W:A with scripting, custom weapons and DirectX 9 rendering. | 3.6.31.0 | Entuser | |
Rehost | Allows reopening games when using a snooper to host. | 3.7.2.1 ▼ | Kawoosh | |
ReplayShark | Allows to build a catalog of nice moments by pressing a button when something cool happens. | 3.7.2.1 ▼ | Glide | |
Snow | A module to enable, customize and/or disable snow anytime, doesn't affect map generation. | 3.7.2.1 ▼ | StepS | |
TrackMeBetter | Allows to tune the in-game camera tracking rectangle for object motion. | 3.7.2.1 | StepS |
Obsolete (historical)
Name | Short description | Compat. | W:A version | Developer |
---|---|---|---|---|
ColorFix | Fixes the color bug on Vista and Windows 7 by suspending the "explorer.exe" process. | All | CyberShadow | |
AntiKeyboardHook[1] | Stop MS Windows (2000 - 8.1) from disabling Alt+Tab / Win+... keyboard combinations for wa.exe.[2][3] | All | CyberShadow | |
PathOverride | Modifies the registry to use WormKit.exe for URLs (like "wa://") and replay files. | All | Kawoosh | |
RandomMap | Allows you to download random maps from WMDB directly from the map editor. | Undefined[4] | ShadowTheAge | |
wndmode | DirectDraw windowed mode running in a wrapper. | All | menopem, VEG, Kawoosh, StepS | |
UseDesktopWindow | A module which in future will help to run WWP and older W:A on Wine. | All | Muzer | |
D3D9Wnd | A Direct3D 9-based windowed mode, which works natively and includes some cool features. | 3.7.x | Kawoosh, StepS | |
RubberWorm | Extends the W:A physics engine with new options. | 3.7.2.1 ▼ | Pisto, Kawoosh | |
Localizer | Allows you to translate W:A fully (frontend, ingame, etc), goes with an editor. | 3.6.31.0 | Kawoosh | |
PXColorPwnage | Fixes the Darker team colour scheme when PX is enabled. | 3.6.31.0 | Kawoosh | |
CinusKick | An analog to wKick module for W:A update 3.6.29.0. | 3.6.29.0 | Cinus | |
JetFix | Provides a workaround for the jetpack bug when using BattyRope or TestStuff. | 3.6.29.0 | Pisto | |
LaserFix | A fix for the Laser Sight desynchronization bug in v3.6.29.0, and some nice features. | 3.6.29.0 | Pisto | |
wKick | Allows you to kick people in-game by typing a command in the chat. Works only on 3.6.28.0. | 3.6.28.0 | Pisto | |
wkMagic | First proof-of-concept module that allowed game logic code modification in online games. | 3.6.26.5 | CyberShadow | |
wkTerrain | Allows to specify custom terrains for use with the map generator. | 3.8.x | xKoweKx, terion |
For Worms 2 / WWP
Name | Short description | Compat. | Version | Developer |
---|---|---|---|---|
ReSolution | Allows to change the in-game resolution in Worms 2 and Worms World Party to any value, as well as zoom and resize the game environment. | 1.05 (W2) 1.0x (WWP) |
StepS | |
DDShot | Allows to take screenshots in DirectDraw games (via the Pause key) or dump shots of all surfaces (via Alt+Pause). | All | StepS | |
fkNetcode | Fixes netcode related issues in the Worms 2 frontend, primarily resolving a proper external IP address for hosting games. | 1.05/1.07 (Frontend) | Pac-Man | |
W2 Windowed Mode | Allows to run Worms 2 in a window and fixes Windows 8+ performance issues. | All | See "wndmode" | |
WWP Windowed Mode | Fixes compatibility with all modern systems and drivers and allows to use windowed mode. | All | See "wndmode" |
History
WormKit was first released on April 5, 2006. Since its release, no significant changes or additions were made to the framework itself. Although there was some work on additional default modules, including an anti-cheating system (wkWormisign) and a Fiddler-like scripted game engine add-on (wkMagic), none reached a development phase mature enough to be released, and thus the ideas were dropped.
In July 2011, WormKitDS was released. WormKitDS is an alternative module loader which removes the need of a launcher program. WormKitDS made managing WormKit-requiring replays easier, and worked under Linux and for the Steam edition of the game, whereas the original WormKit did not.
In December 2012, W:A 3.7.0.0 was released, with the addition of an option to load WormKit modules on startup. The new option made the loaders mostly obsolete.
In February 2013, the original WormKit homepage (previously located at http://worms.thecybershadow.net/wormkit/) was shut down and turned into a redirect to this page. The default modules have been made available as separate downloads. The old (obsolete) distribution can still be downloaded here.
In July 2020, FrontendKitWS was created to patch issues specifically related to the Worms 2 frontend, as it does not support loading modules through WormKitDS.
See also
- WormKitDS loads modules for Worms 2 (in-game), W:A (pre-3.7), and Worms World Party
- FrontendKitWS loads modules for Worms 2 (frontend)
Notes
- ↑ 1.0 1.1 1.2 1.3 Source code for WormKit and default modules can be found on GitHub.
- ↑ This module will not work with the game's "Load WormKit modules" option. A loader (WormKit.exe or WormKitDS) must be used instead.
- ↑ This module is now obsolete on Windows 10 (because the root cause has been fixed by Microsoft). This module was never necessary for non-CD editions of the game, and there exists a registry-based fix that is preferable instead.
- ↑ After the 3.7.0.0 update, wkRandomMap has stopped working on some systems, but it is unknown what makes it malfunction on any particular system. This module is now deprecated; wkWMDB is preferable.