0ad/source
vyordan 3808ca0965 Replay: name replay folders after matchID instead of a per-machine index
Replay folders were named YYYY-MM-DD_NNNN, a per-machine sequence
counter. The same multiplayer match got a different folder name per
participant, and unrelated matches could share a name, making it hard
to correlate replays across players (rating aggregation, replay
sharing, bug reports) without parsing commands.txt first.

The engine already generates a matchID once per match, synced to all
participants before the match starts. Replay folders are now named
YYYY-MM-DD_<matchID>, so the same match produces the same folder name
everywhere.

The date comes from a new "startTime" attribute, set once by the host
(StartTime.js, alongside MatchID.js) and synced like matchID, instead
of each machine reading its own local clock. createDateIndexSubdirectory
is untouched (still used by OOS logs and serialization tests); a new
createReplaySubdirectory is added for replays only, following the same
collision-handling pattern (incrementing suffix) as the existing
function. This also means resuming a match (network rejoin, or a
singleplayer game reloaded via StartSavedGame, both of which reuse the
same matchID) saves an additional replay instead of overwriting the
original.

Fixes #8922
2026-08-14 06:57:33 -06:00
..
collada Fix some includes all over the place 2025-08-14 20:15:30 +02:00
dapinterface Move Script* classes to Script namespace 2026-06-20 17:43:00 +02:00
graphics Adds instancing to particles 2026-06-22 23:18:29 +02:00
gui Log instead of crash on compile error in the gui 2026-06-21 20:05:39 +02:00
i18n Move Script* classes to Script namespace 2026-06-20 17:43:00 +02:00
lib Move Script* classes to Script namespace 2026-06-20 17:43:00 +02:00
lobby Move Script* classes to Script namespace 2026-06-20 17:43:00 +02:00
maths Replace M_PI with C++ numbers 2026-06-04 20:29:48 +02:00
network Move Script* classes to Script namespace 2026-06-20 17:43:00 +02:00
pch Compute actual size of GUI objects lazily 2026-04-12 00:17:02 +02:00
ps Replay: name replay folders after matchID instead of a per-machine index 2026-08-14 06:57:33 -06:00
renderer Adds instancing to particles 2026-06-22 23:18:29 +02:00
rlinterface Move Script* classes to Script namespace 2026-06-20 17:43:00 +02:00
scriptinterface Don't crash on compile error of hotloads 2026-06-21 20:05:39 +02:00
simulation2 Move Script* classes to Script namespace 2026-06-20 17:43:00 +02:00
soundmanager Drop use of off_t in soundmanger 2026-06-21 13:27:00 +02:00
third_party Removes dummy GL functions as replaced by core 2026-04-25 17:47:06 +02:00
tools Adds ability to enable smooth framerate in Atlas 2026-06-21 11:30:27 +02:00
CxxTestRunner.tpl Use return instead of exit in testrunner 2025-10-15 18:17:24 +02:00
main.cpp Move Script* classes to Script namespace 2026-06-20 17:43:00 +02:00
test_setup.cpp Move Script* classes to Script namespace 2026-06-20 17:43:00 +02:00