This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Resident Evil 1 Script VM | |
* opcodes | |
*/ | |
void NOP() { | |
} | |
void IF() { | |
} | |
void ELSE() { | |
} | |
void ENDIF() { | |
} | |
void BIT_TEST() { | |
} | |
void BIT_OP() { | |
} | |
void OBJ06_TEST() { | |
} | |
void OBJ07_TEST() { | |
} | |
void STAGEROOMCAM_SET() { | |
} | |
void CUT_SET() { | |
} | |
void CUT_SET_2() { | |
} | |
void UNK_OP_0x0B() { | |
} | |
void DOOR_SET() { | |
} | |
void ITEM_SET() { | |
} | |
void UNK_OP_0x0F() { | |
} | |
void OBJ10_TEST() { | |
} | |
void OBJ11_TEST() { | |
} | |
void ITEM_0x12() { | |
} | |
void ITEM_0x13() { | |
} | |
void UNK_OP_0x14() { | |
} | |
void UNK_OP_0x15() { | |
} | |
void UNK_OP_0x16() { | |
} | |
void UNK_OP_0x17() { | |
} | |
void ITEM_MODEL_SET() { | |
} | |
void OBJ19_SET() { | |
} | |
void UNK_OP_0x1A() { | |
} | |
void EM_SET() { | |
} | |
void UNK_OP_0x1C() { | |
} | |
void UNK_OP_0x1D() { | |
} | |
void UNK_OP_0x1E() { | |
} | |
void OM_SET() { | |
} | |
void PLAYER_POS_SET() { | |
} | |
void EM_POS_SET() { | |
} | |
void UNK_OP_0x22() { | |
} | |
void UNK_OP_0x23() { | |
} | |
void UNK_OP_0x24() { | |
} | |
void UNK_OP_0x25() { | |
} | |
void UNK_OP_0x26() { | |
} | |
void UNK_OP_0x27() { | |
} | |
void UNK_OP_0x28() { | |
} | |
void UNK_OP_0x29() { | |
} | |
void UNK_OP_0x2A() { | |
} | |
void UNK_OP_0x2B() { | |
} | |
void UNK_OP_0x2C() { | |
} | |
void UNK_OP_0x2D() { | |
} | |
void UNK_OP_0x2E() { | |
} | |
void UNK_OP_0x2F() { | |
} | |
void UNK_OP_0x30() { | |
} | |
void UNK_OP_0x31() { | |
} | |
void UNK_OP_0x32() { | |
} | |
void UNK_OP_0x33() { | |
} | |
void UNK_OP_0x34() { | |
} | |
void UNK_OP_0x35() { | |
} | |
void UNK_OP_0x36() { | |
} | |
void UNK_OP_0x37() { | |
} | |
void UNK_OP_0x38() { | |
} | |
void UNK_OP_0x39() { | |
} | |
void UNK_OP_0x3A() { | |
} | |
void UNK_OP_0x3B() { | |
} | |
void UNK_OP_0x3C() { | |
} | |
void UNK_OP_0x3D() { | |
} | |
void UNK_OP_0x3E() { | |
} | |
void UNK_OP_0x3F() { | |
} | |
void UNK_OP_0x40() { | |
} | |
void UNK_OP_0x41() { | |
} | |
void UNK_OP_0x42() { | |
} | |
void UNK_OP_0x43() { | |
} | |
void UNK_OP_0x44() { | |
} | |
void UNK_OP_0x45() { | |
} | |
void UNK_OP_0x46() { | |
} | |
void UNK_OP_0x47() { | |
} | |
void UNK_OP_0x48() { | |
} | |
void UNK_OP_0x49() { | |
} | |
void UNK_OP_0x4A() { | |
} | |
void UNK_OP_0x4B() { | |
} | |
void UNK_OP_0x4C() { | |
} | |
void UNK_OP_0x4D() { | |
} | |
void UNK_OP_0x4F() { | |
} | |
void UNK_OP_0x50() { | |
} | |
/** | |
* Resident Evil 1 VM opcode table | |
* base: http://rewiki.regengedanken.de/wiki/.RDT_%28Resident_Evil%29 | |
* TODO: Reverse RE1 and look for all opcodes | |
*/ | |
static void (*vm_opcode_table[])() = | |
{ | |
NOP, IF, ELSE, ENDIF, BIT_TEST, BIT_OP, | |
OBJ06_TEST, OBJ07_TEST, STAGEROOMCAM_SET, CUT_SET, CUT_SET_2, UNK_OP_0x0B, | |
DOOR_SET, ITEM_SET, NOP, UNK_OP_0x0F, OBJ10_TEST, OBJ11_TEST, | |
ITEM_0x12, ITEM_0x13, UNK_OP_0x14, UNK_OP_0x15, UNK_OP_0x16, UNK_OP_0x17, | |
ITEM_MODEL_SET, OBJ19_SET, UNK_OP_0x1A, EM_SET, UNK_OP_0x1C, UNK_OP_0x1D, | |
UNK_OP_0x1E, OM_SET, PLAYER_POS_SET, EM_POS_SET, UNK_OP_0x22, UNK_OP_0x23, | |
UNK_OP_0x24, UNK_OP_0x25, UNK_OP_0x26, UNK_OP_0x27, UNK_OP_0x28, UNK_OP_0x29 | |
UNK_OP_0x2A, UNK_OP_0x2B, UNK_OP_0x2C, UNK_OP_0x2D, UNK_OP_0x2F, UNK_OP_0x30, | |
UNK_OP_0x31, UNK_OP_0x32, UNK_OP_0x33, UNK_OP_0x34, UNK_OP_0x35, UNK_OP_0x36, | |
UNK_OP_0x37, UNK_OP_0x38, UNK_OP_0x39, UNK_OP_0x3A, UNK_OP_0x3B, UNK_OP_0x3C, | |
UNK_OP_0x3D, UNK_OP_0x3E, UNK_OP_0x3F, UNK_OP_0x40, UNK_OP_0x41, UNK_OP_0x42, | |
UNK_OP_0x43, UNK_OP_0x44, UNK_OP_0x45, UNK_OP_0x46, UNK_OP_0x47, UNK_OP_0x48, | |
UNK_OP_0x49, UNK_OP_0x4A, UNK_OP_0x4B, UNK_OP_0x4C, UNK_OP_0x4D, UNK_OP_0x4E, | |
UNK_OP_0x4F, UNK_OP_0x50 | |
}; | |
void vm_initalize_room() { | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment