Cheats: Implement C1 command

This commit is contained in:
Connor McLaughlin 2020-12-06 15:50:58 +10:00
parent ea9829946d
commit 09495b1d93
2 changed files with 13 additions and 0 deletions

View file

@ -1014,6 +1014,18 @@ void CheatCode::Apply() const
} }
break; break;
case InstructionCode::DelayActivation: // C1
{
// A value of around 4000 or 5000 will usually give you a good 20-30 second delay before codes are activated.
// Frame number * 0.3 -> (20 * 60) * 10 / 3 => 4000
const u32 comp_value = (System::GetFrameNumber() * 10) / 3;
if (comp_value < inst.value16)
index = count;
else
index++;
}
break;
case InstructionCode::Slide: case InstructionCode::Slide:
{ {
if ((index + 1) >= instructions.size()) if ((index + 1) >= instructions.size())

View file

@ -30,6 +30,7 @@ struct CheatCode
Decrement16 = 0x11, Decrement16 = 0x11,
Increment8 = 0x20, Increment8 = 0x20,
Decrement8 = 0x21, Decrement8 = 0x21,
DelayActivation = 0xC1,
SkipIfNotEqual16 = 0xC0, SkipIfNotEqual16 = 0xC0,
SkipIfButtonsNotEqual = 0xD5, SkipIfButtonsNotEqual = 0xD5,
SkipIfButtonsEqual = 0xD6, SkipIfButtonsEqual = 0xD6,