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.
Modules
Original modules
Name | Short description | Compat. | W:A version | Developer |
---|---|---|---|---|
AntiKeyboardHook[1] | Stop MS Windows from disabling Alt+Tab / Win+... keyboard combinations for wa.exe.[2] | All | CyberShadow | |
FileOverride[1] | Override files from the CD-ROM 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 | |
D3D9Wnd | A Direct3D 9-based windowed mode, which works natively and includes some cool features. | 3.7+ | Kawoosh, StepS | |
FkeyRearrange | Allows the user to redefine the order and content of weapons for each F hotkey. | 3.7.2.1 ▼ | boobl, StepS | |
IndiMask | It allows maps to have both destructible and indy areas by embedding data in the palette. | 3.7.2.1 ▼ | Plutonic | |
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 | |
MapGEN | Allows to generate random PNG maps from the map editor. | All | Plutonic | |
NV3Doff | Prevents the NVIDIA 3DVision from becoming active when using Direct3D 9. | All | Kawoosh | |
Rehost | Allows reopening games when using a snooper to host. | 3.7.2.1 ▼ | Kawoosh | |
RemapKeys | A W:A-specific key remapper which doesn't affect chatting and works in-game only. | 3.7+ | Kawoosh, StepS | |
ReplayShark | Allows to build a catalog of nice moments by pressing a button when something cool happens. | 3.7.2.1 ▼ | Glide | |
RubberWorm | Extends the W:A physics engine with new options. | 3.7.2.1 ▼ | Pisto, Kawoosh | |
Snow | A module to enable, customize and/or disable snow anytime, doesn't affect map generation. | 3.7.2.1 ▼ | StepS | |
SuperFrontendHD | Allows to run the frontend at any resolution and helps people without 640x480 support. | 3.7+ | StepS | |
Terrain | Allows to specify custom terrains for use with the map generator. | 3.7.2.1 | xKoweKx | |
UseDesktopWindow | A module which in future will help to run WWP and older W:A on Wine. | All | Muzer | |
wkWMDB | Allows the downloading of maps randomly from the WMDB site from within the editor, based on schemes and map size. | All | Plutonic | |
wndmode | DirectDraw windowed mode running in a wrapper. | All | menopem, VEG, Kawoosh, StepS |
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 |
Obsolete or incompatible modules
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 | |
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[3] | ShadowTheAge | |
PrivateCfg | Allows you to store all the W:A settings in an INI file instead of registry. | 3.7.0.0 ▼ | Kawoosh | |
Localizer | Allows you to translate W:A fully (frontend, ingame, etc), goes with an editor. | 3.6.31.0 | Kawoosh | |
Project X | Extends W:A with scripting, custom weapons and DirectX 9 rendering. | 3.6.31.0 | Entuser | |
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 |
Non-W:A modules
Name | Short description | Compat. | W:A 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 | |
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.
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.
- ↑ 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.