Complete build menu overhaul: Added new, bigger menus (12 units per page instead of 6), and new hotkeys, custom crafted by TA:T's own ChaoStorm! Thanks Chao!
NOTE: There may still be some bugs, missing hot keys, etc., so let us know if you find an issue.
Arm Peewee and Core A.K. speed and range increased and armor reduced.
NOTE: Despite being the "standard/basic" level 1 Kbot, Peewees/A.K.s were being outperformed by most of the other Kbots in most situations, but didn't have something they were overly good at in comparison.
This change has them trading armor for speed and damage for range, allowing them to close the distance to a target more quickly and come into range sooner, but at the cost of doing less damage and being easier to destroy. They should be a better overall swarm unit; light, fast, built cheaply, and destroyed easily.
Arm and Core Sabotage Mine/Micro Nuke build time increased.
NOTE: This means it will take one second for a Spy Kbot to build the micro-nuke. This is enough time to decloak to build it and have it destroy something before the spy is destroyed, but long enough that it can't be rapidly clicked on a large gantry unit and used 5 to 10 times before the spy is destroyed.
Arm Rocko and Core Storm weapon area of effect reduced.
Arm Janus reload and damage reduced and tolerance increased.
Core Krogtaar weapon velocity increased.
Core Reapers and Pyros now take half damage from [TREEBURN] and [SHRUBBURN] weapons.
Arm Infiltrator and Core Parasite weapon range increased.
Added anti-mine rockets to the Arm Valiant and Core Limiter.
Arm Moho Twilight now has a defensive paralysis weapon.
NOTE: The weapon is a burst of EMP grenades that spray out in a circle in random directions, hopefully paralyzing its enemies. It defaults to Return Fire, so that if enemies go by without noticing it, it won't reveal itself unnecessarily. Of course, you can set it to Fire at Will or Hold Fire, if you so choose.
Complete build menu overhaul: Added new, bigger menus (12 units per page instead of 6), and new hotkeys, custom crafted by TA:T's own ChaoStorm! Thanks Chao!
NOTE: There may still be some bugs, missing hot keys, etc., so let us know if you find an issue.
Arm Peewee armor reduced to 162 (212), speed increased to 2.535 (1.94), and line of sight increased to 360 (320).
Arm Peewee weapon [PEEWEE_EMG] range increased to 480 (360), damage reduced to 9 (12), and weapon timer increased to .9333 (.7).
Core A.K. armor reduced to 192 (251), speed increased to 2.305 (1.76), and line of sight increased to 360 (320).
Core A.K. weapon [AK_LASER] range increased to 480 (360) and damage reduced to 17 (22).
NOTE: Despite being the "standard/basic" level 1 Kbot, Peewees/A.K.s were being outperformed by most of the other Kbots in most situations, but didn't have something they were overly good at in comparison.
This change has them trading armor for speed and damage for range, allowing them to close the distance to a target more quickly and come into range sooner, but at the cost of doing less damage and being easier to destroy. They should be a better overall swarm unit; light, fast, built cheaply, and destroyed easily.
Arm and Core Sabotage Mine/Micro Nuke build time increased to 900 (10).
NOTE: This means it will take one second for a Spy Kbot to build the micro-nuke. This is enough time to decloak to build it and have it destroy something before the spy is destroyed, but long enough that it can't be rapidly clicked on a large gantry unit and used 5 to 10 times before the spy is destroyed.
Arm Rocko and Core Storm weapon [KBOT_ROCKET] area of effect reduced to 96 (128).
Arm Janus weapon [JANUS_ROCKET] reload reduced to 3.8 (5.263), damage increased to 374 (518), and tolerance increased to 2000 (1000).
Core Krogtaar weapon [COR_TAAR_RC] weapon velocity increased to 800 (600).
Core Reapers and Pyros now take half damage from [TREEBURN] and [SHRUBBURN] weapons.
Arm Infiltrator and Core Parasite weapon [TWILIGHT] range increased to 1200 (800).
Added anti-mine rockets to the Arm Valiant and Core Limiter:
firestandorders=1;
StandingFireOrder=0;
canpatrol=0; (Was 1)
CanAttack=1;
Weapon1=ANTIMINE_ROCKET;
BadTargetCategory=VTOL;
wpri_badTargetCategory=VTOL;
and their scripts were changed to allow them to use a weapon.
Arm Spider turret turn rate increased to 480 (180).
Arm and Core Construction Hovercraft can now build:
Micro Fusions
Moho Metal Makers
Amphibious Complex
Seaplane Platform
Arm Moho Twilight now has a defensive paralysis weapon. The following was added:
canattack=1;
shootme=1;
firestandorders=1;
StandingFireOrder=1;
canstop=1;
downloadable=1;
Weapon1=ARMTICK_PARALYZER; (Not currently used by any unit)
wpri_badTargetCategory=ALL;
BadTargetCategory=NOWEAPON;
NoChaseCategory=ALL;
immunetoparalyzer=1;
and its script was changed to allow it to use a weapon.
NOTE: The weapon is a burst of EMP grenades that spray out in a circle in random directions, hopefully paralyzing its enemies. It defaults to Return Fire, so that if enemies go by without noticing it, it won't reveal itself unnecessarily. Of course, you can set it to Fire at Will or Hold Fire, if you so choose.
tdraw.dll is an upgrade for Total Annihilation. It patches the game to fix many bugs and add many features.
It is an integral component of the TA Community Patch, the other parts being tplayx.dll (the recorder) and server.exe (the replayer).
tdraw.dll has a long provenance dating back to the work of SY_Yeha, who introduced whiteboard markers and the TA Hook and new hotkeys to TA.
Later work by Xpoy extended hotkey support, added new shortcut commands, uni-code font support, megamap, weapon-id crack (not present in current release) and porting music patch from GOG version,
and later support was provided by Rime.
The present release includes contributions from Axle and FunkyFresh, and owes a debt to TAG_Venom for extensive testing and critical feeback, and to Gamma and Wotan for further testing and feature suggestions.
CONFIGURATIONS
The release .zip files are annotated with a build configuration tag: "tdraw-<config>.zip". The various configurations are:
* tdraw-full.zip: all features enabled
* tdraw-escalation.zip: built for TA:Escalation. disables the following features
- mex snap
- that is all
* tdraw-minimal.zip: disables the following features
- mex/wreck snap
- options for construction units to stay put when guarding
- options for construction units to only reclaim or onlt assist while patrolling
- auto kickout construction units that are blocking another builder
- weather report at top of screen
- sync wind speed between players
- map DT's always visible.
INSTALLATION
Drop tdraw.dll into your TA directory.
Ensure the following files are also present in your TA directory:
- ddraw.dll (available from https://github.com/FunkyFr3sh/cnc-ddraw)
- totala.ini
You may need to rename totala.ini and tdraw.dll to whatever your mod is using. See below for reference. For other mods, please consult with the mod maintainers.
ini file dll file
Beta patch 3.9.02 TA.ini tdraw.dll
Escalation 9.9.6 TAESC.ini taesc.dll
Mayhem 10.9.2 Settings.ini mdraw.dll
ProTA 4.6 ProTA.ini tdraw.dll
Zero Alpha5-060322 tazero.ini zdraw.dll
NEW FEATURES IN BRIEF:
*2026.6.8
- bugfix for VoteReject - prevent local user from rejecting himself
*2026.6.3
- add "nottounderwater" flag for weapons (see NEW FEATURES IN DETAIL)
- fix bug potentially being the root cause of since-year-1997 intermittent black screen on join games
- better quality megamap render
*2026.5.28
- Fix construction units intermittently trying to sit within the footprint of rotated structures before building them
*2026.5.15
- Fix intermittent 6x8 staircase yardmap on south-facing rotatable factories
- New "PreviewObject3D=" unit key to override the 3DO model used for the nanoframe ghost preview (see NEW FEATURES IN DETAIL)
*2026.5.9
- Lag-switch mitigation: detects and freezes local simulation when network goes dark
- Vote-to-reject system for in-progress multiplayer games (see NEW FEATURES IN DETAIL)
- add "nottoair" flag for weapons (see NEW FEATURES IN DETAIL)
- add "surfacefire" flag for weapons (see NEW FEATURES IN DETAIL)
- +autoteam bugfix for occasional players stranded by themselves
- Diagnostic logging for crashes 004cbed5 and 0049cf19
- Building rotation: press '/' (configurable) to cycle the build cursor
facing for buildings whose FBI permits it (see NEW FEATURES IN DETAIL)
- Nanoframe ghost preview at the build cursor (see NEW FEATURES IN DETAIL)
- Fix for ctrl-z (and ctrl-a / ctrl-b / ctrl-c) silently truncating selections for unit ids >= 512
- Export engine-backed player elimination status to gpgnet4ta via shared memory,
so games where a commander dies but play continues are reported with the correct outcome
*2026.2.17 - Fix false trigger on version check
*2026.2.10 - Minor adjustment to diagnostic crash detection ("ERROR: dstRect out of bounds", allow CopyScreenContext all the way to the edge of destination context)
*2026.2.7 - Disable AUTOTEAM, RANDOMTEAM and CRCREPORT buttons for non-host players
*2026.2.5 - Add support for AUTOTEAM, RANDOMTEAM and CRCREPORT buttons in battleroom (guis/lounge2.gui)
*2026.2.2 - Custom ctrl-f2 menu skin for escalation
*2026.1.29 - Create seperate builds for full-featured (tdraw-full.zip), escalation (tdraw-escalation.zip), and minimal (tdraw-minimal.zip) feature sets.
*2025.12.13 - Add diagnostics for crash at 004cbed5
*2025.12.6 - Fix crash when game installed in a long path (eg C:\Program Files (x86)\Steam\steamapps\common\Total Annihilation\PROTA)
*2025.11.26 - New keys for unit definitions (units/*.fbi) to customise per-unit veterancy
*2025.8.29 - Bugfix for multithreaded version/cheat check
*2025.8.19 - Auto kickout of units under build order is now strictly only for own units (previously allowed kickout anyone's units if cheats enabled)
*2025.8.1 - Set build square preview to yellow if user can build there but it contains a unit that will be kicked out
*2025.7.12
- Allow user to queue build orders underneath their own mobile units; and auto kickout of units that are under a build order
- Mod developers can opt-in to "Improved behaviour of con units".
Modifies what construction units that are guarding factories do after completing each unit: either stay put; cavedog; or scatter.
Set byte at TotalA.exe:0x101f1f to 0x00 to disable the feature (default) or 0x01 to enable the feature.
Note that if one player's 0x101f1f setting doesn't match that of other players, an in-game cheat warning will be triggered.
Once enabled, see ctrl-f2 menu for related user configurable options.
- Fix bug with erroneous game results reported to TAF when using in-game +autoteam
- With fixed position, start positions are assigned in order given by TAF auto balance
so that players are positioned opposite an opponent of similar skill
- Fixed bugs with player placement in 2v2+ games on maps with neutral units
- Push anticheat hashing functions into background threads so as to reduce in-game slowdown experienced by some users
*v2025.5.18
- Improved behaviour of con units when guarding a factory - they stay put after finishing a build
*v2025.4.24
- Fix crash on parsing spawned unit initial commands - its now possible to copy-paste mission scripts from campaign
- Log cheat warnings to tdrawlog.txt for offline analysis
- Fix for non functional perm-los sonar patch (which otherwise requires watcher's com to be in top-left of map to work)
*v2024.12.5
- Fix crash on print-screen (and presumably many other related crashes)
Per-rotation overrides are also available — useful when the visible
pieces should differ by facing. Use any of:
PreviewPiecesS=... facing south (rotation 0)
PreviewPiecesE=... facing east (rotation 1)
PreviewPiecesN=... facing north (rotation 2)
PreviewPiecesW=... facing west (rotation 3)
Lookup order for the active rotation:
1. PreviewPieces<S|E|N|W>= if set (non-empty), uses ONLY that list.
2. PreviewPieces= the default for every rotation.
3. neither set every piece minus the ephemeral filter.
For units whose Create() script auto-rotates the structure toward
the nearest enemy Commander, the preview can be made to face the
same direction — preventing the jarring snap when the build commits
— by adding:
[UNITINFO]
{
...
PreviewFaceOpponent=1;
}
At each preview frame we find the nearest enemy commander to the
build cursor (each enemy player's first unit slot, which is the
commander in all but pathological cases), and snap the line from
the cursor to that commander to the nearest cardinal (S / E / N /
W). PreviewFaceOpponent overrides the Rotations= restriction —
setting this key is the author's explicit signal that the unit's
heading is script-driven, so the preview must face whichever
cardinal the script will pick regardless of what Rotations= permits
the player to cycle through.
To avoid leaking enemy positions through fog-of-war scanning, the
override only applies when the build cursor is within the actual
builddistance of one of the local player's selected, completed
construction units (each builder gets its own threshold from its
FBI builddistance=). Outside that radius the preview falls back to
the player's rotate-build selection — same as if PreviewFaceOpponent
were unset.
Falls back to the player's rotate-build selection in single-player
or any case where no enemy commander can be found (e.g. all enemies
dead).
Mod authors who want the preview to display a completely different
model than the unit's actual Object3D= (e.g. a simplified silhouette,
or the upgraded form of a unit whose 3DO bundles multiple variants)
can name an alternative 3DO with a "PreviewObject3D=" key:
[UNITINFO]
{
...
PreviewObject3D=corarmvp_preview;
}
The value is a 3DO base name (no extension); the file is loaded from
the HPI archive at objects3d/<name>.3DO on first use and cached
for the rest of the game session. All other preview FBI keys
(PreviewPieces, PreviewFaceOpponent, etc.) apply to this overridden
model — piece-name whitelists are matched against the OVERRIDE 3DO's
piece names, not the unit's real one.
If the named 3DO can't be found in the HPI, a warning is logged to
tdrawlog.txt and the preview falls back to the unit's real model;
no other behaviour is affected.
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.