ricardoofnl
|
26cbdd6983
|
[saco] Implement/match ScrUnk38; it is CNetGame::SetMapIcon, and the contiguous ascending X/Y/Z slots mean a VECTOR rather than three floats
|
2026-09-05 08:11:28 +07:00 |
|
ricardoofnl
|
f904873daf
|
[saco] Implement/match ScrUnk7B; zeroing the 33-byte buffer with memset gives eight aligned dwords plus a trailing byte, an = {0} initializer does not
|
2026-09-05 08:11:28 +07:00 |
|
ricardoofnl
|
787d1811fd
|
[saco] Implement/match ScrUnk2D; the read order lands X in the second float slot, not the first
|
2026-09-05 08:11:28 +07:00 |
|
ricardoofnl
|
8fa52f694e
|
[saco] Implement/match ScrUnk2B, ScrUnk2E and ScrUnk2F; CObjectPool::FUNC_10012850 takes a 16-bit object id, so the caller pushes the slot dword with no movzx
|
2026-09-05 07:36:48 +07:00 |
|
ricardoofnl
|
f685a0bcd9
|
[saco] Implement/match ScrPutPlayerInVehicle, ScrUnk9F and ScrUnk50; repeating GetVehiclePool() instead of caching it in a local is what keeps the second slot-state test
|
2026-09-05 07:36:48 +07:00 |
|
ricardoofnl
|
13029ebe53
|
[saco] Implement/match ScrDisplayGameText and ScrUnk69; the inline memset of a stack buffer is what forces the 8-byte aligned frame
|
2026-09-05 07:36:47 +07:00 |
|
ricardoofnl
|
6eede0e150
|
[saco] Implement/match ScrSetPlayerPos and ScrUnk0D; the ground-Z fixup is FindGroundZForCoord plus a 1.5f float literal
|
2026-09-05 07:36:47 +07:00 |
|
ricardoofnl
|
2a481d8ff8
|
[saco] Match CMenuPool::GetSlotState; ScrInitMenu reaches the slot array through it, not by direct indexing
|
2026-09-05 07:36:47 +07:00 |
|
ricardoofnl
|
63c79b1162
|
[saco] Implement/match ScrUnk45; its local-player arm inlines a new CLocalPlayer::SetTeam, whose COMDAT is the body at 0x10017C70
|
2026-09-05 07:36:47 +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
|
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
|
aa4345eedb
|
[saco] Implement/match ScrUnkB0; it teleports an actor and reads the position into a VECTOR
|
2026-09-03 04:53:44 +07:00 |
|
ricardoofnl
|
33f11dd9d3
|
[saco] Implement/match ScrUnk87; it is the textdraw hide RPC and calls CTextDrawPool::FUNC_1001E7F0
|
2026-09-03 04:43:47 +07:00 |
|
ricardoofnl
|
c901c3f7e5
|
Write the ScrUnk4B attach-object body; frame is 4 bytes short of 0x1001C6A0
|
2026-09-03 04:38:21 +07:00 |
|
ricardoofnl
|
ae6110aa78
|
[saco] Implement/match ScrUnk56; it is the apply-animation RPC and sets the remote player flag at 0x1C1
|
2026-09-03 04:14:00 +07:00 |
|
ricardoofnl
|
554f00d613
|
Move the ScrUnk21 zero-init below the bitstream; frame size now matches, buffer still 1 byte off
|
2026-09-03 04:00:55 +07:00 |
|
ricardoofnl
|
7404343b7e
|
Write the ScrUnk21 shop-name body; the zero-init lands before the ctor instead of after
|
2026-09-03 03:54:48 +07:00 |
|
ricardoofnl
|
ddca4621ce
|
Write the ScrInitMenu body; still 4 float stack slots short of 0x1001C870
|
2026-09-03 03:36:50 +07:00 |
|
ricardoofnl
|
e2b4621acd
|
[saco] Implement/match ScrUnk0F; it calls CPlayerPed::TogglePlayerControllable
|
2026-09-03 03:36:50 +07:00 |
|
ricardoofnl
|
989405a307
|
[saco] Implement/match ScrUnk16; it is the give-weapon RPC and calls CPlayerPed::GiveWeapon
|
2026-09-03 03:24:34 +07:00 |
|
ricardoofnl
|
3ed37ae8ee
|
[saco] Implement/match ScrUnk43; it is the armed-weapon RPC and calls CPlayerPed::SetArmedWeapon
|
2026-09-03 03:24:34 +07:00 |
|
ricardoofnl
|
d1425c2c8e
|
Write the ScrUnk99 set-skin body; still one lazy push ebx short of 0x10019190
|
2026-09-03 03:04:22 +07:00 |
|
ricardoofnl
|
4edeb5b18c
|
[saco] Implement/match ScrShowMenu and ScrHideMenu; CNetGame::GetMenuPool is an inline, not an out-of-line call
|
2026-09-03 02:57:22 +07:00 |
|
ricardoofnl
|
79f96e1555
|
[saco] Implement/match ScrUnk91; it is the set-ammo RPC and calls CPlayerPed::SetWeaponAmmo
|
2026-09-03 02:57:22 +07:00 |
|
ricardoofnl
|
5160deda40
|
[saco] Implement/match ScrAddGangZone and ScrFlashGangZone; the gang zone pool is fetched after the bitstream
|
2026-09-03 02:46:59 +07:00 |
|
ricardoofnl
|
c44c11548d
|
[saco] Implement/match ScrRemoveGangZone and ScrStopFlashGangZone; both read the zone id inside the pool null check
|
2026-09-03 02:46:59 +07:00 |
|
ricardoofnl
|
f8d9e4dcf2
|
[saco] Implement/match ScrRemovePlayerFromVehicle; it calls CPlayerPed::ExitCurrentVehicle
|
2026-09-03 02:46:59 +07:00 |
|
ricardoofnl
|
eb8859c573
|
[saco] Implement/match ScrUnkA7; it stores a bool into CNetGame::field_232
|
2026-09-03 02:21:32 +07:00 |
|
ricardoofnl
|
ee4a28d11c
|
[saco] Implement/match ScrUnk23; it calls CPlayerPed::FUNC_100ADFB0 with the value it reads
|
2026-09-03 02:21:32 +07:00 |
|
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
|
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
|
58ce55790c
|
[saco] Implement/match ScrSetGravity and ScrSetPlayerFacingAngle
|
2026-08-30 14:26:04 +07:00 |
|
ricardoofnl
|
cab393007c
|
[saco] Implement/match ScrUnk2A
|
2026-08-30 13:31:37 +07:00 |
|
RD42
|
5e46ec5702
|
[saco] Implement/match ScrSetPlayerColor(...)
|
2024-10-17 17:34:21 +08:00 |
|
RD42
|
1ff45278eb
|
[saco] Implement/match ScrSetPlayerHealth(...)
|
2024-10-17 17:25:56 +08:00 |
|
RD42
|
694b02e99a
|
[saco] Implement/match ScrSetPlayerDrunkHandling(...)
|
2024-10-17 17:22:08 +08:00 |
|
RD42
|
40e3ac46c4
|
[saco] Implement/match ScrSetPlayerDrunkVisuals(...)
|
2024-10-17 17:19:25 +08:00 |
|
RD42
|
5dfb077138
|
[saco] Implement/match ScrEnableStuntBonus(...)
|
2024-10-17 17:11:51 +08:00 |
|
RD42
|
5d75ee8a66
|
[saco] Implement/match ScrResetPlayerWeapons(...)
|
2024-10-16 17:39:25 +08:00 |
|
RD42
|
f1f9db0395
|
[saco] Implement/match ScrResetMoney(...)
|
2024-10-16 17:35:57 +08:00 |
|
RD42
|
e243477e2b
|
[saco] Implement/match ScrForceSpawnSelection(...)
|
2024-10-16 17:31:30 +08:00 |
|
RD42
|
9e8ea25c07
|
[saco] Implement/match ScrSetPlayerName(...)
|
2024-10-16 16:24:02 +08:00 |
|
RD42
|
22a2ec670c
|
[saco] Implement/match ScrSetCameraPos(...)
|
2024-10-16 14:13:01 +08:00 |
|