This tool is currently in early development. Many features are incomplete, broken, or may not work as expected. Things that might break:
- File saving/loading may fail
- UI elements might not update properly
- XML validation might be incomplete
- Some editors might crash
- Changes might not be saved correctly
ALWAYS BACKUP YOUR MOD FILES BEFORE USING THIS TOOL!
You will see errors on first startup - THIS IS NORMAL! These errors occur because the file paths are not yet configured. To fix this:
- Launch the tool
- Go to the Configuration tab
- Save your configuration (even if paths are automatically detected)
- Restart the tool
The errors will disappear after saving your configuration. This is a one-time setup process.
You must select a mod to work on before using any features! The tool defaults to your DK2 mods folder location:
C:\Program Files (x86)\Steam\steamapps\common\DoorKickers2\mods
To select a mod:
- Go to the Configuration tab
- Choose your mod from the "Current Mod" dropdown
- Click "Save Changes"
If your mod isn't listed, verify that:
- Your mod folder exists in the DK2 mods directory
- The mod path is correctly set in the Configuration tab
- Door Kickers 2 installed via Steam
- Write permissions to your Documents folder
- Download the latest installer (
DK2ModdingTool_Setup.exe) from the Releases page - Run the installer
- Choose your installation directory (defaults to Documents folder)
- Follow the installation wizard
- Launch the tool from the Start Menu or Desktop shortcut
The tool will automatically:
- Detect your DK2 installation in the default Steam location
- Set up the necessary directories
- Create required configuration files
If the automatic detection fails:
- Go to the Configuration tab
- Click "Browse" next to Game Directory and select your DK2 installation folder
- Click "Browse" next to Mod Directory and select your mods folder (typically in the game directory)
- Click "Save Changes"
- Configure equipment loadouts for different unit classes
- Manage equipment bindings and relationships
- Visual editor for equipment assignments
- Visual editor for creating and modifying unit deployment layouts
- Support for different box sizes (2x1, 4x1, 4x2)
- Drag and drop interface for positioning boxes
- Slot assignment system for equipment classes
- Automatic synchronization with unit XML files
- Create and edit unit classes
- Manage trooper ranks and regular ranks
- Edit unit attributes and properties
- Preserves equipment slot counts between edits
- Edit human entity templates
- Configure AI behavior and properties
- Manage entity attributes
- Centralized file management
- Automatic file structure creation
- Support for multiple mods
- XML validation
- Mod packaging
- Configurable logging per module
- Auto-detection of game installation
- Go to the Configuration tab
- Click "Create New Mod"
- Enter your mod details
- Click "Create"
- Go to the Configuration tab
- Select your mod from the dropdown
- Use the various editor tabs to modify your mod
- Select your mod in the Configuration tab
- Go to the GUI Editor tab
- Create a new layout from scratch using the available tools
- Remember: You cannot import existing GUI layouts
-
Files not saving:
- Ensure you have write permissions to the mod directory
- Try running as administrator
-
Game not detected:
- Manually set the paths in the Configuration tab
- Verify your DK2 installation
-
GUI Editor issues:
- Remember that existing GUI layouts must be recreated from scratch
- Save frequently to avoid losing work
dk2-modding-tool/
├── modding_tool.py # Main application
├── utils.py # Utility functions
├── modules/ # Plugin modules
│ ├── config_editor_module.py
│ ├── entities_editor_module.py
│ ├── equipment_binding_editor_module.py
│ ├── gui_editor_module.py
│ ├── mod_files.py
│ └── units_editor_module.py
└── Example mod/ # Example mod templates
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
If you encounter any issues or have suggestions:
- Check the Known Issues section
- Submit a Bug Report
- Request a Feature
This project is licensed under the MIT License - see the LICENSE file for details.
Any folder in your DK2 mods directory will be treated as a mod. The following structure shows the standard mod layout and file naming conventions:
gui/- GUI layouts*_deploy.xml- Deploy screen layouts*_gui.xml- General GUI layouts- Other GUI XML files
units/- Unit definitions*_unit.xml- Unit definitions*_identities.xml- Unit identities
entities/- Entity definitions*_humans.xml- Human entity definitions*_entities.xml- Other entity definitions
equipment/- Equipment definitions*_binds.xml- Equipment bindings*_equipment.xml- Equipment definitions
textures/- Texture files*_squad_bg.dds- Squad backgrounds- Other texture files (
.dds,.jpg,.png)
localization/- Localization files*_squadname_pool.txt- Squad name pools*_strings.xml- String tables
mod.xml- Mod metadata (title, description, author)mod_image.jpg- Mod preview image
All directories and files are optional - create only what you need for your mod.
The tool manages equipment slots through two integrated systems:
-
GUI Layout Editor:
- Visually assign equipment slots to classes
- Drag and drop boxes to create the layout
- Each box can have multiple slots (2x1=2 slots, 4x1=4 slots, 4x2=8 slots)
- Slots can be assigned to different classes using the dropdown menu
-
Units Editor:
- Displays and manages class definitions
- The
numSlotsvalue for each class is automatically managed by the GUI editor - Manual edits to
numSlotsin the units editor will be preserved until slots are reassigned in the GUI
- Each class's
numSlotsvalue determines how many equipment slots are available - The GUI editor automatically updates these values based on slot assignments
- If you need to change how many slots a class has:
- Use the GUI editor to assign/unassign slots to the class
- The
numSlotsvalue will update automatically - Changes are saved to the unit XML file