Commit Graph
1630 Commits
Author SHA1 Message Date
ricardoofnl e504cb236e [saco] Match the three CDownloadList delete helpers; _snprintf with sizeof(buf) - 1 into a 261-byte frame 2026-09-04 21:31:14 +07:00
ricardoofnl 662d3331b9 [saco] Implement/match ReplaceUnprintableChars; both ends of the range test are unsigned 2026-09-04 20:19:44 +07:00
ricardoofnl ce1f1e9c34 [saco] Add FUNC_100B4BE0 and FUNC_100B4C00; the first GTA callee cleans its own stack, the second does not 2026-09-04 20:18:48 +07:00
ricardoofnl fc68e18131 [saco] Implement/match IsValidModel; the BOOL return normalizes GetModelInfo through neg/sbb/neg 2026-09-04 20:18:31 +07:00
ricardoofnl 371b742e82 [saco] Match FUNC_100B3CD0 and FUNC_100B3D00; the used-slot count is an inlined member on a constant this 2026-09-04 20:17:42 +07:00
ricardoofnl 1e1f0d9896 [saco] Implement/match FUNC_100B64E0 and FUNC_100B6510; both are thiscall thunks into GTA 2026-09-04 19:40:40 +07:00
ricardoofnl db94f0cc06 [saco] Lock the SCOREBOARD_ROW layout with compile-time size and offset probes 2026-09-04 19:32:02 +07:00
ricardoofnl bbc39ba1e9 [saco] Match the six-argument CNewPlayerTags::Draw; the label rect is a copy of the status rect taken before the measure 2026-09-04 19:32:02 +07:00
ricardoofnl 96a893c87a [saco] Match FUNC_100A3BB0; the local-target flag is a byte and its if/else arms are inverted 2026-09-04 19:32:02 +07:00
ricardoofnl d65675f504 [saco] Add CDownloadList::FUNC_1000C770; the real thiscall closes FUNC_1000D320 2026-09-04 19:32:02 +07:00
ricardoofnl 426168a8d3 [saco] Lock the downloader layouts with compile-time assertions; a wrong offset now fails the build 2026-09-04 19:32:01 +07:00
ricardoofnl 12d85813ee [saco] Implement/match ScrUnk85; it calls CGame::SetWantedLevel behind an early return 2026-09-04 19:32:01 +07:00
ricardoofnl 1de918acd0 [saco] Implement/match ScrSetSpawnInfo; the player pool is fetched after the bitstream 2026-09-04 19:32:01 +07:00
ricardoofnl 82997497af [saco] Match CNetGame::Packet_DisconnectionNotification; it stops the radio then disconnects 2026-09-04 19:32:01 +07:00
ricardoofnl 45abe08b78 [saco] Match ResetObjectPool; the nine pool-recreate helpers are complete 2026-09-04 19:32:01 +07:00
ricardoofnl 5cdeb8c5fb [saco] Match ResetVehiclePool and ResetTextDrawPool; their teardowns are destructors 2026-09-04 19:32:01 +07:00
ricardoofnl 468f90ddf1 [saco] Match six CNetGame::Reset*Pool helpers and CActorPool::~CActorPool 2026-09-04 19:32:01 +07:00
ricardoofnl a5f949d91d Match CVehiclePool::FUNC_1001EB30; the widened callee parameter forces the movzx 2026-09-04 19:19:16 +07:00
ricardoofnl 8d07c02c2b Split CVehicle::_gap50 into field_64 and field_65; add FUNC_100B7840 2026-09-04 19:19:16 +07:00
ricardoofnl a713761542 Lock the CVehiclePool layout with compile-time offset and size probes 2026-09-04 19:19:16 +07:00
ricardoofnl 842b8323a4 [saco] Lock the CRemotePlayer offsets this TU depends on with compile-time assertions 2026-09-04 19:15:13 +07:00
ricardoofnl 959f1b88ae [saco] Implement/match sub_100A4170; it zeroes eight bytes then inlines the strcpy 2026-09-04 19:03:01 +07:00
ricardoofnl 6f588d338e [saco] Implement/match GetModelInfo; the bounds test is signed and the relocated table wins before it 2026-09-04 19:03:01 +07:00
ricardoofnl bf76562de5 Match CVehiclePool::FUNC_1001EA80; CVehicle inherits a virtual dtor so the delete goes through slot 0 2026-09-04 19:03:01 +07:00
ricardoofnl 78dbcbac10 Match CVehiclePool::FUNC_1001EB00; the single-slot dispatch takes no bounds check 2026-09-04 19:03:01 +07:00
ricardoofnl 6c7a2dfe3e [saco] Add CDownloadList::FUNC_1000D320; the entry layout is right, the call setup schedules 3 loads early 2026-09-04 19:03:01 +07:00
ricardoofnl 6bc9176965 [saco] Match the three CDownloadList CRC lookups; the index loops compare !=, not < 2026-09-04 19:03:01 +07:00
ricardoofnl 0690d8f4a1 [saco] Match CDownloadManager::AddURLRequest; logurls gates the log through GetIntVariable 2026-09-04 19:03:01 +07:00
ricardoofnl c859373b8e [saco] Match CRemotePlayer::FUNC_10014800; field_10B is unsigned and the vehicle lookup is its own statement 2026-09-04 19:03:01 +07:00
ricardoofnl 29d5a9f6e5 [saco] Split CPlayerPed::_gap2FD into field_2FD and field_329; sizeof and every offset are unchanged 2026-09-03 22:51:40 +07:00
ricardoofnl 055be6d51d [saco] Correct the FUNC_1006ED30 sprintf buffer to 256 and walk a row pointer in the fill loop 2026-09-03 22:25:37 +07:00
ricardoofnl 7622034e0d [saco] Implement/match CPlayerPed::ProcessDrunkCamera; two sequential && chains, not an if/else 2026-09-03 22:25:37 +07:00
ricardoofnl f9693ce115 [saco] Annotate six verified declarations with their .text addresses so address greps find them 2026-09-03 21:59:13 +07:00
ricardoofnl 4c3609e565 Match CVehiclePool::FUNC_1001EDE0; the slot loop bound is inclusive and reloads field_0 each pass 2026-09-03 21:09:55 +07:00
ricardoofnl ce1db2e0fc Match CVehiclePool::FUNC_1001F060; it deletes every slot through FUNC_1001EA80 2026-09-03 21:09:55 +07:00
ricardoofnl 4a65d4777a [saco] Match CNetGame::ResetMapIcons; the expanded guard skips the slot, it does not return 2026-09-03 21:09:55 +07:00
ricardoofnl 27dcb2fdf2 De-inline CNetGame::DisableMapIcon to restore ScrUnk90; hand-expand it at both map-icon call sites instead 2026-09-03 05:32:10 +07:00
ricardoofnl d7a9f31a83 [saco] Match CNetGame::AttemptConnect; it retries the connect every three seconds 2026-09-03 05:27:21 +07:00
ricardoofnl cf7fdd28bb [saco] Match CNetGame::SetMapIcon and ResetMapIcons; DisableMapIcon must be inline 2026-09-03 05:27:21 +07:00
ricardoofnl 0d9fc30d3b [saco] Match CNetGame::ToggleNameTagStatus; it mirrors the flag into nonametagstatus 2026-09-03 05:27:21 +07:00
ricardoofnl 3e1070db78 [saco] Match three CNetGame packet handlers; full, bad password and no response 2026-09-03 05:27:21 +07:00
ricardoofnl b3dab2e6ef [saco] Annotate the six already-matching net/netgame.cpp functions 2026-09-03 05:27:21 +07:00
ricardoofnl 3983f6e174 [saco] Implement/match ScrUnk90; it calls CNetGame::DisableMapIcon 2026-09-03 05:20:50 +07:00
ricardoofnl e39e76f106 [saco] Implement/match ScrUnk86; the oversize-textdraw warning is the fallthrough arm 2026-09-03 05:20:50 +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 67aa31d871 [saco] Match CNetGame::DisableMapIcon; it is out of line at 0x10008FB0 2026-09-03 05:09:24 +07:00
ricardoofnl 4c0934a638 Add the missing raknet/SocketDataEncryptor.h; net/netgame.cpp compiles again 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