From 2e7d100a6f2834b68e4d5d18cf72f63871ddfdf9 Mon Sep 17 00:00:00 2001 From: johndoe123 Date: Thu, 11 Oct 2012 15:34:11 +0000 Subject: NEVERHOOD: Replace most of the literal digits in get/setSubVar with constants --- engines/neverhood/diskplayerscene.cpp | 4 +- engines/neverhood/gamemodule.cpp | 68 ++++++------ engines/neverhood/gamevars.h | 188 +++++++++++++++++++--------------- engines/neverhood/klayman.cpp | 18 ++-- engines/neverhood/module1000.cpp | 10 +- engines/neverhood/module1100.cpp | 44 ++++---- engines/neverhood/module1200.cpp | 46 ++++----- engines/neverhood/module1300.cpp | 52 +++++----- engines/neverhood/module1400.cpp | 30 +++--- engines/neverhood/module1600.cpp | 6 +- engines/neverhood/module1700.cpp | 10 +- engines/neverhood/module2200.cpp | 56 +++++----- engines/neverhood/module2400.cpp | 30 +++--- engines/neverhood/module2500.cpp | 8 +- engines/neverhood/module2700.cpp | 6 +- engines/neverhood/module2800.cpp | 82 +++++++-------- engines/neverhood/module3000.cpp | 42 ++++---- engines/neverhood/smackerscene.cpp | 4 +- 18 files changed, 361 insertions(+), 343 deletions(-) diff --git a/engines/neverhood/diskplayerscene.cpp b/engines/neverhood/diskplayerscene.cpp index 54c33ddcae..65bbc0ddb5 100644 --- a/engines/neverhood/diskplayerscene.cpp +++ b/engines/neverhood/diskplayerscene.cpp @@ -346,13 +346,13 @@ DiskplayerScene::DiskplayerScene(NeverhoodEngine *vm, Module *parentModule, int // DEBUG>>>: Give all disks for (int i = 0; i < 20; i++) { - setSubVar(0x02720344, i, 1); + setSubVar(VA_IS_TAPE_INSERTED, i, 1); } // DEBUG<<< for (int i = 0; i < 20; i++) { _diskAvailable[i] = 0; - if (getSubVar(0x02720344, i)) + if (getSubVar(VA_IS_TAPE_INSERTED, i)) availableDisksCount++; } diff --git a/engines/neverhood/gamemodule.cpp b/engines/neverhood/gamemodule.cpp index ac20138a5e..1b9c9f361d 100644 --- a/engines/neverhood/gamemodule.cpp +++ b/engines/neverhood/gamemodule.cpp @@ -88,17 +88,17 @@ void GameModule::handleMouseDown(int16 x, int16 y) { void GameModule::initScene1307Vars() { // Exit if it's already initialized - if (getSubVar(0x40050052, 0x25400B10)) + if (getSubVar(VA_IS_PUZZLE_INIT, 0x25400B10)) return; for (uint i = 0; i < 3; i++) { bool more; do { more = false; - setSubVar(0x0C10A000, i, _vm->_rnd->getRandomNumber(16 - 1)); + setSubVar(VA_GOOD_KEY_SLOT_NUMBERS, i, _vm->_rnd->getRandomNumber(16 - 1)); if (i > 0) { for (uint j = 0; j < i && !more; j++) { - more = getSubVar(0x0C10A000, j) == getSubVar(0x0C10A000, i); + more = getSubVar(VA_GOOD_KEY_SLOT_NUMBERS, j) == getSubVar(VA_GOOD_KEY_SLOT_NUMBERS, i); } } } while (more); @@ -108,18 +108,18 @@ void GameModule::initScene1307Vars() { bool more; do { more = false; - setSubVar(0xA010B810, i, _vm->_rnd->getRandomNumber(16 - 1)); + setSubVar(VA_CURR_KEY_SLOT_NUMBERS, i, _vm->_rnd->getRandomNumber(16 - 1)); if (i > 0) { for (uint j = 0; j < i && !more; j++) { - more = getSubVar(0xA010B810, j) == getSubVar(0xA010B810, i); + more = getSubVar(VA_CURR_KEY_SLOT_NUMBERS, j) == getSubVar(VA_CURR_KEY_SLOT_NUMBERS, i); } } - if (getSubVar(0xA010B810, i) == getSubVar(0x0C10A000, i)) + if (getSubVar(VA_CURR_KEY_SLOT_NUMBERS, i) == getSubVar(VA_GOOD_KEY_SLOT_NUMBERS, i)) more = true; } while (more); } - setSubVar(0x40050052, 0x25400B10, 1); + setSubVar(VA_IS_PUZZLE_INIT, 0x25400B10, 1); } @@ -136,11 +136,11 @@ void GameModule::initScene1405Vars() { uint32 rndIndex; // Exit if it's already initialized - if (getSubVar(0x40050052, 0xC8606803)) + if (getSubVar(VA_IS_PUZZLE_INIT, 0xC8606803)) return; for (uint32 i = 0; i < 3; i++) - setSubVar(0x61084036, i, 1); + setSubVar(VA_CURR_DICE_NUMBERS, i, 1); for (byte i = 0; i < 3; i++) array44[i] = i; @@ -153,7 +153,7 @@ void GameModule::initScene1405Vars() { rndIndex = _vm->_rnd->getRandomNumber(3 - 1); - setSubVar(0x13100631, array44[rndIndex], 5); + setSubVar(VA_DICE_MEMORY_SYMBOLS, array44[rndIndex], 5); for (byte i = 5; i < 9; i++) array3C[i] = array3C[i + 1]; @@ -166,7 +166,7 @@ void GameModule::initScene1405Vars() { for (int i = 0; i < 2; i++) { uint32 rndIndex1 = _vm->_rnd->getRandomNumber(index2 - 1); // si uint32 rndIndex2 = _vm->_rnd->getRandomNumber(index1 - 1); // di - setSubVar(0x13100631, array44[rndIndex2], array3C[rndIndex1]); + setSubVar(VA_DICE_MEMORY_SYMBOLS, array44[rndIndex2], array3C[rndIndex1]); index2--; while (rndIndex1 < index2) { array3C[rndIndex1] = array3C[rndIndex1 + 1]; @@ -182,10 +182,10 @@ void GameModule::initScene1405Vars() { for (uint32 i = 0; i < 3; i++) { uint32 rndValue = _vm->_rnd->getRandomNumber(4 - 1) * 2 + 2; uint32 index4 = 0; - setSubVar(0x7500993A, i, rndValue); + setSubVar(VA_GOOD_DICE_NUMBERS, i, rndValue); while (index4 < rndValue) { uint32 rndIndex3 = _vm->_rnd->getRandomNumber(index3 - 1); - setSubVar(0x0C65F80B, array30[rndIndex3], getSubVar(0x13100631, i)); + setSubVar(VA_TILE_SYMBOLS, array30[rndIndex3], getSubVar(VA_DICE_MEMORY_SYMBOLS, i)); index3--; while (rndIndex3 < index3) { array30[rndIndex3] = array30[rndIndex3 + 1]; @@ -199,14 +199,14 @@ void GameModule::initScene1405Vars() { while (index3 != 0) { uint32 rndIndex4 = _vm->_rnd->getRandomNumber(index3 - 1); index1 = array3C[index5]; - setSubVar(0x0C65F80B, array30[rndIndex4], index1); + setSubVar(VA_TILE_SYMBOLS, array30[rndIndex4], index1); index3--; while (rndIndex4 < index3) { array30[rndIndex4] = array30[rndIndex4 + 1]; rndIndex4++; } uint32 rndIndex5 = _vm->_rnd->getRandomNumber(index3 - 1); - setSubVar(0x0C65F80B, array30[rndIndex5], index1); + setSubVar(VA_TILE_SYMBOLS, array30[rndIndex5], index1); index3--; while (rndIndex5 < index3) { array30[rndIndex5] = array30[rndIndex5 + 1]; @@ -218,57 +218,57 @@ void GameModule::initScene1405Vars() { } - setSubVar(0x40050052, 0xC8606803, 1); + setSubVar(VA_IS_PUZZLE_INIT, 0xC8606803, 1); } void GameModule::initScene2401Vars() { - if (getSubVar(0x40050052, 0x40520234)) + if (getSubVar(VA_IS_PUZZLE_INIT, 0x40520234)) return; - setSubVar(0x90405038, 0, 3); - setSubVar(0x90405038, 1, 1); - setSubVar(0x90405038, 2, 2); - setSubVar(0x90405038, 3, 0); - setSubVar(0x90405038, 4, 4); + setSubVar(VA_GOOD_WATER_PIPES_LEVEL, 0, 3); + setSubVar(VA_GOOD_WATER_PIPES_LEVEL, 1, 1); + setSubVar(VA_GOOD_WATER_PIPES_LEVEL, 2, 2); + setSubVar(VA_GOOD_WATER_PIPES_LEVEL, 3, 0); + setSubVar(VA_GOOD_WATER_PIPES_LEVEL, 4, 4); - setSubVar(0x40050052, 0x40520234, 1); + setSubVar(VA_IS_PUZZLE_INIT, 0x40520234, 1); } void GameModule::initScene2808Vars1() { // Exit if it's already initialized - if (getSubVar(0x40050052, 0x20479010)) + if (getSubVar(VA_IS_PUZZLE_INIT, 0x20479010)) return; for (uint i = 0; i < 3; i++) - setSubVar(0x0C601058, i, _vm->_rnd->getRandomNumber(3 - 1) + 1); + setSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, i, _vm->_rnd->getRandomNumber(3 - 1) + 1); - setSubVar(0x40050052, 0x20479010, 1); + setSubVar(VA_IS_PUZZLE_INIT, 0x20479010, 1); } void GameModule::initScene2808Vars2() { // Exit if it's already initialized - if (getSubVar(0x40050052, 0x66059818)) + if (getSubVar(VA_IS_PUZZLE_INIT, 0x66059818)) return; for (uint i = 0; i < 3; i++) - setSubVar(0x40005834, i, _vm->_rnd->getRandomNumber(6 - 1) + 1); + setSubVar(VA_GOOD_TEST_TUBES_LEVEL_2, i, _vm->_rnd->getRandomNumber(6 - 1) + 1); - setSubVar(0x40050052, 0x66059818, 1); + setSubVar(VA_IS_PUZZLE_INIT, 0x66059818, 1); } void GameModule::initScene3009Vars() { - if (!getSubVar(0x40050052, 0x8C9819C2)) { + if (!getSubVar(VA_IS_PUZZLE_INIT, 0x8C9819C2)) { for (int i = 0; i < 3; i++) { - setSubVar(0x00504B86, i, _vm->_rnd->getRandomNumber(12 - 1)); - setSubVar(0x0A4C0A9A, i, _vm->_rnd->getRandomNumber(12 - 1)); + setSubVar(VA_GOOD_CANNON_SYMBOLS_1, i, _vm->_rnd->getRandomNumber(12 - 1)); + setSubVar(VA_GOOD_CANNON_SYMBOLS_2, i, _vm->_rnd->getRandomNumber(12 - 1)); } - setSubVar(0x40050052, 0x8C9819C2, 1); + setSubVar(VA_IS_PUZZLE_INIT, 0x8C9819C2, 1); } } @@ -313,7 +313,7 @@ void GameModule::startup() { #if 1 _vm->gameState().which = 0; - _vm->gameState().sceneNum = 5; + _vm->gameState().sceneNum = 1; createModule(2200, -1); #endif #if 0 diff --git a/engines/neverhood/gamevars.h b/engines/neverhood/gamevars.h index a99459fb6a..52740dca56 100644 --- a/engines/neverhood/gamevars.h +++ b/engines/neverhood/gamevars.h @@ -30,97 +30,119 @@ namespace Neverhood { enum { // Misc - V_MODULE_NAME = 0x91080831, // Currently active module name hash - V_DEBUG = 0xA4014072, // Original debug-flag, can probably be removed - V_SMACKER_CAN_ABORT = 0x06C02850, // Not set anywhere (yet), seems like a debug flag - V_KEY3_LOCATION = 0x13382860, // Location of the third key - V_TEXT_FLAG1 = 0x8440001F, - V_TEXT_INDEX = 0x01830201, - V_TEXT_COUNTING_INDEX1 = 0x29408F00, - V_TEXT_COUNTING_INDEX2 = 0x8A140C21, - V_TALK_COUNTING_INDEX = 0xA0808898, - V_FRUIT_COUNTING_INDEX = 0x40040831, - V_NOISY_SYMBOL_INDEX = 0x2414C2F2, - V_COLUMN_BACK_NAME = 0x4CE79018, - V_COLUMN_TEXT_NAME = 0xC8C28808, - V_CLICKED_COLUMN_INDEX = 0x48A68852, - V_CLICKED_COLUMN_ROW = 0x49C40058, - V_MUSIC_NAME = 0x89A82A15, + V_MODULE_NAME = 0x91080831, // Currently active module name hash + V_DEBUG = 0xA4014072, // Original debug-flag, can probably be removed + V_SMACKER_CAN_ABORT = 0x06C02850, // Not set anywhere (yet), seems like a debug flag + V_KEY3_LOCATION = 0x13382860, // Location of the third key + V_TEXT_FLAG1 = 0x8440001F, + V_TEXT_INDEX = 0x01830201, + V_TEXT_COUNTING_INDEX1 = 0x29408F00, + V_TEXT_COUNTING_INDEX2 = 0x8A140C21, + V_TALK_COUNTING_INDEX = 0xA0808898, + V_FRUIT_COUNTING_INDEX = 0x40040831, + V_NOISY_SYMBOL_INDEX = 0x2414C2F2, + V_COLUMN_BACK_NAME = 0x4CE79018, + V_COLUMN_TEXT_NAME = 0xC8C28808, + V_CLICKED_COLUMN_INDEX = 0x48A68852, + V_CLICKED_COLUMN_ROW = 0x49C40058, + V_MUSIC_NAME = 0x89A82A15, // Klayman - V_KLAYMAN_SMALL = 0x1860C990, // Is Klayman small? - V_KLAYMAN_FRAMEINDEX = 0x18288913, - V_KLAYMAN_IS_DELTA_X = 0xC0418A02, - V_KLAYMAN_SAVED_X = 0x00D30138, - V_CAR_DELTA_X = 0x21E60190, + V_KLAYMAN_SMALL = 0x1860C990, // Is Klayman small? + V_KLAYMAN_FRAMEINDEX = 0x18288913, + V_KLAYMAN_IS_DELTA_X = 0xC0418A02, + V_KLAYMAN_SAVED_X = 0x00D30138, + V_CAR_DELTA_X = 0x21E60190, // Flags - V_CRYSTAL_COLORS_INIT = 0xDE2EC914, - V_TV_JOKE_TOLD = 0x92603A79, - V_NOTES_DOOR_UNLOCKED = 0x0045D021, - V_WATER_RUNNING = 0x4E0BE910, - V_CREATURE_ANGRY = 0x0A310817, // After having played with the music box - V_BEEN_SHRINKING_ROOM = 0x1C1B8A9A, - V_BEEN_STATUE_ROOM = 0xCB45DE03, - V_MOUSE_PUZZLE_SOLVED = 0x70A1189C, - V_NOTES_PUZZLE_SOLVED = 0x86615030, - V_TILE_PUZZLE_SOLVED = 0x404290D5, - V_STAIRS_PUZZLE_SOLVED = 0xA9035F60, - V_SPIKES_RETRACTED = 0x18890C91, - V_LARGE_DOOR_NUMBER = 0x9A500914, // Number of the currently "large" door - V_LIGHTS_ON = 0x4D080E54, - V_SHRINK_LIGHTS_ON = 0x190A1D18, // Lights on in the room with the shrinking device - V_STAIRS_DOWN = 0x09221A62, - V_LADDER_DOWN = 0x0018CA22, // Is the ladder in the statue room down? - V_LADDER_DOWN_ACTION = 0x00188211, - V_WALL_BROKEN = 0x10938830, - V_BOLT_DOOR_OPEN = 0x01BA1A52, - V_BOLT_DOOR_UNLOCKED = 0x00040153, - V_SEEN_SYMBOLS_NO_LIGHT = 0x81890D14, - V_FELL_DOWN_HOLE = 0xE7498218, - V_DOOR_PASSED = 0x2090590C, // Auto-closing door was passed - V_ENTRANCE_OPEN = 0xD0A14D10, // Is the entrance to Module1300 open (after the robot got his teddy) - V_WINDOW_OPEN = 0x03C698DA, - V_DOOR_STATUS = 0x52371C95, - V_DOOR_BUSTED = 0xD217189D, - V_WORLDS_JOINED = 0x98109F12, // Are the worlds joined? - V_KEYDOOR_UNLOCKED = 0x80455A41, // Is the keyboard-door unlocked? - V_MOUSE_SUCKED_IN = 0x01023818, // Are mouse/cheese in Scene1308? - V_BALLOON_POPPED = 0xAC00C0D0, // Has the balloon with the key been popped? - V_TNT_DUMMY_BUILT = 0x000CF819, // Are all TNT parts on the dummy? - V_TNT_DUMMY_FUSE_LIT = 0x20A0C516, - V_RING5_PULLED = 0x4DE80AC0, - V_CREATURE_EXPLODED = 0x2A02C07B, + V_CRYSTAL_COLORS_INIT = 0xDE2EC914, + V_TV_JOKE_TOLD = 0x92603A79, + V_NOTES_DOOR_UNLOCKED = 0x0045D021, + V_WATER_RUNNING = 0x4E0BE910, + V_CREATURE_ANGRY = 0x0A310817, // After having played with the music box + V_BEEN_SHRINKING_ROOM = 0x1C1B8A9A, + V_BEEN_STATUE_ROOM = 0xCB45DE03, + V_MOUSE_PUZZLE_SOLVED = 0x70A1189C, + V_NOTES_PUZZLE_SOLVED = 0x86615030, + V_TILE_PUZZLE_SOLVED = 0x404290D5, + V_STAIRS_PUZZLE_SOLVED = 0xA9035F60, + V_SPIKES_RETRACTED = 0x18890C91, + V_LARGE_DOOR_NUMBER = 0x9A500914, // Number of the currently "large" door + V_LIGHTS_ON = 0x4D080E54, + V_SHRINK_LIGHTS_ON = 0x190A1D18, // Lights on in the room with the shrinking device + V_STAIRS_DOWN = 0x09221A62, + V_LADDER_DOWN = 0x0018CA22, // Is the ladder in the statue room down? + V_LADDER_DOWN_ACTION = 0x00188211, + V_WALL_BROKEN = 0x10938830, + V_BOLT_DOOR_OPEN = 0x01BA1A52, + V_BOLT_DOOR_UNLOCKED = 0x00040153, + V_SEEN_SYMBOLS_NO_LIGHT = 0x81890D14, + V_FELL_DOWN_HOLE = 0xE7498218, + V_DOOR_PASSED = 0x2090590C, // Auto-closing door was passed + V_ENTRANCE_OPEN = 0xD0A14D10, // Is the entrance to Module1300 open (after the robot got his teddy) + V_WINDOW_OPEN = 0x03C698DA, + V_DOOR_STATUS = 0x52371C95, + V_DOOR_BUSTED = 0xD217189D, + V_WORLDS_JOINED = 0x98109F12, // Are the worlds joined? + V_KEYDOOR_UNLOCKED = 0x80455A41, // Is the keyboard-door unlocked? + V_MOUSE_SUCKED_IN = 0x01023818, // Are mouse/cheese in Scene1308? + V_BALLOON_POPPED = 0xAC00C0D0, // Has the balloon with the key been popped? + V_TNT_DUMMY_BUILT = 0x000CF819, // Are all TNT parts on the dummy? + V_TNT_DUMMY_FUSE_LIT = 0x20A0C516, + V_RING5_PULLED = 0x4DE80AC0, + V_CREATURE_EXPLODED = 0x2A02C07B, // Match - V_MATCH_STATUS = 0x0112090A, + V_MATCH_STATUS = 0x0112090A, // Venus fly trap - V_FLYTRAP_RING_EATEN = 0x2B514304, - V_FLYTRAP_RING_DOOR = 0x8306F218, - V_FLYTRAP_RING_FENCE = 0x80101B1E, - V_FLYTRAP_RING_BRIDGE = 0x13206309, - V_FLYTRAP_POSITION_1 = 0x1B144052, - V_FLYTRAP_POSITION_2 = 0x86341E88, + V_FLYTRAP_RING_EATEN = 0x2B514304, + V_FLYTRAP_RING_DOOR = 0x8306F218, + V_FLYTRAP_RING_FENCE = 0x80101B1E, + V_FLYTRAP_RING_BRIDGE = 0x13206309, + V_FLYTRAP_POSITION_1 = 0x1B144052, + V_FLYTRAP_POSITION_2 = 0x86341E88, // Navigation - V_NAVIGATION_INDEX = 0x4200189E, // Navigation scene: Current navigation index + V_NAVIGATION_INDEX = 0x4200189E, // Navigation scene: Current navigation index // Cannon - V_CANNON_RAISED = 0x000809C2, // Is the cannon raised? - V_CANNON_TURNED = 0x9040018A, // Is the cannon turned? - V_ROBOT_HIT = 0x0C0288F4, // Was the robot hit by the cannon? - V_ROBOT_TARGET = 0x610210B7, // Is the robot at the cannon target position? (teddy) - V_CANNON_SMACKER_NAME = 0xF0402B0A, - V_CANNON_TARGET_STATUS = 0x20580A86, + V_CANNON_RAISED = 0x000809C2, // Is the cannon raised? + V_CANNON_TURNED = 0x9040018A, // Is the cannon turned? + V_ROBOT_HIT = 0x0C0288F4, // Was the robot hit by the cannon? + V_ROBOT_TARGET = 0x610210B7, // Is the robot at the cannon target position? (teddy) + V_CANNON_SMACKER_NAME = 0xF0402B0A, + V_CANNON_TARGET_STATUS = 0x20580A86, // Projector - V_PROJECTOR_SLOT = 0x04A10F33, // Projector x slot index - V_PROJECTOR_LOCATION = 0x04A105B3, // Projector scene location - V_PROJECTOR_ACTIVE = 0x12A10DB3, // Is the projecor projecting? + V_PROJECTOR_SLOT = 0x04A10F33, // Projector x slot index + V_PROJECTOR_LOCATION = 0x04A105B3, // Projector scene location + V_PROJECTOR_ACTIVE = 0x12A10DB3, // Is the projecor projecting? // Inventory - V_HAS_NEEDLE = 0x31C63C51, // Has Klayman the needle? - V_HAS_FINAL_KEY = 0xC0780812, // Has Klayman the key from the diskplayer? - V_HAS_TEST_TUBE = 0x45080C38, -#if 0 -Arrays: -0x0800547C Water pipes water level (index equals pipe number; 0 to 4) -0x0090EA95 Has Klayman the key (index equals the key number; 0 to 2) -0x08D0AB11 Has Klayman inserted the key (index equals the key number; 0 to 2) -#endif + V_HAS_NEEDLE = 0x31C63C51, // Has Klayman the needle? + V_HAS_FINAL_KEY = 0xC0780812, // Has Klayman the key from the diskplayer? + V_HAS_TEST_TUBE = 0x45080C38, + // Arrays + // NOTE "GOOD" means the solution, "CURR" is the current setup of the puzzle variables + VA_IS_PUZZLE_INIT = 0x40050052, + VA_SMACKER_PLAYED = 0x00800410, + VA_CURR_CRYSTAL_COLORS = 0xE11A1929, + VA_GOOD_CRYSTAL_COLORS = 0xD4B2089C, + VA_GOOD_TEST_TUBES_LEVEL_1 = 0x0C601058, + VA_GOOD_TEST_TUBES_LEVEL_2 = 0x40005834, + VA_CURR_CANNON_SYMBOLS = 0x00000914, + VA_GOOD_CANNON_SYMBOLS_1 = 0x00504B86, + VA_GOOD_CANNON_SYMBOLS_2 = 0x0A4C0A9A, + VA_CURR_WATER_PIPES_LEVEL = 0x0800547C, + VA_GOOD_WATER_PIPES_LEVEL = 0x90405038, + VA_CURR_DICE_NUMBERS = 0x61084036, + VA_GOOD_DICE_NUMBERS = 0x7500993A, + VA_CURR_KEY_SLOT_NUMBERS = 0xA010B810, + VA_GOOD_KEY_SLOT_NUMBERS = 0x0C10A000, + VA_CUBE_POSITIONS = 0x484498D0, + VA_CODE_SYMBOLS = 0x04909A50, + VA_TILE_SYMBOLS = 0x0C65F80B, + VA_IS_TILE_MATCH = 0xCCE0280F, + VA_TNT_POSITIONS = 0x10055D14, + VA_DICE_MEMORY_SYMBOLS = 0x13100631, + VA_HAS_TAPE = 0x02038314, + VA_IS_TAPE_INSERTED = 0x02720344, + VA_HAS_KEY = 0x0090EA95, + VA_IS_KEY_INSERTED = 0x08D0AB11, + VA_LOCKS_DISABLED = 0x14800353, V_END_ }; diff --git a/engines/neverhood/klayman.cpp b/engines/neverhood/klayman.cpp index 0342b02f3c..8f0a94e52d 100644 --- a/engines/neverhood/klayman.cpp +++ b/engines/neverhood/klayman.cpp @@ -2090,9 +2090,9 @@ void Klayman::stInsertDisk() { _status2 = 2; _tapesToInsert = 0; for (uint32 i = 0; i < 20; i++) { - if (getSubVar(0x02038314, i)) { - setSubVar(0x02720344, i, 1); - setSubVar(0x02038314, i, 0); + if (getSubVar(VA_HAS_TAPE, i)) { + setSubVar(VA_IS_TAPE_INSERTED, i, 1); + setSubVar(VA_HAS_TAPE, i, 0); _tapesToInsert++; } } @@ -2496,18 +2496,18 @@ void Klayman::stInsertKey() { _status2 = 2; _keysToInsert = 0; for (uint32 i = 0; i < 3; i++) { - if (getSubVar(0x0090EA95, i)) { + if (getSubVar(VA_HAS_KEY, i)) { bool more; - setSubVar(0x08D0AB11, i, 1); - setSubVar(0x0090EA95, i, 0); + setSubVar(VA_IS_KEY_INSERTED, i, 1); + setSubVar(VA_HAS_KEY, i, 0); do { more = false; - setSubVar(0xA010B810, i, _vm->_rnd->getRandomNumber(16 - 1)); + setSubVar(VA_CURR_KEY_SLOT_NUMBERS, i, _vm->_rnd->getRandomNumber(16 - 1)); for (uint j = 0; j < i && !more; j++) { - if (getSubVar(0x08D0AB11, j) && getSubVar(0xA010B810, j) == getSubVar(0xA010B810, i)) + if (getSubVar(VA_IS_KEY_INSERTED, j) && getSubVar(VA_CURR_KEY_SLOT_NUMBERS, j) == getSubVar(VA_CURR_KEY_SLOT_NUMBERS, i)) more = true; } - if (getSubVar(0xA010B810, i) == getSubVar(0x0C10A000, i)) + if (getSubVar(VA_CURR_KEY_SLOT_NUMBERS, i) == getSubVar(VA_GOOD_KEY_SLOT_NUMBERS, i)) more = true; } while (more); _keysToInsert++; diff --git a/engines/neverhood/module1000.cpp b/engines/neverhood/module1000.cpp index 2c528429ea..6cae11a1f4 100644 --- a/engines/neverhood/module1000.cpp +++ b/engines/neverhood/module1000.cpp @@ -1779,11 +1779,11 @@ uint32 Scene1005::getTextIndex1() { else if (getGlobalVar(V_ROBOT_HIT)) { if (!getGlobalVar(V_ENTRANCE_OPEN)) textIndex = 23; - else if (!getSubVar(0x0090EA95, 0) && !getSubVar(0x08D0AB11, 0)) + else if (!getSubVar(VA_HAS_KEY, 0) && !getSubVar(VA_IS_KEY_INSERTED, 0)) textIndex = 24; else if (!getGlobalVar(V_HAS_FINAL_KEY)) textIndex = 26; - else if (!getSubVar(0x0090EA95, 1) && !getSubVar(0x08D0AB11, 1)) + else if (!getSubVar(VA_HAS_KEY, 1) && !getSubVar(VA_IS_KEY_INSERTED, 1)) textIndex = 27; else if (!getGlobalVar(V_HAS_FINAL_KEY)) textIndex = 28; @@ -1817,15 +1817,15 @@ uint32 Scene1005::getTextIndex1() { textIndex = 4; else if (!getGlobalVar(V_HAS_TEST_TUBE)) textIndex = 5; - else if (!getSubVar(0x14800353, 0x40119852)) + else if (!getSubVar(VA_LOCKS_DISABLED, 0x40119852)) textIndex = 6; else if (!getGlobalVar(V_WATER_RUNNING)) textIndex = 7; else if (!getGlobalVar(V_NOTES_PUZZLE_SOLVED)) textIndex = 8; - else if (!getSubVar(0x14800353, 0x304008D2)) + else if (!getSubVar(VA_LOCKS_DISABLED, 0x304008D2)) textIndex = 9; - else if (!getSubVar(0x14800353, 0x01180951)) + else if (!getSubVar(VA_LOCKS_DISABLED, 0x01180951)) textIndex = 10; else textIndex = 11; diff --git a/engines/neverhood/module1100.cpp b/engines/neverhood/module1100.cpp index 44fe70eb88..a3e092ba46 100644 --- a/engines/neverhood/module1100.cpp +++ b/engines/neverhood/module1100.cpp @@ -338,7 +338,7 @@ uint32 SsScene1105SymbolDie::handleMessage(int messageNum, const MessageParam &p } void SsScene1105SymbolDie::loadSymbolSprite() { - load(kSsScene1105SymbolDieFileHashes[getSubVar(0x61084036, _index)], true, false); + load(kSsScene1105SymbolDieFileHashes[getSubVar(VA_CURR_DICE_NUMBERS, _index)], true, false); _drawRect.x = -(_spriteResource.getDimensions().width / 2); _drawRect.y = -(_spriteResource.getDimensions().height / 2); StaticSprite::update(); @@ -502,9 +502,9 @@ uint32 Scene1105::handleMessage(int messageNum, const MessageParam ¶m, Entit break; case 0x4807: if (sender == _ssActionButton) { - if (getSubVar(0x7500993A, 0) == getSubVar(0x61084036, 0) && - getSubVar(0x7500993A, 1) == getSubVar(0x61084036, 1) && - getSubVar(0x7500993A, 2) == getSubVar(0x61084036, 2)) { + if (getSubVar(VA_GOOD_DICE_NUMBERS, 0) == getSubVar(VA_CURR_DICE_NUMBERS, 0) && + getSubVar(VA_GOOD_DICE_NUMBERS, 1) == getSubVar(VA_CURR_DICE_NUMBERS, 1) && + getSubVar(VA_GOOD_DICE_NUMBERS, 2) == getSubVar(VA_CURR_DICE_NUMBERS, 2)) { setGlobalVar(V_ROBOT_TARGET, 1); playSound(2); _flag3 = true; @@ -522,38 +522,38 @@ uint32 Scene1105::handleMessage(int messageNum, const MessageParam ¶m, Entit _flag1 = false; } else if (!getGlobalVar(V_ROBOT_TARGET)) { if (sender == _ssSymbol1UpButton) { - if (getSubVar(0x61084036, 0) < 9) { - incSubVar(0x61084036, 0, +1); + if (getSubVar(VA_CURR_DICE_NUMBERS, 0) < 9) { + incSubVar(VA_CURR_DICE_NUMBERS, 0, +1); sendMessage(_ssSymbol1UpButton, 0x480B, 0); sendMessage(_ssSymbolDice[0], 0x2000, 0); } } else if (sender == _ssSymbol1DownButton) { - if (getSubVar(0x61084036, 0) > 1) { - incSubVar(0x61084036, 0, -1); + if (getSubVar(VA_CURR_DICE_NUMBERS, 0) > 1) { + incSubVar(VA_CURR_DICE_NUMBERS, 0, -1); sendMessage(_ssSymbol1DownButton, 0x480B, 0); sendMessage(_ssSymbolDice[0], 0x2000, 0); } } else if (sender == _ssSymbol2UpButton) { - if (getSubVar(0x61084036, 1) < 9) { - incSubVar(0x61084036, 1, +1); + if (getSubVar(VA_CURR_DICE_NUMBERS, 1) < 9) { + incSubVar(VA_CURR_DICE_NUMBERS, 1, +1); sendMessage(_ssSymbol2UpButton, 0x480B, 0); sendMessage(_ssSymbolDice[1], 0x2000, 0); } } else if (sender == _ssSymbol2DownButton) { - if (getSubVar(0x61084036, 1) > 1) { - incSubVar(0x61084036, 1, -1); + if (getSubVar(VA_CURR_DICE_NUMBERS, 1) > 1) { + incSubVar(VA_CURR_DICE_NUMBERS, 1, -1); sendMessage(_ssSymbol2DownButton, 0x480B, 0); sendMessage(_ssSymbolDice[1], 0x2000, 0); } } else if (sender == _ssSymbol3UpButton) { - if (getSubVar(0x61084036, 2) < 9) { - incSubVar(0x61084036, 2, +1); + if (getSubVar(VA_CURR_DICE_NUMBERS, 2) < 9) { + incSubVar(VA_CURR_DICE_NUMBERS, 2, +1); sendMessage(_ssSymbol3UpButton, 0x480B, 0); sendMessage(_ssSymbolDice[2], 0x2000, 0); } } else if (sender == _ssSymbol3DownButton) { - if (getSubVar(0x61084036, 2) > 1) { - incSubVar(0x61084036, 2, -1); + if (getSubVar(VA_CURR_DICE_NUMBERS, 2) > 1) { + incSubVar(VA_CURR_DICE_NUMBERS, 2, -1); sendMessage(_ssSymbol3DownButton, 0x480B, 0); sendMessage(_ssSymbolDice[2], 0x2000, 0); } @@ -566,9 +566,9 @@ uint32 Scene1105::handleMessage(int messageNum, const MessageParam ¶m, Entit } void Scene1105::createObjects() { - _ssSymbols[0] = insertSprite(kScene1105FileHashes[getSubVar(0x13100631, 0)], 161, 304); - _ssSymbols[1] = insertSprite(kScene1105FileHashes[getSubVar(0x13100631, 1)], 294, 304); - _ssSymbols[2] = insertSprite(kScene1105FileHashes[getSubVar(0x13100631, 2)], 440, 304); + _ssSymbols[0] = insertSprite(kScene1105FileHashes[getSubVar(VA_DICE_MEMORY_SYMBOLS, 0)], 161, 304); + _ssSymbols[1] = insertSprite(kScene1105FileHashes[getSubVar(VA_DICE_MEMORY_SYMBOLS, 1)], 294, 304); + _ssSymbols[2] = insertSprite(kScene1105FileHashes[getSubVar(VA_DICE_MEMORY_SYMBOLS, 2)], 440, 304); _ssSymbolDice[0] = insertSprite(0, 206, 304); _ssSymbolDice[1] = insertSprite(1, 339, 304); @@ -651,9 +651,9 @@ void Scene1105::update() { // DEBUG: Show the correct code debug("(%d, %d) (%d, %d) (%d, %d)", - getSubVar(0x7500993A, 0), getSubVar(0x61084036, 0), - getSubVar(0x7500993A, 1), getSubVar(0x61084036, 1), - getSubVar(0x7500993A, 2), getSubVar(0x61084036, 2)); + getSubVar(VA_GOOD_DICE_NUMBERS, 0), getSubVar(VA_CURR_DICE_NUMBERS, 0), + getSubVar(VA_GOOD_DICE_NUMBERS, 1), getSubVar(VA_CURR_DICE_NUMBERS, 1), + getSubVar(VA_GOOD_DICE_NUMBERS, 2), getSubVar(VA_CURR_DICE_NUMBERS, 2)); Scene::update(); if (_countdown != 0 && (--_countdown == 0)) { diff --git a/engines/neverhood/module1200.cpp b/engines/neverhood/module1200.cpp index 041be6f8bd..99d15b970f 100644 --- a/engines/neverhood/module1200.cpp +++ b/engines/neverhood/module1200.cpp @@ -195,7 +195,7 @@ SsScene1201Tnt::SsScene1201Tnt(NeverhoodEngine *vm, uint32 elemIndex, uint32 poi AsScene1201Tape::AsScene1201Tape(NeverhoodEngine *vm, Scene *parentScene, uint32 nameHash, int surfacePriority, int16 x, int16 y, uint32 fileHash) : AnimatedSprite(vm, fileHash, surfacePriority, x, y), _parentScene(parentScene), _nameHash(nameHash) { - if (!getSubVar(0x02038314, _nameHash) && !getSubVar(0x02720344, _nameHash)) { + if (!getSubVar(VA_HAS_TAPE, _nameHash) && !getSubVar(VA_IS_TAPE_INSERTED, _nameHash)) { SetMessageHandler(&AsScene1201Tape::handleMessage); } else { setVisible(false); @@ -211,7 +211,7 @@ uint32 AsScene1201Tape::handleMessage(int messageNum, const MessageParam ¶m, messageResult = 1; break; case 0x4806: - setSubVar(0x02038314, _nameHash, 1); + setSubVar(VA_HAS_TAPE, _nameHash, 1); setVisible(false); SetMessageHandler(NULL); break; @@ -728,10 +728,10 @@ Scene1201::Scene1201(NeverhoodEngine *vm, Module *parentModule, int which) _surfaceFlag = true; - if (!getSubVar(0x40050052, 0xE8058B52)) { - setSubVar(0x40050052, 0xE8058B52, 1); + if (!getSubVar(VA_IS_PUZZLE_INIT, 0xE8058B52)) { + setSubVar(VA_IS_PUZZLE_INIT, 0xE8058B52, 1); for (uint32 index = 0; index < 18; index++) { - setSubVar(0x10055D14, index, kScene1201InitArray[index]); + setSubVar(VA_TNT_POSITIONS, index, kScene1201InitArray[index]); } } @@ -818,7 +818,7 @@ Scene1201::Scene1201(NeverhoodEngine *vm, Module *parentModule, int which) uint32 tntIndex = 1; while (tntIndex < 18) { - uint32 elemIndex = getSubVar(0x10055D14, tntIndex); + uint32 elemIndex = getSubVar(VA_TNT_POSITIONS, tntIndex); int16 clipY2; if (kScene1201PointArray[elemIndex].y < 175) clipY2 = topY1; @@ -826,15 +826,15 @@ Scene1201::Scene1201(NeverhoodEngine *vm, Module *parentModule, int which) clipY2 = topY2; else clipY2 = topY3; - insertSprite(tntIndex, getSubVar(0x10055D14, tntIndex), clipY2); - elemIndex = getSubVar(0x10055D14, tntIndex + 1); + insertSprite(tntIndex, getSubVar(VA_TNT_POSITIONS, tntIndex), clipY2); + elemIndex = getSubVar(VA_TNT_POSITIONS, tntIndex + 1); if (kScene1201PointArray[elemIndex].y < 175) clipY2 = topY1; else if (kScene1201PointArray[elemIndex].y < 230) clipY2 = topY2; else clipY2 = topY3; - insertSprite(tntIndex + 1, getSubVar(0x10055D14, tntIndex + 1), clipY2); + insertSprite(tntIndex + 1, getSubVar(VA_TNT_POSITIONS, tntIndex + 1), clipY2); tntIndex += 3; } @@ -850,7 +850,7 @@ Scene1201::Scene1201(NeverhoodEngine *vm, Module *parentModule, int which) uint32 tntIndex = 0; while (tntIndex < 18) { - uint32 elemIndex = getSubVar(0x10055D14, tntIndex); + uint32 elemIndex = getSubVar(VA_TNT_POSITIONS, tntIndex); int16 clipY2; if (kScene1201PointArray[elemIndex].x < 300) { clipY2 = 480; @@ -862,7 +862,7 @@ Scene1201::Scene1201(NeverhoodEngine *vm, Module *parentModule, int which) else clipY2 = topY3; } - insertSprite(tntIndex, getSubVar(0x10055D14, tntIndex), clipY2); + insertSprite(tntIndex, getSubVar(VA_TNT_POSITIONS, tntIndex), clipY2); tntIndex++; } @@ -1023,7 +1023,7 @@ AsScene1202TntItem::AsScene1202TntItem(NeverhoodEngine *vm, Scene *parentScene, SetUpdateHandler(&AnimatedSprite::update); SetMessageHandler(&AsScene1202TntItem::hmShowIdle); - positionIndex = getSubVar(0x10055D14, _itemIndex); + positionIndex = getSubVar(VA_TNT_POSITIONS, _itemIndex); createSurface(900, 37, 67); _x = kScene1202Points[positionIndex].x; _y = kScene1202Points[positionIndex].y; @@ -1139,11 +1139,11 @@ void Scene1202::update() { _soundFlag = true; } else if (_clickedIndex >= 0 && _counter == 0) { int destIndex = kScene1202Table[_clickedIndex]; - sendMessage(_asTntItems[_clickedIndex], 0x2001, getSubVar(0x10055D14, destIndex)); - sendMessage(_asTntItems[destIndex], 0x2001, getSubVar(0x10055D14, _clickedIndex)); - int temp = getSubVar(0x10055D14, destIndex); - setSubVar(0x10055D14, destIndex, getSubVar(0x10055D14, _clickedIndex)); - setSubVar(0x10055D14, _clickedIndex, temp); + sendMessage(_asTntItems[_clickedIndex], 0x2001, getSubVar(VA_TNT_POSITIONS, destIndex)); + sendMessage(_asTntItems[destIndex], 0x2001, getSubVar(VA_TNT_POSITIONS, _clickedIndex)); + int temp = getSubVar(VA_TNT_POSITIONS, destIndex); + setSubVar(VA_TNT_POSITIONS, destIndex, getSubVar(VA_TNT_POSITIONS, _clickedIndex)); + setSubVar(VA_TNT_POSITIONS, _clickedIndex, temp); _counter = 2; _clickedIndex = -1; if (_flag) { @@ -1196,14 +1196,14 @@ uint32 Scene1202::hmSolved(int messageNum, const MessageParam ¶m, Entity *se bool Scene1202::isSolved() { debug("isSolved() %d %d %d %d %d %d", - getSubVar(0x10055D14, 0), getSubVar(0x10055D14, 3), - getSubVar(0x10055D14, 6), getSubVar(0x10055D14, 9), - getSubVar(0x10055D14, 12), getSubVar(0x10055D14, 15)); + getSubVar(VA_TNT_POSITIONS, 0), getSubVar(VA_TNT_POSITIONS, 3), + getSubVar(VA_TNT_POSITIONS, 6), getSubVar(VA_TNT_POSITIONS, 9), + getSubVar(VA_TNT_POSITIONS, 12), getSubVar(VA_TNT_POSITIONS, 15)); return - getSubVar(0x10055D14, 0) == 0 && getSubVar(0x10055D14, 3) == 3 && - getSubVar(0x10055D14, 6) == 6 && getSubVar(0x10055D14, 9) == 9 && - getSubVar(0x10055D14, 12) == 12 && getSubVar(0x10055D14, 15) == 15; + getSubVar(VA_TNT_POSITIONS, 0) == 0 && getSubVar(VA_TNT_POSITIONS, 3) == 3 && + getSubVar(VA_TNT_POSITIONS, 6) == 6 && getSubVar(VA_TNT_POSITIONS, 9) == 9 && + getSubVar(VA_TNT_POSITIONS, 12) == 12 && getSubVar(VA_TNT_POSITIONS, 15) == 15; } void Scene1202::doPaletteEffect() { diff --git a/engines/neverhood/module1300.cpp b/engines/neverhood/module1300.cpp index e8cc843b78..978eb03cc8 100644 --- a/engines/neverhood/module1300.cpp +++ b/engines/neverhood/module1300.cpp @@ -1115,12 +1115,12 @@ AsScene1307Key::AsScene1307Key(NeverhoodEngine *vm, Scene *parentScene, uint ind _dataResource.load(0x22102142); _pointList = _dataResource.getPointArray(0xAC849240); - pt = (*_pointList)[getSubVar(0xA010B810, _index)]; + pt = (*_pointList)[getSubVar(VA_CURR_KEY_SLOT_NUMBERS, _index)]; _x = pt.x; _y = pt.y; - // TODO createSurface3(kAsScene1307KeySurfacePriorities[getSubVar(0xA010B810, _index) % 4], fileHashes); - createSurface(kAsScene1307KeySurfacePriorities[getSubVar(0xA010B810, _index) % 4], 640, 480); //TODO: Remeove once the line above is done + // TODO createSurface3(kAsScene1307KeySurfacePriorities[getSubVar(VA_CURR_KEY_SLOT_NUMBERS, _index) % 4], fileHashes); + createSurface(kAsScene1307KeySurfacePriorities[getSubVar(VA_CURR_KEY_SLOT_NUMBERS, _index) % 4], 640, 480); //TODO: Remeove once the line above is done SetUpdateHandler(&AnimatedSprite::update); SetMessageHandler(&AsScene1307Key::handleMessage); @@ -1148,7 +1148,7 @@ uint32 AsScene1307Key::handleMessage(int messageNum, const MessageParam ¶m, _isClickable = param.asInteger() != 0; break; case 0x2001: - setSubVar(0xA010B810, _index, param.asInteger()); + setSubVar(VA_CURR_KEY_SLOT_NUMBERS, _index, param.asInteger()); stMoveKey(); break; case 0x2003: @@ -1196,7 +1196,7 @@ void AsScene1307Key::suMoveKey() { processDelta(); _pointIndex++; } else { - NPoint pt = (*_pointList)[getSubVar(0xA010B810, _index)]; + NPoint pt = (*_pointList)[getSubVar(VA_CURR_KEY_SLOT_NUMBERS, _index)]; _x = pt.x + kAsScene1307KeyXDelta; _y = pt.y + kAsScene1307KeyYDelta; stInsertKey(); @@ -1213,14 +1213,14 @@ void AsScene1307Key::stRemoveKey() { void AsScene1307Key::stInsertKey() { _pointIndex = 0; - sendMessage(_parentScene, 0x1022, kAsScene1307KeySurfacePriorities[getSubVar(0xA010B810, _index) % 4]); - setClipRect(_clipRects[getSubVar(0xA010B810, _index) % 4]); + sendMessage(_parentScene, 0x1022, kAsScene1307KeySurfacePriorities[getSubVar(VA_CURR_KEY_SLOT_NUMBERS, _index) % 4]); + setClipRect(_clipRects[getSubVar(VA_CURR_KEY_SLOT_NUMBERS, _index) % 4]); SetSpriteUpdate(&AsScene1307Key::suInsertKey); _newStickFrameIndex = -2; } void AsScene1307Key::stMoveKey() { - NPoint pt = (*_pointList)[getSubVar(0xA010B810, _index)]; + NPoint pt = (*_pointList)[getSubVar(VA_CURR_KEY_SLOT_NUMBERS, _index)]; int16 newX = pt.x + kAsScene1307KeyXDelta; int16 newY = pt.y + kAsScene1307KeyYDelta; sendMessage(_parentScene, 0x1022, 1000); @@ -1257,9 +1257,9 @@ Scene1307::Scene1307(NeverhoodEngine *vm, Module *parentModule, int which) _isInsertingKey(false), _doLeaveScene(false), _isPuzzleSolved(false) { //DEBUG>>> - setSubVar(0x08D0AB11, 0, 1); - setSubVar(0x08D0AB11, 1, 1); - setSubVar(0x08D0AB11, 2, 1); + setSubVar(VA_IS_KEY_INSERTED, 0, 1); + setSubVar(VA_IS_KEY_INSERTED, 1, 1); + setSubVar(VA_IS_KEY_INSERTED, 2, 1); //DEBUG<<< Sprite *tempSprite; @@ -1299,7 +1299,7 @@ Scene1307::Scene1307(NeverhoodEngine *vm, Module *parentModule, int which) _clipRects[3].set(tempSprite->getDrawRect().x, 0, 640, 480); for (uint keyIndex = 0; keyIndex < 3; keyIndex++) { - if (getSubVar(0x08D0AB11, keyIndex)) { + if (getSubVar(VA_IS_KEY_INSERTED, keyIndex)) { _asKeys[keyIndex] = insertSprite(this, keyIndex, _clipRects); _vm->_collisionMan->addSprite(_asKeys[keyIndex]); } else { @@ -1345,8 +1345,8 @@ uint32 Scene1307::handleMessage(int messageNum, const MessageParam ¶m, Entit // Check if the clicked keyhole is already occupied with a key bool occupied = false; for (uint keyIndex = 0; keyIndex < 3 && !occupied; keyIndex++) { - if (getSubVar(0x08D0AB11, keyIndex) && _asKeys[keyIndex] != _asCurrKey) { - if (getSubVar(0xA010B810, keyIndex) == clickedKeyHoleIndex) + if (getSubVar(VA_IS_KEY_INSERTED, keyIndex) && _asKeys[keyIndex] != _asCurrKey) { + if (getSubVar(VA_CURR_KEY_SLOT_NUMBERS, keyIndex) == clickedKeyHoleIndex) occupied = true; } } @@ -1366,9 +1366,9 @@ uint32 Scene1307::handleMessage(int messageNum, const MessageParam ¶m, Entit // TODO Debug stuff case 0x2002: // Check if all keys are in the correct keyholes - if (getSubVar(0x08D0AB11, 0) && getSubVar(0xA010B810, 0) == getSubVar(0x0C10A000, 0) && - getSubVar(0x08D0AB11, 1) && getSubVar(0xA010B810, 1) == getSubVar(0x0C10A000, 1) && - getSubVar(0x08D0AB11, 2) && getSubVar(0xA010B810, 2) == getSubVar(0x0C10A000, 2)) { + if (getSubVar(VA_IS_KEY_INSERTED, 0) && getSubVar(VA_CURR_KEY_SLOT_NUMBERS, 0) == getSubVar(VA_GOOD_KEY_SLOT_NUMBERS, 0) && + getSubVar(VA_IS_KEY_INSERTED, 1) && getSubVar(VA_CURR_KEY_SLOT_NUMBERS, 1) == getSubVar(VA_GOOD_KEY_SLOT_NUMBERS, 1) && + getSubVar(VA_IS_KEY_INSERTED, 2) && getSubVar(VA_CURR_KEY_SLOT_NUMBERS, 2) == getSubVar(VA_GOOD_KEY_SLOT_NUMBERS, 2)) { // Play unlock animations for all keys for (uint keyIndex = 0; keyIndex < 3; keyIndex++) { if (_asKeys[keyIndex]) @@ -1378,11 +1378,9 @@ uint32 Scene1307::handleMessage(int messageNum, const MessageParam ¶m, Entit _isPuzzleSolved = true; _countdown = 47; } else { - for (uint keyIndex = 0; keyIndex < 3; keyIndex++) { - if (getSubVar(0x08D0AB11, keyIndex) && _asKeys[keyIndex]) { + for (uint keyIndex = 0; keyIndex < 3; keyIndex++) + if (getSubVar(VA_IS_KEY_INSERTED, keyIndex) && _asKeys[keyIndex]) sendMessage(_asKeys[keyIndex], 0x2000, 1); - } - } sendMessage(_asCurrKey, 0x2004, 1); } _asCurrKey = NULL; @@ -1390,11 +1388,9 @@ uint32 Scene1307::handleMessage(int messageNum, const MessageParam ¶m, Entit break; case 0x4826: _asCurrKey = (Sprite*)sender; - for (uint keyIndex = 0; keyIndex < 3; keyIndex++) { - if (getSubVar(0x08D0AB11, keyIndex) && _asKeys[keyIndex]) { + for (uint keyIndex = 0; keyIndex < 3; keyIndex++) + if (getSubVar(VA_IS_KEY_INSERTED, keyIndex) && _asKeys[keyIndex]) sendMessage(_asKeys[keyIndex], 0x2000, 0); - } - } break; } return messageResult; @@ -1602,9 +1598,9 @@ Scene1308::Scene1308(NeverhoodEngine *vm, Module *parentModule, int which) _asJaggyDoor = insertSprite(this); _asLightWallSymbols = insertSprite(this); - _ssNumber1 = insertSprite(kScene1308NumberFileHashes[getSubVar(0x0C10A000, 1)], 0); - _ssNumber2 = insertSprite(kScene1308NumberFileHashes[getSubVar(0x0C10A000, 0)], 1); - _ssNumber3 = insertSprite(kScene1308NumberFileHashes[getSubVar(0x0C10A000, 2)], 2); + _ssNumber1 = insertSprite(kScene1308NumberFileHashes[getSubVar(VA_GOOD_KEY_SLOT_NUMBERS, 1)], 0); + _ssNumber2 = insertSprite(kScene1308NumberFileHashes[getSubVar(VA_GOOD_KEY_SLOT_NUMBERS, 0)], 1); + _ssNumber3 = insertSprite(kScene1308NumberFileHashes[getSubVar(VA_GOOD_KEY_SLOT_NUMBERS, 2)], 2); _sprite2 = insertStaticSprite(0x40043120, 995); _sprite3 = insertStaticSprite(0x43003100, 995); diff --git a/engines/neverhood/module1400.cpp b/engines/neverhood/module1400.cpp index d207428d80..eb8f4fed87 100644 --- a/engines/neverhood/module1400.cpp +++ b/engines/neverhood/module1400.cpp @@ -1547,15 +1547,15 @@ AsScene1405Tile::AsScene1405Tile(NeverhoodEngine *vm, Scene1405 *parentScene, ui _y = kAsScene1405TileItemPositions[_tileIndex].y; createSurface1(0x844B805C, 1100); setVisible(false); - if (getSubVar(0xCCE0280F, _tileIndex)) + if (getSubVar(VA_IS_TILE_MATCH, _tileIndex)) _countdown = _vm->_rnd->getRandomNumber(36 - 1) + 1; SetUpdateHandler(&AsScene1405Tile::update); SetMessageHandler(&AsScene1405Tile::handleMessage); - debug("getSubVar(0x0C65F80B, _tileIndex) = %d", getSubVar(0x0C65F80B, _tileIndex)); + debug("getSubVar(VA_TILE_SYMBOLS, _tileIndex) = %d", getSubVar(VA_TILE_SYMBOLS, _tileIndex)); - startAnimation(0x844B805C, getSubVar(0x0C65F80B, _tileIndex), -1); - _newStickFrameIndex = (int16)getSubVar(0x0C65F80B, _tileIndex); + startAnimation(0x844B805C, getSubVar(VA_TILE_SYMBOLS, _tileIndex), -1); + _newStickFrameIndex = (int16)getSubVar(VA_TILE_SYMBOLS, _tileIndex); } void AsScene1405Tile::update() { @@ -1570,7 +1570,7 @@ uint32 AsScene1405Tile::handleMessage(int messageNum, const MessageParam ¶m, uint32 messageResult = Sprite::handleMessage(messageNum, param, sender); switch (messageNum) { case 0x1011: - if (getSubVar(0xCCE0280F, _tileIndex) == 0 && _parentScene->getCountdown() == 0) { + if (getSubVar(VA_IS_TILE_MATCH, _tileIndex) == 0 && _parentScene->getCountdown() == 0) { show(); sendMessage(_parentScene, 0x2000, _tileIndex); } @@ -1609,12 +1609,12 @@ Scene1405::Scene1405(NeverhoodEngine *vm, Module *parentModule, int which) // DEBUG>>> // TODO: Some debug code: Leave two matching tiles open for (int i = 0; i < 48; i++) - setSubVar(0xCCE0280F, i, 1); + setSubVar(VA_IS_TILE_MATCH, i, 1); int debugIndex = 0; - setSubVar(0xCCE0280F, debugIndex, 0); + setSubVar(VA_IS_TILE_MATCH, debugIndex, 0); for (int i = 0; i < 48; i++) { - if (i != debugIndex && getSubVar(0x0C65F80B, i) == getSubVar(0x0C65F80B, debugIndex)) { - setSubVar(0xCCE0280F, i, 0); + if (i != debugIndex && getSubVar(VA_TILE_SYMBOLS, i) == getSubVar(VA_TILE_SYMBOLS, debugIndex)) { + setSubVar(VA_IS_TILE_MATCH, i, 0); break; } } @@ -1623,7 +1623,7 @@ Scene1405::Scene1405(NeverhoodEngine *vm, Module *parentModule, int which) for (uint32 tileIndex = 0; tileIndex < 48; tileIndex++) { _tiles[tileIndex] = insertSprite(this, tileIndex); _vm->_collisionMan->addSprite(_tiles[tileIndex]); - if (getSubVar(0xCCE0280F, tileIndex)) + if (getSubVar(VA_IS_TILE_MATCH, tileIndex)) _tilesLeft--; } @@ -1641,9 +1641,9 @@ void Scene1405::update() { _tiles[_firstTileIndex]->hide(); _tiles[_secondTileIndex]->hide(); for (uint32 i = 0; i < 48; i++) { - if (getSubVar(0xCCE0280F, i)) { + if (getSubVar(VA_IS_TILE_MATCH, i)) { _tiles[i]->hide(); - setSubVar(0xCCE0280F, i, 0); + setSubVar(VA_IS_TILE_MATCH, i, 0); } } } @@ -1669,9 +1669,9 @@ uint32 Scene1405::handleMessage(int messageNum, const MessageParam ¶m, Entit _secondTileIndex = param.asInteger(); if (_firstTileIndex != _secondTileIndex) { _selectFirstTile = true; - if (getSubVar(0x0C65F80B, _secondTileIndex) == getSubVar(0x0C65F80B, _firstTileIndex)) { - setSubVar(0xCCE0280F, _firstTileIndex, 1); - setSubVar(0xCCE0280F, _secondTileIndex, 1); + if (getSubVar(VA_TILE_SYMBOLS, _secondTileIndex) == getSubVar(VA_TILE_SYMBOLS, _firstTileIndex)) { + setSubVar(VA_IS_TILE_MATCH, _firstTileIndex, 1); + setSubVar(VA_IS_TILE_MATCH, _secondTileIndex, 1); _tilesLeft -= 2; if (_tilesLeft == 0) { playSound(0); diff --git a/engines/neverhood/module1600.cpp b/engines/neverhood/module1600.cpp index f45f87faca..22ffaf64ff 100644 --- a/engines/neverhood/module1600.cpp +++ b/engines/neverhood/module1600.cpp @@ -1415,7 +1415,7 @@ void Scene1609::update() { _currentSymbolIndex++; if (_currentSymbolIndex >= 12) _currentSymbolIndex = 0; - _asSymbols[_symbolPosition]->change(_currentSymbolIndex + 12, _currentSymbolIndex == (int)getSubVar(0x04909A50, _noisySymbolIndex)); + _asSymbols[_symbolPosition]->change(_currentSymbolIndex + 12, _currentSymbolIndex == (int)getSubVar(VA_CODE_SYMBOLS, _noisySymbolIndex)); _changeCurrentSymbol = false; _countdown1 = 36; } else { @@ -1468,12 +1468,12 @@ bool Scene1609::testVars() { int cmpSymbolIndex = 0; // Find the position of the first symbol - while ((int)getSubVar(0x04909A50, cmpSymbolIndex) != _asSymbols[0]->getSymbolIndex()) + while ((int)getSubVar(VA_CODE_SYMBOLS, cmpSymbolIndex) != _asSymbols[0]->getSymbolIndex()) cmpSymbolIndex++; // Check if the entered symbols match for (int enteredSymbolIndex = 0; enteredSymbolIndex < 12; enteredSymbolIndex++) { - if ((int)getSubVar(0x04909A50, cmpSymbolIndex) != _asSymbols[enteredSymbolIndex]->getSymbolIndex()) + if ((int)getSubVar(VA_CODE_SYMBOLS, cmpSymbolIndex) != _asSymbols[enteredSymbolIndex]->getSymbolIndex()) return false; cmpSymbolIndex++; if (cmpSymbolIndex >= 12) diff --git a/engines/neverhood/module1700.cpp b/engines/neverhood/module1700.cpp index f6d140b904..adbd853664 100644 --- a/engines/neverhood/module1700.cpp +++ b/engines/neverhood/module1700.cpp @@ -151,7 +151,7 @@ SsScene1705WallSymbol::SsScene1705WallSymbol(NeverhoodEngine *vm, uint32 fileHas 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, _tapeIndex) && !getSubVar(0x02720344, _tapeIndex)) { + if (!getSubVar(VA_HAS_TAPE, _tapeIndex) && !getSubVar(VA_IS_TAPE_INSERTED, _tapeIndex)) { SetMessageHandler(&SsScene1705Tape::handleMessage); } else { setVisible(false); @@ -173,7 +173,7 @@ uint32 SsScene1705Tape::handleMessage(int messageNum, const MessageParam ¶m, messageResult = 1; break; case 0x4806: - setSubVar(0x02038314, _tapeIndex, 1); + setSubVar(VA_HAS_TAPE, _tapeIndex, 1); setVisible(false); SetMessageHandler(NULL); break; @@ -205,9 +205,9 @@ Scene1705::Scene1705(NeverhoodEngine *vm, Module *parentModule, int which) insertMouse433(0x18222039); - insertSprite(kScene1705FileHashes[getSubVar(0x0A4C0A9A, 0)], 0); - insertSprite(kScene1705FileHashes[getSubVar(0x0A4C0A9A, 1)], 1); - insertSprite(kScene1705FileHashes[getSubVar(0x0A4C0A9A, 2)], 2); + insertSprite(kScene1705FileHashes[getSubVar(VA_GOOD_CANNON_SYMBOLS_2, 0)], 0); + insertSprite(kScene1705FileHashes[getSubVar(VA_GOOD_CANNON_SYMBOLS_2, 1)], 1); + insertSprite(kScene1705FileHashes[getSubVar(VA_GOOD_CANNON_SYMBOLS_2, 2)], 2); _sprite = insertStaticSprite(0x31313A22, 1100); diff --git a/engines/neverhood/module2200.cpp b/engines/neverhood/module2200.cpp index 503a1d37c0..20a8559aae 100644 --- a/engines/neverhood/module2200.cpp +++ b/engines/neverhood/module2200.cpp @@ -504,7 +504,7 @@ Scene2201::Scene2201(NeverhoodEngine *vm, Module *parentModule, int which) Sprite *tempSprite; - if (!getSubVar(0x40050052, 0x60400854)) { + if (!getSubVar(VA_IS_PUZZLE_INIT, 0x60400854)) { // TODO _vm->gameModule()->initScene2201Vars(); } @@ -525,8 +525,8 @@ Scene2201::Scene2201(NeverhoodEngine *vm, Module *parentModule, int which) _ssDoorButton = insertSprite(this, 0xE4A43E29, 0xE4A43E29, 100, 0); for (uint32 cubeIndex = 0; cubeIndex < 9; cubeIndex++) - if ((int16)getSubVar(0x484498D0, cubeIndex) >= 0) - insertSprite(cubeIndex, (int16)getSubVar(0x484498D0, cubeIndex)); + if ((int16)getSubVar(VA_CUBE_POSITIONS, cubeIndex) >= 0) + insertSprite(cubeIndex, (int16)getSubVar(VA_CUBE_POSITIONS, cubeIndex)); _clipRects[0].y1 = 0; _clipRects[0].x2 = 640; @@ -799,8 +799,8 @@ void SsScene2202PuzzleTile::moveTile(int16 newTileIndex) { _drawRect.height = _spriteResource.getDimensions().height; _needRefresh = true; - setSubVar(0x484498D0, _tileIndex, (uint32)-1); - setSubVar(0x484498D0, newTileIndex, (uint32)_value); + setSubVar(VA_CUBE_POSITIONS, _tileIndex, (uint32)-1); + setSubVar(VA_CUBE_POSITIONS, newTileIndex, (uint32)_value); _tileIndex = newTileIndex; @@ -901,11 +901,11 @@ Scene2202::Scene2202(NeverhoodEngine *vm, Module *parentModule, int which) //DEBUG>>> for (uint32 index = 0; index < 9; index++) - setSubVar(0x484498D0, index, 7 - index); + setSubVar(VA_CUBE_POSITIONS, index, 7 - index); //DEBUG<<< for (uint32 index = 0; index < 9; index++) { - int16 value = (int16)getSubVar(0x484498D0, index); + int16 value = (int16)getSubVar(VA_CUBE_POSITIONS, index); if (value >= 0) { Sprite *puzzleTileSprite = insertSprite(this, index, value); _vm->_collisionMan->addSprite(puzzleTileSprite); @@ -995,13 +995,13 @@ uint32 Scene2202::handleMessage(int messageNum, const MessageParam ¶m, Entit } int16 Scene2202::getFreeTileIndex(int16 index) { - if (index >= 3 && (int16)getSubVar(0x484498D0, index - 3) == -1) { + if (index >= 3 && (int16)getSubVar(VA_CUBE_POSITIONS, index - 3) == -1) { return index - 3; - } else if (index <= 5 && (int16)getSubVar(0x484498D0, index + 3) == -1) { + } else if (index <= 5 && (int16)getSubVar(VA_CUBE_POSITIONS, index + 3) == -1) { return index + 3; - } else if (index != 0 && index != 3 && index != 6 && (int16)getSubVar(0x484498D0, index - 1) == -1) { + } else if (index != 0 && index != 3 && index != 6 && (int16)getSubVar(VA_CUBE_POSITIONS, index - 1) == -1) { return index - 1; - } else if (index != 2 && index != 5 && index != 8 && (int16)getSubVar(0x484498D0, index + 1) == -1) { + } else if (index != 2 && index != 5 && index != 8 && (int16)getSubVar(VA_CUBE_POSITIONS, index + 1) == -1) { return index + 1; } else return -1; @@ -1009,13 +1009,13 @@ int16 Scene2202::getFreeTileIndex(int16 index) { bool Scene2202::testIsSolved() { return - getSubVar(0x484498D0, 0) == 0 && - getSubVar(0x484498D0, 2) == 2 && - getSubVar(0x484498D0, 3) == 3 && - getSubVar(0x484498D0, 4) == 4 && - getSubVar(0x484498D0, 5) == 5 && - getSubVar(0x484498D0, 6) == 6 && - getSubVar(0x484498D0, 8) == 7; + getSubVar(VA_CUBE_POSITIONS, 0) == 0 && + getSubVar(VA_CUBE_POSITIONS, 2) == 2 && + getSubVar(VA_CUBE_POSITIONS, 3) == 3 && + getSubVar(VA_CUBE_POSITIONS, 4) == 4 && + getSubVar(VA_CUBE_POSITIONS, 5) == 5 && + getSubVar(VA_CUBE_POSITIONS, 6) == 6 && + getSubVar(VA_CUBE_POSITIONS, 8) == 7; } static const uint32 kAsCommonKeyFileHashes[] = { @@ -1025,7 +1025,7 @@ static const uint32 kAsCommonKeyFileHashes[] = { AsCommonKey::AsCommonKey(NeverhoodEngine *vm, Scene *parentScene, int keyIndex, int surfacePriority, int16 x, int16 y) : AnimatedSprite(vm, kAsCommonKeyFileHashes[keyIndex], surfacePriority, x, y), _parentScene(parentScene), _keyIndex(keyIndex) { - if (!getSubVar(0x0090EA95, _keyIndex) && !getSubVar(0x08D0AB11, _keyIndex)) { + if (!getSubVar(VA_HAS_KEY, _keyIndex) && !getSubVar(VA_IS_KEY_INSERTED, _keyIndex)) { SetMessageHandler(&AsCommonKey::handleMessage); } else { // If Klayman already has the key or it's already inserted then don't show it @@ -1042,7 +1042,7 @@ uint32 AsCommonKey::handleMessage(int messageNum, const MessageParam ¶m, Ent messageResult = 1; break; case 0x4806: - setSubVar(0x0090EA95, _keyIndex, 1); + setSubVar(VA_HAS_KEY, _keyIndex, 1); setVisible(false); SetMessageHandler(NULL); } @@ -2017,8 +2017,8 @@ Scene2207::Scene2207(NeverhoodEngine *vm, Module *parentModule, int which) _vm->gameModule()->initScene3009Vars(); - if (!getSubVar(0x40050052, 0x88460852)) - setSubVar(0x40050052, 0x88460852, 1); + if (!getSubVar(VA_IS_PUZZLE_INIT, 0x88460852)) + setSubVar(VA_IS_PUZZLE_INIT, 0x88460852, 1); SetMessageHandler(&Scene2207::handleMessage); SetUpdateHandler(&Scene2207::update); @@ -2069,9 +2069,9 @@ Scene2207::Scene2207(NeverhoodEngine *vm, Module *parentModule, int which) _ssMaskPart1 = insertStaticSprite(0x980E46A4, 1200); - insertSprite(kScene2207FileHashes[getSubVar(0x00504B86, 0)], 0); - insertSprite(kScene2207FileHashes[getSubVar(0x00504B86, 1)], 1); - insertSprite(kScene2207FileHashes[getSubVar(0x00504B86, 2)], 2); + insertSprite(kScene2207FileHashes[getSubVar(VA_GOOD_CANNON_SYMBOLS_1, 0)], 0); + insertSprite(kScene2207FileHashes[getSubVar(VA_GOOD_CANNON_SYMBOLS_1, 1)], 1); + insertSprite(kScene2207FileHashes[getSubVar(VA_GOOD_CANNON_SYMBOLS_1, 2)], 2); _asTape = NULL; _asLever = NULL; @@ -2162,11 +2162,11 @@ uint32 Scene2207::handleMessage(int messageNum, const MessageParam ¶m, Entit break; case 0x480B: if (sender == _ssButton) { - if (getSubVar(0x14800353, 0x40119852)) { - setSubVar(0x14800353, 0x40119852, 0); + if (getSubVar(VA_LOCKS_DISABLED, 0x40119852)) { + setSubVar(VA_LOCKS_DISABLED, 0x40119852, 0); playSound(0, calcHash("fx3LocksDisable")); } else { - setSubVar(0x14800353, 0x40119852, 1); + setSubVar(VA_LOCKS_DISABLED, 0x40119852, 1); playSound(1); } } diff --git a/engines/neverhood/module2400.cpp b/engines/neverhood/module2400.cpp index 4e8d26d3a7..d29330f9ca 100644 --- a/engines/neverhood/module2400.cpp +++ b/engines/neverhood/module2400.cpp @@ -222,7 +222,7 @@ uint32 AsScene2401WaterSpit::handleMessage(int messageNum, const MessageParam &p case 0x2000: _x = 240; _y = 447; - _soundIndex = getSubVar(0x0800547C, param.asInteger()); + _soundIndex = getSubVar(VA_CURR_WATER_PIPES_LEVEL, param.asInteger()); playSound(0, 0x48640244); startAnimation(kAsScene2401WaterSpitFileHashes2[param.asInteger()], 0, -1); setVisible(true); @@ -448,9 +448,9 @@ void Scene2401::update() { if (_pipeStatus >= 10) { bool puzzleSolved = true, waterInside = false; for (uint i = 0; i < 5; i++) { - if (getSubVar(0x0800547C, i) != getSubVar(0x90405038, i)) + if (getSubVar(VA_CURR_WATER_PIPES_LEVEL, i) != getSubVar(VA_GOOD_WATER_PIPES_LEVEL, i)) puzzleSolved = false; - if (getSubVar(0x0800547C, i) != 0) + if (getSubVar(VA_CURR_WATER_PIPES_LEVEL, i) != 0) waterInside = true; } if (puzzleSolved) { @@ -460,18 +460,18 @@ void Scene2401::update() { } else if (waterInside) { playPipeSound(0xD0431020); for (uint i = 0; i < 5; i++) { - sendMessage(_asWaterFlushing[i], 0x2002, getSubVar(0x0800547C, i)); - setSubVar(0x0800547C, i, 0); + sendMessage(_asWaterFlushing[i], 0x2002, getSubVar(VA_CURR_WATER_PIPES_LEVEL, i)); + setSubVar(VA_CURR_WATER_PIPES_LEVEL, i, 0); } } } else if (_pipeStatus >= 5) { _ssWaterPipes[_pipeStatus]->setVisible(true); _countdown1 = 8; - playPipeSound(kScene2401FileHashes3[getSubVar(0x0800547C, _pipeStatus - 5)]); + playPipeSound(kScene2401FileHashes3[getSubVar(VA_CURR_WATER_PIPES_LEVEL, _pipeStatus - 5)]); } else { _ssWaterPipes[_pipeStatus]->setVisible(true); _countdown1 = _pipeStatus == 4 ? 16 : 8; - playPipeSound(kScene2401FileHashes3[getSubVar(0x90405038, _pipeStatus)]); + playPipeSound(kScene2401FileHashes3[getSubVar(VA_GOOD_WATER_PIPES_LEVEL, _pipeStatus)]); } _pipeStatus++; } @@ -534,9 +534,9 @@ uint32 Scene2401::handleMessage(int messageNum, const MessageParam ¶m, Entit case 0x2001: sendMessage(_asWaterSpit[_asWaterSpitIndex], 0x2000, param.asInteger()); _asWaterSpitIndex = (_asWaterSpitIndex + 1) & 1; - incSubVar(0x0800547C, param.asInteger(), 1); - if (getSubVar(0x0800547C, param.asInteger()) >= 5) - setSubVar(0x0800547C, param.asInteger(), 4); + incSubVar(VA_CURR_WATER_PIPES_LEVEL, param.asInteger(), 1); + if (getSubVar(VA_CURR_WATER_PIPES_LEVEL, param.asInteger()) >= 5) + setSubVar(VA_CURR_WATER_PIPES_LEVEL, param.asInteger(), 4); break; case 0x480B: if (sender == _ssButton) { @@ -771,10 +771,10 @@ void Scene2402::update() { _ssDoorFrame->update(); } else if (_pipeStatus >= 5) { _countdown = 8; - playPipeSound(kScene2402FileHashes[getSubVar(0x0800547C, _pipeStatus - 5)]); + playPipeSound(kScene2402FileHashes[getSubVar(VA_CURR_WATER_PIPES_LEVEL, _pipeStatus - 5)]); } else { _countdown = _pipeStatus == 4 ? 16 : 8; - playPipeSound(kScene2402FileHashes[getSubVar(0x90405038, _pipeStatus)]); + playPipeSound(kScene2402FileHashes[getSubVar(VA_GOOD_WATER_PIPES_LEVEL, _pipeStatus)]); } _pipeStatus++; } @@ -892,11 +892,11 @@ uint32 Scene2403::handleMessage(int messageNum, const MessageParam ¶m, Entit break; case 0x480B: if (sender == _ssButton) { - if (getSubVar(0x14800353, 0x304008D2)) { - setSubVar(0x14800353, 0x304008D2, 0); + if (getSubVar(VA_LOCKS_DISABLED, 0x304008D2)) { + setSubVar(VA_LOCKS_DISABLED, 0x304008D2, 0); playSound(0, calcHash("fx3LocksDisable")); } else { - setSubVar(0x14800353, 0x304008D2, 1); + setSubVar(VA_LOCKS_DISABLED, 0x304008D2, 1); playSound(1); } } diff --git a/engines/neverhood/module2500.cpp b/engines/neverhood/module2500.cpp index d6840a3f65..0a14fb65a3 100644 --- a/engines/neverhood/module2500.cpp +++ b/engines/neverhood/module2500.cpp @@ -516,7 +516,7 @@ void SsScene2504Button::update() { _isSoundPlaying = false; } if (_countdown != 0 && (--_countdown) == 0) { - if (getSubVar(0x14800353, 0x01180951)) { + if (getSubVar(VA_LOCKS_DISABLED, 0x01180951)) { playSound(0); } else { playSound(1); @@ -532,10 +532,10 @@ uint32 SsScene2504Button::handleMessage(int messageNum, const MessageParam ¶ if (_countdown == 0 && !_isSoundPlaying) { setVisible(true); _countdown = 2; - if (getSubVar(0x14800353, 0x01180951)) { - setSubVar(0x14800353, 0x01180951, 0); + if (getSubVar(VA_LOCKS_DISABLED, 0x01180951)) { + setSubVar(VA_LOCKS_DISABLED, 0x01180951, 0); } else { - setSubVar(0x14800353, 0x01180951, 1); + setSubVar(VA_LOCKS_DISABLED, 0x01180951, 1); } playSound(2); } diff --git a/engines/neverhood/module2700.cpp b/engines/neverhood/module2700.cpp index 9603f7027d..080f8151b2 100644 --- a/engines/neverhood/module2700.cpp +++ b/engines/neverhood/module2700.cpp @@ -168,9 +168,9 @@ void Module2700::createScene(int sceneNum, int which) { break; case 10: // TODO _vm->gameModule()->initScene2808Vars2(); - _scene2711StaticSprites[0] = kScene2711FileHashes1[getSubVar(0x40005834, 2)]; - _scene2711StaticSprites[1] = kScene2711FileHashes2[getSubVar(0x40005834, 1)]; - _scene2711StaticSprites[2] = kScene2711FileHashes3[getSubVar(0x40005834, 0)]; + _scene2711StaticSprites[0] = kScene2711FileHashes1[getSubVar(VA_GOOD_TEST_TUBES_LEVEL_2, 2)]; + _scene2711StaticSprites[1] = kScene2711FileHashes2[getSubVar(VA_GOOD_TEST_TUBES_LEVEL_2, 1)]; + _scene2711StaticSprites[2] = kScene2711FileHashes3[getSubVar(VA_GOOD_TEST_TUBES_LEVEL_2, 0)]; _scene2711StaticSprites[3] = 0x0261282E; _scene2711StaticSprites[4] = 0x9608E5A0; _scene2711StaticSprites[5] = 0; diff --git a/engines/neverhood/module2800.cpp b/engines/neverhood/module2800.cpp index e664eb3a83..4232b794df 100644 --- a/engines/neverhood/module2800.cpp +++ b/engines/neverhood/module2800.cpp @@ -658,18 +658,18 @@ Scene2803::Scene2803(NeverhoodEngine *vm, Module *parentModule, int which) insertMouse433(0xA423A41A); - if (getSubVar(0x0C601058, 0) == 0) { + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0) == 0) { _asTestTubeOne = (StaticSprite*)insertStaticSprite(0x66121222, 100); } else { _asTestTubeOne = (StaticSprite*)insertSprite( - kScene2803FileHashes1[getSubVar(0x0C601058, 0)], - kScene2803FileHashes2[getSubVar(0x0C601058, 0)]); + kScene2803FileHashes1[getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0)], + kScene2803FileHashes2[getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0)]); } - if (getSubVar(0x0C601058, 1) == 3) + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 1) == 3) _asTestTubeTwo = (StaticSprite*)insertStaticSprite(0x64330236, 100); - if (getSubVar(0x0C601058, 2) == 3) + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 2) == 3) _asTestTubeThree = (StaticSprite*)insertStaticSprite(0x2E4A22A2, 100); _asLightCord = insertSprite(this, 0x8FAD5932, 0x276E1A3D, 578, 200); @@ -842,16 +842,16 @@ void Scene2803::changeBackground() { _sprite8->update(); _sprite9->load(0x341A0237, false, false); _sprite9->update(); - if (getSubVar(0x0C601058, 0) == 0) { + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0) == 0) { _asTestTubeOne->load(0x66121222, false, false); _asTestTubeOne->update(); } else sendMessage(_asTestTubeOne, 0x2000, 0); - if (getSubVar(0x0C601058, 1) == 3) { + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 1) == 3) { _asTestTubeTwo->load(0x64330236, false, false); _asTestTubeTwo->update(); } - if (getSubVar(0x0C601058, 2) == 3) { + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 2) == 3) { _asTestTubeThree->load(0x2E4A22A2, false, false); _asTestTubeThree->update(); } @@ -877,16 +877,16 @@ void Scene2803::changeBackground() { _sprite8->update(); _sprite9->load(0x708072E0, false, false); _sprite9->update(); - if (getSubVar(0x0C601058, 0) == 0) { + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0) == 0) { _asTestTubeOne->load(0x50C027A8, false, false); _asTestTubeOne->update(); } else sendMessage(_asTestTubeOne, 0x2000, 1); - if (getSubVar(0x0C601058, 1) == 3) { + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 1) == 3) { _asTestTubeTwo->load(0xD48077A0, false, false); _asTestTubeTwo->update(); } - if (getSubVar(0x0C601058, 2) == 3) { + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 2) == 3) { _asTestTubeThree->load(0x30022689, false, false); _asTestTubeThree->update(); } @@ -951,15 +951,15 @@ Scene2803Small::Scene2803Small(NeverhoodEngine *vm, Module *parentModule, int wh _sprite6 = insertStaticSprite(0x3C42022F, 1100); _sprite7 = insertStaticSprite(0x341A0237, 1100); - if (getSubVar(0x0C601058, 0) == 0) + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0) == 0) insertStaticSprite(0x66121222, 100); else - insertSprite(kScene2803SmallFileHashes1[getSubVar(0x0C601058, 0)], 100, 529, 326); + insertSprite(kScene2803SmallFileHashes1[getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0)], 100, 529, 326); - if (getSubVar(0x0C601058, 1) == 3) + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 1) == 3) insertStaticSprite(0x64330236, 100); - if (getSubVar(0x0C601058, 2) == 3) + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 2) == 3) insertStaticSprite(0x2E4A22A2, 100); } else { @@ -976,16 +976,16 @@ Scene2803Small::Scene2803Small(NeverhoodEngine *vm, Module *parentModule, int wh _sprite7 = insertStaticSprite(0x708072E0, 1100); insertStaticSprite(0x90582EA4, 100); - setSubVar(0x0C601058, 0, 1);//DEBUG, FIXME crashes when not done?! - if (getSubVar(0x0C601058, 0) == 0) + setSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0, 1);//DEBUG, FIXME crashes when not done?! + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0) == 0) insertStaticSprite(0x50C027A8, 100); else - insertSprite(kScene2803SmallFileHashes2[getSubVar(0x0C601058, 0)], 100, 529, 326); + insertSprite(kScene2803SmallFileHashes2[getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0)], 100, 529, 326); - if (getSubVar(0x0C601058, 1) == 3) + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 1) == 3) insertStaticSprite(0xD48077A0, 100); - if (getSubVar(0x0C601058, 2) == 3) + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 2) == 3) insertStaticSprite(0x30022689, 100); } @@ -1386,7 +1386,7 @@ AsScene2804Crystal::AsScene2804Crystal(NeverhoodEngine *vm, AsScene2804CrystalWa {470, 180} }; - _colorNum = (int16)getSubVar(0xE11A1929, crystalIndex); + _colorNum = (int16)getSubVar(VA_CURR_CRYSTAL_COLORS, crystalIndex); _isLightOn = getGlobalVar(V_SHRINK_LIGHTS_ON) != 0; if (_isLightOn) { _x = kAsScene2804CrystalPoints[crystalIndex].x; @@ -1441,7 +1441,7 @@ void AsScene2804Crystal::activate() { startAnimation(kAsScene2804CrystalFileHashes[_crystalIndex], _colorNum, -1); _newStickFrameIndex = _colorNum; } - setSubVar(0xE11A1929, _crystalIndex, _colorNum); + setSubVar(VA_CURR_CRYSTAL_COLORS, _crystalIndex, _colorNum); } } @@ -1686,7 +1686,7 @@ uint32 Scene2804::handleMessage(int messageNum, const MessageParam ¶m, Entit _isSolved = true; _beamStatus = 0; for (uint index = 0; index < 5; index++) - if (_asCrystals[index]->getColorNum() != (int16)getSubVar(0xD4B2089C, index)) + if (_asCrystals[index]->getColorNum() != (int16)getSubVar(VA_GOOD_CRYSTAL_COLORS, index)) _isSolved = false; _countdown2 = 48; break; @@ -1767,8 +1767,8 @@ void Scene2804::initCrystalColors() { do { misalignedColorNum = _vm->_rnd->getRandomNumber(6 - 1); } while (misalignedColorNum == correctColorNum); - setSubVar(0xD4B2089C, index, correctColorNum); - setSubVar(0xE11A1929, index, misalignedColorNum); + setSubVar(VA_GOOD_CRYSTAL_COLORS, index, correctColorNum); + setSubVar(VA_CURR_CRYSTAL_COLORS, index, misalignedColorNum); } setGlobalVar(V_CRYSTAL_COLORS_INIT, 1); } @@ -1989,27 +1989,27 @@ Scene2807::Scene2807(NeverhoodEngine *vm, Module *parentModule, int which) _surfaceFlag = true; SetMessageHandler(&Scene2807::handleMessage); - if (getSubVar(0x0C601058, 0) == 1) { + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0) == 1) { insertStaticSprite(0x103021E2, 300); - } else if (getSubVar(0x0C601058, 0) == 2) { + } else if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0) == 2) { insertStaticSprite(0x103022E2, 300); - } else if (getSubVar(0x0C601058, 0) == 3) { + } else if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0) == 3) { insertStaticSprite(0x103024E2, 300); } - if (getSubVar(0x0C601058, 1) == 1) { + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 1) == 1) { insertStaticSprite(0x4800A52A, 200); - } else if (getSubVar(0x0C601058, 1) == 2) { + } else if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 1) == 2) { insertStaticSprite(0x4800A62A, 200); - } else if (getSubVar(0x0C601058, 1) == 3) { + } else if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 1) == 3) { insertStaticSprite(0x4800A02A, 200); } - if (getSubVar(0x0C601058, 2) == 1) { + if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 2) == 1) { insertStaticSprite(0x31203430, 100); - } else if (getSubVar(0x0C601058, 2) == 2) { + } else if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 2) == 2) { insertStaticSprite(0x31203400, 100); - } else if (getSubVar(0x0C601058, 2) == 3) { + } else if (getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 2) == 3) { insertStaticSprite(0x31203460, 100); } @@ -2439,7 +2439,7 @@ void Scene2808::update() { // DEBUG>>>: Show correct values debug("---------------"); - debug("%03d %03d %03d", getSubVar(0x0C601058, 0), getSubVar(0x0C601058, 1), getSubVar(0x0C601058, 2)); + debug("%03d %03d %03d", getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0), getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 1), getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 2)); debug("%03d %03d %03d", _asTestTubes[0]->getFillLevel(), _asTestTubes[1]->getFillLevel(), _asTestTubes[2]->getFillLevel()); // DEBUG<<< @@ -2452,14 +2452,14 @@ void Scene2808::update() { bool Scene2808::isMixtureGood() { if (_testTubeSetNum == 0) { return - _asTestTubes[0]->getFillLevel() == getSubVar(0x0C601058, 0) && - _asTestTubes[1]->getFillLevel() == getSubVar(0x0C601058, 1) && - _asTestTubes[2]->getFillLevel() == getSubVar(0x0C601058, 2); + _asTestTubes[0]->getFillLevel() == getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 0) && + _asTestTubes[1]->getFillLevel() == getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 1) && + _asTestTubes[2]->getFillLevel() == getSubVar(VA_GOOD_TEST_TUBES_LEVEL_1, 2); } else { return - _asTestTubes[0]->getFillLevel() == getSubVar(0x40005834, 0) && - _asTestTubes[1]->getFillLevel() == getSubVar(0x40005834, 1) && - _asTestTubes[2]->getFillLevel() == getSubVar(0x40005834, 2); + _asTestTubes[0]->getFillLevel() == getSubVar(VA_GOOD_TEST_TUBES_LEVEL_2, 0) && + _asTestTubes[1]->getFillLevel() == getSubVar(VA_GOOD_TEST_TUBES_LEVEL_2, 1) && + _asTestTubes[2]->getFillLevel() == getSubVar(VA_GOOD_TEST_TUBES_LEVEL_2, 2); } } diff --git a/engines/neverhood/module3000.cpp b/engines/neverhood/module3000.cpp index 7312da7a1c..242a00e012 100644 --- a/engines/neverhood/module3000.cpp +++ b/engines/neverhood/module3000.cpp @@ -121,8 +121,8 @@ void Module3000::createScene(int sceneNum, int which) { break; case 7: _vm->_soundMan->setSoundListParams(kModule3000SoundList, false, 0, 0, 0, 0); - if (!getSubVar(0x40050052, 0x089809C2)) { - setSubVar(0x40050052, 0x089809C2, 1); + if (!getSubVar(VA_IS_PUZZLE_INIT, 0x089809C2)) { + setSubVar(VA_IS_PUZZLE_INIT, 0x089809C2, 1); createSmackerScene(0x90022001, true, true, false); } else createSmackerScene(0x98022001, true, true, false); @@ -138,8 +138,8 @@ void Module3000::createScene(int sceneNum, int which) { break; case 11: _vm->_soundMan->setSoundListParams(kModule3000SoundList, false, 0, 0, 0, 0); - if (!getSubVar(0x40050052, 0x10130993)) { - setSubVar(0x40050052, 0x10130993, 1); + if (!getSubVar(VA_IS_PUZZLE_INIT, 0x10130993)) { + setSubVar(VA_IS_PUZZLE_INIT, 0x10130993, 1); createSmackerScene(0x31093019, true, true, false); } else createSmackerScene(0x20093019, true, true, false); @@ -744,7 +744,7 @@ void AsScene3009HorizontalIndicator::stMoveRight() { AsScene3009Symbol::AsScene3009Symbol(NeverhoodEngine *vm, Scene3009 *parentScene, int symbolPosition) : AnimatedSprite(vm, 1100), _parentScene(parentScene), _symbolPosition(symbolPosition) { - _symbolIndex = getSubVar(0x00000914, _symbolPosition); + _symbolIndex = getSubVar(VA_CURR_CANNON_SYMBOLS, _symbolPosition); _x = kAsScene3009SymbolPoints[_symbolPosition].x; _y = kAsScene3009SymbolPoints[_symbolPosition].y; @@ -778,7 +778,7 @@ uint32 AsScene3009Symbol::handleMessage(int messageNum, const MessageParam ¶ } startAnimation(kAsScene3009SymbolFileHashes[_symbolPosition / 3], _symbolIndex, -1); _newStickFrameIndex = _symbolIndex; - setSubVar(0x00000914, _symbolPosition, _symbolIndex); + setSubVar(VA_CURR_CANNON_SYMBOLS, _symbolPosition, _symbolIndex); if (_symbolPosition / 3 == 0) { sendMessage(_parentScene, 0x2001, 0); } else { @@ -846,9 +846,9 @@ Scene3009::Scene3009(NeverhoodEngine *vm, Module *parentModule, int which) for (int symbolPosition = 0; symbolPosition < 6; symbolPosition++) { _asSymbols[symbolPosition] = insertSprite(this, symbolPosition); if (symbolPosition < 3) - _correctSymbols[symbolPosition] = getSubVar(0x00504B86, symbolPosition); + _correctSymbols[symbolPosition] = getSubVar(VA_GOOD_CANNON_SYMBOLS_1, symbolPosition); else - _correctSymbols[symbolPosition] = getSubVar(0x0A4C0A9A, symbolPosition - 3); + _correctSymbols[symbolPosition] = getSubVar(VA_GOOD_CANNON_SYMBOLS_2, symbolPosition - 3); } SetMessageHandler(&Scene3009::handleMessage); @@ -856,7 +856,7 @@ Scene3009::Scene3009(NeverhoodEngine *vm, Module *parentModule, int which) // DEBUG: Set the correct code for (int i = 0; i < 6; i++) - setSubVar(0x00000914, i, _correctSymbols[i]); + setSubVar(VA_CURR_CANNON_SYMBOLS, i, _correctSymbols[i]); sendMessage(this, 0x2003, 0); //setGlobalVar(V_ROBOT_TARGET, 1); @@ -1032,14 +1032,14 @@ void Scene3009::playActionVideo() { bool Scene3009::isSymbolsPart1Solved() { for (int i = 0; i < 3; i++) - if (_correctSymbols[i] != getSubVar(0x00000914, i)) + if (_correctSymbols[i] != getSubVar(VA_CURR_CANNON_SYMBOLS, i)) return false; return true; } bool Scene3009::isSymbolsPart2Solved() { for (int i = 3; i < 6; i++) - if (_correctSymbols[i] != getSubVar(0x00000914, i)) + if (_correctSymbols[i] != getSubVar(VA_CURR_CANNON_SYMBOLS, i)) return false; return true; } @@ -1091,7 +1091,7 @@ SsScene3010DeadBoltButton::SsScene3010DeadBoltButton(NeverhoodEngine *vm, Scene NDimensions dimensions1, dimensions2; - _buttonEnabled = getSubVar(0x14800353, kScene3010ButtonNameHashes[_buttonIndex]) != 0; + _buttonEnabled = getSubVar(VA_LOCKS_DISABLED, kScene3010ButtonNameHashes[_buttonIndex]) != 0; _spriteResource.load2(kScene3010DeadBoltButtonFileHashes1[_buttonIndex]); dimensions1 = _spriteResource.getDimensions(); _spriteResource.load2(kScene3010DeadBoltButtonFileHashes2[_buttonIndex]); @@ -1181,7 +1181,7 @@ AsScene3010DeadBolt::AsScene3010DeadBolt(NeverhoodEngine *vm, Scene *parentScene _x = kAsScene3010DeadBoltPoints[_boltIndex].x; _y = kAsScene3010DeadBoltPoints[_boltIndex].y; - if (getSubVar(0x14800353, kScene3010ButtonNameHashes[_boltIndex])) { + if (getSubVar(VA_LOCKS_DISABLED, kScene3010ButtonNameHashes[_boltIndex])) { createSurface1(kAsScene3010DeadBoltFileHashes1[_boltIndex], 1200); startAnimation(kAsScene3010DeadBoltFileHashes1[_boltIndex], 0, -1); loadSound(0, 0x46005BC4); @@ -1293,9 +1293,9 @@ Scene3010::Scene3010(NeverhoodEngine *vm, Module *parentModule, int which) int initCountdown = 0; // DEBUG: Enable all buttons - setSubVar(0x14800353, kScene3010ButtonNameHashes[0], 1); - setSubVar(0x14800353, kScene3010ButtonNameHashes[1], 1); - setSubVar(0x14800353, kScene3010ButtonNameHashes[2], 1); + setSubVar(VA_LOCKS_DISABLED, kScene3010ButtonNameHashes[0], 1); + setSubVar(VA_LOCKS_DISABLED, kScene3010ButtonNameHashes[1], 1); + setSubVar(VA_LOCKS_DISABLED, kScene3010ButtonNameHashes[2], 1); _surfaceFlag = true; @@ -1306,7 +1306,7 @@ Scene3010::Scene3010(NeverhoodEngine *vm, Module *parentModule, int which) _asDeadBolts[i] = insertSprite(this, i, which == 1);//CHECKME _ssDeadBoltButtons[i] = insertSprite(this, i, initCountdown, which == 1);//CHECKME _vm->_collisionMan->addSprite(_ssDeadBoltButtons[i]); - if (getSubVar(0x14800353, kScene3010ButtonNameHashes[i])) + if (getSubVar(VA_LOCKS_DISABLED, kScene3010ButtonNameHashes[i])) initCountdown++; _boltUnlocking[i] = false; _boltUnlocked[i] = false; @@ -1570,9 +1570,9 @@ void Scene3011::update() { do { _noisyRandomSymbolIndex = _vm->_rnd->getRandomNumber(12 - 1); } while (_noisySymbolIndex == _noisyRandomSymbolIndex); - _asSymbols[getSubVar(0x04909A50, _noisyRandomSymbolIndex)]->show(true); + _asSymbols[getSubVar(VA_CODE_SYMBOLS, _noisyRandomSymbolIndex)]->show(true); } else { - _asSymbols[getSubVar(0x04909A50, _currentSymbolIndex)]->show(false); + _asSymbols[getSubVar(VA_CODE_SYMBOLS, _currentSymbolIndex)]->show(false); } _updateStatus = 1; _countdown = 24; @@ -1593,9 +1593,9 @@ void Scene3011::update() { _updateStatus = 0; _countdown = 1; if (_noisySymbolIndex == _currentSymbolIndex) { - _asSymbols[getSubVar(0x04909A50, _noisyRandomSymbolIndex)]->hide(); + _asSymbols[getSubVar(VA_CODE_SYMBOLS, _noisyRandomSymbolIndex)]->hide(); } else { - _asSymbols[getSubVar(0x04909A50, _currentSymbolIndex)]->hide(); + _asSymbols[getSubVar(VA_CODE_SYMBOLS, _currentSymbolIndex)]->hide(); } _currentSymbolIndex++; if (_currentSymbolIndex >= 12) diff --git a/engines/neverhood/smackerscene.cpp b/engines/neverhood/smackerscene.cpp index e96fe8ad3d..e2cb7cdfa3 100644 --- a/engines/neverhood/smackerscene.cpp +++ b/engines/neverhood/smackerscene.cpp @@ -77,9 +77,9 @@ void SmackerScene::nextVideo() { sendMessage(_parentModule, 0x1009, 0); return; } - _fieldDF = getSubVar(0x00800410, smackerFileHash); + _fieldDF = getSubVar(VA_SMACKER_PLAYED, smackerFileHash); if (!_fieldDF) { - setSubVar(0x00800410, smackerFileHash, 1); + setSubVar(VA_SMACKER_PLAYED, smackerFileHash, 1); } if (_fileHashListIndex == 0) _smackerPlayer = addSmackerPlayer(new SmackerPlayer(_vm, this, smackerFileHash, _doubleSurface, false)); -- cgit v1.2.3