diff options
-rw-r--r-- | engines/teenagent/callbacks.cpp | 38 | ||||
-rw-r--r-- | engines/teenagent/resources.cpp | 2 | ||||
-rw-r--r-- | engines/teenagent/resources.h | 2 |
3 files changed, 3 insertions, 39 deletions
diff --git a/engines/teenagent/callbacks.cpp b/engines/teenagent/callbacks.cpp index cc1f5091f3..9261e26d9e 100644 --- a/engines/teenagent/callbacks.cpp +++ b/engines/teenagent/callbacks.cpp @@ -4926,43 +4926,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) { break; default: - warning("unknown callback %04x called", addr); - - // try decoding trivial callbacks by cseg if not in switch - byte *code = res->cseg.ptr(addr); - if (code[0] == 0xbb && code[3] == 0xe8 && code[6] == 0xc3) { - // call display_message, r - uint16 msg = READ_LE_UINT16(code + 1); - uint16 func = 6 + addr + READ_LE_UINT16(code + 4); - warning("call %04x and return (csAddr_displayMsg = 0x%04x) msg:0x%04x", func, csAddr_displayMsg, msg); - if (func == csAddr_displayMsg) { - warning("trivial callback, showing message \"%s\"", (const char *)res->dseg.ptr(msg)); - displayMessage(msg); - return true; - } - } - - if (code[0] == 0xe8 && code[3] == 0xc3) { - uint func = 3 + addr + READ_LE_UINT16(code + 1); - warning("call %04x and return (csAddr_rejectMsg = 0x%04x)", func, csAddr_rejectMsg); - if (func == csAddr_rejectMsg) { - rejectMessage(); - return true; - } - } - - if (code[0] == 0xc7 && code[1] == 0x06 && code[2] == 0xf3 && code[3] == 0xb4 && - code[6] == 0xb8 && code[9] == 0xbb && code[12] == 0xbf && - code[22] == 0xe8 && code[25] == 0xc3) { - warning("callback -> loadScene(%d, Common::Point(%d, %d)); scene->setOrientation(%d)", code[4], - (READ_LE_UINT16(code + 7) + READ_LE_UINT16(code + 13) + 1) / 2, - READ_LE_UINT16(code + 10), code[21]); - loadScene(code[4], Common::Point( - (READ_LE_UINT16(code + 7) + READ_LE_UINT16(code + 13) + 1) / 2 , - READ_LE_UINT16(code + 10))); - scene->setOrientation(code[21]); - return true; - } + error("unknown callback 0x%04x called", addr); break; } diff --git a/engines/teenagent/resources.cpp b/engines/teenagent/resources.cpp index 278aad8c4e..3a497f7a69 100644 --- a/engines/teenagent/resources.cpp +++ b/engines/teenagent/resources.cpp @@ -119,7 +119,7 @@ bool Resources::loadArchives(const ADGameDescription *gd) { } #endif - cseg.read(dat, CSEG_SIZE); + dat->skip(CSEG_SIZE); dseg.read(dat, DSEG_SIZE); eseg.read(dat, ESEG_SIZE); delete dat; diff --git a/engines/teenagent/resources.h b/engines/teenagent/resources.h index c448736cda..364d683d8c 100644 --- a/engines/teenagent/resources.h +++ b/engines/teenagent/resources.h @@ -1164,7 +1164,7 @@ public: FilePack off, on, ons, lan000, lan500, sam_mmm, sam_sam, mmm, voices; #endif - Segment cseg, dseg; + Segment dseg; Font font7, font8; //const byte *getDialog(uint16 dialogNum) { return eseg.ptr(dialogOffsets[dialogNum]); } |