Commit Graph

1502 Commits

Author SHA1 Message Date
ricardoofnl ccd2f53110 [saco] Match CGame::SetCheckpointInformation at 0x100A1DE0; DisableMarker is written out inline 2026-09-03 01:34:00 +07:00
ricardoofnl d855d598a8 [saco] Match CGame::MakeRaceCheckpoint at 0x100A1EA0; DisableRaceCheckpoint is written out inline 2026-09-03 01:34:00 +07:00
ricardoofnl b82d88f0eb [saco] Match CGame::ResetLocalMoney at 0x100A20C0; GetLocalMoney/AddToLocalMoney are written out inline 2026-09-03 01:34:00 +07:00
ricardoofnl e1ab9e9045 [saco] Match CGame::DisplayHud at 0x100A1DB0; ToggleRadar is written out inline 2026-09-03 01:34:00 +07:00
ricardoofnl e6bb260c3c [saco] Match CVehiclePool::FUNC_1001EB90; the search compares a1 on the left, which fixes the cmp operand order 2026-09-03 01:34:00 +07:00
ricardoofnl 778990d4ad [saco] Match FUNC_1001EBE0; the free __stdcall twin of FindGtaIDFromID that takes the pointer directly 2026-09-03 01:34:00 +07:00
ricardoofnl 7b2acc2d2b [saco] Match CVehiclePool::FUNC_1001E9B0; it rescans field_3074 for the highest live slot into field_0 2026-09-03 01:34:00 +07:00
ricardoofnl f0e80175eb [saco] Match CVehiclePool::FindGtaIDFromID; it tail-jumps into GamePool_Vehicle_GetIndex 2026-09-03 01:34:00 +07:00
ricardoofnl 004d377d08 [saco] Match CRemotePlayer::FUNC_100150D0; four VECTORs live at 0x17C-0x1AB inside the old _gap114 2026-09-03 01:34:00 +07:00
ricardoofnl 724bf8fb94 [saco] Match CRemotePlayer::FUNC_100143A0, the FollowPedSA aim marker; the aim trio is a scoped VECTOR sharing the marker slot 2026-09-03 01:34:00 +07:00
ricardoofnl 3f7f4b675b [saco] Match CRemotePlayer::FUNC_100165B0, the state setter that drives the car-jacked handler 2026-09-03 01:34:00 +07:00
ricardoofnl cc4b4e3507 [saco] Match CRemotePlayer::FUNC_10016270, the car-jacked handler; the id compare is 16-bit so FUNC_1001EB90 reads as unsigned 2026-09-03 01:34:00 +07:00
ricardoofnl bd8df36660 [saco] Match CRemotePlayer::FUNC_100145F0 and FUNC_10014620; the sync block carries a vehicle id at 0x103 2026-09-03 01:34:00 +07:00
ricardoofnl 0b83214ce7 [saco] Match CScoreBoard::ClickPlayer; it sends RPC_ClickPlayer then hides the board 2026-09-03 01:33:32 +07:00
ricardoofnl f6679b9f07 [saco] Declare the six-argument CNewPlayerTags::Draw; the nametag label pass at 0x1006CDA0 2026-09-03 01:33:32 +07:00
ricardoofnl e1835e9e99 [saco] Implement/match CNewPlayerTags::FUNC_1006CD80 and FUNC_1006CD90; the nametag pass brackets its batch with these 2026-09-03 01:33:32 +07:00
ricardoofnl 5b5922b77b [saco] Implement/match CUnkClass10::FUNC_10071F90 2026-09-03 01:33:32 +07:00
ricardoofnl 2d5aabb1c4 [saco] Implement/match CUnkClass10::FUNC_10072040 and the seven-rect hover test FUNC_100720A0 2026-09-03 01:33:32 +07:00
ricardoofnl b24c63a267 [saco] Implement/match CUnkClass10::FUNC_10071C20; projects a world position with an identity world matrix 2026-09-03 01:33:32 +07:00
ricardoofnl 4833ed0e12 [saco] Implement/match CUnkClass10::FUNC_100721F0 and FUNC_100723C0 2026-09-03 01:33:32 +07:00
ricardoofnl d69530ba30 [saco] Implement/match CUnkClass10::FUNC_10071FA0; the SAMPAUX3 glyph table 2026-09-03 01:33:32 +07:00
ricardoofnl 58b1506988 [saco] Match the CUnkClass10 constructor; the font calls take the parameter, not the member 2026-09-03 01:33:32 +07:00
ricardoofnl f3dac635fc [saco] Match the field_2C9 and field_2C1 accessors at 0x100ADFA0, 0x100ADFB0 and 0x100ADC90 2026-09-03 01:33:32 +07:00
ricardoofnl d21274463a [saco] Rework CPlayerPed::SetKeys to retail shape; masks the unshifted wKeys and spells both helpers out 2026-09-03 01:33:32 +07:00
ricardoofnl fd568887be [saco] Match CPlayerPed::GetKeys; retail inlines IsInVehicle, IsInJetpackMode and HasAmmoForCurrentWeapon 2026-09-03 01:33:32 +07:00
ricardoofnl 5709b2c351 [saco] Match CPlayerPed::PutDirectlyInVehicle; retail tests the 0xFFFF pool sentinel before MAX_VEHICLES 2026-09-03 01:33:32 +07:00
ricardoofnl 6a287f55f4 [saco] Match CPlayerPed::ExitCurrentVehicle; GetCurrentVehicleID is an inline in the header 2026-09-03 01:33:32 +07:00
ricardoofnl e28d19cd4a [saco] Match CPlayerPed::TogglePlayerControllable; retail writes the IsInVehicle test out inline 2026-09-03 01:33:32 +07:00
ricardoofnl 686bb11b7a [saco] Match CPlayerPed::StartGoggles; retail writes the HasGoggles test out inline 2026-09-03 01:33:32 +07:00
ricardoofnl 4e2dd5ffc5 [saco] Match CPlayerPed::StopGoggles; retail writes the HasGoggles test out inline 2026-09-03 01:33:32 +07:00
ricardoofnl eec72291c4 [saco] Match CPlayerPed::ShowMarker; retail writes the HideMarker body inline 2026-09-03 01:33:32 +07:00
ricardoofnl 1387bbcf00 [saco] Match CPlayerPed::GetVehicleSeatID; retail reads dwAction instead of calling GetActionTrigger 2026-09-03 01:33:32 +07:00
ricardoofnl 7a2a87b68c [saco] Match CPlayerPed::HasAmmoForCurrentWeapon and GetAmmo; retail indexes WeaponSlots inline 2026-09-03 01:33:32 +07:00
ricardoofnl 52e959142d [saco] Match CPlayerPed::ForceTargetRotation; retail stores fRotation2 before fRotation1 2026-09-03 01:33:32 +07:00
ricardoofnl 28ca7ea41c [saco] Fix game/playerped.cpp so it compiles; retail confirms 2-arg SetArmedWeapon and marker opcodes 0x0187/0x018B 2026-09-03 01:33:32 +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