88PPC_FUNC_IMPL (__imp__sub_82195500);
99PPC_FUNC (sub_82195500)
1010{
11- auto * pPlayer = (Sonicteam::Player::Object*)(base + ctx.r3 .u32 );
12- auto * pDocMarathonImp = pPlayer->GetDoc <Sonicteam::DocMarathonImp>();
13- auto * pGame = pDocMarathonImp->GetDocMode <Sonicteam::GameMode>()->GetGame ();
14- auto & spManager = pDocMarathonImp->m_vspInputManager [pPlayer->m_ControllerIndex ];
11+ auto pPlayer = (Sonicteam::Player::Object*)(base + ctx.r3 .u32 );
12+ auto pInputManager = pPlayer->GetInputManager ();
1513
16- if (pPlayer->m_IsPlayer && spManager. get () )
14+ if (pPlayer->m_IsPlayer && pInputManager )
1715 {
1816 if (Config::EnableDebugMode)
1917 {
@@ -22,20 +20,27 @@ PPC_FUNC(sub_82195500)
2220 case 1 :
2321 {
2422 // Toggle debug posture on Select press.
25- if (pPlayer->m_SetupModuleIndexPrefix == 1 && spManager->m_PadState .IsPressed (Sonicteam::SoX::Input::KeyState_Select))
23+ if (pPlayer->m_SetupModuleIndexPrefix == 1 && pInputManager->m_PadState .IsPressed (Sonicteam::SoX::Input::KeyState_Select))
24+ {
2625 pPlayer->m_SetupModuleIndexPostfix = 2 ;
2726
27+ LOGFN (" Debug Mode: Enabled" );
28+ }
29+
2830 break ;
2931 }
3032
3133 case 2 :
3234 {
3335 // Toggle camera volume collision on B press.
34- if (spManager ->m_PadState .IsPressed (Sonicteam::SoX::Input::KeyState_B))
36+ if (pInputManager ->m_PadState .IsPressed (Sonicteam::SoX::Input::KeyState_B))
3537 {
38+ auto pGame = App::s_pApp->m_pDoc ->GetDocMode <Sonicteam::GameMode>()->GetGame ();
3639 auto pZock = pPlayer->GetPlugin <Sonicteam::Player::Zock>(" zock" );
3740 auto collisionFilterInfo = pZock->m_spPhantomA ->m_pRigidBody ->m_collidable .m_broadPhaseHandle .m_collisionFilterInfo == 6 ? 0x383 : 6 ;
3841
42+ LOGFN (" Camera Volumes: {}" , collisionFilterInfo != 6 ? " Enabled" : " Disabled" );
43+
3944 pZock->m_spPhantomA ->m_pRigidBody ->m_collidable .m_broadPhaseHandle .m_collisionFilterInfo = collisionFilterInfo;
4045 pGame->GetPhysicsWorld <Sonicteam::SoX::Physics::Havok::WorldHavok>()->m_pWorld ->updateCollisionFilterOnWorld (1 , 1 );
4146 }
@@ -46,17 +51,19 @@ PPC_FUNC(sub_82195500)
4651 }
4752
4853 // Toggle demo camera on right stick press.
49- if (Config::RestoreDemoCameraMode && spManager ->m_PadState .IsPressed (Sonicteam::SoX::Input::KeyState_RightStick))
54+ if (Config::RestoreDemoCameraMode && pInputManager ->m_PadState .IsPressed (Sonicteam::SoX::Input::KeyState_RightStick))
5055 {
5156 auto pCameraman = static_cast <Sonicteam::Camera::Cameraman*>(pPlayer->m_pCameraman .get ());
5257
5358 if (auto pCameraMode = pCameraman->m_spCameraModeManager ->m_spCameraMode .get ())
5459 {
5560 guest_stack_var<Sonicteam::Message::MsgCameramanChangeMode> msgCameramanChangeMode;
56- msgCameramanChangeMode->ControllerIndex = spManager ->m_ControllerIndex ;
61+ msgCameramanChangeMode->ControllerIndex = pInputManager ->m_ControllerIndex ;
5762 msgCameramanChangeMode->TargetActorID = pPlayer->m_ActorID ;
5863 msgCameramanChangeMode->IsDemoCamera = pCameraMode->m_pVftable .ptr != 0x82002004 ;
5964
65+ LOGFN (" Demo Camera: {}" , msgCameramanChangeMode->IsDemoCamera ? " Enabled" : " Disabled" );
66+
6067 pCameraman->ProcessMessage (msgCameramanChangeMode.get ());
6168 }
6269 }
@@ -160,7 +167,13 @@ bool PlayerDebugMode_RemapDebugExitButton(PPCRegister& r30)
160167{
161168 auto pPadState = (Sonicteam::SoX::Input::PadState*)g_memory.Translate (r30.u32 );
162169
163- return pPadState->IsPressed (Sonicteam::SoX::Input::KeyState_Select);
170+ if (pPadState->IsPressed (Sonicteam::SoX::Input::KeyState_Select))
171+ {
172+ LOGFN (" Debug Mode: Disabled" );
173+ return true ;
174+ }
175+
176+ return false ;
164177}
165178
166179bool AntigravityRetainsMomentum ()
0 commit comments