Skip to content

Instantly share code, notes, and snippets.

@st4rk
Created October 27, 2016 19:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save st4rk/dc84e8b23758c07781928fbbd08a5e44 to your computer and use it in GitHub Desktop.
Save st4rk/dc84e8b23758c07781928fbbd08a5e44 to your computer and use it in GitHub Desktop.
/**
* 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