diff options
-rw-r--r-- | engines/neverhood/gamemodule.cpp | 4 | ||||
-rw-r--r-- | engines/neverhood/module1700.cpp | 33 | ||||
-rw-r--r-- | engines/neverhood/module1700.h | 12 | ||||
-rw-r--r-- | engines/neverhood/module2800.cpp | 10 | ||||
-rw-r--r-- | engines/neverhood/module2800.h | 2 |
5 files changed, 30 insertions, 31 deletions
diff --git a/engines/neverhood/gamemodule.cpp b/engines/neverhood/gamemodule.cpp index df001c4cc0..edc9b5594f 100644 --- a/engines/neverhood/gamemodule.cpp +++ b/engines/neverhood/gamemodule.cpp @@ -309,8 +309,8 @@ void GameModule::startup() { #if 1 - _vm->gameState().sceneNum = 8; - createModule(1600, -1); + _vm->gameState().sceneNum = 4; + createModule(1700, -1); #endif #if 0 _vm->gameState().sceneNum = 0; diff --git a/engines/neverhood/module1700.cpp b/engines/neverhood/module1700.cpp index f914fa9c5b..b75167fa4d 100644 --- a/engines/neverhood/module1700.cpp +++ b/engines/neverhood/module1700.cpp @@ -21,6 +21,7 @@ */ #include "neverhood/module1700.h" +#include "neverhood/gamemodule.h" namespace Neverhood { @@ -139,19 +140,19 @@ static const uint32 kScene1705FileHashes[] = { 0x910EA800 }; -Class602::Class602(NeverhoodEngine *vm, uint32 fileHash, int index) +SsScene1705WallSymbol::SsScene1705WallSymbol(NeverhoodEngine *vm, uint32 fileHash, int symbolIndex) : StaticSprite(vm, fileHash, 100) { - _x = _spriteResource.getPosition().x + index * 30; + _x = _spriteResource.getPosition().x + symbolIndex * 30; _y = _spriteResource.getPosition().y + 160; StaticSprite::update(); } -Class606::Class606(NeverhoodEngine *vm, Scene *parentScene, int index, int surfacePriority, int16 x, int16 y, uint32 fileHash) - : StaticSprite(vm, fileHash, surfacePriority, x - 24, y - 4), _parentScene(parentScene), _index(index) { +SsScene1705Tape::SsScene1705Tape(NeverhoodEngine *vm, Scene *parentScene, uint32 tapeIndex, int surfacePriority, int16 x, int16 y, uint32 fileHash) + : StaticSprite(vm, fileHash, surfacePriority, x - 24, y - 4), _parentScene(parentScene), _tapeIndex(tapeIndex) { - if (!getSubVar(0x02038314, _index) && !getSubVar(0x02720344, _index)) { - SetMessageHandler(&Class606::handleMessage); + if (!getSubVar(0x02038314, _tapeIndex) && !getSubVar(0x02720344, _tapeIndex)) { + SetMessageHandler(&SsScene1705Tape::handleMessage); } else { setVisible(false); SetMessageHandler(NULL); @@ -164,7 +165,7 @@ Class606::Class606(NeverhoodEngine *vm, Scene *parentScene, int index, int surfa Sprite::processDelta(); } -uint32 Class606::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) { +uint32 SsScene1705Tape::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) { uint32 messageResult = Sprite::handleMessage(messageNum, param, sender); switch (messageNum) { case 0x1011: @@ -172,7 +173,7 @@ uint32 Class606::handleMessage(int messageNum, const MessageParam ¶m, Entity messageResult = 1; break; case 0x4806: - setSubVar(0x02038314, _index, 1); + setSubVar(0x02038314, _tapeIndex, 1); setVisible(false); SetMessageHandler(NULL); break; @@ -186,7 +187,7 @@ Scene1705::Scene1705(NeverhoodEngine *vm, Module *parentModule, int which) Sprite *tempSprite; setGlobalVar(0xE7498218, 1); - // TODO _vm->initVarsScene1705(); + _vm->gameModule()->initScene3009Vars(); SetMessageHandler(&Scene1705::handleMessage); SetUpdateHandler(&Scene1705::update); @@ -204,16 +205,14 @@ Scene1705::Scene1705(NeverhoodEngine *vm, Module *parentModule, int which) insertMouse433(0x18222039); - insertSprite<Class602>(kScene1705FileHashes[getSubVar(0x0A4C0A9A, 0)], 0); - insertSprite<Class602>(kScene1705FileHashes[getSubVar(0x0A4C0A9A, 1)], 1); - insertSprite<Class602>(kScene1705FileHashes[getSubVar(0x0A4C0A9A, 2)], 2); + insertSprite<SsScene1705WallSymbol>(kScene1705FileHashes[getSubVar(0x0A4C0A9A, 0)], 0); + insertSprite<SsScene1705WallSymbol>(kScene1705FileHashes[getSubVar(0x0A4C0A9A, 1)], 1); + insertSprite<SsScene1705WallSymbol>(kScene1705FileHashes[getSubVar(0x0A4C0A9A, 2)], 2); _sprite = insertStaticSprite(0x31313A22, 1100); - _class606 = insertSprite<Class606>(this, 15, 1100, 238, 439, 0x02363852); - _vm->_collisionMan->addSprite(_class606); - - which = 4; + _ssTape = insertSprite<SsScene1705Tape>(this, 15, 1100, 238, 439, 0x02363852); + _vm->_collisionMan->addSprite(_ssTape); if (which < 0) { insertKlayman<KmScene1705>(231, 434); @@ -275,7 +274,7 @@ uint32 Scene1705::handleMessage(int messageNum, const MessageParam ¶m, Entit } break; case 0x4826: - if (sender == _class606 && _klayman->getX() <= 318) { + if (sender == _ssTape && _klayman->getX() <= 318) { sendEntityMessage(_klayman, 0x1014, sender); setMessageList(0x004B6AC0); } diff --git a/engines/neverhood/module1700.h b/engines/neverhood/module1700.h index 2488c46e49..c0ec9e5123 100644 --- a/engines/neverhood/module1700.h +++ b/engines/neverhood/module1700.h @@ -41,17 +41,17 @@ protected: // Scene1705 -class Class602 : public StaticSprite { +class SsScene1705WallSymbol : public StaticSprite { public: - Class602(NeverhoodEngine *vm, uint32 fileHash, int index); + SsScene1705WallSymbol(NeverhoodEngine *vm, uint32 fileHash, int symbolIndex); }; -class Class606 : public StaticSprite { +class SsScene1705Tape : public StaticSprite { public: - Class606(NeverhoodEngine *vm, Scene *parentScene, int index, int surfacePriority, int16 x, int16 y, uint32 fileHash); + SsScene1705Tape(NeverhoodEngine *vm, Scene *parentScene, uint32 tapeIndex, int surfacePriority, int16 x, int16 y, uint32 fileHash); protected: Scene *_parentScene; - int _index; + uint32 _tapeIndex; uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); }; @@ -60,7 +60,7 @@ public: Scene1705(NeverhoodEngine *vm, Module *parentModule, int which); protected: Sprite *_sprite; - Sprite *_class606; + Sprite *_ssTape; int _paletteArea; void update(); uint32 handleMessage(int messageNum, const MessageParam ¶m, Entity *sender); diff --git a/engines/neverhood/module2800.cpp b/engines/neverhood/module2800.cpp index 7a35ddda23..203854878a 100644 --- a/engines/neverhood/module2800.cpp +++ b/engines/neverhood/module2800.cpp @@ -422,7 +422,7 @@ Scene2801::Scene2801(NeverhoodEngine *vm, Module *parentModule, int which) _sprite2 = insertStaticSprite(0x061601C8, 1100); _klayman->setClipRect(0, 0, _sprite2->getDrawRect().x2(), 480); insertMouse433(0x00680116); - _asTape = insertSprite<Class606>(this, 8, 1100, 302, 437, 0x01142428); + _asTape = insertSprite<SsScene1705Tape>(this, 8, 1100, 302, 437, 0x01142428); _vm->_collisionMan->addSprite(_asTape); } else { setRectList(0x004B6CF0); @@ -2991,8 +2991,8 @@ Scene2812::Scene2812(NeverhoodEngine *vm, Module *parentModule, int which) _vm->_collisionMan->addSprite(_class545); } - _class606 = insertSprite<Class606>(this, 6, 1100, 513, 437, 0xA1361863); - _vm->_collisionMan->addSprite(_class606); + _ssTape = insertSprite<SsScene1705Tape>(this, 6, 1100, 513, 437, 0xA1361863); + _vm->_collisionMan->addSprite(_ssTape); _asWinch = insertSprite<AsScene2812Winch>(); _asTrapDoor = insertSprite<AsScene2812TrapDoor>(); @@ -3068,8 +3068,8 @@ uint32 Scene2812::handleMessage(int messageNum, const MessageParam ¶m, Entit sendMessage(_asTrapDoor, 0x2000, 0); break; case 0x4826: - if (sender == _class606 && !_flag1) { - sendEntityMessage(_klayman, 0x1014, _class606); + if (sender == _ssTape && !_flag1) { + sendEntityMessage(_klayman, 0x1014, _ssTape); setMessageList(0x004AF658); } else if (sender == _class545 && !_flag1) { sendEntityMessage(_klayman, 0x1014, _class545); diff --git a/engines/neverhood/module2800.h b/engines/neverhood/module2800.h index b5827bff50..1027a6fa6b 100644 --- a/engines/neverhood/module2800.h +++ b/engines/neverhood/module2800.h @@ -461,7 +461,7 @@ protected: Sprite *_sprite3; Sprite *_sprite2; Sprite *_sprite4; - Sprite *_class606; + Sprite *_ssTape; Sprite *_class545; Sprite *_sprite1; bool _flag1; |