mirror of
https://github.com/hedge-dev/UnleashedRecomp
synced 2026-05-26 15:46:18 -04:00
ec5c51f54c
* Migrate game.cpp to categorised source files Co-Authored-By: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com> Co-Authored-By: Michael <15317421+ActualMandM@users.noreply.github.com> * Move motion blur hook to video_patches.cpp --------- Co-authored-by: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com> Co-authored-by: Michael <15317421+ActualMandM@users.noreply.github.com>
72 lines
1.3 KiB
C++
72 lines
1.3 KiB
C++
#include <cpu/guest_code.h>
|
|
#include "api/SWA.h"
|
|
#include "ui/window.h"
|
|
#include "config.h"
|
|
|
|
bool DisableHintsMidAsmHook()
|
|
{
|
|
return !Config::Hints;
|
|
}
|
|
|
|
bool DisableControlTutorialMidAsmHook()
|
|
{
|
|
return !Config::ControlTutorial;
|
|
}
|
|
|
|
bool DisableEvilControlTutorialMidAsmHook(PPCRegister& r4, PPCRegister& r5)
|
|
{
|
|
if (Config::ControlTutorial)
|
|
return true;
|
|
|
|
// Only allow enemy QTE prompts to get through.
|
|
return r4.u32 == 1 && r5.u32 == 1;
|
|
}
|
|
|
|
void WerehogBattleMusicMidAsmHook(PPCRegister& r11)
|
|
{
|
|
if (Config::WerehogBattleMusic)
|
|
return;
|
|
|
|
// Swap CStateBattle for CStateNormal.
|
|
if (r11.u8 == 4)
|
|
r11.u8 = 3;
|
|
}
|
|
|
|
void SetXButtonHomingMidAsmHook(PPCRegister& r30)
|
|
{
|
|
r30.u32 = Config::XButtonHoming;
|
|
}
|
|
|
|
/* Hook function that gets the game region
|
|
and force result to zero for Japanese
|
|
to display the correct logos. */
|
|
PPC_FUNC_IMPL(__imp__sub_825197C0);
|
|
PPC_FUNC(sub_825197C0)
|
|
{
|
|
if (Config::Language == ELanguage::Japanese)
|
|
{
|
|
ctx.r3.u64 = 0;
|
|
return;
|
|
}
|
|
|
|
__imp__sub_825197C0(ctx, base);
|
|
}
|
|
|
|
// Logo skip
|
|
PPC_FUNC_IMPL(__imp__sub_82547DF0);
|
|
PPC_FUNC(sub_82547DF0)
|
|
{
|
|
if (Config::LogoSkip)
|
|
{
|
|
ctx.r4.u64 = 0;
|
|
ctx.r5.u64 = 0;
|
|
ctx.r6.u64 = 1;
|
|
ctx.r7.u64 = 0;
|
|
sub_825517C8(ctx, base);
|
|
}
|
|
else
|
|
{
|
|
__imp__sub_82547DF0(ctx, base);
|
|
}
|
|
}
|