- C++ 75%
- Python 14.7%
- C# 8.5%
- PowerShell 1.3%
- CMake 0.5%
| Code/Commando | ||
| docs | ||
| tests | ||
| tools/fds-replay | ||
| .gitattributes | ||
| .gitignore | ||
| build.ps1 | ||
| INSTALL.html | ||
| LICENSE.md | ||
| PROVENANCE.md | ||
| README.md | ||
| SOURCE-MANIFEST.json | ||
| UPLOADS.md | ||
RenCam server recorder
Standalone FDSReplay.dll for Renegade TT/SSGM 4.8 Update 4, revision 9000. Records the neutral server world for the separate RenCam replay client. It records poses, projectiles, firing, beams, explosions, animated map objects, public/team chat, radio commands, player rosters and killer/victim events. This is a tested prototype tied to TT9000, not a generic TT-version plugin.
Build
Requires Windows, Visual Studio 2022 C++ desktop tools with Windows SDK/CMake, Python 3, official TT 4.8.4 source headers, and your own TT9000 FDS installation. The SDK directory must contain scripts and MemoryManager subdirectories.
.\build.ps1 -Sdk 'C:\SDKs\TT484\source' -Server 'C:\Games\RenegadeFDS\Server'
python tools/fds-replay/test_format.py
.\build\fds-replay\Release\fds_retention_test.exe
Output: build/fds-replay/Release/FDSReplay.dll. The build reads the FDS DLL exports to generate local import libraries; it does not install or launch FDS. Obtain the official SDK separately; it is not bundled. The original SDK license and runtime-linking exception apply to that dependency.
See HTML installation guide, format contract and source map. Game assets, TT binaries, server configuration, credentials, recordings and local logs are not distributed in this repository. The recorder does not modify server.exe on disk. TT9000 in-memory hooks are signature-checked and version-specific. Preserve existing license notices.
Validation and limits
The source snapshot passed isolated two-map capture/death tests and recording, retention and archive regressions. The viewer passed a synthetic 70-player UI fixture and 127-player format tests. This is not certification for 70 live clients. Headless-server animation/effect fidelity is incomplete. Exact player first-person views are not recorded. New kill/roster information requires new recordings. The destructive opt-in test_server.py fixture is only for a disposable server under Run/fds-replay-probe/Server, never a production server.
Visible cloak glow (September 24, v6)
Cloaked units stay fully visible in RenCam, with a cyan shimmer over their normal textures. The overlay follows recorded active cloak state, not the ability to cloak, and disappears after decloaking. Pause and backwards seeking preserve the correct state. It is depth-tested and does not reveal units through walls.
Install the paired v6 FDSReplay.dll and viewer. Only new v6 recordings contain cloak state; v1-v5 files still play but cannot show this indicator reliably. The server samples SmartGameObj::Is_Stealthed() with world state at 10 Hz; type20 contains an object ID and a 0/1 active-cloak value (8-byte payload, 12-byte record header). State is emitted on creation, full snapshots and changes. No extra models or textures are stored. Transition timing has the normal sample interval. The server's active-state threshold is authoritative; this is not a reconstruction of every player's friendly/enemy fade effect.
Validation: real isolated TT9000 FDS enable/disable transitions on two map runs; strict format tests for seek/rewind, snapshots and invalid cloak records; compiled viewer renders normal/cloaked/rewound states and exits successfully. Tests use an automated soldier fixture, not a populated human match or all custom vehicle mods.
Upload helper
Build the optional FTP/SFTP helper with tools/fds-replay/build-upload.ps1. See UPLOADS.md for configuration. Uploads default to disabled.