A collection of custom User Interface modifications and Quality of Life scripts for Valve's Deadlock (Source 2).
These mods are built using the Panorama API (XML/CSS/JS) to improve overall player experience.
Native resource synchronization and offline HUD lookup checks are documented in tools/UPDATING.md.
| Source folder | Mod | What it does |
|---|---|---|
DL-Arcade-Cloudflare |
DL Arcade | Online mini-games in Deadlock's pause menu: board games, cards, Pixel Battle, Wordle and GeoGuesser. |
Old-Minimap-Player-Icon |
Old Minimap Player Icon | Restores the previous player icon on the minimap. |
Parry-Cooldown |
Parry Cooldown Timer | Displays the parry cooldown. |
Match-History-Cards-Redesign |
Match History Cards Redesign | A cleaner redesign of the match-history cards. Collaborative project. |
Commend-Everyone-Button |
Commend Everyone Button | Adds a button that commends all eligible players after a match. |
Old-Progress-Bars |
Old Abilities Progress Bars | Restores the classic ability-progress UI. |
Show-Nicknames-In-TopBar |
Show Nicknames in Top Bar | Shows player nicknames in the top HUD bar. |
Show-Nicknames-Above-Heroes |
Show Nicknames Above Heroes | Obsolete; retained as source history and excluded from release and GameBanana publication automation. |
No-Incoming-Damage |
Remove Incoming Damage From HUD | Removes incoming-damage notifications from the HUD. |
Smaller-Commend-Box |
Smaller Commend Notification | Reduces the commend notification footprint. |
Bridge-Buff-Reminder |
Bridge Buff Reminder | Alerts shortly before the bridge buff spawns. |
Active-Stats— mirrors active hero combat buffs and debuffs directly beside the crosshair.- Djinn-Mark-In-TopBar — shows observed Djinn's Mark stacks beneath the matching enemy topbar portrait; included in individual GitHub Releases.
- Invite-Everyone-Button — adds Invite to Esc, activates eligible playtest invitation cards with bounded parallel requests and closes native result dialogs, with no idle polling.
- HUD-Dumper — incremental diagnostic HUD captures with label text and a Windows receiver that validates packet completeness; full class enumeration is unresolved.
Minimap-Cheat— press M to send two waves of minimap pings over every visible enemy marker.Rem-Bug-Abuse— a local proof of concept that automates the cast, Tier 1 upgrade and undo sequence for Rem's third ability. It is intentionally not published.
The submissions above are on GameBanana.
Catalog mods have separate GitHub Releases,
named for each mod. Native updates first arrive in a review PR; merging changed
mod sources into main builds their individual releases. GameBanana publication
is a separate manual action with a mod dropdown, automatic version increment and
an Add Update API record. Setup and publication checkpoints are described in
tools/UPDATING.md.
This repository contains source code. Build a mod into a .vpk before installing it.
Install Reduced CSDK 12 to
C:\Reduced_CSDK_12.
- Clone or download this repository.
- Run
tools\build_mod.bat. - Select the mod from the menu.
- Find the generated
.vpkintools\builds.
The builder uses the same core scripts as Deadlock-Mod-Compiler. Keep
build_mod_helpers.ps1 beside build_mod.ps1 when copying the tool.
MP3 files under sounds are converted automatically to 16-bit PCM WAV in the
temporary content directory before compilation to .vsnd_c. FFmpeg must be on
PATH. The source MP3, sample rate and channel count are preserved; unchanged
inputs reuse the generated WAV. Refer to the sound's .vsnd path in
soundevents/*.vsndevts. Missing FFmpeg, conversion failures and an MP3/WAV pair
with the same path and stem stop the build before packing.
TTF fonts and supported precompiled resources are staged directly; unsupported
formats are reported. HTML/JSON/TXT are not automatically shipped as game assets.
Changed or removed PNG/TGA files requeue texture descriptors, including custom
ones. This is not a general dependency graph for all Source 2 resource types.
Packing uses a temporary directory and replacement backups; a failed replacement
attempts rollback. Split-file replacement is not crash-atomic.
Addon allocation reuses existing valid mod assignments or the first free
pak01-pak99 slot based on actual files, not stale registry entries.
If all slots are occupied, remove unused addons before building.
Offline checks (no compiler, packer or VPK filesystem operations):
powershell -NoProfile -ExecutionPolicy Bypass -File tools/tests/build_mod_regression.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File tools/tests/mp3_regression.ps1For a public release build with source comments removed, use tools\build_mod_strip_comments.bat
instead. It creates a temporary *-stripped folder and leaves the source tree unchanged.
Add the resulting .vpk to Deadlock Mod Manager or
Grimoire Mod Manager, then enable it.
Run tools\package_releases.bat (Python 3.11+ and the configured CSDK are required).
Enter a date to build published mods with asset changes since that date, or all
to build every published mod whose sources are in this repository. Pressing Enter
uses the first day of the current month. Tracked local edits and untracked assets
are included; documentation changes alone do not select a mod. The two top-bar
nickname variants are selected together.
python tools/package_releases.py --since 2026-10-01 --plan
python tools/package_releases.py --since 2026-10-01
python tools/package_releases.py --mods Bridge-Buff-Reminder Parry-Cooldown
Each run creates a new folder under tools/releases containing individual ZIPs,
VPKs, compiler logs and release-report.json. Each ZIP contains a single VPK at
its root. Bridge Buff Reminder is built in five variants: 4:50, 4:45, 4:40, 4:35
and 4:30, using temporary source copies. The original alert setting is preserved.
Batch builds use a full rebuild and the existing compiler's CSDK path; they do
not change its saved settings, install into game addons, restart the game or upload.
A failed build stops the batch and records the failure. Completed archives from
that batch remain available; rerun the command to create a new batch.
Unless a file says otherwise (for example, bundled third-party assets), this repository is licensed under the Apache License 2.0.