diff options
author | Bastien Bouclet | 2010-11-29 20:51:18 +0000 |
---|---|---|
committer | Bastien Bouclet | 2010-11-29 20:51:18 +0000 |
commit | a85346cb16a006b82116d3022ad8536bae0a3c75 (patch) | |
tree | 2da4ba732e1ab0af042141094e3aa3f7cec869f4 /engines/mohawk | |
parent | 2e984cf136c2199b7ea1aed4bddcfe4f555e1d76 (diff) | |
download | scummvm-rg350-a85346cb16a006b82116d3022ad8536bae0a3c75.tar.gz scummvm-rg350-a85346cb16a006b82116d3022ad8536bae0a3c75.tar.bz2 scummvm-rg350-a85346cb16a006b82116d3022ad8536bae0a3c75.zip |
MOHAWK : Change areas inheritance to match the original
svn-id: r54599
Diffstat (limited to 'engines/mohawk')
-rw-r--r-- | engines/mohawk/myst_areas.cpp | 125 | ||||
-rw-r--r-- | engines/mohawk/myst_areas.h | 47 |
2 files changed, 14 insertions, 158 deletions
diff --git a/engines/mohawk/myst_areas.cpp b/engines/mohawk/myst_areas.cpp index b5e59a4297..28627e55a9 100644 --- a/engines/mohawk/myst_areas.cpp +++ b/engines/mohawk/myst_areas.cpp @@ -457,81 +457,14 @@ uint16 MystResourceType8::getType8Var() { // No MystResourceType9! -MystResourceType10::MystResourceType10(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent) : MystResourceType8(vm, rlstStream, parent) { - _kind = rlstStream->readUint16LE(); - // NOTE: l,r,t,b differs from standard l,t,r,b order - _rect10.left = rlstStream->readUint16LE(); - _rect10.right = rlstStream->readUint16LE(); - _rect10.top = rlstStream->readUint16LE(); - _rect10.bottom = rlstStream->readUint16LE(); - _u0 = rlstStream->readUint16LE(); - _u1 = rlstStream->readUint16LE(); - _mouseDownOpcode = rlstStream->readUint16LE(); - _mouseDragOpcode = rlstStream->readUint16LE(); - _mouseUpOpcode = rlstStream->readUint16LE(); - - // TODO: Need to work out meaning of kind... - debugC(kDebugResource, "\tkind: %d", _kind); - debugC(kDebugResource, "\trect10.left: %d", _rect10.left); - debugC(kDebugResource, "\trect10.right: %d", _rect10.right); - debugC(kDebugResource, "\trect10.top: %d", _rect10.top); - debugC(kDebugResource, "\trect10.bottom: %d", _rect10.bottom); - debugC(kDebugResource, "\tu0: %d", _u0); - debugC(kDebugResource, "\tu1: %d", _u1); - debugC(kDebugResource, "\t_mouseDownOpcode: %d", _mouseDownOpcode); - debugC(kDebugResource, "\t_mouseDragOpcode: %d", _mouseDragOpcode); - debugC(kDebugResource, "\t_mouseUpOpcode: %d", _mouseUpOpcode); - - // TODO: Think that u0 and u1 are unused in Type 10 - if (_u0) - warning("Type 10 u0 non-zero"); - if (_u1) - warning("Type 10 u1 non-zero"); - - // TODO: Not sure about order of Mouse Down, Mouse Drag and Mouse Up - // Or whether this is slightly different... - debugCN(kDebugResource, "Type 10 _mouseDownOpcode: %d\n", _mouseDownOpcode); - debugCN(kDebugResource, "Type 10 _mouseDragOpcode: %d\n", _mouseDragOpcode); - debugCN(kDebugResource, "Type 10 _mouseUpOpcode: %d\n", _mouseUpOpcode); - - for (byte i = 0; i < 4; i++) { - debugC(kDebugResource, "\tList %d:", i); +MystResourceType10::MystResourceType10(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent) : MystResourceType11(vm, rlstStream, parent) { - _lists[i].listCount = rlstStream->readUint16LE(); - debugC(kDebugResource, "\t%d values", _lists[i].listCount); - - _lists[i].list = new uint16[_lists[i].listCount]; - for (uint16 j = 0; j < _lists[i].listCount; j++) { - _lists[i].list[j] = rlstStream->readUint16LE(); - debugC(kDebugResource, "\tValue %d: %d", j, _lists[i].list[j]); - } - } - - _mouseDown = false; + _unk10 = rlstStream->readUint16LE(); warning("TODO: Card contains Type 10 Resource - Function not yet implemented"); } MystResourceType10::~MystResourceType10() { - for (byte i = 0; i < 4; i++) - delete[] _lists[i].list; -} - -void MystResourceType10::handleMouseDown() { - _mouseDown = true; - - _vm->_scriptParser->runOpcode(_mouseDownOpcode); -} - -void MystResourceType10::handleMouseUp() { - _mouseDown = false; - - _vm->_scriptParser->runOpcode(_mouseUpOpcode); -} -void MystResourceType10::handleMouseMove() { - if (_mouseDown) { - _vm->_scriptParser->runOpcode(_mouseDragOpcode); - } } MystResourceType11::MystResourceType11(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent) : MystResourceType8(vm, rlstStream, parent) { @@ -609,56 +542,7 @@ void MystResourceType11::handleMouseMove() { } } -MystResourceType12::MystResourceType12(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent) : MystResourceType8(vm, rlstStream, parent) { - _kind = rlstStream->readUint16LE(); - // NOTE: l,r,t,b differs from standard l,t,r,b order - _rect11.left = rlstStream->readUint16LE(); - _rect11.right = rlstStream->readUint16LE(); - _rect11.top = rlstStream->readUint16LE(); - _rect11.bottom = rlstStream->readUint16LE(); - _state0Frame = rlstStream->readUint16LE(); - _state1Frame = rlstStream->readUint16LE(); - _mouseDownOpcode = rlstStream->readUint16LE(); - _mouseDragOpcode = rlstStream->readUint16LE(); - _mouseUpOpcode = rlstStream->readUint16LE(); - - debugC(kDebugResource, "\tkind: %d", _kind); - debugC(kDebugResource, "\trect11.left: %d", _rect11.left); - debugC(kDebugResource, "\trect11.right: %d", _rect11.right); - debugC(kDebugResource, "\trect11.top: %d", _rect11.top); - debugC(kDebugResource, "\trect11.bottom: %d", _rect11.bottom); - debugC(kDebugResource, "\t_state0Frame: %d", _state0Frame); - debugC(kDebugResource, "\t_state1Frame: %d", _state1Frame); - debugC(kDebugResource, "\t_mouseDownOpcode: %d", _mouseDownOpcode); - debugC(kDebugResource, "\t_mouseDragOpcode: %d", _mouseDragOpcode); - debugC(kDebugResource, "\t_mouseUpOpcode: %d", _mouseUpOpcode); - - // TODO: Think that u0 and u1 are animation frames to be - // drawn for var == 0 and var == 1 - debugCN(kDebugResource, "Type 12 _state0Frame: %d\n", _state0Frame); - debugCN(kDebugResource, "Type 12 _state1Frame: %d\n", _state1Frame); - - // TODO: Not sure about order of Mouse Down, Mouse Drag and Mouse Up - // Or whether this is slightly different... - debugCN(kDebugResource, "Type 12 _mouseDownOpcode: %d\n", _mouseDownOpcode); - debugCN(kDebugResource, "Type 12 _mouseDragOpcode: %d\n", _mouseDragOpcode); - debugCN(kDebugResource, "Type 12 _mouseUpOpcode: %d\n", _mouseUpOpcode); - - for (byte i = 0; i < 3; i++) { - debugC(kDebugResource, "\tList %d:", i); - - _lists[i].listCount = rlstStream->readUint16LE(); - debugC(kDebugResource, "\t%d values", _lists[i].listCount); - - _lists[i].list = new uint16[_lists[i].listCount]; - for (uint16 j = 0; j < _lists[i].listCount; j++) { - _lists[i].list[j] = rlstStream->readUint16LE(); - debugC(kDebugResource, "\tValue %d: %d", j, _lists[i].list[j]); - } - } - - warning("TODO: Card contains Type 12, Type 11 section Resource - Function not yet implemented"); - +MystResourceType12::MystResourceType12(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent) : MystResourceType11(vm, rlstStream, parent) { _numFrames = rlstStream->readUint16LE(); _firstFrame = rlstStream->readUint16LE(); uint16 frameWidth = rlstStream->readUint16LE(); @@ -682,8 +566,7 @@ MystResourceType12::MystResourceType12(MohawkEngine_Myst *vm, Common::SeekableRe } MystResourceType12::~MystResourceType12() { - for (byte i = 0; i < 3; i++) - delete[] _lists[i].list; + } void MystResourceType12::handleAnimation() { diff --git a/engines/mohawk/myst_areas.h b/engines/mohawk/myst_areas.h index b1755a8a08..780f99ff69 100644 --- a/engines/mohawk/myst_areas.h +++ b/engines/mohawk/myst_areas.h @@ -133,30 +133,6 @@ protected: // No MystResourceType9! -class MystResourceType10 : public MystResourceType8 { -public: - MystResourceType10(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent); - virtual ~MystResourceType10(); - void handleMouseDown(); - void handleMouseUp(); - void handleMouseMove(); - -protected: - uint16 _kind; - Common::Rect _rect10; - uint16 _u0; - uint16 _u1; - uint16 _mouseDownOpcode; - uint16 _mouseDragOpcode; - uint16 _mouseUpOpcode; - struct { - uint16 listCount; - uint16 *list; - } _lists[4]; - - bool _mouseDown; -}; - class MystResourceType11 : public MystResourceType8 { public: MystResourceType11(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent); @@ -181,7 +157,16 @@ protected: bool _mouseDown; }; -class MystResourceType12 : public MystResourceType8 { +class MystResourceType10 : public MystResourceType11 { +public: + MystResourceType10(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent); + virtual ~MystResourceType10(); + +protected: + uint16 _unk10; +}; + +class MystResourceType12 : public MystResourceType11 { public: MystResourceType12(MohawkEngine_Myst *vm, Common::SeekableReadStream *rlstStream, MystResource *parent); virtual ~MystResourceType12(); @@ -189,18 +174,6 @@ public: void handleMouseUp(); protected: - uint16 _kind; - Common::Rect _rect11; - uint16 _state0Frame; - uint16 _state1Frame; - uint16 _mouseDownOpcode; - uint16 _mouseDragOpcode; - uint16 _mouseUpOpcode; - struct { - uint16 listCount; - uint16 *list; - } _lists[3]; - uint16 _numFrames; uint16 _firstFrame; Common::Rect _frameRect; |