2025-09-03 10:26 CEST

spring: develop eeb961d9 Diff ] Back to Repository ]
Author Committer Branch Timestamp Parent
imbaczek imbaczek develop 2008-09-23 20:58:39 develop 55cdf180
Changeset improvements to SyncDebugger, added ASSERT_SYNCED_PRIMITIVE and ASSERT_SYNCED_FLOAT3 macros

ASSERT_SYNCED_PRIMITIVE and ASSERT_SYNCED_FLOAT3 work by forcing an expression to be considered in checksum calculations. When compiling without SYNCDEBUG, these expand to nothing; otherwise, they expand to a local temporary variable and are immediately destroyed, after checksumming. Coupled with sync debugger's ability of providing a backtrace in every place the checksum differs between clients, this should be a helpful addition.

Currently those macros are only executed when issuing /desync in a debug build and in GroundMoveType.cpp (which seems to be the source of mantis 0001033.)

Also improved sync debugger checksumming (isn't that delicate when handing it multiple repeating values) and reduced stacktrace clipping to 3 frames on 32bit OSes (4 frames was too much, it clipped copy ctors.)

git-svn-id: https://spring.clan-sy.com/svn/spring/trunk@6449 37977431-3df6-0310-b722-df95706aa16b
mod - rts/Game/Game.cpp Diff ] File ]
mod - rts/System/Sync/Logger.cpp Diff ] File ]
mod - rts/System/Sync/SyncDebugger.cpp Diff ] File ]
mod - rts/System/Sync/SyncDebugger.h Diff ] File ]
mod - rts/System/Sync/SyncedFloat3.h Diff ] File ]
mod - rts/System/Sync/SyncedPrimitive.h Diff ] File ]