Skip to content

Commit ae34be5

Browse files
committed
refactor: readable-ish, windows FUPET and VPSU
1 parent a0adbd4 commit ae34be5

File tree

1 file changed

+34
-35
lines changed

1 file changed

+34
-35
lines changed

src/Features/RNGManip.cpp

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -661,64 +661,63 @@ ON_INIT {
661661
g_PhysicsHook_impactSoundTime = (float *)(m_bPaused - 4);
662662

663663
EnsureAvailableSlotsForGender = (decltype(EnsureAvailableSlotsForGender))Memory::Scan(MODULE("soundemittersystem"), "55 8B EC 8B 4D 0C 33 C0 83 EC 20 3B C8 0F 8E ? ? ? ? 53 56 33 DB 33 F6 89 5D E0 89 45 E4 89 45 E8 89 75 EC 89 45 F0");
664-
g_EnsureAvailableSlotsForGender_Hook.SetFunc(EnsureAvailableSlotsForGender);
664+
FrameUpdatePostEntityThink = (decltype(FrameUpdatePostEntityThink))Memory::Scan(server->Name(), "55 8B EC 51 53 56 8B F1 8B 0D ? ? ? ? FF 15 ? ? ? ? 8A D8 84 DB");
665+
// simulate_psi
666+
// do_simulation_controller
667+
// UpdateVPhysicsPosition
668+
// UpdatePusherPhysicsEndOfTick
669+
// FinishPush
670+
// PhysicsStep
671+
// PhysRelinkChildren
672+
VPSU = (decltype(VPSU))Memory::Scan(server->Name(), "53 8B DC 83 EC 08 83 E4 F0 83 C4 04 55 8B 6B ? 89 6C 24 ? 8B EC A1 ? ? ? ? 81 EC B8 01 00 00"); // VPhysicsShadowUpdate
673+
// VPhysUpdate
674+
// EntSetParent
675+
// PhysicsSimulate
676+
// PostThinkVPhys
677+
// Friction
678+
// WalkMove
679+
// AirAccelerate
665680
#else
666681
// TODO: mod support
667682
uintptr_t PhysFrame = Memory::Scan(server->Name(), "A1 ? ? ? ? 85 C0 0F 84 ? ? ? ? 80 3D ? ? ? ? 00 0F 85 ? ? ? ? 55 89 E5 57 56 53 83 EC 3C 0F 2F 05 ? ? ? ?");
668683
uintptr_t m_bPaused = *(uint32_t *)(PhysFrame + 15);
669684
g_PhysicsHook_impactSoundTime = (float *)(m_bPaused - 4);
670685

671-
EnsureAvailableSlotsForGender = (decltype(EnsureAvailableSlotsForGender))Memory::Scan(MODULE("soundemittersystem"), "55 57 56 53 83 EC 2C 8B 74 24 48 8B 5C 24 44 8B 7C 24 4C 85 F6 0F 8E ? ? ? ? C7 44 24 0C 00 00 00 00 31 D2 31 C9 31 C0");
686+
EnsureAvailableSlotsForGender = (decltype(EnsureAvailableSlotsForGender)) Memory::Scan(MODULE("soundemittersystem"), "55 57 56 53 83 EC 2C 8B 74 24 48 8B 5C 24 44 8B 7C 24 4C 85 F6 0F 8E ? ? ? ? C7 44 24 0C 00 00 00 00 31 D2 31 C9 31 C0");
687+
FrameUpdatePostEntityThink = (decltype(FrameUpdatePostEntityThink)) Memory::Scan(server->Name(), "55 89 E5 57 56 53 83 EC 0C 8B 1D ? ? ? ? 8B 75 08 85 DB 0F 85 ? ? ? ? A1 ? ? ? ? 66 0F EF C0 66 0F 7E C7 F3 0F 10 48 10 0F 2F C8");
688+
simulate_psi = (decltype(simulate_psi)) Memory::Scan(MODULE("vphysics"), "55 89 E5 57 56 53 81 EC 24 04 00 00 8B 5D 08 8B 43 28 8B 10 6A 01 50 FF 52 04 83 C4 10 66 83 BB DA 00 00 00 00");
689+
do_sim_cont = (decltype(do_sim_cont)) Memory::Scan(MODULE("vphysics"), "55 57 56 53 81 EC EC 00 00 00 8B B4 24 ? ? ? ?");
690+
UpdateVPhysPos = (decltype(UpdateVPhysPos)) Memory::Scan(server->Name(), "8B 44 24 ? 8B 54 24 ? 8B 4C 24 ? F3 0F 10 44 24 ? 83 B8 ? ? ? ? 00");
691+
UpdatePusherPhysEOT = (decltype(UpdatePusherPhysEOT)) Memory::Scan(server->Name(), "57 56 53 8B 5C 24 ? 8B 73 ? 85 F6 0F 8E ? ? ? ?");
692+
FinishPush = (decltype(FinishPush)) Memory::Scan(server->Name(), "55 57 56 53 83 EC 1C 8B 6C 24 ? 0F B6 44 24 ?");
693+
PhysicsStep = (decltype(PhysicsStep)) Memory::Scan(server->Name(), "55 57 56 53 81 EC 8C 00 00 00 8B 9C 24 ? ? ? ? 80 7B ? 00");
694+
PhysRelinkChildren = (decltype(PhysRelinkChildren)) Memory::Scan(server->Name(), "55 57 56 53 83 EC 0C 8B 0D ? ? ? ? 8B 44 24 ? 8B 80 ? ? ? ? 83 F8 FF 0F 84 ? ? ? ? 0F B7 D0 C1 E8 10");
695+
VPSU = (decltype(VPSU)) Memory::Scan(server->Name(), "55 89 E5 57 56 53 81 EC 9C 01 00 00 A1 ? ? ? ?");
696+
VPhysUpdate = (decltype(VPhysUpdate)) Memory::Scan(server->Name(), "55 57 56 53 83 EC 4C 8B 6C 24 ? 8B 5C 24 ?");
697+
EntSetParent = (decltype(EntSetParent)) Memory::Scan(server->Name(), "55 57 56 53 83 EC 1C 8B 44 24 ? 8B 6C 24 ? 8B 74 24 ? 8B 4C 24 ?");
698+
PhysicsSimulate = (decltype(PhysicsSimulate)) Memory::Scan(server->Name(), "55 89 E5 57 56 53 83 EC 4C A1 ? ? ? ? 8B 7D ? 89 45 B0");
699+
PostThinkVPhys = (decltype(PostThinkVPhys)) Memory::Scan(server->Name(), "55 57 56 53 81 EC 9C 00 00 00 8B 9C 24 ? ? ? ? 8B 83 ? ? ? ?");
700+
Friction = (decltype(Friction)) Memory::Scan(server->Name(), "55 66 0F EF F6 57 56 53 81 EC FC 00 00 00");
701+
WalkMove = (decltype(WalkMove)) Memory::Scan(server->Name(), "55 57 56 53 81 EC 2C 01 00 00 8D 44 24 ?");
702+
AirAccelerate = (decltype(AirAccelerate)) Memory::Scan(server->Name(), "56 53 83 EC 14 8B 5C 24 ? 8B 74 24 ? 8B 43 ? 80 B8 ? ? ? ? 00");
703+
#endif
672704
g_EnsureAvailableSlotsForGender_Hook.SetFunc(EnsureAvailableSlotsForGender);
673-
674-
FrameUpdatePostEntityThink = (decltype(FrameUpdatePostEntityThink))Memory::Scan(server->Name(), "55 89 E5 57 56 53 83 EC 0C 8B 1D ? ? ? ? 8B 75 08 85 DB 0F 85 ? ? ? ? A1 ? ? ? ? 66 0F EF C0 66 0F 7E C7 F3 0F 10 48 10 0F 2F C8");
675705
g_FrameUpdatePostEntityThink_Hook.SetFunc(FrameUpdatePostEntityThink);
676-
677-
simulate_psi = (decltype(simulate_psi))Memory::Scan(MODULE("vphysics"), "55 89 E5 57 56 53 81 EC 24 04 00 00 8B 5D 08 8B 43 28 8B 10 6A 01 50 FF 52 04 83 C4 10 66 83 BB DA 00 00 00 00");
678706
g_simulate_psi_Hook.SetFunc(simulate_psi);
679-
680-
do_sim_cont = (decltype(do_sim_cont))Memory::Scan(MODULE("vphysics"), "55 57 56 53 81 EC EC 00 00 00 8B B4 24 ? ? ? ?");
681707
g_do_sim_cont_Hook.SetFunc(do_sim_cont);
682-
683-
UpdateVPhysPos = (decltype(UpdateVPhysPos))Memory::Scan(server->Name(), "8B 44 24 ? 8B 54 24 ? 8B 4C 24 ? F3 0F 10 44 24 ? 83 B8 ? ? ? ? 00");
684708
g_UpdateVPhysPos_Hook.SetFunc(UpdateVPhysPos);
685-
686-
UpdatePusherPhysEOT = (decltype(UpdatePusherPhysEOT))Memory::Scan(server->Name(), "57 56 53 8B 5C 24 ? 8B 73 ? 85 F6 0F 8E ? ? ? ?");
687709
g_UpdatePusherPhysEOT_Hook.SetFunc(UpdatePusherPhysEOT);
688-
689-
FinishPush = (decltype(FinishPush))Memory::Scan(server->Name(), "55 57 56 53 83 EC 1C 8B 6C 24 ? 0F B6 44 24 ?");
690710
g_FinishPush_Hook.SetFunc(FinishPush);
691-
692-
PhysicsStep = (decltype(PhysicsStep))Memory::Scan(server->Name(), "55 57 56 53 81 EC 8C 00 00 00 8B 9C 24 ? ? ? ? 80 7B ? 00");
693711
g_PhysicsStep_Hook.SetFunc(PhysicsStep);
694-
695-
PhysRelinkChildren = (decltype(PhysRelinkChildren))Memory::Scan(server->Name(), "55 57 56 53 83 EC 0C 8B 0D ? ? ? ? 8B 44 24 ? 8B 80 ? ? ? ? 83 F8 FF 0F 84 ? ? ? ? 0F B7 D0 C1 E8 10");
696712
g_PhysRelinkChildren_Hook.SetFunc(PhysRelinkChildren);
697-
698-
VPSU = (decltype(VPSU))Memory::Scan(server->Name(), "55 89 E5 57 56 53 81 EC 9C 01 00 00 A1 ? ? ? ?");
699713
g_VPSU_Hook.SetFunc(VPSU);
700-
701-
VPhysUpdate = (decltype(VPhysUpdate))Memory::Scan(server->Name(), "55 57 56 53 83 EC 4C 8B 6C 24 ? 8B 5C 24 ?");
702714
g_VPhysUpdate_Hook.SetFunc(VPhysUpdate);
703-
704-
EntSetParent = (decltype(EntSetParent))Memory::Scan(server->Name(), "55 57 56 53 83 EC 1C 8B 44 24 ? 8B 6C 24 ? 8B 74 24 ? 8B 4C 24 ?");
705715
g_EntSetParent_Hook.SetFunc(EntSetParent);
706-
707-
PhysicsSimulate = (decltype(PhysicsSimulate))Memory::Scan(server->Name(), "55 89 E5 57 56 53 83 EC 4C A1 ? ? ? ? 8B 7D ? 89 45 B0");
708716
g_PhysicsSimulate_Hook.SetFunc(PhysicsSimulate);
709-
710-
PostThinkVPhys = (decltype(PostThinkVPhys))Memory::Scan(server->Name(), "55 57 56 53 81 EC 9C 00 00 00 8B 9C 24 ? ? ? ? 8B 83 ? ? ? ?");
711717
g_PostThinkVPhys_Hook.SetFunc(PostThinkVPhys);
712-
713-
Friction = (decltype(Friction))Memory::Scan(server->Name(), "55 66 0F EF F6 57 56 53 81 EC FC 00 00 00");
714718
g_Friction_Hook.SetFunc(Friction);
715-
716-
WalkMove = (decltype(WalkMove))Memory::Scan(server->Name(), "55 57 56 53 81 EC 2C 01 00 00 8D 44 24 ?");
717719
g_WalkMove_Hook.SetFunc(WalkMove);
718-
719-
AirAccelerate = (decltype(AirAccelerate))Memory::Scan(server->Name(), "56 53 83 EC 14 8B 5C 24 ? 8B 74 24 ? 8B 43 ? 80 B8 ? ? ? ? 00");
720720
g_AirAccelerate_Hook.SetFunc(AirAccelerate);
721-
#endif
722721
}
723722

724723
ON_EVENT(SESSION_END) {

0 commit comments

Comments
 (0)