dmnt-cheat: Support nested conditionals in VM

This commit is contained in:
Michael Scire
2019-03-05 01:39:20 -08:00
parent 8c86074da2
commit 853a57e4d4
3 changed files with 52 additions and 11 deletions

View File

@@ -164,6 +164,7 @@ struct StoreRegisterToAddressOpcode {
struct CheatVmOpcode {
CheatVmOpcodeType opcode;
bool begin_conditional_block;
union {
StoreStaticOpcode store_static;
BeginConditionalOpcode begin_cond;
@@ -186,6 +187,7 @@ class DmntCheatVm {
private:
size_t num_opcodes = 0;
size_t instruction_ptr = 0;
size_t condition_depth = 0;
bool decode_success = false;
u32 program[MaximumProgramOpcodeCount] = {0};
u64 registers[NumRegisters] = {0};