DRAGONS: Added place holder functions for screenshake and dragon on hill scene

This commit is contained in:
Eric Fry 2019-08-26 08:39:18 +10:00 committed by Eugene Sandulenko
parent ec14cbe464
commit a8f3cbe911
2 changed files with 29 additions and 0 deletions

View File

@ -75,6 +75,7 @@ void SpecialOpcodes::initOpcodes() {
OPCODE(0xb, clearSceneUpdateFunction);
OPCODE(0xc, spcUnkC);
OPCODE(0x11, spc11ShakeScreen);
OPCODE(0x12, spcHandleInventionBookTransition);
OPCODE(0x13, spcUnk13InventionBookCloseRelated);
OPCODE(0x14, spcClearEngineFlag8);
@ -101,6 +102,8 @@ void SpecialOpcodes::initOpcodes() {
OPCODE(0x3f, clearSceneUpdateFunction);
OPCODE(0x40, spcZigmondFraudSceneLogic1);
OPCODE(0x46, spcBlackDragonOnHillSceneLogic);
OPCODE(0x49, spcLoadScene1);
OPCODE(0x4e, spcUnk4e);
@ -172,6 +175,25 @@ void SpecialOpcodes::spcUnkC() {
//TODO fade_related_calls_with_1f();
}
void SpecialOpcodes::spc11ShakeScreen() {
//TODO
// iVar18 = 1;
// local_10a0 = DAT_8001170c;
// local_109c = DAT_80011710;
// local_1098 = DAT_80011714;
// local_1094 = uint32_t_80011718;
// local_1090 = DAT_8001171c;
// local_108c = DAT_80011720;
// local_1088 = DAT_80011724;
// local_1084 = DAT_80011728;
// screenShakeOffset = (short)local_10a0;
// while (screenShakeOffset != 0) {
// ContinueGame?();
// screenShakeOffset = *(short *)((int)&local_10a0 + ((iVar18 << 0x10) >> 0xf));
// iVar18 = iVar18 + 1;
// }
}
void SpecialOpcodes::spcHandleInventionBookTransition() {
int16 invType =_vm->_inventory->getType();
if (invType == 1) {
@ -301,6 +323,10 @@ void SpecialOpcodes::spcZigmondFraudSceneLogic1() {
setupTableBasedSceneUpdateFunction(300,1,0x708);
}
void SpecialOpcodes::spcBlackDragonOnHillSceneLogic() {
//TODO
}
void SpecialOpcodes::spcUnk4e() {
panCamera(1);
}

View File

@ -75,6 +75,7 @@ protected:
void spcUnkC();
void spc11ShakeScreen(); //0x11
void spcHandleInventionBookTransition(); // 0x12
void spcUnk13InventionBookCloseRelated(); //0x13
void spcClearEngineFlag8(); // 0x14
@ -100,6 +101,8 @@ protected:
void spcZigmondFraudSceneLogic1(); // 0x40
void spcBlackDragonOnHillSceneLogic(); //0x46
void spcLoadScene1(); // 0x49
void spcUnk4e();