This commit is contained in:
Nanquitas
2018-11-15 13:49:35 +01:00
12 changed files with 72 additions and 29 deletions

View File

@@ -175,9 +175,7 @@ void menuThreadMain(void)
}
else
{
if (HID_PAD & 0xFFF) {
Cheat_ApplyKeyCheats();
}
Cheat_ApplyCheats();
}
// Check for home button on O3DS Mode3 with plugin loaded

View File

@@ -465,10 +465,12 @@ static u32 Cheat_ApplyCheat(const Handle processHandle, const CheatDescription*
case 0xB:
// B Type
// Format: BXXXXXXX 00000000
// Description: Loads offset register.
// Description: Loads offset register with value at given XXXXXXX
if (!skipExecution)
{
cheat_state.offset = (arg0 & 0x0FFFFFFF);
u32 value;
if (!Cheat_Read32(processHandle, arg0 & 0x0FFFFFFF, &value)) return 0;
cheat_state.offset = value;
}
break;
case 0xC:
@@ -1118,16 +1120,12 @@ static u32 Cheat_GetCurrentPID(u64* titleId)
}
}
void Cheat_ApplyKeyCheats(void)
void Cheat_ApplyCheats(void)
{
if (!cheatCount)
{
return;
}
if (!hasKeyActivated)
{
return;
}
u64 titleId = 0;
u32 pid = Cheat_GetCurrentPID(&titleId);
@@ -1149,9 +1147,13 @@ void Cheat_ApplyKeyCheats(void)
u32 keys = HID_PAD & 0xFFF;
for (int i = 0; i < cheatCount; i++)
{
if (cheats[i]->active && cheats[i]->keyActivated && (cheats[i]->keyCombo & keys) == keys)
if (cheats[i]->active && !(cheats[i]->keyActivated))
{
Cheat_MapMemoryAndApplyCheat(pid, cheats[i]);
}
else if (cheats[i]->active && cheats[i]->keyActivated && (cheats[i]->keyCombo & keys) == keys)
{
Cheat_MapMemoryAndApplyCheat(pid, cheats[i]);
}
}
}