ricardoofnl
|
57a67d4cec
|
[saco] Implement/match ScrUnk5B; it sets a vehicle move or turn speed vector
|
2026-09-03 02:09:29 +07:00 |
|
ricardoofnl
|
dc4cb7f2bb
|
[saco] Implement/match ScrSetInterior; it calls CPlayerPed::SetInterior with bRefresh TRUE
|
2026-09-03 02:09:29 +07:00 |
|
ricardoofnl
|
9d5a65219b
|
[saco] Implement/match ScrUnk42; it is the set-armour RPC and calls CPlayerPed::SetArmour
|
2026-09-03 02:09:28 +07:00 |
|
ricardoofnl
|
db053b37df
|
[saco] Match CNetPlayer::SetPlayerName; 0x1001DF60 is not CPlayerPool::SetLocalPlayerName
|
2026-09-03 02:09:28 +07:00 |
|
ricardoofnl
|
d1d2e66989
|
[saco] Match FUNC_100A3AE0; the vehicle fallback assigns and breaks instead of returning
|
2026-09-03 02:02:39 +07:00 |
|
ricardoofnl
|
89f12d3d55
|
[saco] Match FUNC_100A3B80; it maps a ped pointer to its actor id
|
2026-09-03 02:02:39 +07:00 |
|
ricardoofnl
|
37237dd629
|
[saco] Match ProcessControlRemotePed; the SEH handler kicks the player whose ped faulted
|
2026-09-03 02:02:39 +07:00 |
|
ricardoofnl
|
c0fab98037
|
[saco] Implement/match CPlayerPed::SetInterior; the refresh flag is a BOOL, not a byte
|
2026-09-03 01:56:59 +07:00 |
|
ricardoofnl
|
3825e14367
|
[saco] Implement/match CPlayerPed::SetSkin; it rets out a streamer assert before swapping the model
|
2026-09-03 01:56:59 +07:00 |
|
ricardoofnl
|
e66e9a3dd4
|
[saco] Match CPlayerPed::SetCameraMode and SetCameraExtZoom as header inlines
|
2026-09-03 01:56:59 +07:00 |
|
ricardoofnl
|
a1f08995ef
|
[saco] Add sub_10075330; the nametag pass was absent, 15 register bytes off an edi/ebp swap
|
2026-09-03 01:52:45 +07:00 |
|
ricardoofnl
|
8578ce1d12
|
Drop the duplicate CPlayerPed::FUNC_100ADC90 declaration left by the merge
|
2026-09-03 01:38:50 +07:00 |
|
ricardoofnl
|
e953f232ee
|
[saco] Match CGame::UpdateCheckpoints at 0x100A1F20; DisableMarker/DisableRaceCheckpoint are written out inline
|
2026-09-03 01:34:00 +07:00 |
|
ricardoofnl
|
467aad0303
|
[saco] Match CGame::SetRaceCheckpointInformation at 0x100A2100; DisableMarker is written out inline
|
2026-09-03 01:34:00 +07:00 |
|
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 |
|