ricardoofnl
|
a1748ca81f
|
[saco] Implement/match UnkAB; the trailing GetAt only survives DCE when its result gates a return
|
2026-09-05 09:07:34 +07:00 |
|
ricardoofnl
|
88f696841e
|
[saco] Implement/match Unk3D; the dialog id widens with movsx, so the local is a signed short
|
2026-09-05 08:45:38 +07:00 |
|
ricardoofnl
|
ac18ccbe0a
|
[saco] Implement/match Unk24; it builds a 3D text label and the flag init lands between rep stosd and stosb
|
2026-09-05 08:45:38 +07:00 |
|
ricardoofnl
|
1ba74d3c0e
|
[saco] Implement/match Unk3B; it sets a chat bubble and caps the text at 0x90 bytes
|
2026-09-05 08:45:38 +07:00 |
|
ricardoofnl
|
479436d28c
|
[saco] Implement/match UpdateScoresPingsIPs; the row count is an unsigned divide and the loop index is a WORD
|
2026-09-05 08:45:38 +07:00 |
|
ricardoofnl
|
791edd231d
|
[saco] Implement/match Unk22; MSVC parks the 2-byte locals below the 4-byte ones under the BitStream
|
2026-09-05 08:45:38 +07:00 |
|
ricardoofnl
|
dcf5887c29
|
[saco] Implement/match EditObject; the WORD init widens to a dword store over the dead padding
|
2026-09-05 08:45:38 +07:00 |
|
ricardoofnl
|
8bac5c0eb0
|
[saco] Add FUNC_10011990; the inlined Write copies each by-value parameter into a temp slot first
|
2026-09-05 08:45:38 +07:00 |
|
ricardoofnl
|
77f69b96f2
|
[saco] Implement/match EditAttachedObject; the zero-init of the read target sits after the BitStream ctor
|
2026-09-05 08:45:38 +07:00 |
|
ricardoofnl
|
ab2512f919
|
[saco] Implement/match SelectObject; it cancels all three editor globals, the last one without a state check
|
2026-09-05 08:45:38 +07:00 |
|
ricardoofnl
|
2eedb90411
|
[saco] Implement/match Unk1C; the +0x80 guard needs mov/test while the +0 one folds into a cmp
|
2026-09-05 08:45:38 +07:00 |
|
ricardoofnl
|
4fca89b828
|
[saco] Add FUNC_1000EBA0; the second member call reloads the global because the first one can move it
|
2026-09-05 08:45:38 +07:00 |
|
ricardoofnl
|
37db7dc3b2
|
[saco] Add FUNC_1000EC30; caching the global inside the guard keeps it in eax and copies to ecx
|
2026-09-05 08:45:38 +07:00 |
|
ricardoofnl
|
441f89429a
|
[saco] Implement/match UnkAA; the Read(bool&) specialization cannot throw so the frame carries no EH state
|
2026-09-04 22:28:01 +07:00 |
|
ricardoofnl
|
1a2d8d76ad
|
[saco] Match SvrStats; it reads straight into the global RakServerStats
|
2026-09-03 05:09:24 +07:00 |
|
ricardoofnl
|
f1ca3e849c
|
[saco] Match RequestClass; the 46-byte SPAWN_INFO comes off the stream whole
|
2026-09-03 05:09:24 +07:00 |
|
ricardoofnl
|
653054feaf
|
[saco] Match SetRaceCheckpoint; the size read reuses the fX temp
|
2026-09-03 05:09:23 +07:00 |
|
ricardoofnl
|
811f4f61bf
|
[saco] Match SetCheckpoint; the single radius fills all three extent components
|
2026-09-03 05:09:23 +07:00 |
|
ricardoofnl
|
9f8466f0bb
|
[saco] Match Chat; local text goes to the chat window, remote text to the player
|
2026-09-03 05:09:23 +07:00 |
|
ricardoofnl
|
b62d35175c
|
[saco] Match ConnectionRejected; four reject reasons then a 500ms Disconnect
|
2026-09-03 05:09:23 +07:00 |
|
ricardoofnl
|
dee26ca679
|
[saco] Match ClientMessage; the 256-byte buffer forces the 8-byte stack realign
|
2026-09-03 05:09:23 +07:00 |
|
ricardoofnl
|
442c3fcf57
|
[saco] Add matching Checksum and LoadModelsThread; both were missing from the TU
|
2026-09-03 05:09:23 +07:00 |
|
ricardoofnl
|
0ee9dcba50
|
Remove the duplicate declarations and leftover stubs left by the merge
|
2026-09-03 02:40:51 +07:00 |
|
ricardoofnl
|
1cb6783ace
|
[saco] Match ExitVehicle; it only acts inside a 200-unit radius
|
2026-09-03 02:32:57 +07:00 |
|
ricardoofnl
|
5bf5327765
|
[saco] Match WorldPlayerDeath; CPlayerPool::GetAt inlines into the handler
|
2026-09-03 02:32:57 +07:00 |
|
ricardoofnl
|
db9020f727
|
[saco] Annotate RegisterRPCs and UnRegisterRPCs; both already match retail
|
2026-09-03 01:32:43 +07:00 |
|
ricardoofnl
|
85da1dd8ee
|
[saco] Match DamageVehicle; panel/door/light then tyre damage on the pooled vehicle
|
2026-09-03 01:32:43 +07:00 |
|
ricardoofnl
|
3b68777e5a
|
[saco] Match RequestSpawn; outcome 2 or a pending request re-enters spawn
|
2026-09-03 01:32:43 +07:00 |
|
ricardoofnl
|
00d883b2d4
|
[saco] Annotate the verified net/netrpc.cpp handlers
|
2026-09-03 01:32:43 +07:00 |
|
ricardoofnl
|
e988b6c8e8
|
[saco] Match ScmEvent; five reads forwarded to the vehicle event dispatcher
|
2026-09-03 01:32:43 +07:00 |
|
ricardoofnl
|
c5d8ac9dba
|
[saco] Match EnterVehicle; the passenger byte is widened into a BOOL before the call
|
2026-09-03 01:32:43 +07:00 |
|
ricardoofnl
|
f9453b7236
|
[saco] Match ExitVehicle; it only acts inside a 200-unit radius
|
2026-09-03 01:32:43 +07:00 |
|
ricardoofnl
|
7cc98ddfda
|
[saco] Match UnkAC; it removes an actor and needs CNetGame::GetActorPool
|
2026-09-03 01:32:17 +07:00 |
|
ricardoofnl
|
7121aed4c9
|
[saco] Match WorldPlayerRemove; it re-fetches the pool for the GetAt lookup
|
2026-09-03 01:32:17 +07:00 |
|
ricardoofnl
|
8a582bc5e0
|
[saco] Match WorldPlayerDeath; CPlayerPool::GetAt inlines into the handler
|
2026-09-03 01:32:17 +07:00 |
|
ricardoofnl
|
b403f3c79e
|
[saco] Match ServerQuit; the player pool is fetched before the two reads
|
2026-09-03 01:31:09 +07:00 |
|
ricardoofnl
|
71a9be0c83
|
[saco] Match Pickup; the payload is a 20-byte PICKUP read straight off the stream
|
2026-09-03 01:31:09 +07:00 |
|
ricardoofnl
|
8ad6483554
|
[saco] Match DestroyPickup
|
2026-09-03 01:31:09 +07:00 |
|
ricardoofnl
|
a0eaa4f2f7
|
[saco] Match Unk3A; it deletes a 3D text label, bailing early when the pool is absent
|
2026-09-03 01:31:09 +07:00 |
|
ricardoofnl
|
6dc168b664
|
[saco] Match Unk3C; it zeroes the DWORD after constructing the BitStream
|
2026-09-03 01:31:09 +07:00 |
|
ricardoofnl
|
4ed43428b9
|
[saco] Match SetTimeEx; hour and minute are cached in the settings block after CGame::SetWorldTime
|
2026-09-03 01:31:09 +07:00 |
|
ricardoofnl
|
f6476121ef
|
[saco] Match Weather; it mirrors the byte into the settings block before CGame::SetWorldWeather
|
2026-09-03 01:31:09 +07:00 |
|
ricardoofnl
|
f05bdb8647
|
[saco] Match WorldTime; the hour goes through an inline CNetGame::SetWorldTime
|
2026-09-03 01:31:09 +07:00 |
|
ricardoofnl
|
222d5d1bc5
|
[saco] Match DestroyWeaponPickup; the pickup pool entry point takes a WORD
|
2026-09-03 01:31:09 +07:00 |
|
ricardoofnl
|
ad88643db4
|
[saco] Implement/match DisableCheckpoint, DisableRaceCheckpoint and GameModeRestart
|
2026-08-30 13:28:58 +07:00 |
|
RD42
|
15ab1d056a
|
[saco] Fix compilation errors
|
2024-10-28 00:00:41 +08:00 |
|
RD42
|
d9976bb678
|
[bot] Implement WorldVehicleAdd(...)
|
2024-06-26 23:21:06 +08:00 |
|
RD42
|
a94fbc924b
|
[bot] Implement WorldVehicleRemove(...)
|
2024-06-26 23:12:06 +08:00 |
|
RD42
|
5ce9095241
|
[bot] Implement WorldPlayerRemove(...)
|
2024-06-08 21:44:02 +08:00 |
|
RD42
|
0902c67707
|
[bot] Implement WorldPlayerDeath(...)
|
2024-06-08 21:42:42 +08:00 |
|