aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorjohndoe1232012-10-11 15:34:11 +0000
committerWillem Jan Palenstijn2013-05-08 20:47:06 +0200
commit2e7d100a6f2834b68e4d5d18cf72f63871ddfdf9 (patch)
tree6ab88395e6eb49cb9357d9717bdf6c77633e0bb1 /engines
parent02c5cc75a7cb8885d2a0fa141fbc0e763c5b31a0 (diff)
downloadscummvm-rg350-2e7d100a6f2834b68e4d5d18cf72f63871ddfdf9.tar.gz
scummvm-rg350-2e7d100a6f2834b68e4d5d18cf72f63871ddfdf9.tar.bz2
scummvm-rg350-2e7d100a6f2834b68e4d5d18cf72f63871ddfdf9.zip
NEVERHOOD: Replace most of the literal digits in get/setSubVar with constants
Diffstat (limited to 'engines')
-rw-r--r--engines/neverhood/diskplayerscene.cpp4
-rw-r--r--engines/neverhood/gamemodule.cpp68
-rw-r--r--engines/neverhood/gamevars.h188
-rw-r--r--engines/neverhood/klayman.cpp18
-rw-r--r--engines/neverhood/module1000.cpp10
-rw-r--r--engines/neverhood/module1100.cpp44
-rw-r--r--engines/neverhood/module1200.cpp46
-rw-r--r--engines/neverhood/module1300.cpp52
-rw-r--r--engines/neverhood/module1400.cpp30
-rw-r--r--engines/neverhood/module1600.cpp6
-rw-r--r--engines/neverhood/module1700.cpp10
-rw-r--r--engines/neverhood/module2200.cpp56
-rw-r--r--engines/neverhood/module2400.cpp30
-rw-r--r--engines/neverhood/module2500.cpp8
-rw-r--r--engines/neverhood/module2700.cpp6
-rw-r--r--engines/neverhood/module2800.cpp82
-rw-r--r--engines/neverhood/module3000.cpp42
-rw-r--r--engines/neverhood/smackerscene.cpp4
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 &param, 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 &param, 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 &param, Entit
}
void Scene1105::createObjects() {
- _ssSymbols[0] = insertSprite<SsScene1105Symbol>(kScene1105FileHashes[getSubVar(0x13100631, 0)], 161, 304);
- _ssSymbols[1] = insertSprite<SsScene1105Symbol>(kScene1105FileHashes[getSubVar(0x13100631, 1)], 294, 304);
- _ssSymbols[2] = insertSprite<SsScene1105Symbol>(kScene1105FileHashes[getSubVar(0x13100631, 2)], 440, 304);
+ _ssSymbols[0] = insertSprite<SsScene1105Symbol>(kScene1105FileHashes[getSubVar(VA_DICE_MEMORY_SYMBOLS, 0)], 161, 304);
+ _ssSymbols[1] = insertSprite<SsScene1105Symbol>(kScene1105FileHashes[getSubVar(VA_DICE_MEMORY_SYMBOLS, 1)], 294, 304);
+ _ssSymbols[2] = insertSprite<SsScene1105Symbol>(kScene1105FileHashes[getSubVar(VA_DICE_MEMORY_SYMBOLS, 2)], 440, 304);
_ssSymbolDice[0] = insertSprite<SsScene1105SymbolDie>(0, 206, 304);
_ssSymbolDice[1] = insertSprite<SsScene1105SymbolDie>(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 &param,
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<SsScene1201Tnt>(tntIndex, getSubVar(0x10055D14, tntIndex), clipY2);
- elemIndex = getSubVar(0x10055D14, tntIndex + 1);
+ insertSprite<SsScene1201Tnt>(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<SsScene1201Tnt>(tntIndex + 1, getSubVar(0x10055D14, tntIndex + 1), clipY2);
+ insertSprite<SsScene1201Tnt>(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<SsScene1201Tnt>(tntIndex, getSubVar(0x10055D14, tntIndex), clipY2);
+ insertSprite<SsScene1201Tnt>(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 &param, 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 &param,
_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<AsScene1307Key>(this, keyIndex, _clipRects);
_vm->_collisionMan->addSprite(_asKeys[keyIndex]);
} else {
@@ -1345,8 +1345,8 @@ uint32 Scene1307::handleMessage(int messageNum, const MessageParam &param, 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 &param, 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 &param, 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 &param, 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<AsScene1308JaggyDoor>(this);
_asLightWallSymbols = insertSprite<AsScene1308LightWallSymbols>(this);
- _ssNumber1 = insertSprite<SsScene1308Number>(kScene1308NumberFileHashes[getSubVar(0x0C10A000, 1)], 0);
- _ssNumber2 = insertSprite<SsScene1308Number>(kScene1308NumberFileHashes[getSubVar(0x0C10A000, 0)], 1);
- _ssNumber3 = insertSprite<SsScene1308Number>(kScene1308NumberFileHashes[getSubVar(0x0C10A000, 2)], 2);
+ _ssNumber1 = insertSprite<SsScene1308Number>(kScene1308NumberFileHashes[getSubVar(VA_GOOD_KEY_SLOT_NUMBERS, 1)], 0);
+ _ssNumber2 = insertSprite<SsScene1308Number>(kScene1308NumberFileHashes[getSubVar(VA_GOOD_KEY_SLOT_NUMBERS, 0)], 1);
+ _ssNumber3 = insertSprite<SsScene1308Number>(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 &param,
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<AsScene1405Tile>(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 &param, 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 &param,
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<SsScene1705WallSymbol>(kScene1705FileHashes[getSubVar(0x0A4C0A9A, 0)], 0);
- insertSprite<SsScene1705WallSymbol>(kScene1705FileHashes[getSubVar(0x0A4C0A9A, 1)], 1);
- insertSprite<SsScene1705WallSymbol>(kScene1705FileHashes[getSubVar(0x0A4C0A9A, 2)], 2);
+ insertSprite<SsScene1705WallSymbol>(kScene1705FileHashes[getSubVar(VA_GOOD_CANNON_SYMBOLS_2, 0)], 0);
+ insertSprite<SsScene1705WallSymbol>(kScene1705FileHashes[getSubVar(VA_GOOD_CANNON_SYMBOLS_2, 1)], 1);
+ insertSprite<SsScene1705WallSymbol>(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<SsCommonPressButton>(this, 0xE4A43E29, 0xE4A43E29, 100, 0);
for (uint32 cubeIndex = 0; cubeIndex < 9; cubeIndex++)
- if ((int16)getSubVar(0x484498D0, cubeIndex) >= 0)
- insertSprite<SsScene2201PuzzleCube>(cubeIndex, (int16)getSubVar(0x484498D0, cubeIndex));
+ if ((int16)getSubVar(VA_CUBE_POSITIONS, cubeIndex) >= 0)
+ insertSprite<SsScene2201PuzzleCube>(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<SsScene2202PuzzleTile>(this, index, value);
_vm->_collisionMan->addSprite(puzzleTileSprite);
@@ -995,13 +995,13 @@ uint32 Scene2202::handleMessage(int messageNum, const MessageParam &param, 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 &param, 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<SsScene2207Symbol>(kScene2207FileHashes[getSubVar(0x00504B86, 0)], 0);
- insertSprite<SsScene2207Symbol>(kScene2207FileHashes[getSubVar(0x00504B86, 1)], 1);
- insertSprite<SsScene2207Symbol>(kScene2207FileHashes[getSubVar(0x00504B86, 2)], 2);
+ insertSprite<SsScene2207Symbol>(kScene2207FileHashes[getSubVar(VA_GOOD_CANNON_SYMBOLS_1, 0)], 0);
+ insertSprite<SsScene2207Symbol>(kScene2207FileHashes[getSubVar(VA_GOOD_CANNON_SYMBOLS_1, 1)], 1);
+ insertSprite<SsScene2207Symbol>(kScene2207FileHashes[getSubVar(VA_GOOD_CANNON_SYMBOLS_1, 2)], 2);
_asTape = NULL;
_asLever = NULL;
@@ -2162,11 +2162,11 @@ uint32 Scene2207::handleMessage(int messageNum, const MessageParam &param, 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 &param, 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 &param, 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 &para
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<AsScene2803TestTubeOne>(
- 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<AsScene2803LightCord>(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<AnimatedSprite>(kScene2803SmallFileHashes1[getSubVar(0x0C601058, 0)], 100, 529, 326);
+ insertSprite<AnimatedSprite>(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<AnimatedSprite>(kScene2803SmallFileHashes2[getSubVar(0x0C601058, 0)], 100, 529, 326);
+ insertSprite<AnimatedSprite>(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 &param, 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 &para
}
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<AsScene3009Symbol>(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<AsScene3010DeadBolt>(this, i, which == 1);//CHECKME
_ssDeadBoltButtons[i] = insertSprite<SsScene3010DeadBoltButton>(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));