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
|
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
|
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
|
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
|
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
|
6f2ce72101
|
[saco] Implement CWorld__ProcessAttachedEntities_Hook; still 3 bytes short on the pool + i*4 CSE
|
2026-09-03 01:31:09 +07:00 |
|
ricardoofnl
|
7bf0968104
|
[saco] Implement/match ScrUnk4F; it passes a float as the fifth arg of a command declared "fffii"
|
2026-09-03 00:52:29 +07:00 |
|
ricardoofnl
|
4f0518d989
|
[saco] Implement/match ScrUnk6F; the widescreen RPC calls ScriptCommand with opcode 0x02A3 directly
|
2026-09-03 00:52:29 +07:00 |
|
ricardoofnl
|
94a7579d7c
|
[saco] Implement/match ScrUnk40; it reads a PLAYERID and discards it
|
2026-09-03 00:52:29 +07:00 |
|
ricardoofnl
|
5a5a631c6f
|
[saco] Implement/match ScrUnk12; it is the give-money RPC and calls CGame::AddToLocalMoney
|
2026-09-03 00:52:29 +07:00 |
|
ricardoofnl
|
a1e723b785
|
[saco] Match CRemotePlayer::FUNC_10016660; 0x100A0EC0 is CGame::DisableMarker
|
2026-09-03 00:16:26 +07:00 |
|
ricardoofnl
|
b2fc02bce8
|
[saco] Match CRemotePlayer::FUNC_10017570; tail-jumps into ResetAllSyncAttributes
|
2026-09-03 00:16:26 +07:00 |
|
ricardoofnl
|
cc4c93f299
|
[saco] Match CRemotePlayer::FUNC_10017530; 0x100A0210 is a CGame method, retail loads ecx=pGame
|
2026-09-03 00:16:26 +07:00 |
|
ricardoofnl
|
50b2801d61
|
[saco] Match CRemotePlayer::EnterVehicle; retail inlines GetAt as one && with the zero arm last
|
2026-09-03 00:16:26 +07:00 |
|
ricardoofnl
|
d5f06b8359
|
[saco] Make net/remoteplayer.cpp compile; FindGtaIDFromID was genuinely missing and INVALID_VEHICLE_ID is 0xFFFF
|
2026-09-03 00:16:26 +07:00 |
|
ricardoofnl
|
64fe8f6ae0
|
[saco] Implement/match IDirect3DDevice9Hook::Present
|
2026-08-30 22:32:05 +07:00 |
|
ricardoofnl
|
58ce55790c
|
[saco] Implement/match ScrSetGravity and ScrSetPlayerFacingAngle
|
2026-08-30 14:26:04 +07:00 |
|
ricardoofnl
|
cb64661381
|
[saco] Implement/match CGame__Process_Hook
|
2026-08-30 14:10:32 +07:00 |
|
ricardoofnl
|
f50bad1c84
|
[saco] Implement/match CWeapon__FireInstantHit_Hook
|
2026-08-30 14:05:35 +07:00 |
|
ricardoofnl
|
9b134f0932
|
[saco] Implement/match CCollision__BuildCacheOfCameraCollision_Hook
|
2026-08-30 14:05:35 +07:00 |
|