[Scummvm-git-logs] scummvm master -> 6e82f01ee4db629aaf7a969426509ff881586824
dreammaster
noreply at scummvm.org
Sat Jul 25 11:32:43 UTC 2026
This automated email contains information about 15 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
c84f2358d8 MADS: NEBULAR: In progress fixing anim background scrolling
0d0a16db01 MADS: NEBULAR: Flush keys when exiting animview
fe790661c4 MADS: NEBULAR: Fix crash on fallback talk to action
c82078f085 MADS: NEBULAR: Refactor out the VM thunk class
ced9db8cc7 MADS: NEBULAR: Refactor out Game and Resources thunk classes
a3bcab39f4 MADS: NEBULAR: Refactor Action out of thunks
32b83e6206 MADS: NEBULAR: Refactor Globals thunk
ef05808e7a MADS: NEBULAR: Refactor the Sprites thunk
4e11351716 MADS: NEBULAR: Removed top level Scene functions and reference fields
f6e6e1978f MADS: NEBULAR: Refactor KernelMessages thunk
344464d3f6 MADS: NEBULAR: Refactor Animation thunk
a494dfee3b MADS: NEBULAR: Refactored Sequences thunk
89ce28f662 MADS: NEBULAR: Refactor remainder of Scene thunk
1d9ee3a89b MADS: NEBULAR: Refactoring thunk enums
6e82f01ee4 MADS: NEBULAR: Remove now empty thunks.cpp
Commit: c84f2358d87108710a2bfbee4097f5f9f5a6a0eb
https://github.com/scummvm/scummvm/commit/c84f2358d87108710a2bfbee4097f5f9f5a6a0eb
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:52+10:00
Commit Message:
MADS: NEBULAR: In progress fixing anim background scrolling
Changed paths:
engines/mads/core/anim.h
diff --git a/engines/mads/core/anim.h b/engines/mads/core/anim.h
index eb89daf805f..537b7830707 100644
--- a/engines/mads/core/anim.h
+++ b/engines/mads/core/anim.h
@@ -199,7 +199,7 @@ struct SegmentBuf {
int speech;
- word misc[10];
+ int16 misc[10];
int num_sprite_changes;
word sprite_change_frame[AA_MAX_CHANGES];
@@ -380,7 +380,7 @@ struct AnimFile {
uint16 font_auto_spacing;
uint16 background_type; /* black, or room, or whatever */
uint16 background_room; /* room number to load */
- uint16 misc[10]; /* see MISC_ defines above */
+ int16 misc[10]; /* see MISC_ defines above */
char background_name[13]; /* if needed */
char series_name[AA_MAX_SERIES][13]; /* filenames for all your series */
char sound_file_name[13];
Commit: 0d0a16db01f7a64e3bdcbe4e25e8843b58c0a0a8
https://github.com/scummvm/scummvm/commit/0d0a16db01f7a64e3bdcbe4e25e8843b58c0a0a8
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:52+10:00
Commit Message:
MADS: NEBULAR: Flush keys when exiting animview
Changed paths:
engines/mads/animview/animview.cpp
engines/mads/mads.cpp
diff --git a/engines/mads/animview/animview.cpp b/engines/mads/animview/animview.cpp
index 4263d0973ad..cfa9ee37529 100644
--- a/engines/mads/animview/animview.cpp
+++ b/engines/mads/animview/animview.cpp
@@ -645,6 +645,8 @@ void animview_main(const char *resName) {
}
animate();
+
+ g_engine->flushKeys();
}
} // namespace AnimView
diff --git a/engines/mads/mads.cpp b/engines/mads/mads.cpp
index a9468ae30c7..a87156c3235 100644
--- a/engines/mads/mads.cpp
+++ b/engines/mads/mads.cpp
@@ -378,6 +378,7 @@ void MADSEngine::flushKeys() {
pollEvents();
_keyEvents.clear();
+ _mouseButtons = 0;
}
int MADSEngine::getMouseState(int &x, int &y) {
Commit: fe790661c45a61e038f2e1cdccdf376735a1a217
https://github.com/scummvm/scummvm/commit/fe790661c45a61e038f2e1cdccdf376735a1a217
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:52+10:00
Commit Message:
MADS: NEBULAR: Fix crash on fallback talk to action
Changed paths:
engines/mads/nebular/nebular.cpp
diff --git a/engines/mads/nebular/nebular.cpp b/engines/mads/nebular/nebular.cpp
index cfa2c35f675..09132ff4374 100644
--- a/engines/mads/nebular/nebular.cpp
+++ b/engines/mads/nebular/nebular.cpp
@@ -576,11 +576,10 @@ void RexNebularEngine::global_error_code() {
if (!global[kTalkInanimateCount]) {
text_show(2);
} else {
- Common::String tmpMsg = "\"Greetings, ";
- tmpMsg += vocab_string(inter_main_noun);
- tmpMsg += "!\"";
+ static char msg[32];
+ Common::sprintf_s(msg, "\"Greetings, %s!\"", vocab_string(inter_main_noun));
kernel_message_purge();
- kernel_message_add(const_cast<char *>(tmpMsg.c_str()), 0, 0, 0x1110, 120, 34, 0);
+ kernel_message_add(msg, 0, 0, 0x1110, 120, 0, 34);
}
} else if (player_said_3(give, door, ceiling) || player_said_2(close, chair))
text_show(3);
Commit: c82078f085ef2238e0d16d787d9a885ac1c94b94
https://github.com/scummvm/scummvm/commit/c82078f085ef2238e0d16d787d9a885ac1c94b94
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:52+10:00
Commit Message:
MADS: NEBULAR: Refactor out the VM thunk class
Changed paths:
engines/mads/nebular/rooms/forcefield.cpp
engines/mads/nebular/rooms/room101.cpp
engines/mads/nebular/rooms/room102.cpp
engines/mads/nebular/rooms/room103.cpp
engines/mads/nebular/rooms/room104.cpp
engines/mads/nebular/rooms/room105.cpp
engines/mads/nebular/rooms/room106.cpp
engines/mads/nebular/rooms/room107.cpp
engines/mads/nebular/rooms/room108.cpp
engines/mads/nebular/rooms/room109.cpp
engines/mads/nebular/rooms/room110.cpp
engines/mads/nebular/rooms/room111.cpp
engines/mads/nebular/rooms/room201.cpp
engines/mads/nebular/rooms/room202.cpp
engines/mads/nebular/rooms/room203.cpp
engines/mads/nebular/rooms/room205.cpp
engines/mads/nebular/rooms/room207.cpp
engines/mads/nebular/rooms/room208.cpp
engines/mads/nebular/rooms/room209.cpp
engines/mads/nebular/rooms/room210.cpp
engines/mads/nebular/rooms/room211.cpp
engines/mads/nebular/rooms/room212.cpp
engines/mads/nebular/rooms/room213.cpp
engines/mads/nebular/rooms/room214.cpp
engines/mads/nebular/rooms/room215.cpp
engines/mads/nebular/rooms/room304.cpp
engines/mads/nebular/rooms/room307.cpp
engines/mads/nebular/rooms/room308.cpp
engines/mads/nebular/rooms/room309.cpp
engines/mads/nebular/rooms/room311.cpp
engines/mads/nebular/rooms/room313.cpp
engines/mads/nebular/rooms/room316.cpp
engines/mads/nebular/rooms/room318.cpp
engines/mads/nebular/rooms/room319.cpp
engines/mads/nebular/rooms/room320.cpp
engines/mads/nebular/rooms/room322.cpp
engines/mads/nebular/rooms/room351.cpp
engines/mads/nebular/rooms/room352.cpp
engines/mads/nebular/rooms/room353.cpp
engines/mads/nebular/rooms/room354.cpp
engines/mads/nebular/rooms/room357.cpp
engines/mads/nebular/rooms/room358.cpp
engines/mads/nebular/rooms/room359.cpp
engines/mads/nebular/rooms/room360.cpp
engines/mads/nebular/rooms/room361.cpp
engines/mads/nebular/rooms/room366.cpp
engines/mads/nebular/rooms/room387.cpp
engines/mads/nebular/rooms/room388.cpp
engines/mads/nebular/rooms/room389.cpp
engines/mads/nebular/rooms/room390.cpp
engines/mads/nebular/rooms/room391.cpp
engines/mads/nebular/rooms/room399.cpp
engines/mads/nebular/rooms/room401.cpp
engines/mads/nebular/rooms/room402.cpp
engines/mads/nebular/rooms/room405.cpp
engines/mads/nebular/rooms/room406.cpp
engines/mads/nebular/rooms/room407.cpp
engines/mads/nebular/rooms/room408.cpp
engines/mads/nebular/rooms/room409.cpp
engines/mads/nebular/rooms/room410.cpp
engines/mads/nebular/rooms/room411.cpp
engines/mads/nebular/rooms/room413.cpp
engines/mads/nebular/rooms/room501.cpp
engines/mads/nebular/rooms/room502.cpp
engines/mads/nebular/rooms/room503.cpp
engines/mads/nebular/rooms/room504.cpp
engines/mads/nebular/rooms/room505.cpp
engines/mads/nebular/rooms/room506.cpp
engines/mads/nebular/rooms/room507.cpp
engines/mads/nebular/rooms/room508.cpp
engines/mads/nebular/rooms/room511.cpp
engines/mads/nebular/rooms/room512.cpp
engines/mads/nebular/rooms/room513.cpp
engines/mads/nebular/rooms/room551.cpp
engines/mads/nebular/rooms/room601.cpp
engines/mads/nebular/rooms/room602.cpp
engines/mads/nebular/rooms/room603.cpp
engines/mads/nebular/rooms/room604.cpp
engines/mads/nebular/rooms/room605.cpp
engines/mads/nebular/rooms/room607.cpp
engines/mads/nebular/rooms/room608.cpp
engines/mads/nebular/rooms/room609.cpp
engines/mads/nebular/rooms/room610.cpp
engines/mads/nebular/rooms/room611.cpp
engines/mads/nebular/rooms/room612.cpp
engines/mads/nebular/rooms/room701.cpp
engines/mads/nebular/rooms/room702.cpp
engines/mads/nebular/rooms/room703.cpp
engines/mads/nebular/rooms/room704.cpp
engines/mads/nebular/rooms/room705.cpp
engines/mads/nebular/rooms/room706.cpp
engines/mads/nebular/rooms/room707.cpp
engines/mads/nebular/rooms/room711.cpp
engines/mads/nebular/rooms/room751.cpp
engines/mads/nebular/rooms/room752.cpp
engines/mads/nebular/rooms/room801.cpp
engines/mads/nebular/rooms/room802.cpp
engines/mads/nebular/rooms/room803.cpp
engines/mads/nebular/rooms/room804.cpp
engines/mads/nebular/rooms/room805.cpp
engines/mads/nebular/rooms/room807.cpp
engines/mads/nebular/rooms/room808.cpp
engines/mads/nebular/rooms/section1.cpp
engines/mads/nebular/rooms/section2.cpp
engines/mads/nebular/rooms/teleporter.cpp
engines/mads/nebular/rooms/thunks.cpp
engines/mads/nebular/rooms/thunks.h
diff --git a/engines/mads/nebular/rooms/forcefield.cpp b/engines/mads/nebular/rooms/forcefield.cpp
index 567ab1ef145..4fcec6584db 100644
--- a/engines/mads/nebular/rooms/forcefield.cpp
+++ b/engines/mads/nebular/rooms/forcefield.cpp
@@ -65,10 +65,10 @@ void handle_forcefield(Forcefield *force, int16 *sprites) {
if (!force->_flag || (_scene->_frameStartTime < force->_timer) || (force->_vertical + force->_horizontal >= 5))
return;
- if (_vm->getRandomNumber(1, 1000) <= (200 + ((40 - (force->_vertical + force->_horizontal)) << 5))) {
+ if (g_engine->getRandomNumber(1, 1000) <= (200 + ((40 - (force->_vertical + force->_horizontal)) << 5))) {
int id = -1;
for (int i = 0; i < 100; i++) {
- int randIdx = _vm->getRandomNumber(0, 39);
+ int randIdx = g_engine->getRandomNumber(0, 39);
if (force->_seqId[randIdx] < 0) {
id = randIdx;
break;
@@ -86,7 +86,7 @@ void handle_forcefield(Forcefield *force, int16 *sprites) {
int speedX, speedY;
int posX, posY;
- int randVal = _vm->getRandomNumber(1, 100);
+ int randVal = g_engine->getRandomNumber(1, 100);
int spriteId;
bool mirror;
diff --git a/engines/mads/nebular/rooms/room101.cpp b/engines/mads/nebular/rooms/room101.cpp
index ec4549d4aa1..f650beb4825 100644
--- a/engines/mads/nebular/rooms/room101.cpp
+++ b/engines/mads/nebular/rooms/room101.cpp
@@ -54,7 +54,7 @@ static void room_101_say_dang() {
_globals._sequenceIndexes[11] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[11], false, 3, 6, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 17, 21);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
- _vm->_sound->command(17);
+ g_engine->_soundManager->command(17, 0);
_globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 3, 2, 0, 0);
break;
@@ -66,7 +66,7 @@ static void room_101_say_dang() {
break;
case 73:
- _vm->_dialogs->show(10117);
+ text_show(10117);
_game._player._stepEnabled = true;
break;
@@ -149,14 +149,14 @@ static void room_101_daemon() {
if (local._oldSpecial != _game._player._special) {
local._oldSpecial = _game._player._special;
if (local._oldSpecial)
- _vm->_sound->command(39);
+ g_engine->_soundManager->command(39, 0);
else
- _vm->_sound->command(11);
+ g_engine->_soundManager->command(11, 0);
}
switch (_game._trigger) {
case 70:
- _vm->_sound->command(9);
+ g_engine->_soundManager->command(9, 0);
break;
case 71:
@@ -225,7 +225,7 @@ static void room_101_pre_parser() {
_globals._sequenceIndexes[11] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[11], false, 3, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 1, 17);
- _vm->_sound->command(16);
+ g_engine->_soundManager->command(16, 0);
break;
case 1:
@@ -254,7 +254,7 @@ static void room_101_pre_parser() {
_globals._sequenceIndexes[13] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[local._shieldSpriteIdx], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
_game._player._stepEnabled = false;
- _vm->_sound->command(20);
+ g_engine->_soundManager->command(20, 0);
}
break;
@@ -272,7 +272,7 @@ static void room_101_pre_parser() {
static void room_101_parser() {
if (_action._lookFlag) {
- _vm->_dialogs->show(10125);
+ text_show(10125);
_action._inProgress = false;
return;
}
@@ -298,7 +298,7 @@ static void room_101_parser() {
return;
case 1:
- _vm->_sound->command(16);
+ g_engine->_soundManager->command(16, 0);
break;
case 2:
@@ -319,7 +319,7 @@ static void room_101_parser() {
break;
}
} else {
- _vm->_dialogs->show(10131);
+ text_show(10131);
_action._inProgress = false;
return;
}
@@ -332,7 +332,7 @@ static void room_101_parser() {
_globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[local._shieldSpriteIdx], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
_game._player._stepEnabled = false;
- _vm->_sound->command(20);
+ g_engine->_soundManager->command(20, 0);
break;
case 1:
@@ -358,8 +358,8 @@ static void room_101_parser() {
_globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[14], false, 6, 0, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], -2, -2);
_scene->_hotspots.activate(words_shield_modulator, false);
- _vm->_dialogs->showItem(OBJ_SHIELD_MODULATOR, 10120);
- _vm->_sound->command(22);
+ object_examine(OBJ_SHIELD_MODULATOR, 10120, 0);
+ g_engine->_soundManager->command(22, 0);
_action._inProgress = false;
return;
}
@@ -367,18 +367,18 @@ static void room_101_parser() {
if (player_said_2(look, shield_access_panel) || (player_said_2(look, shield_modulator) && !_game._objects.isInInventory(OBJ_SHIELD_MODULATOR))) {
if (local._panelOpened) {
if (_game._objects.isInRoom(OBJ_SHIELD_MODULATOR))
- _vm->_dialogs->show(10128);
+ text_show(10128);
else
- _vm->_dialogs->show(10129);
+ text_show(10129);
} else
- _vm->_dialogs->show(10127);
+ text_show(10127);
_action._inProgress = false;
return;
}
if (player_said_2(open, shield_access_panel) && local._panelOpened) {
- _vm->_dialogs->show(10130);
+ text_show(10130);
_action._inProgress = false;
return;
}
@@ -394,7 +394,7 @@ static void room_101_parser() {
_globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 3, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 17, 21);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _vm->_sound->command(17);
+ g_engine->_soundManager->command(17, 0);
break;
case 1:
@@ -426,133 +426,133 @@ static void room_101_parser() {
}
if (player_said_2(look, chair)) {
- _vm->_dialogs->show(10101);
+ text_show(10101);
_action._inProgress = false;
return;
}
if ((player_said_1(look) || player_said_1(peer_through)) && (player_said_1(front_window) || player_said_1(outside))) {
- _vm->_dialogs->show(10102);
+ text_show(10102);
_action._inProgress = false;
return;
}
if (player_said_2(look, hull) || player_said_2(look, outer_hull) || player_said_2(examine, hull) || player_said_2(examine, outer_hull)) {
- _vm->_dialogs->show(10103);
+ text_show(10103);
_action._inProgress = false;
return;
}
if (player_said_2(look, fuzzy_dice)) {
- _vm->_dialogs->show(10104);
+ text_show(10104);
_action._inProgress = false;
return;
}
if (player_said_2(look, mirror) || player_said_2(look_in, mirror)) {
- _vm->_dialogs->show(10105);
+ text_show(10105);
_action._inProgress = false;
return;
}
if (player_said_2(look, curtains)) {
- _vm->_dialogs->show(10106);
+ text_show(10106);
_action._inProgress = false;
return;
}
if (player_said_2(look, plastic_jesus)) {
- _vm->_dialogs->show(10107);
+ text_show(10107);
_action._inProgress = false;
return;
}
if (player_said_2(look, escape_hatch) || (player_said_2(open, escape_hatch) && !_game._objects.isInInventory(OBJ_REBREATHER))) {
- _vm->_dialogs->show(10109);
+ text_show(10109);
_action._inProgress = false;
return;
}
if (player_said_2(open, escape_hatch)) {
- _vm->_dialogs->show(10110);
+ text_show(10110);
_action._inProgress = false;
return;
}
if (player_said_2(look, target_computer)) {
- _vm->_dialogs->show(10111);
+ text_show(10111);
_action._inProgress = false;
return;
}
if (player_said_2(look, library_computer)) {
- _vm->_dialogs->show(10126);
+ text_show(10126);
_action._inProgress = false;
return;
}
if (player_said_2(look, damage_control_panel)) {
- _vm->_dialogs->show(10112);
+ text_show(10112);
_action._inProgress = false;
return;
}
if (player_said_2(look, navigation_controls)) {
- _vm->_dialogs->show(10113);
+ text_show(10113);
_action._inProgress = false;
return;
}
if (player_said_2(look, engineering_controls)) {
- _vm->_dialogs->show(10114);
+ text_show(10114);
_action._inProgress = false;
return;
}
if (player_said_2(look, weapons_display)) {
- _vm->_dialogs->show(10115);
+ text_show(10115);
_action._inProgress = false;
return;
}
if (player_said_2(look, shield_status_panel)) {
- _vm->_dialogs->show(10116);
+ text_show(10116);
_action._inProgress = false;
return;
}
if (player_said_2(take, plastic_jesus)) {
- _vm->_dialogs->show(10118);
+ text_show(10118);
_action._inProgress = false;
return;
}
if (player_said_2(take, fuzzy_dice)) {
- _vm->_dialogs->show(10119);
+ text_show(10119);
_action._inProgress = false;
return;
}
if (player_said_2(open, damage_control_panel)) {
- _vm->_dialogs->show(10121);
+ text_show(10121);
_action._inProgress = false;
return;
}
if (player_said_2(open, curtains)) {
- _vm->_dialogs->show(10122);
+ text_show(10122);
_action._inProgress = false;
return;
}
if (player_said_2(close, curtains)) {
- _vm->_dialogs->show(10123);
+ text_show(10123);
_action._inProgress = false;
return;
}
if ((player_said_1(look) || player_said_1(play)) && player_said_1(video_game)) {
- _vm->_dialogs->show(10124);
+ text_show(10124);
_action._inProgress = false;
return;
}
diff --git a/engines/mads/nebular/rooms/room102.cpp b/engines/mads/nebular/rooms/room102.cpp
index aeaeb996949..7486540fb60 100644
--- a/engines/mads/nebular/rooms/room102.cpp
+++ b/engines/mads/nebular/rooms/room102.cpp
@@ -47,7 +47,7 @@ static Scratch local;
static void addRandomMessage() {
_scene->_kernelMessages.reset();
_game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
- int quoteId = _vm->getRandomNumber(65, 69);
+ int quoteId = g_engine->getRandomNumber(65, 69);
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 73, 120, _game.getQuote(quoteId));
local._activeMsgFl = true;
}
@@ -110,8 +110,8 @@ static void room_102_init() {
_globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
_scene->_sequences.setDepth(_globals._sequenceIndexes[13], 5);
- _vm->_sound->command(24);
- _vm->_sound->command(28);
+ g_engine->_soundManager->command(24, 0);
+ g_engine->_soundManager->command(28, 0);
}
local._fridgeOpenedFl = false;
@@ -124,7 +124,7 @@ static void room_102_init() {
_game.loadQuoteSet(0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0);
if (_scene->_priorSceneId == 101)
- _vm->_sound->command(20);
+ g_engine->_soundManager->command(20, 0);
}
static void room_102_daemon() {
@@ -145,9 +145,9 @@ static void room_102_daemon() {
_game._player._visible = false;
_globals[kWaterInAPuddle] = true;
- _vm->_sound->command(24);
+ g_engine->_soundManager->command(24, 0);
} else {
- _vm->_sound->command(23);
+ g_engine->_soundManager->command(23, 0);
_scene->_sequences.addTimer(48, _game._trigger + 1);
}
}
@@ -162,12 +162,12 @@ static void room_102_daemon() {
local._fridgeCommentCount++;
if (local._fridgeCommentCount > 16384) {
local._fridgeOpenedDescr = true;
- _vm->_dialogs->show(10213);
+ text_show(10213);
}
}
if (!local._activeMsgFl && (_game._player._playerPos == Common::Point(177, 114)) && (_game._player._facing == FACING_NORTH)
- && (_vm->getRandomNumber(1, 5000) == 1)) {
+ && (g_engine->getRandomNumber(1, 5000) == 1)) {
_scene->_kernelMessages.reset();
local._activeMsgFl = false;
addRandomMessage();
@@ -190,7 +190,7 @@ static void room_102_pre_parser() {
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[7], 15);
_game._player._stepEnabled = false;
- _vm->_sound->command(20);
+ g_engine->_soundManager->command(20, 0);
}
break;
@@ -214,7 +214,7 @@ static void room_102_pre_parser() {
static void room_102_parser() {
if (_action._lookFlag) {
- _vm->_dialogs->show(10234);
+ text_show(10234);
_action._inProgress = false;
return;
}
@@ -231,7 +231,7 @@ static void room_102_parser() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[10], 14);
}
_game._player._stepEnabled = false;
- _vm->_sound->command(20);
+ g_engine->_soundManager->command(20, 0);
_action._inProgress = false;
return;
@@ -265,9 +265,9 @@ static void room_102_parser() {
if (player_said_2(look, refrigerator) || player_said_2(open, refrigerator)) {
if (_game._objects.isInRoom(OBJ_BURGER))
- _vm->_dialogs->show(10230);
+ text_show(10230);
else
- _vm->_dialogs->show(10229);
+ text_show(10229);
local._fridgeFirstOpenFl = false;
_action._inProgress = false;
@@ -276,7 +276,7 @@ static void room_102_parser() {
if (player_said_2(walkto, refrigerator) && justOpenedFl) {
local._fridgeFirstOpenFl = false;
- int quoteId = _vm->getRandomNumber(59, 63);
+ int quoteId = g_engine->getRandomNumber(59, 63);
const char *curQuote = _game.getQuote(quoteId);
int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, -1);
_scene->_kernelMessages.reset();
@@ -289,13 +289,13 @@ static void room_102_parser() {
}
if (player_said_2(close, refrigerator)) {
- _vm->_dialogs->show(10213);
+ text_show(10213);
_action._inProgress = false;
return;
}
if (player_said_2(take, refrigerator)) {
- _vm->_dialogs->show(8);
+ text_show(8);
_action._inProgress = false;
return;
}
@@ -306,7 +306,7 @@ static void room_102_parser() {
_globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
_game._player._stepEnabled = false;
- _vm->_sound->command(20);
+ g_engine->_soundManager->command(20, 0);
break;
case 1:
@@ -333,67 +333,67 @@ static void room_102_parser() {
}
if (player_said_2(look, weight_machine)) {
- _vm->_dialogs->show(10212);
+ text_show(10212);
_action._inProgress = false;
return;
}
if (player_said_2(look, engineering_section)) {
- _vm->_dialogs->show(10205);
+ text_show(10205);
_action._inProgress = false;
return;
}
if (player_said_2(look, door)) {
- _vm->_dialogs->show(10204);
+ text_show(10204);
_action._inProgress = false;
return;
}
if (player_said_2(stare_at, ceiling) || player_said_2(look, ceiling)) {
- _vm->_dialogs->show(10203);
+ text_show(10203);
_action._inProgress = false;
return;
}
if (player_said_2(stare_at, overhead_lamp) || player_said_2(look, overhead_lamp)) {
- _vm->_dialogs->show(10202);
+ text_show(10202);
_action._inProgress = false;
return;
}
if (player_said_2(look, robo_kitchen)) {
- _vm->_dialogs->show(10215);
+ text_show(10215);
_action._inProgress = false;
return;
}
if (player_said_3(put, burger, robo_kitchen) && _game._objects.isInInventory(OBJ_BURGER)) {
- _vm->_dialogs->show(10216);
+ text_show(10216);
_action._inProgress = false;
return;
}
if (player_said_2(put, refrigerator) && _game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId))) {
- _vm->_dialogs->show(10217);
+ text_show(10217);
_action._inProgress = false;
return;
}
if (player_said_3(put, dead_fish, robo_kitchen) || player_said_3(put, stuffed_fish, robo_kitchen)) {
- _vm->_dialogs->show(10230);
+ text_show(10230);
_action._inProgress = false;
return;
}
if (player_said_2(open, robo_kitchen)) {
- _vm->_dialogs->show(10218);
+ text_show(10218);
_action._inProgress = false;
return;
}
if (player_said_2(look, closet)) {
- _vm->_dialogs->show(10219);
+ text_show(10219);
_action._inProgress = false;
return;
}
@@ -401,12 +401,12 @@ static void room_102_parser() {
if ((player_said_1(ladder) || player_said_1(hatchway)) && (player_said_1(look) || player_said_1(climb_up) || player_said_1(climb_through))) {
if (_game._objects.isInInventory(OBJ_REBREATHER)) {
if (!player_said_1(climb_up) && !player_said_1(climb_through)) {
- _vm->_dialogs->show(10231);
+ text_show(10231);
_action._inProgress = false;
return;
}
} else if (player_said_1(look) || (_game._difficulty != DIFFICULTY_HARD)) {
- _vm->_dialogs->show(10222);
+ text_show(10222);
_action._inProgress = false;
return;
}
@@ -421,25 +421,25 @@ static void room_102_parser() {
break;
case 1:
- _vm->_sound->command(24);
+ g_engine->_soundManager->command(24, 0);
_scene->_sequences.addTimer(48, 2);
break;
case 2:
case 3:
case 4:
- _vm->_sound->command(23);
+ g_engine->_soundManager->command(23, 0);
_scene->_sequences.addTimer(48, _game._trigger + 1);
break;
case 5:
- _vm->_sound->command(24);
+ g_engine->_soundManager->command(24, 0);
_scene->_sequences.addTimer(48, _game._trigger + 1);
break;
case 6:
if (_game._objects.isInInventory(OBJ_REBREATHER) && !_game._visitedScenes.exists(106))
- _vm->_dialogs->show(10237);
+ text_show(10237);
_scene->_nextSceneId = 106;
break;
@@ -451,60 +451,60 @@ static void room_102_parser() {
}
if (player_said_2(look, power_status_panel)) {
- _vm->_dialogs->show(10226);
+ text_show(10226);
_action._inProgress = false;
return;
}
if (player_said_2(look, window) || player_said_2(look_through, window)) {
- _vm->_dialogs->show(10227);
+ text_show(10227);
_action._inProgress = false;
return;
}
if (player_said_2(look, doorway) || player_said_2(walkto, doorway)) {
- _vm->_dialogs->show(10228);
+ text_show(10228);
_action._inProgress = false;
return;
}
if (player_said_2(look, drawer) || ((player_said_2(close, drawer) || player_said_2(push, drawer)) && !local._drawerDescrFl)) {
- _vm->_dialogs->show(10220);
+ text_show(10220);
local._drawerDescrFl = true;
_action._inProgress = false;
return;
}
if (player_said_2(close, drawer) || player_said_2(push, drawer)) {
- _vm->_dialogs->show(10221);
+ text_show(10221);
_action._inProgress = false;
return;
}
if (player_said_2(open, drawer)) {
- _vm->_dialogs->show(10236);
+ text_show(10236);
_action._inProgress = false;
return;
}
if (player_said_2(look, chair) || (player_said_2(sit_in, chair) && !local._chairDescrFl)) {
local._chairDescrFl = true;
- _vm->_dialogs->show(10210);
+ text_show(10210);
_action._inProgress = false;
return;
}
if (player_said_2(sit_in, chair)) {
- _vm->_dialogs->show(10211);
+ text_show(10211);
_action._inProgress = false;
return;
}
if (player_said_2(look, medicine_cabinet)) {
if (_globals[kMedicineCabinetOpen])
- _vm->_dialogs->show(10207);
+ text_show(10207);
else
- _vm->_dialogs->show(10206);
+ text_show(10206);
_action._inProgress = false;
return;
@@ -517,7 +517,7 @@ static void room_102_parser() {
_globals._sequenceIndexes[8] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[8], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
_game._player._stepEnabled = false;
- _vm->_sound->command(21);
+ g_engine->_soundManager->command(21, 0);
break;
case 1:
@@ -527,7 +527,7 @@ static void room_102_parser() {
case 2:
_game._player._stepEnabled = true;
_globals[kMedicineCabinetOpen] = false;
- _vm->_dialogs->show(10209);
+ text_show(10209);
break;
default:
@@ -543,7 +543,7 @@ static void room_102_parser() {
_globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
_game._player._stepEnabled = false;
- _vm->_sound->command(21);
+ g_engine->_soundManager->command(21, 0);
break;
case 1:
@@ -556,9 +556,9 @@ static void room_102_parser() {
_game._player._stepEnabled = true;
_globals[kMedicineCabinetOpen] = true;
if (_globals[kMedicineCabinetVirgin]) {
- _vm->_dialogs->show(10208);
+ text_show(10208);
} else {
- _vm->_dialogs->show(10207);
+ text_show(10207);
}
_globals[kMedicineCabinetVirgin] = false;
break;
@@ -586,8 +586,8 @@ static void room_102_parser() {
_scene->_hotspots.activate(words_binoculars, false);
_game._player._visible = true;
_game._player._stepEnabled = true;
- _vm->_sound->command(22);
- _vm->_dialogs->showItem(OBJ_BINOCULARS, 10201);
+ g_engine->_soundManager->command(22, 0);
+ object_examine(OBJ_BINOCULARS, 10201, 0);
break;
default:
@@ -599,11 +599,11 @@ static void room_102_parser() {
if (player_said_2(take, burger) && _game._objects.isInRoom(OBJ_BURGER)) {
if (_game._trigger == 0) {
- _vm->_dialogs->showItem(OBJ_BURGER, 10235);
+ object_examine(OBJ_BURGER, 10235, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[10]);
_game._objects.addToInventory(OBJ_BURGER);
_scene->_hotspots.activate(words_burger, false);
- _vm->_sound->command(22);
+ g_engine->_soundManager->command(22, 0);
_game._player._visible = true;
_game._player._stepEnabled = true;
}
@@ -612,38 +612,38 @@ static void room_102_parser() {
}
if (player_said_2(take, poster)) {
- _vm->_dialogs->show(10224);
+ text_show(10224);
_action._inProgress = false;
return;
}
if ((player_said_1(push) || player_said_1(pull)) && player_said_1(weight_machine)) {
- _vm->_dialogs->show(10225);
+ text_show(10225);
_action._inProgress = false;
return;
}
if (player_said_2(look, floor)) {
- _vm->_dialogs->show(10232);
+ text_show(10232);
_action._inProgress = false;
return;
}
if (player_said_2(look, binoculars) && !_game._objects.isInInventory(OBJ_BINOCULARS)) {
- _vm->_dialogs->show(10233);
+ text_show(10233);
_action._inProgress = false;
return;
}
if (player_said_2(look, burger) && (_action._mainObjectSource == CAT_HOTSPOT)) {
- _vm->_dialogs->show(801);
+ text_show(801);
_action._inProgress = false;
}
}
static void room_102_error() {
if (player_said_2(put, robo_kitchen) && _game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId))) {
- _vm->_dialogs->show(10217);
+ text_show(10217);
_action._inProgress = false;
}
}
diff --git a/engines/mads/nebular/rooms/room103.cpp b/engines/mads/nebular/rooms/room103.cpp
index 2c032e5f532..89eaab8d879 100644
--- a/engines/mads/nebular/rooms/room103.cpp
+++ b/engines/mads/nebular/rooms/room103.cpp
@@ -21,6 +21,7 @@
#include "math/utils.h"
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -73,12 +74,12 @@ static void room_103_init() {
if (_game._objects.isInRoom(OBJ_TIMER_MODULE))
_globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 6);
else
- _vm->_game->_scene._hotspots.activate(371, false);
+ _game->_scene._hotspots.activate(371, false);
if (_game._objects.isInRoom(OBJ_REBREATHER))
_globals._sequenceIndexes[10] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[10], false, 6);
else
- _vm->_game->_scene._hotspots.activate(289, false);
+ _game->_scene._hotspots.activate(289, false);
if (_globals[kTurkeyExploded]) {
_globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6);
@@ -97,7 +98,7 @@ static void room_103_init() {
section_1_music();
- _vm->_game->loadQuoteSet(70, 51, 71, 7, 73, 0);
+ _game->loadQuoteSet(70, 51, 71, 7, 73, 0);
if (!_game._visitedScenes._sceneRevisited) {
int msgIndex = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(70));
@@ -105,32 +106,32 @@ static void room_103_init() {
}
if (_scene->_priorSceneId == 102)
- _vm->_sound->command(20);
+ g_engine->_soundManager->command(20, 0);
- _vm->_palette->setEntry(252, 63, 63, 10);
- _vm->_palette->setEntry(253, 45, 45, 10);
+ pal_change_color(252, 63, 63, 10);
+ pal_change_color(253, 45, 45, 10);
local._updateClock = _scene->_frameStartTime;
}
static void room_103_daemon() {
- switch (_vm->_game->_trigger) {
+ switch (_game->_trigger) {
case 70:
- _vm->_game->_player._stepEnabled = true;
+ _game->_player._stepEnabled = true;
break;
case 72:
{
- Common::Point pt = _vm->_game->_player._playerPos;
+ Common::Point pt = _game->_player._playerPos;
int dist = Math::hypotenuse(pt.x - 58, pt.y - 93);
- _vm->_sound->command(27, (dist * -128 / 378) + 127);
+ g_engine->_soundManager->command(27, (dist * -128 / 378) + 127);
}
break;
case 73:
{
- Common::Point pt = _vm->_game->_player._playerPos;
+ Common::Point pt = _game->_player._playerPos;
int dist = Math::hypotenuse(pt.x - 266, pt.y - 81);
- _vm->_sound->command(27, (dist * -127 / 378) + 127);
+ g_engine->_soundManager->command(27, (dist * -127 / 378) + 127);
}
break;
@@ -139,19 +140,19 @@ static void room_103_daemon() {
}
if (_scene->_frameStartTime >= local._updateClock) {
- Common::Point pt = _vm->_game->_player._playerPos;
+ Common::Point pt = _game->_player._playerPos;
int dist = Math::hypotenuse(pt.x - 79, pt.y - 137);
- _vm->_sound->command(29, (dist * -127 / 378) + 127);
+ g_engine->_soundManager->command(29, (dist * -127 / 378) + 127);
- pt = _vm->_game->_player._playerPos;
+ pt = _game->_player._playerPos;
dist = Math::hypotenuse(pt.x - 69, pt.y - 80);
- _vm->_sound->command(30, (dist * -127 / 378) + 127);
+ g_engine->_soundManager->command(30, (dist * -127 / 378) + 127);
- pt = _vm->_game->_player._playerPos;
+ pt = _game->_player._playerPos;
dist = Math::hypotenuse(pt.x - 266, pt.y - 138);
- _vm->_sound->command(32, (dist * -127 / 378) + 127);
+ g_engine->_soundManager->command(32, (dist * -127 / 378) + 127);
- local._updateClock = _scene->_frameStartTime + _vm->_game->_player._ticksAmount;
+ local._updateClock = _scene->_frameStartTime + _game->_player._ticksAmount;
}
}
@@ -161,18 +162,18 @@ static void room_103_pre_parser() {
static void room_103_parser() {
if (_action._savedFields._lookFlag)
- _vm->_dialogs->show(10322);
+ text_show(10322);
else if (player_said_2(walk_through, door)) {
- switch (_vm->_game->_trigger) {
+ switch (_game->_trigger) {
case 0:
_globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 6, 1);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
_game._player._stepEnabled = false;
- _vm->_sound->command(20);
+ g_engine->_soundManager->command(20, 0);
break;
case 1:
- _vm->_sound->command(1);
+ g_engine->_soundManager->command(1, 0);
_scene->_nextSceneId = 102;
_game._player._stepEnabled = true;
break;
@@ -181,15 +182,15 @@ static void room_103_parser() {
break;
}
} else if (player_said_2(take, timer_module) && _game._objects.isInRoom(OBJ_TIMER_MODULE)) {
- switch (_vm->_game->_trigger) {
+ switch (_game->_trigger) {
case 0:
_scene->changeVariant(1);
_globals._sequenceIndexes[13] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[13], false, 3, 2);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[13]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_SPRITE, 7, 1);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
- _vm->_game->_player._visible = false;
- _vm->_game->_player._stepEnabled = false;
+ _game->_player._visible = false;
+ _game->_player._stepEnabled = false;
break;
case 1:
@@ -197,28 +198,28 @@ static void room_103_parser() {
break;
case 2:
- _vm->_sound->command(22);
+ g_engine->_soundManager->command(22, 0);
_game._objects.addToInventory(OBJ_TIMER_MODULE);
_scene->changeVariant(0);
_scene->drawElements(kTransitionNone, false);
_scene->_hotspots.activate(371, false);
- _vm->_game->_player._visible = true;
- _vm->_game->_player._stepEnabled = true;
- _vm->_dialogs->showItem(OBJ_TIMER_MODULE, 805);
+ _game->_player._visible = true;
+ _game->_player._stepEnabled = true;
+ object_examine(OBJ_TIMER_MODULE, 805, 0);
break;
default:
break;
}
} else if (player_said_2(take, rebreather) && _game._objects.isInRoom(OBJ_REBREATHER)) {
- switch (_vm->_game->_trigger) {
+ switch (_game->_trigger) {
case 0:
_globals._sequenceIndexes[12] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[12], false, 3, 2);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[12]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[12], SEQUENCE_TRIGGER_SPRITE, 6, 1);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
- _vm->_game->_player._visible = false;
- _vm->_game->_player._stepEnabled = false;
+ _game->_player._visible = false;
+ _game->_player._stepEnabled = false;
break;
case 1:
@@ -226,34 +227,34 @@ static void room_103_parser() {
break;
case 2:
- _vm->_sound->command(22);
+ g_engine->_soundManager->command(22, 0);
_game._objects.addToInventory(OBJ_REBREATHER);
_scene->_hotspots.activate(289, false);
- _vm->_game->_player._visible = true;
- _vm->_game->_player._stepEnabled = true;
- _vm->_dialogs->showItem(OBJ_REBREATHER, 804);
+ _game->_player._visible = true;
+ _game->_player._stepEnabled = true;
+ object_examine(OBJ_REBREATHER, 804, 0);
break;
default:
break;
}
} else if (player_said_2(look, tasty_turkey))
- _vm->_dialogs->show(10301);
+ text_show(10301);
else if (player_said_2(take, tasty_turkey)) {
// Take Turkey
- if (!_vm->_game->_trigger)
- _vm->_sound->command(31);
+ if (!_game->_trigger)
+ g_engine->_soundManager->command(31, 0);
- if (_vm->_game->_trigger < 2) {
- _globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6, _vm->_game->_trigger < 1 ? 1 : 0);
- if (_vm->_game->_trigger) {
+ if (_game->_trigger < 2) {
+ _globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6, _game->_trigger < 1 ? 1 : 0);
+ if (_game->_trigger) {
// Lock the turkey into a permanent "exploded" frame
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[9], -2, -2);
// Rex says "Gads.."
const char *msg = _game.getQuote(51);
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 18, 0, 60, msg);
- _scene->_sequences.addTimer(120, _vm->_game->_trigger + 1);
+ _scene->_sequences.addTimer(120, _game->_trigger + 1);
} else {
// Initial turky explosion
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
@@ -266,13 +267,13 @@ static void room_103_parser() {
if (_game._trigger == 2) {
// Show exposition dialog at end of sequence
- _vm->_dialogs->show(10302);
+ text_show(10302);
_scene->_hotspots.activate(362, false);
}
} else if (player_said_2(look, oven))
- _vm->_dialogs->show(!_globals[kTurkeyExploded] ? 10323 : 10303);
+ text_show(!_globals[kTurkeyExploded] ? 10323 : 10303);
else if (player_said_2(talkto, auxiliary_power)) {
- switch (_vm->_game->_trigger) {
+ switch (_game->_trigger) {
case 0:
{
_game._player._stepEnabled = false;
@@ -295,44 +296,44 @@ static void room_103_parser() {
case 3:
_game._player._stepEnabled = true;
- _vm->_dialogs->show(10306);
+ text_show(10306);
break;
default:
break;
}
} else if (player_said_2(look, auxiliary_power))
- _vm->_dialogs->show(10304);
+ text_show(10304);
else if (player_said_2(look, big_pipes))
- _vm->_dialogs->show(10307);
+ text_show(10307);
else if (player_said_2(look, burnt_out_warp_coil))
- _vm->_dialogs->show(10308);
+ text_show(10308);
else if (player_said_2(take, shovel))
- _vm->_dialogs->show(10309);
+ text_show(10309);
else if (player_said_2(take, coal))
- _vm->_dialogs->show(10310);
+ text_show(10310);
else if (player_said_2(look, furnace))
- _vm->_dialogs->show(10312);
+ text_show(10312);
else if (player_said_2(open, furnace))
- _vm->_dialogs->show(10313);
+ text_show(10313);
else if (player_said_2(close, auxiliary_power))
- _vm->_dialogs->show(10314);
+ text_show(10314);
else if (player_said_2(look, shield_generator))
- _vm->_dialogs->show(10315);
+ text_show(10315);
else if (player_said_2(look, hyperdrive_jump_unit))
- _vm->_dialogs->show(10316);
+ text_show(10316);
else if (player_said_2(look, pressure_gauge))
- _vm->_dialogs->show(10317);
+ text_show(10317);
else if (player_said_2(look, engineering_controls))
- _vm->_dialogs->show(10318);
+ text_show(10318);
else if (player_said_2(look, rebreather) && _game._objects.isInInventory(OBJ_REBREATHER))
- _vm->_dialogs->show(10319);
+ text_show(10319);
else if (player_said_2(look, timer_module) && _game._objects.isInInventory(OBJ_TIMER_MODULE))
- _vm->_dialogs->show(10320);
+ text_show(10320);
else if (player_said_2(look, floor))
- _vm->_dialogs->show(10321);
+ text_show(10321);
else if (player_said_2(look, workbench))
- _vm->_dialogs->show(_game._objects.isInInventory(OBJ_TIMER_MODULE) ? 10324 : 10325);
+ text_show(_game._objects.isInInventory(OBJ_TIMER_MODULE) ? 10324 : 10325);
else
return;
@@ -341,7 +342,7 @@ static void room_103_parser() {
void room_103_error() {
if (player_said_1(auxiliary_power) && !player_said_1(walkto)) {
- _vm->_dialogs->show(10305);
+ text_show(10305);
_action._inProgress = false;
} else if (player_said_3(put, coal, furnace)) {
const char *msg = _game.getQuote(73);
diff --git a/engines/mads/nebular/rooms/room104.cpp b/engines/mads/nebular/rooms/room104.cpp
index 06d05d0b45b..722e66c8b3c 100644
--- a/engines/mads/nebular/rooms/room104.cpp
+++ b/engines/mads/nebular/rooms/room104.cpp
@@ -52,7 +52,7 @@ static void room_104_init() {
_game.loadQuoteSet(0x35, 0x34, 0);
local._kargShootingFl = false;
- if (_vm->getRandomNumber(1, 3) == 1) {
+ if (g_engine->getRandomNumber(1, 3) == 1) {
_scene->loadAnimation(Resources::formatName(104, 'B', -1, EXT_AA, ""), 0);
local._kargShootingFl = true;
}
@@ -86,7 +86,7 @@ static void room_104_daemon() {
_game._player._stepEnabled = false;
_game._player._visible = false;
_globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('a', 0));
- _vm->_palette->refreshSceneColors();
+ kernel_new_palette();
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], mirrorFl, 7, 1, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(198, 143));
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 4);
@@ -101,7 +101,7 @@ static void room_104_daemon() {
break;
case 2:
- _vm->_dialogs->show(10406);
+ text_show(10406);
_scene->_reloadSceneFlag = true;
break;
@@ -119,7 +119,7 @@ static void room_104_daemon() {
_game._player._stepEnabled = false;
_game._player._visible = false;
_globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('a', 1));
- _vm->_palette->refreshSceneColors();
+ kernel_new_palette();
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 1, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[3], Common::Point(198, 143));
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 4);
@@ -143,7 +143,7 @@ static void room_104_daemon() {
break;
case 3:
- _vm->_dialogs->show(10406);
+ text_show(10406);
_scene->_reloadSceneFlag = true;
break;
@@ -161,7 +161,7 @@ static void room_104_daemon() {
_game._player._stepEnabled = false;
_game._player._visible = false;
_globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('a', 2));
- _vm->_palette->refreshSceneColors();
+ kernel_new_palette();
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 8, 1, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(198, 143));
_scene->_sequences.setDepth(_globals._sequenceIndexes[4], 4);
@@ -178,7 +178,7 @@ static void room_104_daemon() {
break;
case 2:
- _vm->_dialogs->show(10406);
+ text_show(10406);
_scene->_reloadSceneFlag = true;
break;
@@ -191,7 +191,7 @@ static void room_104_daemon() {
}
if (!_game._trigger)
- _vm->_sound->command(34);
+ g_engine->_soundManager->command(34, 0);
}
if (_game._player._moving && (_scene->_rails.getNext() > 0)) {
@@ -219,15 +219,15 @@ static void room_104_pre_parser() {
static void room_104_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(10405);
+ text_show(10405);
else if (player_said_2(look, curious_weed_patch))
- _vm->_dialogs->show(10404);
+ text_show(10404);
else if (player_said_2(look, surface))
- _vm->_dialogs->show(10403);
+ text_show(10403);
else if (player_said_2(look, cliff_face))
- _vm->_dialogs->show(10401);
+ text_show(10401);
else if (player_said_2(look, ocean_floor))
- _vm->_dialogs->show(10402);
+ text_show(10402);
else
return;
diff --git a/engines/mads/nebular/rooms/room105.cpp b/engines/mads/nebular/rooms/room105.cpp
index e1766e06647..588bf240f9a 100644
--- a/engines/mads/nebular/rooms/room105.cpp
+++ b/engines/mads/nebular/rooms/room105.cpp
@@ -75,9 +75,9 @@ static void room_105_daemon() {
_globals._spriteIndexes[0] = _scene->_sprites.addSprites(formAnimName('m', 0));
_globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('m', 2));
_globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('m', 3));
- _vm->_sound->command(33);
+ g_engine->_soundManager->command(33, 0);
_scene->clearSequenceList();
- _vm->_palette->refreshSceneColors();
+ kernel_new_palette();
_globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 6, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[0], 8);
@@ -109,7 +109,7 @@ static void room_105_daemon() {
break;
case 3:
- _vm->_dialogs->show(10507);
+ text_show(10507);
_scene->_reloadSceneFlag = true;
_scene->_sequences.addTimer(90, 4);
break;
@@ -142,38 +142,38 @@ static void room_105_pre_parser() {
static void room_105_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(10512);
+ text_show(10512);
else if (player_said_2(take, dead_fish) && _globals[kFishIn105]) {
if (_game._objects.isInInventory(OBJ_DEAD_FISH)) {
- int randVal = _vm->getRandomNumber(74, 76);
+ int randVal = g_engine->getRandomNumber(74, 76);
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(randVal));
} else {
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
_game._objects.addToInventory(OBJ_DEAD_FISH);
_globals[kFishIn105] = false;
- _vm->_dialogs->showItem(OBJ_DEAD_FISH, 802, 0);
+ object_examine(OBJ_DEAD_FISH, 802, 0);
}
} else if (player_said_2(look, western_cliff_face))
- _vm->_dialogs->show(10501);
+ text_show(10501);
else if (player_said_2(look, cliff_face))
- _vm->_dialogs->show(10502);
+ text_show(10502);
else if (player_said_2(look, ocean_floor))
- _vm->_dialogs->show(10503);
+ text_show(10503);
else if (player_said_2(look, medical_waste))
- _vm->_dialogs->show(10504);
+ text_show(10504);
else if (player_said_2(take, medical_waste))
- _vm->_dialogs->show(10505);
+ text_show(10505);
else if (player_said_2(look, mine))
- _vm->_dialogs->show(10506);
+ text_show(10506);
else if (player_said_2(look, dead_fish))
- _vm->_dialogs->show(10508);
+ text_show(10508);
else if (player_said_2(look, surface))
- _vm->_dialogs->show(10509);
+ text_show(10509);
else if (player_said_2(look, open_area_to_south))
- _vm->_dialogs->show(10510);
+ text_show(10510);
else if (player_said_2(look, rocks))
- _vm->_dialogs->show(10511);
+ text_show(10511);
else
return;
diff --git a/engines/mads/nebular/rooms/room106.cpp b/engines/mads/nebular/rooms/room106.cpp
index a7cc83f5898..6b3e1d18791 100644
--- a/engines/mads/nebular/rooms/room106.cpp
+++ b/engines/mads/nebular/rooms/room106.cpp
@@ -195,7 +195,7 @@ static void room_106_pre_parser() {
static void room_106_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(10614);
+ text_show(10614);
else if (player_said_2(swim_to, main_airlock)) {
_game._player._stepEnabled = false;
_game._player._prepareWalkPos = Common::Point(95, 72);
@@ -205,31 +205,31 @@ static void room_106_parser() {
_game._player._frameNumber = 9;
local._backToShipFl = true;
} else if (player_said_2(look, anemone) || player_said_2(look_at, anemone))
- _vm->_dialogs->show(10601);
+ text_show(10601);
else if (player_said_2(take, anemone))
- _vm->_dialogs->show(10602);
+ text_show(10602);
else if (player_said_2(look, seaweed) || player_said_2(look, seaweed_bank))
- _vm->_dialogs->show(10603);
+ text_show(10603);
else if (player_said_2(take, seaweed) || player_said_2(take, seaweed_bank))
- _vm->_dialogs->show(10604);
+ text_show(10604);
else if (player_said_2(look, open_area_to_east))
- _vm->_dialogs->show(10605);
+ text_show(10605);
else if (player_said_2(look, pile_of_rocks) || player_said_2(look_at, pile_of_rocks))
- _vm->_dialogs->show(10606);
+ text_show(10606);
else if (player_said_1(pile_of_rocks) && (player_said_1(push) || player_said_1(pull) || player_said_1(take)))
- _vm->_dialogs->show(10607);
+ text_show(10607);
else if (player_said_2(look, ship) || player_said_2(look_at, ship))
- _vm->_dialogs->show(10608);
+ text_show(10608);
else if (player_said_2(look, main_airlock))
- _vm->_dialogs->show(10609);
+ text_show(10609);
else if (player_said_2(open, main_airlock))
- _vm->_dialogs->show(10610);
+ text_show(10610);
else if (player_said_2(close, main_airlock))
- _vm->_dialogs->show(10611);
+ text_show(10611);
else if (player_said_2(look, sea_cliff))
- _vm->_dialogs->show(10612);
+ text_show(10612);
else if (player_said_2(look, ocean_floor))
- _vm->_dialogs->show(10613);
+ text_show(10613);
else
return;
@@ -255,7 +255,7 @@ void room_106_preload() {
if ((_scene->_priorSceneId == 102) && !_game._objects.isInInventory(OBJ_REBREATHER) && !_scene->_roomChanged)
*player.series_name = '\0';
- _vm->_dialogs->_defaultPosition.y = 100;
+ text_default_y = 100;
}
diff --git a/engines/mads/nebular/rooms/room107.cpp b/engines/mads/nebular/rooms/room107.cpp
index eef0836edec..ecd301b4974 100644
--- a/engines/mads/nebular/rooms/room107.cpp
+++ b/engines/mads/nebular/rooms/room107.cpp
@@ -66,7 +66,7 @@ static void room_107_init() {
else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
_game._player._playerPos = Common::Point(223, 151);
- if (((_scene->_priorSceneId == 105) || (_scene->_priorSceneId == 106)) && (_vm->getRandomNumber(1, 3) == 1)) {
+ if (((_scene->_priorSceneId == 105) || (_scene->_priorSceneId == 106)) && (g_engine->getRandomNumber(1, 3) == 1)) {
_globals._spriteIndexes[0] = _scene->_sprites.addSprites(Resources::formatName(105, 'R', 1, EXT_SS, ""));
_globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], true, 4, 0, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[0], Common::Point(270, 150));
@@ -78,7 +78,7 @@ static void room_107_init() {
_game.loadQuoteSet(0x4A, 0x4B, 0x4C, 0x35, 0x34, 0);
local._shootingFl = false;
- if (_vm->getRandomNumber(1, 3) == 1) {
+ if (g_engine->getRandomNumber(1, 3) == 1) {
_scene->loadAnimation(Resources::formatName(107, 'B', -1, EXT_AA, ""), 0);
local._shootingFl = true;
}
@@ -103,38 +103,38 @@ static void room_107_pre_parser() {
static void room_107_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(10708);
+ text_show(10708);
else if (player_said_2(take, dead_fish) && _globals[kFishIn107]) {
if (_game._objects.isInInventory(OBJ_DEAD_FISH)) {
- int randVal = _vm->getRandomNumber(74, 76);
+ int randVal = g_engine->getRandomNumber(74, 76);
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(randVal));
} else {
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
_game._objects.addToInventory(OBJ_DEAD_FISH);
_globals[kFishIn107] = false;
- _vm->_dialogs->showItem(OBJ_DEAD_FISH, 802);
+ object_examine(OBJ_DEAD_FISH, 802, 0);
}
} else if (player_said_2(swim_towards, northern_sea_cliff))
_scene->_nextSceneId = 105;
else if (player_said_2(look, northern_sea_cliff))
- _vm->_dialogs->show(10701);
+ text_show(10701);
else if (player_said_2(look, dead_fish) && (_action._mainObjectSource == CAT_HOTSPOT))
- _vm->_dialogs->show(10702);
+ text_show(10702);
else if (player_said_2(look, bush_like_formation))
- _vm->_dialogs->show(10703);
+ text_show(10703);
else if (player_said_2(look, rock))
- _vm->_dialogs->show(10704);
+ text_show(10704);
else if (player_said_2(look, seaweed))
- _vm->_dialogs->show(10705);
+ text_show(10705);
else if (player_said_2(look, open_area_to_south))
- _vm->_dialogs->show(10706);
+ text_show(10706);
else if (player_said_2(look, cliff_face))
- _vm->_dialogs->show(10707);
+ text_show(10707);
else if (player_said_2(look, manta_ray))
- _vm->_dialogs->show(10709);
+ text_show(10709);
else if (player_said_2(take, manta_ray))
- _vm->_dialogs->show(10710);
+ text_show(10710);
else
return;
diff --git a/engines/mads/nebular/rooms/room108.cpp b/engines/mads/nebular/rooms/room108.cpp
index 77d31950899..9dfb53ee329 100644
--- a/engines/mads/nebular/rooms/room108.cpp
+++ b/engines/mads/nebular/rooms/room108.cpp
@@ -76,40 +76,40 @@ static void room_108_pre_parser() {
static void room_108_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(10812);
+ text_show(10812);
else if (player_said_2(take, dead_fish) && _globals[kFishIn108]) {
if (_game._objects.isInInventory(OBJ_DEAD_FISH)) {
- int randVal = _vm->getRandomNumber(74, 76);
+ int randVal = g_engine->getRandomNumber(74, 76);
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(randVal));
} else {
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
_game._objects.addToInventory(OBJ_DEAD_FISH);
_globals[kFishIn108] = false;
- _vm->_dialogs->showItem(OBJ_DEAD_FISH, 10808);
+ object_examine(OBJ_DEAD_FISH, 10808, 0);
}
} else if (player_said_2(swim_towards, open_area_to_north))
_scene->_nextSceneId = 107;
else if (player_said_2(look, cliff_face))
- _vm->_dialogs->show(10801);
+ text_show(10801);
else if (player_said_2(look, ocean_floor))
- _vm->_dialogs->show(10802);
+ text_show(10802);
else if (player_said_2(look, odd_rock_formation))
- _vm->_dialogs->show(10803);
+ text_show(10803);
else if (player_said_2(take, odd_rock_formation))
- _vm->_dialogs->show(10804);
+ text_show(10804);
else if (player_said_2(look, rocks))
- _vm->_dialogs->show(10805);
+ text_show(10805);
else if (player_said_2(take, rocks))
- _vm->_dialogs->show(10806);
+ text_show(10806);
else if (player_said_2(look, dead_fish))
- _vm->_dialogs->show(10807);
+ text_show(10807);
else if (player_said_2(look, overhang_to_east))
- _vm->_dialogs->show(10809);
+ text_show(10809);
else if (player_said_2(look, open_area_to_north))
- _vm->_dialogs->show(10810);
+ text_show(10810);
else if (player_said_2(look, surface))
- _vm->_dialogs->show(10811);
+ text_show(10811);
else
return;
diff --git a/engines/mads/nebular/rooms/room109.cpp b/engines/mads/nebular/rooms/room109.cpp
index 0ea040a8c87..679ce96a5d8 100644
--- a/engines/mads/nebular/rooms/room109.cpp
+++ b/engines/mads/nebular/rooms/room109.cpp
@@ -21,6 +21,7 @@
#include "mads/core/game.h"
#include "mads/core/himem.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -99,8 +100,8 @@ static void room_109_init() {
_game._objects.addToInventory(OBJ_STUFFED_FISH);
}
- _vm->_palette->setEntry(252, 50, 50, 63);
- _vm->_palette->setEntry(253, 30, 30, 50);
+ pal_change_color(252, 50, 50, 63);
+ pal_change_color(253, 30, 30, 50);
_game.loadQuoteSet(0x53, 0x52, 0x54, 0x55, 0x56, 0x57, 0x58, 0);
local._eatingFirstFish = (!_game._visitedScenes._sceneRevisited) && (_scene->_priorSceneId < 110);
@@ -130,7 +131,7 @@ static void room_109_daemon() {
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
local._eatingRex = true;
- _vm->_sound->command(34);
+ g_engine->_soundManager->command(34, 0);
}
} else {
switch (_game._trigger) {
@@ -155,7 +156,7 @@ static void room_109_daemon() {
local._beforeEatingRex = true;
_scene->_sprites.remove(_globals._spriteIndexes[6]);
_globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('H', 0));
- _vm->_palette->refreshSceneColors();
+ kernel_new_palette();
}
if (_game._player._moving && (_scene->_rails.getNext() > 0) && _globals[kHoovicAlive] && !_globals[kHoovicSated] && !local._hungryFl && !local._beforeEatingRex) {
@@ -173,7 +174,7 @@ static void room_109_daemon() {
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[10], _globals._sequenceIndexes[9]);
local._eatingFirstFish = false;
_game._player._stepEnabled = true;
- _vm->_sound->command(34);
+ g_engine->_soundManager->command(34, 0);
}
if (_game._trigger == 72)
@@ -187,7 +188,7 @@ static void room_109_daemon() {
_scene->_spriteSlots.clear();
_scene->_spriteSlots.fullRefresh();
- int randVal = _vm->getRandomNumber(85, 88);
+ int randVal = g_engine->getRandomNumber(85, 88);
int idx = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(randVal));
_scene->_kernelMessages.setQuoted(idx, 4, true);
_scene->_kernelMessages._entries[idx]._frameTimer = _scene->_frameStartTime + 4;
@@ -219,7 +220,7 @@ static void room_109_pre_parser() {
static void room_109_parser() {
if (_action._lookFlag) {
- _vm->_dialogs->show(10912);
+ text_show(10912);
_action._inProgress = false;
return;
}
@@ -255,7 +256,7 @@ static void room_109_parser() {
break;
}
- _vm->_palette->refreshSceneColors();
+ kernel_new_palette();
break;
case 1:
@@ -296,12 +297,12 @@ static void room_109_parser() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[8], 4);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, local._hoovicTrigger);
- _vm->_sound->command(34);
+ g_engine->_soundManager->command(34, 0);
break;
case 3:
_scene->loadAnimation(Resources::formatName(109, 'H', 2, EXT_AA, ""), 4);
- _vm->_sound->command(35);
+ g_engine->_soundManager->command(35, 0);
_globals[kHoovicAlive] = false;
break;
@@ -334,7 +335,7 @@ static void room_109_parser() {
}
if (_globals[kHoovicFishEaten] >= threshold) {
- int randVal = _vm->getRandomNumber(83, 84);
+ int randVal = g_engine->getRandomNumber(83, 84);
_scene->_kernelMessages.add(Common::Point(230, 24), 0xFDFC, 0, 0, 120, _game.getQuote(randVal));
_globals[kHoovicFishEaten] = 0;
_globals[kHoovicSated] = 1;
@@ -385,7 +386,7 @@ static void room_109_parser() {
_globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, -2);
int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
- _vm->_dialogs->show(10915);
+ text_show(10915);
}
break;
@@ -410,30 +411,30 @@ static void room_109_parser() {
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
_game._objects.addToInventory(OBJ_BURGER);
} else if (player_said_2(look, ocean_floor))
- _vm->_dialogs->show(10901);
+ text_show(10901);
else if (player_said_2(look, coral))
- _vm->_dialogs->show(10902);
+ text_show(10902);
else if ((player_said_1(take) || player_said_1(pull)) && player_said_1(coral))
- _vm->_dialogs->show(10903);
+ text_show(10903);
else if (player_said_2(look, rocks))
- _vm->_dialogs->show(10904);
+ text_show(10904);
else if (player_said_2(take, rocks))
- _vm->_dialogs->show(10905);
+ text_show(10905);
else if (player_said_2(look, cave_wall))
- _vm->_dialogs->show(10906);
+ text_show(10906);
else if (player_said_2(look, tunnel)) {
if (_globals[kHoovicAlive])
- _vm->_dialogs->show(10907);
+ text_show(10907);
else
- _vm->_dialogs->show(10913);
+ text_show(10913);
} else if (player_said_2(look, small_hole))
- _vm->_dialogs->show(10908);
+ text_show(10908);
else if (player_said_2(look, overhang_to_west))
- _vm->_dialogs->show(10911);
+ text_show(10911);
else if (player_said_2(put, small_hole))
- _vm->_dialogs->show(10910);
+ text_show(10910);
else if (player_said_2(look, dead_purple_monster))
- _vm->_dialogs->show(10914);
+ text_show(10914);
else
return;
diff --git a/engines/mads/nebular/rooms/room110.cpp b/engines/mads/nebular/rooms/room110.cpp
index 6d00b33f8b3..5f89ba4dbfd 100644
--- a/engines/mads/nebular/rooms/room110.cpp
+++ b/engines/mads/nebular/rooms/room110.cpp
@@ -133,21 +133,21 @@ static void room_110_parser() {
break;
}
} else if ((_action._lookFlag) || player_said_2(look, cave))
- _vm->_dialogs->show(11001);
+ text_show(11001);
else if (player_said_2(look, cave_ceiling) || player_said_2(look_at, cave_ceiling))
- _vm->_dialogs->show(11002);
+ text_show(11002);
else if (player_said_2(look, rocks))
- _vm->_dialogs->show(11003);
+ text_show(11003);
else if (player_said_2(take, rocks))
- _vm->_dialogs->show(11004);
+ text_show(11004);
else if (player_said_2(look, tunnel))
- _vm->_dialogs->show(11005);
+ text_show(11005);
else if (player_said_2(look, cave_entrance))
- _vm->_dialogs->show(11006);
+ text_show(11006);
else if (player_said_2(look, fungoids))
- _vm->_dialogs->show(11007);
+ text_show(11007);
else if (player_said_2(take, fungoids))
- _vm->_dialogs->show(11008);
+ text_show(11008);
else
return;
diff --git a/engines/mads/nebular/rooms/room111.cpp b/engines/mads/nebular/rooms/room111.cpp
index 83e2f02c25a..05601f542b1 100644
--- a/engines/mads/nebular/rooms/room111.cpp
+++ b/engines/mads/nebular/rooms/room111.cpp
@@ -82,7 +82,7 @@ static void room_111_init() {
local._launch1Fl = true;
local._launched2Fl = true;
- _vm->_sound->command(36);
+ g_engine->_soundManager->command(36, 0);
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
_game._player._playerPos = Common::Point(300, 130);
_game._player._facing = FACING_WEST;
@@ -112,7 +112,7 @@ static void room_111_daemon() {
_globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 20);
}
- if (!local._launch1Fl && (_vm->getRandomNumber(1, 5000) == 1)) {
+ if (!local._launch1Fl && (g_engine->getRandomNumber(1, 5000) == 1)) {
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 5, 1, 0, 0);
local._launch1Fl = true;
@@ -120,7 +120,7 @@ static void room_111_daemon() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
}
- if (!local._launched2Fl && (_vm->getRandomNumber(1, 30000) == 1)) {
+ if (!local._launched2Fl && (g_engine->getRandomNumber(1, 30000) == 1)) {
_scene->_sequences.remove(_globals._sequenceIndexes[5]);
_globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 5, 1, 0, 0);
int idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, _globals._sequenceIndexes[5], Common::Rect(0, 0, 0, 0));
@@ -129,10 +129,10 @@ static void room_111_daemon() {
}
if (_game._trigger == 73)
- _vm->_sound->command(37);
+ g_engine->_soundManager->command(37, 0);
if (local._rexDivingFl && (_scene->_animation[0]->getCurrentFrame() >= 9)) {
- _vm->_sound->command(36);
+ g_engine->_soundManager->command(36, 0);
local._rexDivingFl = false;
}
}
@@ -160,17 +160,17 @@ static void room_111_parser() {
break;
}
} else if (player_said_2(look, cave_floor))
- _vm->_dialogs->show(11101);
+ text_show(11101);
else if (player_said_2(look, pool))
- _vm->_dialogs->show(11102);
+ text_show(11102);
else if (player_said_2(look, cave_entrance))
- _vm->_dialogs->show(11103);
+ text_show(11103);
else if (player_said_2(look, stalagmites))
- _vm->_dialogs->show(11104);
+ text_show(11104);
else if (player_said_2(look, large_stalagmite))
- _vm->_dialogs->show(11105);
+ text_show(11105);
else if ((player_said_1(pull) || player_said_1(take)) && (player_said_1(stalagmites) || player_said_1(large_stalagmite)))
- _vm->_dialogs->show(11106);
+ text_show(11106);
else
return;
diff --git a/engines/mads/nebular/rooms/room201.cpp b/engines/mads/nebular/rooms/room201.cpp
index a67649c18d0..bd476a55b07 100644
--- a/engines/mads/nebular/rooms/room201.cpp
+++ b/engines/mads/nebular/rooms/room201.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -106,8 +107,8 @@ static void room_201_init() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[6], 1);
local._pterodactylFlag = false;
_game._player.walk(Common::Point(157, 143), FACING_NORTH);
- _vm->_palette->setEntry(252, 45, 63, 45);
- _vm->_palette->setEntry(253, 20, 45, 20);
+ pal_change_color(252, 45, 63, 45);
+ pal_change_color(253, 20, 45, 20);
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 2, 0, 120, _game.getQuote(90));
} else
local._pterodactylFlag = true;
@@ -119,12 +120,12 @@ static void room_201_init() {
}
static void room_201_daemon() {
- if (local._pterodactylFlag && (_vm->getRandomNumber(5000) == 9)) {
+ if (local._pterodactylFlag && (g_engine->getRandomNumber(5000) == 9)) {
_globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 5, 1, 6, 0);
int idx = _scene->_dynamicHotspots.add(words_swooping_creature, words_walkto, _globals._sequenceIndexes[5], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(270, 80), FACING_EAST);
_scene->_sequences.setDepth(_globals._sequenceIndexes[5], 8);
- _vm->_sound->command(14);
+ g_engine->_soundManager->command(14, 0);
local._pterodactylFlag = false;
}
@@ -133,7 +134,7 @@ static void room_201_daemon() {
_game._player._visible = false;
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], 12, 16);
_globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 9, 1, 0, 0);
- _vm->_sound->command(42);
+ g_engine->_soundManager->command(42, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[6], 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[7], 1);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_SPRITE, 3, 81);
@@ -159,7 +160,7 @@ static void room_201_daemon() {
}
if (_game._trigger == 74) {
- _vm->_sound->command(40);
+ g_engine->_soundManager->command(40, 0);
_scene->_kernelMessages.add(Common::Point(125, 56), 0xFDFC, 32, 82, 180, _game.getQuote(91));
_globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 9, 0, 0, 0);
@@ -186,8 +187,8 @@ static void room_201_daemon() {
}
if (_game._trigger == 78) {
- _vm->_sound->command(40);
- _vm->_dialogs->show(20114);
+ g_engine->_soundManager->command(40, 0);
+ text_show(20114);
_scene->_reloadSceneFlag = true;
}
}
@@ -206,34 +207,34 @@ static void room_201_parser() {
_scene->_nextSceneId = 213;
}
} else if (player_said_2(look, grassy_field)) {
- _vm->_dialogs->show(20101);
+ text_show(20101);
} else if (player_said_2(look, rocks)) {
- _vm->_dialogs->show(20102);
+ text_show(20102);
} else if (player_said_2(look, thorny_bush)) {
- _vm->_dialogs->show(20103);
+ text_show(20103);
} else if (player_said_2(look, sky)) {
- _vm->_dialogs->show(20104);
+ text_show(20104);
} else if (player_said_2(look, water)) {
- _vm->_dialogs->show(20105);
+ text_show(20105);
} else if (player_said_2(look, island_in_distance)) {
- _vm->_dialogs->show(20106);
+ text_show(20106);
} else if (player_said_2(look, weather_station)) {
- _vm->_dialogs->show(20107);
+ text_show(20107);
} else if (player_said_2(look, path)) {
- _vm->_dialogs->show(20108);
+ text_show(20108);
} else if (player_said_2(look, field_to_south)) {
- _vm->_dialogs->show(20110);
+ text_show(20110);
} else if (player_said_2(look, strange_device)) {
if (_globals[kMeteorologistEverSeen])
- _vm->_dialogs->show(20112);
+ text_show(20112);
else
- _vm->_dialogs->show(20109);
+ text_show(20109);
} else if (player_said_2(look, teleporter)) {
- _vm->_dialogs->show(20113);
+ text_show(20113);
} else
return;
} else {
- _vm->_dialogs->show(20111);
+ text_show(20111);
}
_action._inProgress = false;
}
diff --git a/engines/mads/nebular/rooms/room202.cpp b/engines/mads/nebular/rooms/room202.cpp
index 212523c3905..2b3206ecedd 100644
--- a/engines/mads/nebular/rooms/room202.cpp
+++ b/engines/mads/nebular/rooms/room202.cpp
@@ -167,7 +167,7 @@ static void room_202_init() {
}
static void setRandomKernelMessage() {
- int vocabId = _vm->getRandomNumber(92, 96);
+ int vocabId = g_engine->getRandomNumber(92, 96);
_scene->_kernelMessages.reset();
_game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 70, 120, _game.getQuote(vocabId));
@@ -224,10 +224,10 @@ static int subStep4(int randVal) {
}
static void room_202_daemon() {
- if (!local._activeMsgFl && (_game._player._playerPos == Common::Point(77, 105)) && (_game._player._facing == FACING_NORTH) && (_vm->getRandomNumber(999) == 0)) {
+ if (!local._activeMsgFl && (_game._player._playerPos == Common::Point(77, 105)) && (_game._player._facing == FACING_NORTH) && (g_engine->getRandomNumber(999) == 0)) {
_scene->_kernelMessages.reset();
local._activeMsgFl = false;
- if (_vm->getRandomNumber(4) == 0)
+ if (g_engine->getRandomNumber(4) == 0)
setRandomKernelMessage();
}
@@ -235,8 +235,8 @@ static void room_202_daemon() {
local._activeMsgFl = false;
if (_game._trigger == 71) {
- _vm->_sound->command(3);
- _vm->_sound->command(9);
+ g_engine->_soundManager->command(3, 0);
+ g_engine->_soundManager->command(9, 0);
local._meteoClock1 = _scene->_frameStartTime + 15 * 60;
@@ -270,7 +270,7 @@ static void room_202_daemon() {
switch (_game._trigger) {
case 90:
- _vm->_sound->command(41);
+ g_engine->_soundManager->command(41, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[10]);
_globals._sequenceIndexes[9] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[9], true, 6, 1, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[9], Common::Point(247, 82));
@@ -315,14 +315,14 @@ static void room_202_daemon() {
}
if (!_scene->_animation[0] && (_globals[kMeteorologistStatus] != METEOROLOGIST_GONE) && (local._meteoClock2 <= _scene->_frameStartTime) && (local._meteoClock1 <= _scene->_frameStartTime)) {
- int randVal = _vm->getRandomNumber(1, 500);
+ int randVal = g_engine->getRandomNumber(1, 500);
int threshold = 1;
if (local._ladderTopFl)
threshold += 25;
if (!_globals[kMeteorologistEverSeen])
threshold += 25;
if (threshold >= randVal) {
- _vm->_sound->command(17);
+ g_engine->_soundManager->command(17, 0);
_scene->loadAnimation(formAnimName('M', -1), 71);
local._toStationFl = true;
local._toTeleportFl = false;
@@ -341,7 +341,7 @@ static void room_202_daemon() {
if ((_globals[kMeteorologistWatch] == METEOROLOGIST_TOWER) || _globals[kLadderBroken]) {
_scene->_nextSceneId = 213;
} else {
- _vm->_dialogs->show(20201);
+ text_show(20201);
_scene->_reloadSceneFlag = true;
}
}
@@ -370,7 +370,7 @@ static void room_202_daemon() {
}
local._meteoFrame = _scene->_animation[0]->getCurrentFrame();
- int randVal = _vm->getRandomNumber(1, 1000);
+ int randVal = g_engine->getRandomNumber(1, 1000);
int frameStep = -1;
switch (_scene->_animation[0]->getCurrentFrame()) {
@@ -420,14 +420,14 @@ static void room_202_daemon() {
}
static void room_202_pre_parser() {
- auto &gplayer = _vm->_game->_player;
+ auto &gplayer = _game->_player;
if (gplayer._needToWalk)
_scene->_kernelMessages.reset();
if (local._ladderTopFl && (player_said_2(climb_down, ladder) || gplayer._needToWalk)) {
if (_game._trigger == 0) {
- _vm->_sound->command(29);
+ g_engine->_soundManager->command(29, 0);
gplayer._readyToWalk = false;
gplayer._stepEnabled = false;
_scene->_sequences.remove(_globals._sequenceIndexes[9]);
@@ -457,7 +457,7 @@ static void room_202_pre_parser() {
static void room_202_parser() {
if (_action._lookFlag) {
- _vm->_dialogs->show(20219);
+ text_show(20219);
return;
}
@@ -478,7 +478,7 @@ static void room_202_parser() {
switch (_game._trigger) {
case 0:
if (_game._objects.isInInventory(OBJ_BONES)) {
- _vm->_dialogs->show(20221);
+ text_show(20221);
} else {
_game._player._stepEnabled = false;
_game._player._visible = false;
@@ -501,10 +501,10 @@ static void room_202_parser() {
if (_game._objects.isInInventory(OBJ_BONE)) {
_game._objects.removeFromInventory(OBJ_BONE, NOWHERE);
_game._objects.addToInventory(OBJ_BONES);
- _vm->_dialogs->showItem(OBJ_BONES, 20218);
+ object_examine(OBJ_BONES, 20218, 0);
} else {
_game._objects.addToInventory(OBJ_BONE);
- _vm->_dialogs->showItem(OBJ_BONE, 20218);
+ object_examine(OBJ_BONE, 20218, 0);
}
_scene->changeVariant(_globals[kBone202Status]);
_game._player._stepEnabled = true;
@@ -518,7 +518,7 @@ static void room_202_parser() {
} else if (player_said_2(climb_up, ladder) && !_globals[kLadderBroken]) {
switch (_game._trigger) {
case 0:
- _vm->_sound->command(29);
+ g_engine->_soundManager->command(29, 0);
local._meteoClock1 = _scene->_frameStartTime;
_game._player._visible = false;
_game._player._stepEnabled = false;
@@ -572,7 +572,7 @@ static void room_202_parser() {
break;
case 2:
if (!_scene->_animation[0] && !local._meteorologistSpecial) {
- _vm->_dialogs->show(20222);
+ text_show(20222);
}
_scene->_sequences.remove(_globals._sequenceIndexes[10]);
_globals._sequenceIndexes[10] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[9], false, 6, 1, 0, 0);
@@ -626,7 +626,7 @@ static void room_202_parser() {
break;
case 2:
if (!_scene->_animation[0])
- _vm->_dialogs->show(20222);
+ text_show(20222);
local._meteorologistSpecial = false;
_scene->_sequences.remove(_globals._sequenceIndexes[10]);
_globals._sequenceIndexes[9] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[9], false, 6, 1, 0, 0);
@@ -648,41 +648,41 @@ static void room_202_parser() {
} else if (player_said_2(walk_inside, hut)) {
setRandomKernelMessage();
} else if (player_said_2(look, rocks)) {
- _vm->_dialogs->show(20202);
+ text_show(20202);
} else if (player_said_2(look, fire_pit)) {
- _vm->_dialogs->show(20203);
+ text_show(20203);
} else if (player_said_2(look, grass)) {
- _vm->_dialogs->show(20204);
+ text_show(20204);
} else if (player_said_2(look, field_to_north)) {
if ((_globals[kMeteorologistStatus] == METEOROLOGIST_ABSENT) || (_globals[kMeteorologistStatus] == METEOROLOGIST_GONE))
- _vm->_dialogs->show(20205);
+ text_show(20205);
else if (_globals[kMeteorologistStatus] == METEOROLOGIST_PRESENT)
- _vm->_dialogs->show(20220);
+ text_show(20220);
} else if (player_said_2(look, watch_tower)) {
- _vm->_dialogs->show(20206);
+ text_show(20206);
} else if (player_said_2(look, tall_grass)) {
- _vm->_dialogs->show(20207);
+ text_show(20207);
} else if (player_said_2(look, trees)) {
- _vm->_dialogs->show(20208);
+ text_show(20208);
} else if (player_said_2(look, tree)) {
- _vm->_dialogs->show(20209);
+ text_show(20209);
} else if (player_said_2(look, sky)) {
- _vm->_dialogs->show(20210);
+ text_show(20210);
} else if (player_said_2(look, hut)) {
if ((_game._player._playerPos == Common::Point(77, 105)) && (_game._player._facing == FACING_NORTH))
- _vm->_dialogs->show(20212);
+ text_show(20212);
else
- _vm->_dialogs->show(20211);
+ text_show(20211);
} else if (player_said_2(look, strange_device)) {
- _vm->_dialogs->show(20213);
+ text_show(20213);
} else if (player_said_2(look, ocean_in_distance)) {
- _vm->_dialogs->show(20214);
+ text_show(20214);
} else if (player_said_2(look, skull)) {
- _vm->_dialogs->show(20215);
+ text_show(20215);
} else if (player_said_2(take, skull)) {
- _vm->_dialogs->show(20216);
+ text_show(20216);
} else if (player_said_2(look, bones) && _action._commandSource == 4) {
- _vm->_dialogs->show(20217);
+ text_show(20217);
} else {
return;
}
diff --git a/engines/mads/nebular/rooms/room203.cpp b/engines/mads/nebular/rooms/room203.cpp
index 337b5aa0938..9df6df556f9 100644
--- a/engines/mads/nebular/rooms/room203.cpp
+++ b/engines/mads/nebular/rooms/room203.cpp
@@ -20,6 +20,8 @@
*/
#include "mads/core/game.h"
+#include "mads/core/mouse.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -64,18 +66,18 @@ static void room_203_init() {
if (!local._rhotundaEatFl) {
_globals._spriteIndexes[0] = _scene->_sprites.addSprites(formAnimName('b', -1));
- if (_vm->getRandomNumber(1, 3) == 2) {
+ if (g_engine->getRandomNumber(1, 3) == 2) {
_globals._spriteIndexes[15] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 9, 1, 0, 0);
int idx = _scene->_dynamicHotspots.add(words_yellow_bird, words_look_at, _globals._spriteIndexes[15], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
- _vm->_sound->command(14);
+ g_engine->_soundManager->command(14, 0);
}
}
_game.loadQuoteSet(0x67, 0x68, 0x69, 0x6A, 0x5A, 0);
if (local._rhotundaEatFl) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(_vm->getRandomNumber(103, 106)));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(g_engine->getRandomNumber(103, 106)));
}
section_2_music();
@@ -96,10 +98,11 @@ static void room_203_daemon() {
if (_game._trigger == 0) {
_game._player._visible = false;
_game._player._stepEnabled = false;
- _vm->_palette->lock();
+ pal_lock();
_scene->_kernelMessages.reset();
_scene->resetScene();
- _vm->_events->setCursor2(CURSOR_WAIT);
+ cursor_id = CURSOR_WAIT;
+ mouse_cursor_sprite(cursor, CURSOR_WAIT);
_scene->loadAnimation(Resources::formatName(203, 'a', -1, EXT_AA, ""), 81);
} else if (_game._trigger == 81) {
_scene->_nextSceneId = 208;
@@ -120,23 +123,23 @@ static void room_203_pre_parser() {
static void room_203_parser() {
if (_action._savedFields._lookFlag) {
- _vm->_dialogs->show(20307);
+ text_show(20307);
} else if (player_said_2(walk_towards, field_to_south)) {
_scene->_nextSceneId = 208;
} else if (player_said_2(walk_towards, field_to_north)) {
_scene->_nextSceneId = 202;
} else if (player_said_2(look, sky)) {
- _vm->_dialogs->show(20301);
+ text_show(20301);
} else if (player_said_2(look, cliff_face)) {
- _vm->_dialogs->show(20302);
+ text_show(20302);
} else if (player_said_2(look, palm_tree)) {
- _vm->_dialogs->show(20303);
+ text_show(20303);
} else if (player_said_2(look, field_to_north)) {
- _vm->_dialogs->show(20304);
+ text_show(20304);
} else if (player_said_2(look, grassy_field)) {
- _vm->_dialogs->show(20305);
+ text_show(20305);
} else if (player_said_2(look, boulders)) {
- _vm->_dialogs->show(20305);
+ text_show(20305);
} else
return;
diff --git a/engines/mads/nebular/rooms/room205.cpp b/engines/mads/nebular/rooms/room205.cpp
index da0bb9e048c..ca0384fdccd 100644
--- a/engines/mads/nebular/rooms/room205.cpp
+++ b/engines/mads/nebular/rooms/room205.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/rooms/dialog.h"
@@ -87,12 +88,12 @@ static void room_205_init() {
if (!_game._visitedScenes._sceneRevisited)
local._dialog1.set(0x5A, 0x74, 0x75, 0x77, 0);
- _vm->_palette->setEntry(250, 63, 50, 20);
- _vm->_palette->setEntry(251, 50, 40, 15);
- _vm->_palette->setEntry(252, 63, 63, 40);
- _vm->_palette->setEntry(253, 50, 50, 30);
+ pal_change_color(250, 63, 50, 20);
+ pal_change_color(251, 50, 40, 15);
+ pal_change_color(252, 63, 63, 40);
+ pal_change_color(253, 50, 50, 30);
- local._chickenTime = _vm->_game->_scene._frameStartTime;
+ local._chickenTime = _game->_scene._frameStartTime;
if (_globals[kSexOfRex] == SEX_FEMALE)
_scene->_kernelMessages.initRandomMessages(3,
@@ -123,29 +124,29 @@ static void room_205_daemon() {
if (_globals[kSexOfRex] == SEX_FEMALE) {
_scene->_kernelMessages.randomServer();
- if (_vm->_game->_scene._frameStartTime >= local._chickenTime) {
+ if (_game->_scene._frameStartTime >= local._chickenTime) {
int chanceMinor = _scene->_kernelMessages.checkRandom() + 1;
if (_scene->_kernelMessages.generateRandom(100, chanceMinor))
- _vm->_sound->command(28);
+ g_engine->_soundManager->command(28, 0);
- local._chickenTime = _vm->_game->_scene._frameStartTime + 2;
+ local._chickenTime = _game->_scene._frameStartTime + 2;
}
}
- if (_vm->_game->_scene._frameStartTime - local._lastFishTime > 1300) {
+ if (_game->_scene._frameStartTime - local._lastFishTime > 1300) {
_globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(
_globals._spriteIndexes[6], false, 5, 1, 0, 0);
int idx = _scene->_dynamicHotspots.add(words_piranha, words_walkto, _globals._sequenceIndexes[6],
Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(49, 86), FACING_NORTH);
- local._lastFishTime = _vm->_game->_scene._frameStartTime;
+ local._lastFishTime = _game->_scene._frameStartTime;
}
if (_game._trigger == 73)
_scene->_kernelMessages.add(Common::Point(160, 68), 0xFBFA, 32, 0, 60, _game.getQuote(112));
if (_game._trigger == 74) {
- _vm->_sound->command(26);
+ g_engine->_soundManager->command(26, 0);
_scene->_kernelMessages.add(Common::Point(106, 90), 0x1110, 32, 0, 60, _game.getQuote(113));
}
@@ -195,7 +196,7 @@ static void room_205_parser() {
case 0x78:
handleWomanSpeech(0x7B);
local._dialog1.write(_action._activeAction._verbId, false);
- _vm->_dialogs->show(20501);
+ text_show(20501);
break;
case 0x76:
@@ -222,9 +223,9 @@ static void room_205_parser() {
local._dialog1.start();
}
} else if (_action._lookFlag)
- _vm->_dialogs->show(20502);
+ text_show(20502);
else if (player_said_3(look, binoculars, opposite_bank))
- _vm->_dialogs->show(20518);
+ text_show(20518);
else if (player_said_2(talkto, native_woman)) {
if (_game._trigger == 0) {
_game._player._stepEnabled = false;
@@ -239,7 +240,7 @@ static void room_205_parser() {
} else if (player_said_2(give, native_woman) && _game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId))) {
if (_game._trigger == 0) {
_game._player._stepEnabled = false;
- int rndVal = _vm->getRandomNumber(0xAC, 0xAE);
+ int rndVal = g_engine->getRandomNumber(0xAC, 0xAE);
_scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 32, 1, 120, _game.getQuote(rndVal));
} else if (_game._trigger == 1)
_game._player._stepEnabled = true;
@@ -247,20 +248,20 @@ static void room_205_parser() {
if (_game._trigger == 0) {
_game._player._visible = false;
_game._player._stepEnabled = false;
- _vm->_palette->lock();
+ pal_lock();
_scene->_kernelMessages.reset();
_game._player.removePlayerSprites();
_globals._spriteIndexes[9] = _scene->_sprites.addSprites(formAnimName('a', 0));
- _vm->_palette->refreshSceneColors();
+ kernel_new_palette();
_globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[9], -1);
- _vm->_sound->command(27);
+ g_engine->_soundManager->command(27, 0);
} else if (_game._trigger == 1) {
if (_scene->_animation[0] != nullptr)
_scene->_animation[0]->resetSpriteSetsCount();
- _vm->_dialogs->show(20516);
+ text_show(20516);
_scene->_reloadSceneFlag = true;
}
} else {
@@ -276,39 +277,39 @@ static void room_205_parser() {
_game._objects.addToInventory(OBJ_CHICKEN);
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
_scene->_hotspots.activate(words_chicken_on_spit, false);
- _vm->_dialogs->showItem(OBJ_CHICKEN, 812);
+ object_examine(OBJ_CHICKEN, 812, 0);
} else if (player_said_2(take, chicken_on_spit) && (!_globals[kChickenPermitted]))
_scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 32, 0, 120, _game.getQuote(0x80));
else if (player_said_2(look, native_woman))
- _vm->_dialogs->show(20503);
+ text_show(20503);
else if (player_said_2(look, hut))
- _vm->_dialogs->show(20504);
+ text_show(20504);
else if (player_said_2(look, chicken) && (_action._mainObjectSource == CAT_HOTSPOT))
- _vm->_dialogs->show(20505);
+ text_show(20505);
else if (player_said_2(take, chicken) && (_action._mainObjectSource == CAT_HOTSPOT))
- _vm->_dialogs->show(20506);
+ text_show(20506);
else if (player_said_2(look, chicken_on_spit))
- _vm->_dialogs->show(20507);
+ text_show(20507);
else if (player_said_2(look, fire_pit))
- _vm->_dialogs->show(20508);
+ text_show(20508);
else if (player_said_2(take, fire_pit))
- _vm->_dialogs->show(20509);
+ text_show(20509);
else if (player_said_2(look, stream))
- _vm->_dialogs->show(20510);
+ text_show(20510);
else if (player_said_2(look, opposite_bank))
- _vm->_dialogs->show(20511);
+ text_show(20511);
else if (_game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId))
&& (player_said_2(give, stream) || player_said_2(throw, stream)
|| player_said_2(give, piranha) || player_said_2(throw, piranha)))
- _vm->_dialogs->show(20512);
+ text_show(20512);
else if (player_said_2(look, piranha))
- _vm->_dialogs->show(20513);
+ text_show(20513);
else if (player_said_2(look, twinkifruit_bush))
- _vm->_dialogs->show(20514);
+ text_show(20514);
else if (player_said_2(take, twinkifruit_bush))
- _vm->_dialogs->show(20515);
+ text_show(20515);
else if (player_said_2(take, native_woman))
- _vm->_dialogs->show(20517);
+ text_show(20517);
else
return;
}
diff --git a/engines/mads/nebular/rooms/room207.cpp b/engines/mads/nebular/rooms/room207.cpp
index 6001b0b2638..1a647b9664d 100644
--- a/engines/mads/nebular/rooms/room207.cpp
+++ b/engines/mads/nebular/rooms/room207.cpp
@@ -59,7 +59,7 @@ static void room_207_init() {
if (!_game._visitedScenes._sceneRevisited) {
var2 = 1;
} else {
- var2 = _vm->getRandomNumber(4) + 1;
+ var2 = g_engine->getRandomNumber(4) + 1;
}
if (var2 > 2)
@@ -104,7 +104,7 @@ static void room_207_init() {
static void moveVulture() {
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 7, 1, 0, 0);
- _vm->_sound->command(43);
+ g_engine->_soundManager->command(43, 0);
local._vultureFl = false;
local._vultureTime = _game._player._priorTimer;
_scene->_dynamicHotspots.remove(local._vultureHotspotId);
@@ -171,7 +171,7 @@ static void room_207_pre_parser() {
static void room_207_parser() {
if (_action._savedFields._lookFlag)
- _vm->_dialogs->show(20711);
+ text_show(20711);
else if (player_said_2(walk_through, doorway))
_scene->_nextSceneId = 214;
else {
@@ -191,33 +191,33 @@ static void room_207_parser() {
}
if (player_said_2(look, dense_forest))
- _vm->_dialogs->show(20701);
+ text_show(20701);
else if (player_said_2(look, hedge))
- _vm->_dialogs->show(20702);
+ text_show(20702);
else if (player_said_2(look, skull_and_crossbones))
- _vm->_dialogs->show(20703);
+ text_show(20703);
else if (player_said_2(look, cauldron))
- _vm->_dialogs->show(20704);
+ text_show(20704);
else if (player_said_2(look, witchdoctor_hut))
- _vm->_dialogs->show(20705);
+ text_show(20705);
else if (player_said_2(look, path_to_west))
- _vm->_dialogs->show(20706);
+ text_show(20706);
else if (player_said_2(look, mountains))
- _vm->_dialogs->show(20707);
+ text_show(20707);
else if (player_said_2(look, aloe_plant))
- _vm->_dialogs->show(20708);
+ text_show(20708);
else if (player_said_2(look, lawn))
- _vm->_dialogs->show(20709);
+ text_show(20709);
else if (player_said_2(look, vulture))
- _vm->_dialogs->show(20710);
+ text_show(20710);
else if (player_said_2(take, skull_and_crossbones))
- _vm->_dialogs->show(20712);
+ text_show(20712);
else if (player_said_2(take, aloe_plant))
- _vm->_dialogs->show(20713);
+ text_show(20713);
else if (player_said_2(look, spider))
- _vm->_dialogs->show(20714);
+ text_show(20714);
else if (player_said_2(take, spider))
- _vm->_dialogs->show(20715);
+ text_show(20715);
else
return;
}
diff --git a/engines/mads/nebular/rooms/room208.cpp b/engines/mads/nebular/rooms/room208.cpp
index a3d93721cf4..54c34706bf8 100644
--- a/engines/mads/nebular/rooms/room208.cpp
+++ b/engines/mads/nebular/rooms/room208.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -109,8 +110,8 @@ static void room_208_init() {
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
}
- _vm->_palette->setEntry(16, 0, 0, 63);
- _vm->_palette->setEntry(17, 0, 0, 45);
+ pal_change_color(16, 0, 0, 63);
+ pal_change_color(17, 0, 0, 45);
section_2_music();
}
@@ -155,7 +156,7 @@ static void room_208_daemon() {
}
static void room_208_pre_parser() {
- auto &gplayer = _vm->_game->_player;
+ auto &gplayer = _game->_player;
if (player_said_1(look) && gplayer._readyToWalk)
gplayer._needToWalk = true;
@@ -193,7 +194,7 @@ static void subAction(int mode) {
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[5], oldSeq);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
- _vm->_sound->command(20);
+ g_engine->_soundManager->command(20, 0);
}
break;
@@ -216,17 +217,17 @@ static void subAction(int mode) {
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
_globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 1);
_game._objects.removeFromInventory(OBJ_TWINKIFRUIT, 1);
- _vm->_sound->command(34);
+ g_engine->_soundManager->command(34, 0);
break;
case 4:
_game._objects.removeFromInventory(OBJ_BURGER, 1);
- _vm->_sound->command(33);
+ g_engine->_soundManager->command(33, 0);
break;
case 5:
_game._objects.removeFromInventory(OBJ_DEAD_FISH, 1);
- _vm->_sound->command(33);
+ g_engine->_soundManager->command(33, 0);
break;
default:
@@ -267,7 +268,7 @@ static void room_208_parser() {
else if (player_said_2(take, pile_of_leaves) && (!_globals[kLeavesStatus] || _game._trigger)) {
subAction(1);
if (_game._player._stepEnabled)
- _vm->_dialogs->showItem(OBJ_BIG_LEAVES, 0x326, 0);
+ object_examine(OBJ_BIG_LEAVES, 0x326, 0);
} else if (player_said_3(put, big_leaves, deep_pit) && (_globals[kLeavesStatus] == 1 || _game._trigger))
subAction(2);
else if (player_said_3(put, twinkifruit, leaf_covered_pit)) {
@@ -280,48 +281,48 @@ static void room_208_parser() {
} else if (player_said_3(put, burger, leaf_covered_pit)) {
subAction(4);
if (_game._player._stepEnabled)
- _vm->_dialogs->show(20812);
+ text_show(20812);
} else if (player_said_3(put, dead_fish, leaf_covered_pit)) {
subAction(5);
if (_game._player._stepEnabled)
- _vm->_dialogs->show(20812);
+ text_show(20812);
} else if (player_said_2(look, cumulous_cloud))
- _vm->_dialogs->show(20801);
+ text_show(20801);
else if (player_said_2(look, open_area_to_west))
- _vm->_dialogs->show(20802);
+ text_show(20802);
else if (player_said_2(look, thorny_bush))
- _vm->_dialogs->show(20803);
+ text_show(20803);
else if (player_said_2(look, rocks))
- _vm->_dialogs->show(20804);
+ text_show(20804);
else if (player_said_2(look, small_cactus))
- _vm->_dialogs->show(20805);
+ text_show(20805);
else if (player_said_2(take, small_cactus))
- _vm->_dialogs->show(20806);
+ text_show(20806);
else if (player_said_2(look, grassland_to_east))
- _vm->_dialogs->show(20807);
+ text_show(20807);
else if (player_said_2(look, deep_pit))
- _vm->_dialogs->show(20808);
+ text_show(20808);
else if (player_said_2(look, pile_of_leaves))
- _vm->_dialogs->show(20809);
+ text_show(20809);
else if (player_said_2(look, leaf_covered_pit)) {
if (_game._difficulty == DIFFICULTY_EASY)
- _vm->_dialogs->show(20810);
+ text_show(20810);
else
- _vm->_dialogs->show(20811);
+ text_show(20811);
} else if (player_said_2(look, tree) || player_said_2(look, trees))
- _vm->_dialogs->show(20813);
+ text_show(20813);
else if (player_said_2(take, leaf_covered_pit))
- _vm->_dialogs->show(20814);
+ text_show(20814);
else if (player_said_2(look, huge_legs))
- _vm->_dialogs->show(20815);
+ text_show(20815);
else if (player_said_2(take, huge_legs) || player_said_2(pull, huge_legs))
- _vm->_dialogs->show(20816);
+ text_show(20816);
else if (_action._savedFields._lookFlag && (_globals[kRhotundaStatus] == 1))
- _vm->_dialogs->show(20819);
+ text_show(20819);
else if (_action._savedFields._lookFlag && (_globals[kLeavesStatus] == 2))
- _vm->_dialogs->show(20818);
+ text_show(20818);
else if (_action._savedFields._lookFlag)
- _vm->_dialogs->show(20817);
+ text_show(20817);
else
return;
diff --git a/engines/mads/nebular/rooms/room209.cpp b/engines/mads/nebular/rooms/room209.cpp
index d676addcaf5..c906290b781 100644
--- a/engines/mads/nebular/rooms/room209.cpp
+++ b/engines/mads/nebular/rooms/room209.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -74,7 +75,7 @@ static void initPauseCounterThreshold() {
switch (_game._trigger) {
case 226:
_scene->_sequences.addTimer(1, 124);
- local._pauseCounterThreshold = _vm->getRandomNumber(7, 12);
+ local._pauseCounterThreshold = g_engine->getRandomNumber(7, 12);
local._pauseMode = 2;
local._pauseCounter = 0;
break;
@@ -86,7 +87,7 @@ static void initPauseCounterThreshold() {
static void handlePeek() {
switch (_game._trigger) {
case 133:
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
_globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 51, 52);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 134);
@@ -141,7 +142,7 @@ static void handleVerticalMove() {
case 141:
{
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
int oldIdx = _globals._sequenceIndexes[3];
_globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 5);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
@@ -170,7 +171,7 @@ static void handleVerticalMove() {
static void handleLookStay() {
switch (_game._trigger) {
case 145:
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
local._monkeyPosition = 2;
_globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 51, 52);
@@ -276,7 +277,7 @@ static void handleBlink() {
static void handleGetBinoculars() {
switch (_game._trigger) {
case 161:
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
local._monkeyPosition = 3;
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 8, 1, 0, 0);
@@ -316,7 +317,7 @@ static void handleGetBinoculars() {
break;
case 165:
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
break;
default:
@@ -374,7 +375,7 @@ static void handleBinocularScan() {
case 172:
{
int oldIdx = _globals._sequenceIndexes[3];
- int randAction = _vm->getRandomNumber(1, 2);
+ int randAction = g_engine->getRandomNumber(1, 2);
switch (randAction) {
case 1:
_globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 12, 2, 0, 0);
@@ -444,7 +445,7 @@ static void handleJumpInTree() {
case 179:
{
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
int oldIdx = _globals._sequenceIndexes[3];
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 53, 61);
@@ -500,7 +501,7 @@ static void handleTongue() {
case 185:
{
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
int oldIdx = _globals._sequenceIndexes[3];
_globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 6, 20, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 38, 39);
@@ -549,7 +550,7 @@ static void handleStandFromPeek() {
case 192:
{
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
int oldIdx = _globals._sequenceIndexes[6];
_globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 1);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[5], oldIdx);
@@ -605,7 +606,7 @@ static void handleStandBlink() {
static void handleJumpAndHide() {
switch (_game._trigger) {
case 196:
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
local._monkeyPosition = 1;
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
_globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 8, 1, 0, 0);
@@ -627,7 +628,7 @@ static void handleJumpAndHide() {
static void handleMonkeyEating() {
switch (_game._trigger) {
case 199:
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 10, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 1, 14);
@@ -697,7 +698,7 @@ static void handleMonkeyEating() {
case 207:
{
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
int msgIndex = _scene->_kernelMessages.add(Common::Point(180, 25), 0xFDFC, 0, 0, 90, _game.getQuote(130));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
@@ -742,7 +743,7 @@ static void handleMonkeyFall() {
switch (_game._trigger) {
case 219:
{
- _vm->_sound->command(25);
+ g_engine->_soundManager->command(25, 0);
_scene->_sprites.remove(_globals._spriteIndexes[7]);
_scene->_sprites.remove(_globals._spriteIndexes[6]);
_scene->_sprites.remove(_globals._spriteIndexes[5]);
@@ -765,7 +766,7 @@ static void handleMonkeyFall() {
case 220:
{
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
_scene->_kernelMessages.add(Common::Point(182, 109), 0xFDFC, 0, 0, 90, _game.getQuote(159));
_scene->_hotspots.activate(227, false);
int oldIdx = _globals._sequenceIndexes[3];
@@ -810,7 +811,7 @@ static void handleMonkeyFall() {
case 223:
_scene->loadAnimation(Resources::formatName(209, 'e', -1, EXT_AA, ""), 224);
- _vm->_sound->command(38);
+ g_engine->_soundManager->command(38, 0);
break;
case 224:
@@ -818,7 +819,7 @@ static void handleMonkeyFall() {
local._fallFl = false;
local._counter = 0;
local._pauseMode = 0;
- _vm->_dialogs->show(20910);
+ text_show(20910);
_game._player._stepEnabled = true;
break;
@@ -860,7 +861,7 @@ static void handleMonkey1() {
case 215:
{
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
_scene->loadAnimation(Resources::formatName(209, 'a', -1, EXT_AA, ""), 251);
int oldIdx = _globals._sequenceIndexes[7];
_globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 7, 1, 0, 0);
@@ -895,7 +896,7 @@ static void handleMonkey2() {
switch (_game._trigger) {
case 251:
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, _game.getQuote(137));
- _vm->_sound->command(22);
+ g_engine->_soundManager->command(22, 0);
_globals._sequenceIndexes[12] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[12], false, 11, 1, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[12], Common::Point(111, 133));
_scene->_sequences.setScale(_globals._sequenceIndexes[12], 79);
@@ -943,11 +944,11 @@ static void handleDodge() {
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
_globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 5);
_scene->_sequences.addTimer(25, 243);
- _vm->_sound->command(24);
+ g_engine->_soundManager->command(24, 0);
break;
case 243:
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
_globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 6);
local._playingAnimFl = false;
@@ -982,8 +983,8 @@ static void room_209_init() {
_game.loadQuoteSet(0x82, 0x83, 0x84, 0x9C, 0x97, 0x95, 0x99, 0x9E, 0x98, 0x9B, 0xA0, 0x96, 0x9F,
0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x91, 0x92, 0x93, 0x94, 0x89, 0x85, 0x8A, 0x86, 0x87, 0x88, 0);
- _vm->_palette->setEntry(252, 63, 44, 30);
- _vm->_palette->setEntry(253, 63, 20, 22);
+ pal_change_color(252, 63, 44, 30);
+ pal_change_color(253, 63, 20, 22);
if (_game._objects.isInRoom(OBJ_PLANT_STALK)) {
_globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
@@ -1040,7 +1041,7 @@ static void room_209_init() {
static void room_209_daemon() {
if (!local._playingAnimFl && !local._pitchFl && !local._fallFl && !local._dodgeFl && (local._pauseMode == 0) && (_globals[kMonkeyStatus] == MONKEY_HAS_BINOCULARS)) {
- int randAction = _vm->getRandomNumber(1, 50);
+ int randAction = g_engine->getRandomNumber(1, 50);
switch (randAction) {
case 1:
if ((local._monkeyPosition == 1) && (local._counter < 2)) {
@@ -1340,7 +1341,7 @@ static void room_209_daemon() {
_scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(116, 131));
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 4);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 235);
- _vm->_sound->command(23);
+ g_engine->_soundManager->command(23, 0);
}
break;
@@ -1392,7 +1393,7 @@ static void room_209_daemon() {
break;
case 239:
- _vm->_sound->command(23);
+ g_engine->_soundManager->command(23, 0);
break;
default:
@@ -1433,7 +1434,7 @@ static void room_209_pre_parser() {
static void room_209_parser() {
if (_action._lookFlag) {
- _vm->_dialogs->show(20912);
+ text_show(20912);
_action._inProgress = false;
return;
}
@@ -1580,7 +1581,7 @@ static void room_209_parser() {
if (player_said_2(look, monkey)) {
local._pitchFl = true;
_game._player._stepEnabled = false;
- _vm->_dialogs->show(20914);
+ text_show(20914);
_action._inProgress = false;
return;
}
@@ -1606,7 +1607,7 @@ static void room_209_parser() {
_game._player._visible = true;
_game._player._stepEnabled = true;
_scene->_sequences.addTimer(4, 3);
- _vm->_dialogs->showItem(OBJ_PLANT_STALK, 0x328);
+ object_examine(OBJ_PLANT_STALK, 0x328, 0);
break;
case 3:
@@ -1644,7 +1645,7 @@ static void room_209_parser() {
break;
case 3:
- _vm->_dialogs->showItem(OBJ_BINOCULARS, 0x51AF);
+ object_examine(OBJ_BINOCULARS, 0x51AF, 0);
_scene->_sprites.remove(_globals._spriteIndexes[10]);
break;
@@ -1656,69 +1657,69 @@ static void room_209_parser() {
}
if (player_said_2(look, sky)) {
- _vm->_dialogs->show(20901);
+ text_show(20901);
_action._inProgress = false;
return;
}
if (player_said_2(look, bamboo_like_plant)) {
- _vm->_dialogs->show(20902);
+ text_show(20902);
_action._inProgress = false;
return;
}
if (player_said_2(look, mountainside)) {
- _vm->_dialogs->show(20903);
+ text_show(20903);
_action._inProgress = false;
return;
}
if (player_said_2(look, grassy_field)) {
- _vm->_dialogs->show(20904);
+ text_show(20904);
_action._inProgress = false;
return;
}
if (player_said_2(look, field_to_west)) {
- _vm->_dialogs->show(20905);
+ text_show(20905);
_action._inProgress = false;
return;
}
if (player_said_2(look, rocky_area_to_north)) {
- _vm->_dialogs->show(20906);
+ text_show(20906);
_action._inProgress = false;
return;
}
if (player_said_2(look, plant_stalk) && (_action._savedFields._mainObjectSource == 4)) {
- _vm->_dialogs->show(20907);
+ text_show(20907);
_action._inProgress = false;
return;
}
if (player_said_3(give, twinkifruit, monkey) || player_said_3(throw, twinkifruit, monkey)) {
- _vm->_dialogs->show(20909);
+ text_show(20909);
_action._inProgress = false;
return;
}
if (player_said_2(look, trees)) {
- _vm->_dialogs->show(20913);
+ text_show(20913);
_action._inProgress = false;
return;
}
if (player_said_2(throw, monkey) && _game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId))) {
if (!player_said_1(poison_darts)) {
- _vm->_dialogs->show(20915);
+ text_show(20915);
}
_action._inProgress = false;
return;
}
if (player_said_3(throw, poison_darts, monkey)) {
- _vm->_dialogs->show(20916);
+ text_show(20916);
_action._inProgress = false;
return;
}
@@ -1726,27 +1727,27 @@ static void room_209_parser() {
if (player_said_2(look, palm_tree)) {
if (_globals[kMonkeyStatus] == MONKEY_HAS_BINOCULARS) {
if (local._monkeyPosition == 1)
- _vm->_dialogs->show(20917);
+ text_show(20917);
else
- _vm->_dialogs->show(20918);
+ text_show(20918);
} else {
if (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY)
- _vm->_dialogs->show(20917);
+ text_show(20917);
else
- _vm->_dialogs->show(20919);
+ text_show(20919);
}
_action._inProgress = false;
return;
}
if (player_said_2(look, melon_mush)) {
- _vm->_dialogs->show(20920);
+ text_show(20920);
_action._inProgress = false;
return;
}
if (player_said_2(take, melon_mush)) {
- _vm->_dialogs->show(20921);
+ text_show(20921);
_action._inProgress = false;
return;
}
diff --git a/engines/mads/nebular/rooms/room210.cpp b/engines/mads/nebular/rooms/room210.cpp
index 171ec2a4d3c..94c75f709d9 100644
--- a/engines/mads/nebular/rooms/room210.cpp
+++ b/engines/mads/nebular/rooms/room210.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/rooms/dialog.h"
@@ -176,9 +177,9 @@ static void setDialogNode(int node) {
int quote;
if (_game._storyMode == STORYMODE_NAUGHTY)
- quote = _vm->getRandomNumber(199, 201);
+ quote = g_engine->getRandomNumber(199, 201);
else
- quote = _vm->getRandomNumber(197, 198);
+ quote = g_engine->getRandomNumber(197, 198);
if (local._twinklesTalking) {
handleTwinklesSpeech(quote, 0, 360);
@@ -337,7 +338,7 @@ static void setDialogNode(int node) {
local._twinkleAnimationType = 2;
_globals[kCurtainOpen] = true;
_game._player._visible = false;
- _vm->_palette->lock();
+ pal_lock();
_scene->_kernelMessages.reset();
_scene->freeAnimation();
_scene->resetScene();
@@ -719,8 +720,8 @@ static void room_210_init() {
_scene->_animation[0]->setCurrentFrame(131);
}
- _vm->_palette->setEntry(252, 63, 63, 10);
- _vm->_palette->setEntry(253, 45, 45, 5);
+ pal_change_color(252, 63, 63, 10);
+ pal_change_color(253, 45, 45, 5);
section_2_music();
}
@@ -730,7 +731,7 @@ static void room_210_daemon() {
if (local._twinklesCurrentFrame != _scene->_animation[0]->getCurrentFrame()) {
local._twinklesCurrentFrame = _scene->_animation[0]->getCurrentFrame();
int reset_frame = -1;
- int random = _vm->getRandomNumber(1, 1000);
+ int random = g_engine->getRandomNumber(1, 1000);
switch (local._twinklesCurrentFrame) {
case 31:
@@ -903,7 +904,7 @@ static void room_210_pre_parser() {
static void room_210_parser() {
if (player_said_3(look, binoculars, hut_to_north)) {
- _vm->_dialogs->show(21017);
+ text_show(21017);
} else if (_game._screenObjects._inputMode == kInputConversation) {
handleConversations();
} else if (player_said_2(talkto, native_woman) ||
@@ -965,7 +966,7 @@ static void room_210_parser() {
switch (_game._trigger) {
case 0:
{
- int quote = _vm->getRandomNumber(172, 174);
+ int quote = g_engine->getRandomNumber(172, 174);
local._shouldMoveHead = true;
_game._player._stepEnabled = false;
handleTwinklesSpeech(quote, 0, 120);
@@ -1033,38 +1034,38 @@ static void room_210_parser() {
} else if (player_said_2(look, hut)) {
if (_globals[kTwinklesStatus] == TWINKLES_GONE) {
if (_game._storyMode == STORYMODE_NAUGHTY)
- _vm->_dialogs->show(21003);
+ text_show(21003);
else
- _vm->_dialogs->show(21002);
+ text_show(21002);
} else {
- _vm->_dialogs->show(21001);
+ text_show(21001);
}
} else if (player_said_2(look, bra)) {
- _vm->_dialogs->show(21004);
+ text_show(21004);
} else if (player_said_2(look, hotpants)) {
- _vm->_dialogs->show(21005);
+ text_show(21005);
} else if (player_said_2(take, hotpants) || player_said_2(take, bra)) {
- _vm->_dialogs->show(21006);
+ text_show(21006);
} else if (player_said_2(look, stream)) {
- _vm->_dialogs->show(21007);
+ text_show(21007);
} else if (player_said_2(look, bushy_fern)) {
- _vm->_dialogs->show(21008);
+ text_show(21008);
} else if (player_said_2(look, village_path)) {
- _vm->_dialogs->show(21009);
+ text_show(21009);
} else if (player_said_2(look, native_woman)) {
- _vm->_dialogs->show(21010);
+ text_show(21010);
} else if (player_said_2(shoot, native_woman) || player_said_2(hose_down, native_woman)) {
- _vm->_dialogs->show(21011);
+ text_show(21011);
} else if (player_said_2(look, path_to_north)) {
- _vm->_dialogs->show(21012);
+ text_show(21012);
} else if (player_said_2(look, curtain)) {
- _vm->_dialogs->show(21013);
+ text_show(21013);
} else if (player_said_2(look, clothesline)) {
- _vm->_dialogs->show(21014);
+ text_show(21014);
} else if (player_said_2(take, clothesline)) {
- _vm->_dialogs->show(21015);
+ text_show(21015);
} else if (player_said_2(look, hut_to_north)) {
- _vm->_dialogs->show(21016);
+ text_show(21016);
} else {
// Not handled
return;
diff --git a/engines/mads/nebular/rooms/room211.cpp b/engines/mads/nebular/rooms/room211.cpp
index f7b25b91969..ae93c1671a8 100644
--- a/engines/mads/nebular/rooms/room211.cpp
+++ b/engines/mads/nebular/rooms/room211.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -61,7 +62,7 @@ static void room_211_init() {
_game._player._facing = FACING_SOUTHWEST;
}
- if (_vm->getRandomNumber(1, 8) == 1) {
+ if (g_engine->getRandomNumber(1, 8) == 1) {
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 6, 0, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(202, 126));
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 8);
@@ -72,8 +73,8 @@ static void room_211_init() {
if (_scene->_roomChanged)
_game._objects.addToInventory(OBJ_BINOCULARS);
- _vm->_palette->setEntry(252, 63, 44, 30);
- _vm->_palette->setEntry(253, 63, 20, 22);
+ pal_change_color(252, 63, 44, 30);
+ pal_change_color(253, 63, 20, 22);
_game.loadQuoteSet(0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 1, 0);
if (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY)
@@ -81,7 +82,7 @@ static void room_211_init() {
Common::Rect(0, 0, 54, 30), 13, 2, 0xFDFC, 60,
151, 152, 153, 154, 0);
- local._monkeyTime = _vm->_game->_scene._frameStartTime;
+ local._monkeyTime = _game->_scene._frameStartTime;
local._scrollY = 30;
local._ambushFl = false;
@@ -94,12 +95,12 @@ static void room_211_daemon() {
if (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY) {
_scene->_kernelMessages.randomServer();
- if (!local._ambushFl && !local._wakeFl && (_vm->_game->_scene._frameStartTime >= local._monkeyTime)) {
+ if (!local._ambushFl && !local._wakeFl && (_game->_scene._frameStartTime >= local._monkeyTime)) {
int chanceMinor = _scene->_kernelMessages.checkRandom() * 4 + 1;
if (_scene->_kernelMessages.generateRandom(80, chanceMinor))
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
- local._monkeyTime = _vm->_game->_scene._frameStartTime + 2;
+ local._monkeyTime = _game->_scene._frameStartTime + 2;
}
if ((_game._player._playerPos == Common::Point(52, 132)) && (_game._player._facing == FACING_WEST) && !_game._player._moving &&
@@ -113,7 +114,7 @@ static void room_211_daemon() {
_game._player._visible = false;
_scene->_kernelMessages.reset();
_scene->loadAnimation(formAnimName('A', -1), 90);
- _vm->_sound->command(19);
+ g_engine->_soundManager->command(19, 0);
int count = (int)_game._objects._inventoryList.size();
for (int idx = 0; idx < count; idx++) {
if ((_game._objects._inventoryList[idx] == OBJ_BINOCULARS) && (_scene->_userInterface._selectedInvIndex != idx))
@@ -123,7 +124,7 @@ static void room_211_daemon() {
break;
case 90:
- _vm->_sound->command(10);
+ g_engine->_soundManager->command(10, 0);
_game._player._stepEnabled = true;
_game._player._visible = true;
_game._player._playerPos = Common::Point(49, 133);
@@ -281,39 +282,39 @@ static void room_211_pre_parser() {
static void room_211_parser() {
if (_action._lookFlag && (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY))
- _vm->_dialogs->show(21111);
+ text_show(21111);
else if (player_said_3(look, binoculars, palm_tree))
- _vm->_dialogs->show(21116);
+ text_show(21116);
else if (player_said_2(look, bushy_fern))
- _vm->_dialogs->show(21101);
+ text_show(21101);
else if (player_said_2(look, jungle_path))
- _vm->_dialogs->show(21102);
+ text_show(21102);
else if (player_said_2(look, palm_tree)) {
if (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY) {
if (_game._storyMode == STORYMODE_NAUGHTY)
- _vm->_dialogs->show(21103);
+ text_show(21103);
else
- _vm->_dialogs->show(21104);
+ text_show(21104);
} else {
- _vm->_dialogs->show(21105);
+ text_show(21105);
}
} else if (player_said_2(look, thick_undergrowth)) {
if (_game._storyMode == STORYMODE_NAUGHTY)
- _vm->_dialogs->show(21106);
+ text_show(21106);
else
- _vm->_dialogs->show(21107);
+ text_show(21107);
} else if (player_said_2(look, jungle))
- _vm->_dialogs->show(21108);
+ text_show(21108);
else if (player_said_2(look, path_to_northeast))
- _vm->_dialogs->show(21109);
+ text_show(21109);
else if (player_said_2(look, path_to_west))
- _vm->_dialogs->show(21110);
+ text_show(21110);
else if (player_said_2(look, slithering_snake))
- _vm->_dialogs->show(21113);
+ text_show(21113);
else if (player_said_2(take, slithering_snake))
- _vm->_dialogs->show(21114);
+ text_show(21114);
else if (player_said_2(look, rocks))
- _vm->_dialogs->show(21115);
+ text_show(21115);
else
return;
diff --git a/engines/mads/nebular/rooms/room212.cpp b/engines/mads/nebular/rooms/room212.cpp
index 39072fce165..439e85c1d59 100644
--- a/engines/mads/nebular/rooms/room212.cpp
+++ b/engines/mads/nebular/rooms/room212.cpp
@@ -54,27 +54,27 @@ static void room_212_pre_parser() {
static void room_212_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(21209);
+ text_show(21209);
else if (player_said_1(walk_towards) && (player_said_1(field_to_north) || player_said_1(mountains)))
_scene->_nextSceneId = 208;
else if (player_said_2(walk_towards, cave))
_scene->_nextSceneId = 111;
else if (player_said_2(look, grass))
- _vm->_dialogs->show(21201);
+ text_show(21201);
else if (player_said_2(look, rocks))
- _vm->_dialogs->show(21202);
+ text_show(21202);
else if (player_said_2(look, cave_entrance))
- _vm->_dialogs->show(21203);
+ text_show(21203);
else if (player_said_2(look, sky))
- _vm->_dialogs->show(21204);
+ text_show(21204);
else if (player_said_2(look, field_to_north))
- _vm->_dialogs->show(21205);
+ text_show(21205);
else if (player_said_2(look, trees))
- _vm->_dialogs->show(21206);
+ text_show(21206);
else if (player_said_2(look, plants))
- _vm->_dialogs->show(21207);
+ text_show(21207);
else if (player_said_2(look, mountains))
- _vm->_dialogs->show(21208);
+ text_show(21208);
else
return;
diff --git a/engines/mads/nebular/rooms/room213.cpp b/engines/mads/nebular/rooms/room213.cpp
index d7004aab085..f9bef821789 100644
--- a/engines/mads/nebular/rooms/room213.cpp
+++ b/engines/mads/nebular/rooms/room213.cpp
@@ -56,15 +56,15 @@ static void room_213_parser() {
}
if (player_said_2(look, control_panel))
- _vm->_dialogs->show(21301);
+ text_show(21301);
else if (player_said_2(look, keypad) || player_said_2(inspect, keypad))
- _vm->_dialogs->show(21302);
+ text_show(21302);
else if (player_said_2(look, display))
- _vm->_dialogs->show(21303);
+ text_show(21303);
else if (player_said_2(look, viewport) || player_said_2(peer_through, viewport))
- _vm->_dialogs->show(21304);
+ text_show(21304);
else if (player_said_2(look, device))
- _vm->_dialogs->show(21305);
+ text_show(21305);
else if (player_said_2(look, 0_key) || player_said_2(look, 1_key)
|| player_said_2(look, 2_key) || player_said_2(look, 3_key)
|| player_said_2(look, 4_key) || player_said_2(look, 5_key)
@@ -72,7 +72,7 @@ static void room_213_parser() {
|| player_said_2(look, 8_key) || player_said_2(look, 9_key)
|| player_said_2(look, smile_key) || player_said_2(look, frown_key)
|| player_said_2(look, enter_key))
- _vm->_dialogs->show(21306);
+ text_show(21306);
else
return;
diff --git a/engines/mads/nebular/rooms/room214.cpp b/engines/mads/nebular/rooms/room214.cpp
index 79c9b538021..61d5dc8342f 100644
--- a/engines/mads/nebular/rooms/room214.cpp
+++ b/engines/mads/nebular/rooms/room214.cpp
@@ -115,7 +115,7 @@ static void room_214_daemon() {
static void room_214_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(21427);
+ text_show(21427);
else if (player_said_2(walk_outside, hut))
_scene->_nextSceneId = 207;
else if (player_said_2(take, poison_darts) && (_game._trigger || _game._objects.isInRoom(OBJ_POISON_DARTS))) {
@@ -144,7 +144,7 @@ static void room_214_parser() {
case 3:
_game._player._stepEnabled = true;
- _vm->_dialogs->showItem(OBJ_POISON_DARTS, 0x53A5);
+ object_examine(OBJ_POISON_DARTS, 0x53A5, 0);
break;
default:
@@ -176,67 +176,67 @@ static void room_214_parser() {
case 3:
_game._player._stepEnabled = true;
- _vm->_dialogs->showItem(OBJ_BLOWGUN, 0x329);
+ object_examine(OBJ_BLOWGUN, 0x329, 0);
break;
default:
break;
}
} else if (player_said_2(look, window))
- _vm->_dialogs->show(21401);
+ text_show(21401);
else if (player_said_2(look, experiment_cage))
- _vm->_dialogs->show(21402);
+ text_show(21402);
else if (player_said_2(look, captive_creature))
- _vm->_dialogs->show(21403);
+ text_show(21403);
else if (player_said_2(look, bear_rug))
- _vm->_dialogs->show(21404);
+ text_show(21404);
else if (player_said_2(look, trophy))
- _vm->_dialogs->show(21405);
+ text_show(21405);
else if (player_said_2(look, large_bowl)) {
if (_game._storyMode == STORYMODE_NAUGHTY) {
- _vm->_dialogs->show(21406);
+ text_show(21406);
} else {
- _vm->_dialogs->show(21407);
+ text_show(21407);
}
} else if (player_said_2(look, specimen_jars))
- _vm->_dialogs->show(21408);
+ text_show(21408);
else if (player_said_2(take, large_bowl) || player_said_2(take, specimen_jars))
- _vm->_dialogs->show(21409);
+ text_show(21409);
else if (player_said_2(look, shrunken_heads))
- _vm->_dialogs->show(21410);
+ text_show(21410);
else if (player_said_2(take, shrunken_heads) || player_said_2(take, large_heads))
- _vm->_dialogs->show(21411);
+ text_show(21411);
else if (player_said_2(look, large_heads))
- _vm->_dialogs->show(21428);
+ text_show(21428);
else if (player_said_2(look, poison_darts) && (_action._savedFields._mainObjectSource == 4))
- _vm->_dialogs->show(21412);
+ text_show(21412);
else if (player_said_2(open, experiment_cage))
- _vm->_dialogs->show(21414);
+ text_show(21414);
else if (player_said_2(talkto, captive_creature))
- _vm->_dialogs->show(21415);
+ text_show(21415);
else if (player_said_3(give, twinkifruit, captive_creature))
- _vm->_dialogs->show(21416);
+ text_show(21416);
else if (player_said_3(shoot, blowgun, captive_creature) || player_said_3(hose_down, blowgun, captive_creature))
- _vm->_dialogs->show(21417);
+ text_show(21417);
else if (player_said_2(look, big_heads))
- _vm->_dialogs->show(21418);
+ text_show(21418);
else if (player_said_2(take, big_heads))
- _vm->_dialogs->show(21419);
+ text_show(21419);
else if (player_said_2(take, bear_rug))
- _vm->_dialogs->show(21420);
+ text_show(21420);
else if (player_said_2(look, floor_of_hut))
- _vm->_dialogs->show(21421);
+ text_show(21421);
else if (player_said_2(look, blowgun))
- _vm->_dialogs->show(21422);
+ text_show(21422);
else if (player_said_2(look, table)) {
if (_game._objects.isInRoom(OBJ_POISON_DARTS) && _game._objects.isInRoom(OBJ_BLOWGUN)) {
- _vm->_dialogs->show(21423);
+ text_show(21423);
} else if (_game._objects.isInRoom(OBJ_POISON_DARTS) && !_game._objects.isInRoom(OBJ_BLOWGUN)) {
- _vm->_dialogs->show(21424);
+ text_show(21424);
} else if (!_game._objects.isInRoom(OBJ_POISON_DARTS) && _game._objects.isInRoom(OBJ_BLOWGUN)) {
- _vm->_dialogs->show(21425);
+ text_show(21425);
} else {
- _vm->_dialogs->show(21426);
+ text_show(21426);
}
} else
return;
diff --git a/engines/mads/nebular/rooms/room215.cpp b/engines/mads/nebular/rooms/room215.cpp
index 464107a51b7..c3094ee81bd 100644
--- a/engines/mads/nebular/rooms/room215.cpp
+++ b/engines/mads/nebular/rooms/room215.cpp
@@ -76,7 +76,7 @@ static void room_215_daemon() {
static void room_215_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(21509);
+ text_show(21509);
else if (player_said_2(take, twinkifruit)) {
if (!_game._objects.isInInventory(OBJ_TWINKIFRUIT) || _game._trigger) {
switch (_game._trigger) {
@@ -91,14 +91,14 @@ static void room_215_parser() {
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
_game._objects.addToInventory(OBJ_TWINKIFRUIT);
- _vm->_dialogs->showItem(OBJ_TWINKIFRUIT, 0x5404);
+ object_examine(OBJ_TWINKIFRUIT, 0x5404, 0);
}
break;
case 1:
if (!_game._objects.isInInventory(OBJ_TWINKIFRUIT)) {
_game._objects.addToInventory(OBJ_TWINKIFRUIT);
- _vm->_dialogs->showItem(OBJ_TWINKIFRUIT, 0x5404);
+ object_examine(OBJ_TWINKIFRUIT, 0x5404, 0);
}
break;
@@ -112,36 +112,36 @@ static void room_215_parser() {
break;
}
} else {
- int idx = _vm->getRandomNumber(169, 170);
+ int idx = g_engine->getRandomNumber(169, 170);
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(idx));
}
} else if (player_said_2(walk_outside, hut))
_scene->_nextSceneId = 210;
else if (player_said_2(look, bear_rug))
- _vm->_dialogs->show(21501);
+ text_show(21501);
else if (player_said_2(look, bed))
- _vm->_dialogs->show(21502);
+ text_show(21502);
else if (player_said_2(look, welcome_mat))
- _vm->_dialogs->show(21503);
+ text_show(21503);
else if (player_said_2(look, love_altar))
- _vm->_dialogs->show(21504);
+ text_show(21504);
else if (player_said_2(look, window))
- _vm->_dialogs->show(21505);
+ text_show(21505);
else if (player_said_2(look, picture))
- _vm->_dialogs->show(21506);
+ text_show(21506);
else if (player_said_2(look, twinkifruit) && (_action._savedFields._mainObjectSource == 4))
- _vm->_dialogs->show(21507);
+ text_show(21507);
else if (player_said_2(take, bear_rug))
- _vm->_dialogs->show(21510);
+ text_show(21510);
else if (player_said_2(take, love_altar))
- _vm->_dialogs->show(21511);
+ text_show(21511);
else if (player_said_2(look, bag_of_twinkifruits))
- _vm->_dialogs->show(21512);
+ text_show(21512);
else if (player_said_2(take, bag_of_twinkifruits))
- _vm->_dialogs->show(21513);
+ text_show(21513);
else if (player_said_2(take, welcome_mat))
- _vm->_dialogs->show(21514);
+ text_show(21514);
else
return;
diff --git a/engines/mads/nebular/rooms/room304.cpp b/engines/mads/nebular/rooms/room304.cpp
index 52a6a0b8e3d..39138785362 100644
--- a/engines/mads/nebular/rooms/room304.cpp
+++ b/engines/mads/nebular/rooms/room304.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -53,8 +54,8 @@ static void room_304_init() {
_globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 150, 0, 3, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 2);
- _vm->_palette->setEntry(252, 45, 63, 45);
- _vm->_palette->setEntry(253, 20, 45, 20);
+ pal_change_color(252, 45, 63, 45);
+ pal_change_color(253, 20, 45, 20);
if (_globals[kSexOfRex] == REX_MALE)
_game._player._playerPos = Common::Point(111, 117);
@@ -104,7 +105,7 @@ static void room_304_daemon() {
case 72:
{
- _vm->_sound->command(43);
+ g_engine->_soundManager->command(43, 0);
int sprIdx = _scene->_sequences.addSpriteCycle(local._explosionSpriteId, false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(sprIdx, 5, -2);
_scene->_sequences.setDepth(sprIdx, 1);
diff --git a/engines/mads/nebular/rooms/room307.cpp b/engines/mads/nebular/rooms/room307.cpp
index e0f5ac1119c..0c602c4b89a 100644
--- a/engines/mads/nebular/rooms/room307.cpp
+++ b/engines/mads/nebular/rooms/room307.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -56,7 +57,7 @@ static Scratch local;
static void handleRexDialog(int quote) {
const char *curQuote = _game.getQuote(quote);
- if (_vm->_font->getWidth(curQuote, _scene->_textSpacing) > 200) {
+ if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
static char subQuote1[34], subQuote2[34];
_game.splitQuote(curQuote, subQuote1, subQuote2);
Common::strcpy_s(local._subQuote2, subQuote2);
@@ -309,9 +310,9 @@ static void room_307_init() {
if (_scene->_priorSceneId == RETURNING_FROM_DIALOG) {
if (local._grateOpenedFl)
- _vm->_sound->command(10);
+ g_engine->_soundManager->command(10, 0);
else
- _vm->_sound->command(3);
+ g_engine->_soundManager->command(3, 0);
} else {
local._afterPeeingFl = false;
local._duringPeeingFl = false;
@@ -327,17 +328,17 @@ static void room_307_init() {
_game._player._playerPos = Common::Point(156, 113);
_game._player._facing = FACING_NORTH;
local._animationMode = 1;
- _vm->_sound->command(11);
+ g_engine->_soundManager->command(11, 0);
_scene->loadAnimation(formAnimName('a', -1), 60);
} else if (_scene->_priorSceneId == 387) {
_game._player._playerPos = Common::Point(129, 108);
_game._player._facing = FACING_NORTH;
- _vm->_sound->command(3);
+ g_engine->_soundManager->command(3, 0);
local._grateOpenedFl = true;
} else {
_game._player._playerPos = Common::Point(159, 109);
_game._player._facing = FACING_SOUTH;
- _vm->_sound->command(3);
+ g_engine->_soundManager->command(3, 0);
}
}
@@ -354,8 +355,8 @@ static void room_307_init() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[4], 15);
}
- _vm->_palette->setEntry(252, 63, 30, 20);
- _vm->_palette->setEntry(253, 45, 15, 12);
+ pal_change_color(252, 63, 30, 20);
+ pal_change_color(253, 45, 15, 12);
section_3_music();
@@ -369,12 +370,12 @@ static void room_307_daemon() {
if ((local._animationMode == 1) && (_scene->_animation[0] != nullptr)) {
if (_scene->_animation[0]->getCurrentFrame() == 126) {
local._forcefield._flag = false;
- _vm->_sound->command(5);
+ g_engine->_soundManager->command(5, 0);
}
if (_scene->_animation[0]->getCurrentFrame() == 194) {
local._forcefield._flag = true;
- _vm->_sound->command(24);
+ g_engine->_soundManager->command(24, 0);
}
}
@@ -393,7 +394,7 @@ static void room_307_daemon() {
_game._player._stepEnabled = true;
_game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount;
local._animationMode = 0;
- _vm->_sound->command(9);
+ g_engine->_soundManager->command(9, 0);
}
if ((local._lastFrameTime != _scene->_frameStartTime) && !local._duringPeeingFl) {
@@ -413,7 +414,7 @@ static void room_307_daemon() {
_game._player._stepEnabled = false;
_game._player.walk(Common::Point(151, 119), FACING_SOUTHEAST);
local._animationMode = 2;
- _vm->_sound->command(11);
+ g_engine->_soundManager->command(11, 0);
_scene->loadAnimation(formAnimName('b', -1), 70);
}
local._guardTime = 0;
@@ -427,7 +428,7 @@ static void room_307_daemon() {
local._prisonerMessageId++;
if (local._prisonerMessageId > 0x10A)
local._prisonerMessageId = 0x104;
- } else if (_globals[kKnowsBuddyBeast] && (local._dialog2.read(0) > 1) && (_vm->getRandomNumber(1, 3) == 1)) {
+ } else if (_globals[kKnowsBuddyBeast] && (local._dialog2.read(0) > 1) && (g_engine->getRandomNumber(1, 3) == 1)) {
int idx = _scene->_kernelMessages.add(Common::Point(5, 51), 0xFDFC, 0, 81, 120, _game.getQuote(267));
_scene->_kernelMessages.setQuoted(idx, 4, true);
}
@@ -441,7 +442,7 @@ static void room_307_daemon() {
if (_game._trigger == 81) {
local._prisonerTimer = 0;
if (local._activePrisonerFl && (local._guardTime > 2600))
- local._guardTime = 3000 - _vm->getRandomNumber(1, 800);
+ local._guardTime = 3000 - g_engine->getRandomNumber(1, 800);
local._activePrisonerFl = false;
}
@@ -449,7 +450,7 @@ static void room_307_daemon() {
static void room_307_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(30715);
+ text_show(30715);
else if (_game._screenObjects._inputMode == kInputConversation)
handleDialog();
else if (player_said_2(talkto, cell_wall) || player_said_2(talkto, wall) || player_said_2(talkto, toilet)) {
@@ -517,7 +518,7 @@ static void room_307_parser() {
break;
case 4:
- _vm->_sound->command(26);
+ g_engine->_soundManager->command(26, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
_globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 2);
_scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(127, 78));
@@ -526,7 +527,7 @@ static void room_307_parser() {
break;
case 5:
- _vm->_sound->command(10);
+ g_engine->_soundManager->command(10, 0);
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(241));
_scene->_sequences.addTimer(120, 6);
@@ -640,12 +641,12 @@ static void room_307_parser() {
}
}
} else if (player_said_2(use, toilet) && (_game._storyMode != STORYMODE_NAUGHTY))
- _vm->_dialogs->show(30723);
+ text_show(30723);
else if (player_said_2(use, toilet)) {
if (!local._afterPeeingFl) {
switch (_game._trigger) {
case 0:
- _vm->_sound->command(25);
+ g_engine->_soundManager->command(25, 0);
_globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('a', 0));
local._duringPeeingFl = true;
_game._player._stepEnabled = false;
@@ -694,40 +695,40 @@ static void room_307_parser() {
}
} else if (player_said_2(look, air_vent)) {
if (!local._grateOpenedFl)
- _vm->_dialogs->show(30710);
+ text_show(30710);
else
- _vm->_dialogs->show(30711);
+ text_show(30711);
} else if (player_said_2(look, bed))
- _vm->_dialogs->show(30712);
+ text_show(30712);
else if (player_said_2(look, sink))
- _vm->_dialogs->show(30713);
+ text_show(30713);
else if (player_said_2(look, toilet))
- _vm->_dialogs->show(30714);
+ text_show(30714);
else if (player_said_2(sharpen, scalpel))
- _vm->_dialogs->show(30716);
+ text_show(30716);
else if (player_said_2(look, cell_wall))
- _vm->_dialogs->show(30717);
+ text_show(30717);
else if (player_said_2(look, light))
- _vm->_dialogs->show(30718);
+ text_show(30718);
else if (player_said_2(walk_into, corridor)) {
switch (local._fieldCollisionCounter) {
case 0:
- _vm->_dialogs->show(30719);
+ text_show(30719);
local._fieldCollisionCounter = 1;
break;
case 1:
- _vm->_dialogs->show(30720);
+ text_show(30720);
local._fieldCollisionCounter = 2;
break;
case 2:
- _vm->_dialogs->show(30721);
+ text_show(30721);
local._fieldCollisionCounter = 3;
break;
case 3:
- _vm->_dialogs->show(30722);
+ text_show(30722);
break;
default:
diff --git a/engines/mads/nebular/rooms/room308.cpp b/engines/mads/nebular/rooms/room308.cpp
index f1337515ced..ed196e87633 100644
--- a/engines/mads/nebular/rooms/room308.cpp
+++ b/engines/mads/nebular/rooms/room308.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -49,8 +50,8 @@ static void room_308_init() {
_globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('b', 0));
_globals._spriteIndexes[4] = _scene->_sprites.addSprites(Resources::formatName(307, 'X', 0, EXT_SS, ""));
- _vm->_palette->setEntry(252, 63, 30, 20);
- _vm->_palette->setEntry(253, 45, 15, 12);
+ pal_change_color(252, 63, 30, 20);
+ pal_change_color(253, 45, 15, 12);
_globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 1);
_scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(127, 78));
diff --git a/engines/mads/nebular/rooms/room309.cpp b/engines/mads/nebular/rooms/room309.cpp
index abdff05f604..e1fe041127e 100644
--- a/engines/mads/nebular/rooms/room309.cpp
+++ b/engines/mads/nebular/rooms/room309.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -61,12 +62,12 @@ static void room_309_init() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 11);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_SPRITE, 3, 70);
- _vm->_palette->setEntry(252, 63, 37, 26);
- _vm->_palette->setEntry(253, 45, 24, 17);
- _vm->_palette->setEntry(16, 63, 63, 63);
- _vm->_palette->setEntry(17, 45, 45, 45);
- _vm->_palette->setEntry(250, 63, 20, 20);
- _vm->_palette->setEntry(251, 45, 10, 10);
+ pal_change_color(252, 63, 37, 26);
+ pal_change_color(253, 45, 24, 17);
+ pal_change_color(16, 63, 63, 63);
+ pal_change_color(17, 45, 45, 45);
+ pal_change_color(250, 63, 20, 20);
+ pal_change_color(251, 45, 10, 10);
_game._player._visible = false;
_game._player._stepEnabled = false;
diff --git a/engines/mads/nebular/rooms/room311.cpp b/engines/mads/nebular/rooms/room311.cpp
index cfd450e2802..874556cc38e 100644
--- a/engines/mads/nebular/rooms/room311.cpp
+++ b/engines/mads/nebular/rooms/room311.cpp
@@ -189,7 +189,7 @@ static void room_311_daemon() {
static void room_311_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(31119);
+ text_show(31119);
else if (local._checkGuardFl) {
local._checkGuardFl = false;
_scene->_kernelMessages.reset();
@@ -293,25 +293,25 @@ static void room_311_parser() {
break;
}
} else if (player_said_2(look, desk))
- _vm->_dialogs->show(31110);
+ text_show(31110);
else if (player_said_2(look, wall))
- _vm->_dialogs->show(31111);
+ text_show(31111);
else if (player_said_2(look, lighting_fixture) || player_said_2(stare_at, lighting_fixture))
- _vm->_dialogs->show(31112);
+ text_show(31112);
else if (player_said_2(look, lights) || player_said_2(stare_at, lights))
- _vm->_dialogs->show(31113);
+ text_show(31113);
else if (player_said_2(take, lights))
- _vm->_dialogs->show(31114);
+ text_show(31114);
else if (player_said_2(look, light) || player_said_2(stare_at, light))
- _vm->_dialogs->show(31115);
+ text_show(31115);
else if (player_said_2(take, light))
- _vm->_dialogs->show(31116);
+ text_show(31116);
else if (player_said_2(look, corridor_to_west))
- _vm->_dialogs->show(31117);
+ text_show(31117);
else if (player_said_2(look, corridor_to_east))
- _vm->_dialogs->show(31118);
+ text_show(31118);
else if (player_said_2(look, air_vent))
- _vm->_dialogs->show(31120);
+ text_show(31120);
else
return;
diff --git a/engines/mads/nebular/rooms/room313.cpp b/engines/mads/nebular/rooms/room313.cpp
index d444cf24adf..1a9ac5c7dd8 100644
--- a/engines/mads/nebular/rooms/room313.cpp
+++ b/engines/mads/nebular/rooms/room313.cpp
@@ -83,13 +83,13 @@ static void room_313_parser() {
else if (player_said_2(crawl_to, security_station)) {
if (_globals[kSexOfRex] == REX_FEMALE) {
_globals[kSexOfRex] = REX_MALE;
- _vm->_dialogs->show(31301);
+ text_show(31301);
}
_scene->_nextSceneId = 391;
} else if (player_said_2(crawl_to, equipment_room)) {
if (_globals[kSexOfRex] == REX_FEMALE) {
_globals[kSexOfRex] = REX_MALE;
- _vm->_dialogs->show(31301);
+ text_show(31301);
}
_scene->_nextSceneId = 366;
} else if (!player_said_2(crawl_down, air_shaft))
diff --git a/engines/mads/nebular/rooms/room316.cpp b/engines/mads/nebular/rooms/room316.cpp
index 13aae897412..10b312ec810 100644
--- a/engines/mads/nebular/rooms/room316.cpp
+++ b/engines/mads/nebular/rooms/room316.cpp
@@ -293,7 +293,7 @@ static void room_316_init() {
_game._player._facing = FACING_SOUTH;
_game._player._stepEnabled = false;
_game._player._visible = false;
- _vm->_sound->command(44);
+ g_engine->_soundManager->command(44, 0);
int spriteIdx = (_globals[kSexOfRex] == REX_MALE) ? 1 : 2;
_globals._sequenceIndexes[1] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[spriteIdx], false, 6, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 2);
@@ -401,9 +401,9 @@ static void room_316_parser() {
switch (_game._trigger) {
case 0:
if (_globals[kCityFlooded]) {
- _vm->_dialogs->show(31623);
+ text_show(31623);
} else {
- _vm->_sound->command(45);
+ g_engine->_soundManager->command(45, 0);
_game._player._stepEnabled = false;
_game._player._visible = false;
if (_globals[kSexOfRex] == REX_MALE) {
@@ -452,35 +452,35 @@ static void room_316_parser() {
break;
}
} else if (player_said_2(look, platform))
- _vm->_dialogs->show(31610);
+ text_show(31610);
else if (player_said_2(look, strange_device)) {
if (_game._visitedScenes.exists(321))
- _vm->_dialogs->show(31612);
+ text_show(31612);
else
- _vm->_dialogs->show(31611);
+ text_show(31611);
} else if (player_said_2(look, controls))
- _vm->_dialogs->show(31613);
+ text_show(31613);
else if (player_said_2(look, equipment))
- _vm->_dialogs->show(31614);
+ text_show(31614);
else if (player_said_2(look, panel))
- _vm->_dialogs->show(31615);
+ text_show(31615);
else if (player_said_2(look, monitor))
- _vm->_dialogs->show(31616);
+ text_show(31616);
else if (player_said_2(look, ramp))
- _vm->_dialogs->show(31617);
+ text_show(31617);
else if (player_said_2(look, air_vent))
- _vm->_dialogs->show(31618);
+ text_show(31618);
else if (player_said_2(look, corridor_to_east)) {
if (!_globals[kAfterHavoc]) {
if (_game._difficulty != DIFFICULTY_EASY)
- _vm->_dialogs->show(31620);
+ text_show(31620);
else
- _vm->_dialogs->show(31619);
+ text_show(31619);
}
} else if (player_said_2(look, floor))
- _vm->_dialogs->show(31621);
+ text_show(31621);
else if (player_said_2(look, support))
- _vm->_dialogs->show(31622);
+ text_show(31622);
else
return;
diff --git a/engines/mads/nebular/rooms/room318.cpp b/engines/mads/nebular/rooms/room318.cpp
index aa2f559359b..89b28d61a76 100644
--- a/engines/mads/nebular/rooms/room318.cpp
+++ b/engines/mads/nebular/rooms/room318.cpp
@@ -20,6 +20,9 @@
*/
#include "mads/core/game.h"
+#include "mads/core/mcga.h"
+#include "mads/core/pal.h"
+#include "mads/core/timer.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -54,7 +57,7 @@ static void handleRexDialogs(int quote) {
_scene->_kernelMessages.reset();
const char *curQuote = _game.getQuote(quote);
- if (_vm->_font->getWidth(curQuote, _scene->_textSpacing) > 200) {
+ if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
static char subQuote1[34], subQuote2[34];
_game.splitQuote(curQuote, subQuote1, subQuote2);
@@ -76,7 +79,7 @@ static void handleInternDialog(int quoteId, int quoteNum, uint32 timeout) {
int maxWidth = 0;
for (int i = 0; i < quoteNum; i++) {
- maxWidth = MAX(maxWidth, _vm->_font->getWidth(_game.getQuote(curQuoteId), -1));
+ maxWidth = MAX(maxWidth, _scene->_kernelMessages._talkFont->getWidth(_game.getQuote(curQuoteId), -1));
curQuoteId++;
}
@@ -111,7 +114,7 @@ static void handleDialog() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
_scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(142, 121));
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], synxIdx);
- _vm->_sound->command(3);
+ g_engine->_soundManager->command(3, 0);
_scene->_userInterface.setup(kInputBuildingSentences);
_game._player._stepEnabled = true;
} else {
@@ -302,14 +305,14 @@ static void room_318_init() {
}
local._internTalkingFl = false;
- _vm->_palette->setEntry(252, 63, 63, 10);
- _vm->_palette->setEntry(253, 45, 45, 05);
+ pal_change_color(252, 63, 63, 10);
+ pal_change_color(253, 45, 45, 05);
- local._dropTimer = _vm->_game->_scene._frameStartTime;
+ local._dropTimer = _game->_scene._frameStartTime;
section_3_music();
if (local._dialogFl)
- _vm->_sound->command(15);
+ g_engine->_soundManager->command(15, 0);
}
static void room_318_daemon() {
@@ -353,7 +356,7 @@ static void room_318_daemon() {
nextFrame = 184;
} else if (!local._internTalkingFl) {
nextFrame = 0;
- } else if (_vm->getRandomNumber(1, 100) <= 50) {
+ } else if (g_engine->getRandomNumber(1, 100) <= 50) {
nextFrame = 151;
} else {
nextFrame = 167;
@@ -379,7 +382,7 @@ static void room_318_daemon() {
switch (_game._trigger) {
case 60:
- _vm->_sound->command(3);
+ g_engine->_soundManager->command(3, 0);
local._animMode = 2;
_scene->_reloadSceneFlag = true;
break;
@@ -397,7 +400,7 @@ static void room_318_daemon() {
break;
case 64:
- _vm->_sound->command(3);
+ g_engine->_soundManager->command(3, 0);
_scene->_nextSceneId = 307;
break;
@@ -405,7 +408,7 @@ static void room_318_daemon() {
break;
}
- uint32 tmpFrame = _vm->_events->getFrameCounter();
+ uint32 tmpFrame = timer_read();
long diffFrame = tmpFrame - local._lastFrameCounter;
local._lastFrameCounter = tmpFrame;
@@ -431,17 +434,17 @@ static void room_318_daemon() {
local._internCounter++;
if (local._internCounter >= 3600) {
- _vm->_sound->command(59);
- _vm->_screen->_shakeCountdown = 20;
+ g_engine->_soundManager->command(59, 0);
+ mcga_shakes = 20;
local._internWalkingFl = true;
}
}
- if ((_vm->_game->_scene._frameStartTime - local._dropTimer) > 600) {
- _vm->_sound->command(51);
+ if ((_game->_scene._frameStartTime - local._dropTimer) > 600) {
+ g_engine->_soundManager->command(51, 0);
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 14, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 10);
- local._dropTimer = _vm->_game->_scene._frameStartTime;
+ local._dropTimer = _game->_scene._frameStartTime;
}
}
@@ -465,9 +468,9 @@ static void room_318_parser() {
case 0:
{
local._dialogFl = true;
- _vm->_sound->command(15);
+ g_engine->_soundManager->command(15, 0);
_game._player._stepEnabled = false;
- handleRexDialogs(_vm->getRandomNumber(0x18C, 0x18E));
+ handleRexDialogs(g_engine->getRandomNumber(0x18C, 0x18E));
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 8, 1, 0, 80);
@@ -519,7 +522,7 @@ static void room_318_parser() {
handleInternDialog(0x190, 1, 120);
else {
_game._objects.addToInventory(OBJ_SCALPEL);
- _vm->_dialogs->showItem(OBJ_SCALPEL, 0x7C5D);
+ object_examine(OBJ_SCALPEL, 0x7C5D, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
}
break;
@@ -555,10 +558,10 @@ static void room_318_parser() {
if (player_said_2(take, tape_player)) {
if (_game._objects.isInRoom(OBJ_AUDIO_TAPE)) {
- _vm->_dialogs->showItem(OBJ_AUDIO_TAPE, 0x7C5B);
+ object_examine(OBJ_AUDIO_TAPE, 0x7C5B, 0);
_game._objects.addToInventory(OBJ_AUDIO_TAPE);
} else
- _vm->_dialogs->show(31834);
+ text_show(31834);
_action._inProgress = false;
return;
@@ -566,84 +569,84 @@ static void room_318_parser() {
if (player_said_2(look, tape_player)) {
if (_game._objects.isInRoom(OBJ_AUDIO_TAPE))
- _vm->_dialogs->show(31833);
+ text_show(31833);
else
- _vm->_dialogs->show(31834);
+ text_show(31834);
_action._inProgress = false;
return;
}
if (player_said_2(walk_into, doctors_office)) {
- _vm->_dialogs->show(31831);
+ text_show(31831);
_action._inProgress = false;
return;
}
if (player_said_2(look, gurney)) {
- _vm->_dialogs->show(31823);
+ text_show(31823);
_action._inProgress = false;
return;
}
if (player_said_2(look, instrument_table)) {
- _vm->_dialogs->show(31825);
+ text_show(31825);
_action._inProgress = false;
return;
}
} else { // Not visible
if (player_said_2(look, gurney)) {
- _vm->_dialogs->show(31822);
+ text_show(31822);
_action._inProgress = false;
return;
}
if (player_said_2(look, instrument_table)) {
- _vm->_dialogs->show(31824);
+ text_show(31824);
_action._inProgress = false;
return;
}
}
if (player_said_2(look, wall))
- _vm->_dialogs->show(31810);
+ text_show(31810);
else if (player_said_2(look, floor))
- _vm->_dialogs->show(31811);
+ text_show(31811);
else if (player_said_2(look, corridor_to_west))
- _vm->_dialogs->show(31812);
+ text_show(31812);
else if (player_said_2(look, corridor_to_south))
- _vm->_dialogs->show(31813);
+ text_show(31813);
else if (player_said_2(look, faucet))
- _vm->_dialogs->show(31814);
+ text_show(31814);
else if (player_said_2(look, sink))
- _vm->_dialogs->show(31815);
+ text_show(31815);
else if (player_said_2(look, conveyor_belt))
- _vm->_dialogs->show(31816);
+ text_show(31816);
else if (player_said_2(look, large_blade))
- _vm->_dialogs->show(31817);
+ text_show(31817);
else if (player_said_2(look, monitor))
- _vm->_dialogs->show(31818);
+ text_show(31818);
else if (player_said_2(look, cabinets))
- _vm->_dialogs->show(31819);
+ text_show(31819);
else if (player_said_2(look, equipment))
- _vm->_dialogs->show(31820);
+ text_show(31820);
else if (player_said_2(look, shelf))
- _vm->_dialogs->show(31821);
+ text_show(31821);
else if (player_said_2(open, cabinets))
- _vm->_dialogs->show(31829);
+ text_show(31829);
else if (player_said_2(look, intern))
- _vm->_dialogs->show(31830);
+ text_show(31830);
else if (player_said_2(look, professor))
- _vm->_dialogs->show(31832);
+ text_show(31832);
else if (player_said_2(look, professors_gurney))
- _vm->_dialogs->show(31836);
+ text_show(31836);
else if (_action._lookFlag) {
if (_game._player._visible || _game._objects.isInInventory(OBJ_SCALPEL))
- _vm->_dialogs->show(31828);
+ text_show(31828);
else if (local._internVisibleFl)
- _vm->_dialogs->show(31826);
+ text_show(31826);
else
- _vm->_dialogs->show(31827);
+ text_show(31827);
} else
return;
diff --git a/engines/mads/nebular/rooms/room319.cpp b/engines/mads/nebular/rooms/room319.cpp
index 9762d3881dd..81d39c687e1 100644
--- a/engines/mads/nebular/rooms/room319.cpp
+++ b/engines/mads/nebular/rooms/room319.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/magic.h"
#include "mads/core/mcga.h"
#include "mads/core/pal.h"
#include "mads/nebular/global.h"
@@ -58,7 +59,7 @@ static void handleRexDialogues(int quote) {
_scene->_kernelMessages.reset();
const char *curQuote = _game.getQuote(quote);
- if (_vm->_font->getWidth(curQuote, _scene->_textSpacing) > 200) {
+ if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
static char subQuote1[34], subQuote2[34];
_game.splitQuote(curQuote, subQuote1, subQuote2);
Common::strcpy_s(local._subQuote2, subQuote2);
@@ -117,8 +118,8 @@ static void room_319_init() {
0x17E, 0x17F, 0x180, 0x181, 0x182, 0x183, 0x184, 0x185, 0x186, 0x187, 0x188,
0x189, 0x18A, 0x18B, 0);
- _vm->_palette->setEntry(252, 63, 30, 2);
- _vm->_palette->setEntry(253, 45, 15, 1);
+ pal_change_color(252, 63, 30, 2);
+ pal_change_color(253, 45, 15, 1);
local._slachePosY = 0;
local._slacheInitFl = false;
@@ -273,22 +274,22 @@ static void room_319_daemon() {
if (local._animMode == 2) {
if (local._animFrame == 13)
- _vm->_screen->_shakeCountdown = 40;
+ mcga_shakes = 40;
if (local._animFrame == 16)
- _vm->_screen->_shakeCountdown = 1;
+ mcga_shakes = 1;
}
if (local._animMode == 3) {
if (local._animFrame == 11)
- _vm->_screen->_shakeCountdown = 60;
+ mcga_shakes = 60;
if (local._animFrame == 18)
- _vm->_screen->_shakeCountdown = 1;
+ mcga_shakes = 1;
}
if ((local._animMode == 4) && (local._animFrame == 16))
- _vm->_screen->_shakeCountdown = 80;
+ mcga_shakes = 80;
if ((nextFrame >= 0) && (nextFrame != _scene->_animation[0]->getCurrentFrame())) {
_scene->_animation[0]->setCurrentFrame(nextFrame);
@@ -312,7 +313,7 @@ static void room_319_daemon() {
local._animFrame = _scene->_animation[0]->getCurrentFrame();
local._slacheTalkingFl = true;
- _vm->_screen->_shakeCountdown = 1;
+ mcga_shakes = 1;
for (int i = 0; i <= 1; i++) {
int oldIdx = _globals._sequenceIndexes[i];
@@ -332,11 +333,11 @@ static void room_319_daemon() {
}
case 72:
- _vm->_palette->setColorFlags(0xFF, 0, 0);
- _vm->_palette->setColorValues(0, 0, 0);
- _vm->_palette->fadeOut(master_palette, nullptr, 18, 228,
+ magic_set_color_flags(0xFF, 0, 0);
+ magic_set_color_values(0, 0, 0);
+ magic_fade_to_grey(master_palette, nullptr, 18, 228,
248, 0, 1, 16);
- _vm->_screen->_shakeCountdown = 1;
+ mcga_shakes = 1;
_scene->_reloadSceneFlag = true;
break;
diff --git a/engines/mads/nebular/rooms/room320.cpp b/engines/mads/nebular/rooms/room320.cpp
index 0cfc5c3a63d..819254c0868 100644
--- a/engines/mads/nebular/rooms/room320.cpp
+++ b/engines/mads/nebular/rooms/room320.cpp
@@ -20,6 +20,8 @@
*/
#include "mads/core/game.h"
+#include "mads/core/mcga.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -184,8 +186,8 @@ static void room_320_init() {
setRightView(_globals[kRightView320]);
setLeftView(0);
- _vm->_palette->setEntry(252, 63, 30, 20);
- _vm->_palette->setEntry(253, 45, 15, 10);
+ pal_change_color(252, 63, 30, 20);
+ pal_change_color(253, 45, 15, 10);
section_3_music();
}
@@ -198,7 +200,7 @@ static void room_320_daemon() {
case 95:
local._blinkFl = true;
setLeftView(9);
- _vm->_sound->command(41);
+ g_engine->_soundManager->command(41, 0);
break;
case 139:
@@ -212,8 +214,8 @@ static void room_320_daemon() {
case 417:
case 457:
- _vm->_screen->_shakeCountdown = 40;
- _vm->_sound->command(59);
+ mcga_shakes = 40;
+ g_engine->_soundManager->command(59, 0);
break;
case 430:
@@ -236,7 +238,7 @@ static void room_320_daemon() {
static void room_320_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(32011);
+ text_show(32011);
else if ((player_said_1(press) || player_said_1(push)) &&
(player_said_1(left_1_key) || player_said_1(left_2_key) || player_said_1(left_3_key) || player_said_1(left_4_key) ||
player_said_1(green_button) || player_said_1(red_button) || player_said_1(right_1_key) || player_said_1(right_2_key) ||
@@ -257,25 +259,25 @@ static void room_320_parser() {
case 1:
if (local._buttonId >= 6) {
- _vm->_sound->command(60);
+ g_engine->_soundManager->command(60, 0);
setRightView(local._buttonId - 6);
}
if (local._buttonId == 4) {
- _vm->_sound->command(38);
+ g_engine->_soundManager->command(38, 0);
if (local._leftItemId == 3)
setLeftView(0);
else
setLeftView(3);
}
if (local._buttonId == 5) {
- _vm->_sound->command(38);
+ g_engine->_soundManager->command(38, 0);
if (local._leftItemId == 1)
setLeftView(2);
else
setLeftView(1);
}
if (local._buttonId <= 3) {
- _vm->_sound->command(60);
+ g_engine->_soundManager->command(60, 0);
setLeftView(local._buttonId + 5);
}
break;
@@ -297,7 +299,7 @@ static void room_320_parser() {
_game.loadQuoteSet(0xFE, 0);
_game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
_scene->loadAnimation(formAnimName('a', -1), 70);
- _vm->_sound->command(17);
+ g_engine->_soundManager->command(17, 0);
}
}
break;
@@ -308,37 +310,37 @@ static void room_320_parser() {
} else if (player_said_2(leave, security_station))
_scene->_nextSceneId = 311;
else if (player_said_2(look, right_monitor))
- _vm->_dialogs->show(32001);
+ text_show(32001);
else if (player_said_2(look, left_monitor))
- _vm->_dialogs->show(32002);
+ text_show(32002);
else if (player_said_2(look, desk))
- _vm->_dialogs->show(32003);
+ text_show(32003);
else if (player_said_2(look, security_station))
- _vm->_dialogs->show(32004);
+ text_show(32004);
else if (player_said_2(look, mug))
- _vm->_dialogs->show(32005);
+ text_show(32005);
else if (player_said_2(look, doughnut))
- _vm->_dialogs->show(32006);
+ text_show(32006);
else if (player_said_2(look, magazine))
- _vm->_dialogs->show(32007);
+ text_show(32007);
else if (player_said_2(look, paper_football))
- _vm->_dialogs->show(32008);
+ text_show(32008);
else if (player_said_2(look, newspaper))
- _vm->_dialogs->show(32009);
+ text_show(32009);
else if (player_said_2(look, clipboard))
- _vm->_dialogs->show(32010);
+ text_show(32010);
else if (player_said_2(take, mug))
- _vm->_dialogs->show(32012);
+ text_show(32012);
else if (player_said_2(take, clipboard))
- _vm->_dialogs->show(32013);
+ text_show(32013);
else if (player_said_2(take, doughnut) || player_said_2(eat, doughnut))
- _vm->_dialogs->show(32014);
+ text_show(32014);
else if (player_said_2(take, paper_football))
- _vm->_dialogs->show(32015);
+ text_show(32015);
else if (player_said_2(take, magazine))
- _vm->_dialogs->show(32016);
+ text_show(32016);
else if (player_said_2(take, newspaper))
- _vm->_dialogs->show(32017);
+ text_show(32017);
else
return;
diff --git a/engines/mads/nebular/rooms/room322.cpp b/engines/mads/nebular/rooms/room322.cpp
index 080bc4f5fa4..2efcd372e5d 100644
--- a/engines/mads/nebular/rooms/room322.cpp
+++ b/engines/mads/nebular/rooms/room322.cpp
@@ -41,10 +41,10 @@ static void room_322_init() {
teleporter_init();
// The original is using scene3xx_section_3_music()
- if (!_vm->_musicFlag)
- _vm->_sound->command(2);
+ if (!config_file.music_flag)
+ g_engine->_soundManager->command(2, 0);
else
- _vm->_sound->command(10);
+ g_engine->_soundManager->command(10, 0);
}
static void room_322_daemon() {
@@ -53,7 +53,7 @@ static void room_322_daemon() {
static void room_322_parser() {
if (_action._lookFlag) {
- _vm->_dialogs->show(32214);
+ text_show(32214);
_action._inProgress = false;
return;
}
@@ -64,11 +64,11 @@ static void room_322_parser() {
}
if (player_said_2(look, viewport) || player_said_2(peer_through, viewport))
- _vm->_dialogs->show(32210);
+ text_show(32210);
else if (player_said_2(look, keypad))
- _vm->_dialogs->show(32211);
+ text_show(32211);
else if (player_said_2(look, display))
- _vm->_dialogs->show(32212);
+ text_show(32212);
else if (player_said_2(look, 0_key) || player_said_2(look, 1_key)
|| player_said_2(look, 2_key) || player_said_2(look, 3_key)
|| player_said_2(look, 4_key) || player_said_2(look, 5_key)
@@ -76,9 +76,9 @@ static void room_322_parser() {
|| player_said_2(look, 8_key) || player_said_2(look, 9_key)
|| player_said_2(look, smile_key) || player_said_2(look, enter_key)
|| player_said_2(look, frown_key))
- _vm->_dialogs->show(32213);
+ text_show(32213);
else if (player_said_2(look, device))
- _vm->_dialogs->show(32214);
+ text_show(32214);
else
return;
diff --git a/engines/mads/nebular/rooms/room351.cpp b/engines/mads/nebular/rooms/room351.cpp
index 39fa7e35637..8c14be527c4 100644
--- a/engines/mads/nebular/rooms/room351.cpp
+++ b/engines/mads/nebular/rooms/room351.cpp
@@ -113,7 +113,7 @@ static void room_351_daemon() {
static void room_351_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(35121);
+ text_show(35121);
else if (player_said_2(step_into, teleporter))
_scene->_nextSceneId = 322;
else if (player_said_2(walk_down, corridor_to_south))
@@ -146,7 +146,7 @@ static void room_351_parser() {
case 2:
_game._player._visible = true;
_game._player._stepEnabled = true;
- _vm->_dialogs->showItem(OBJ_CREDIT_CHIP, 0x32F);
+ object_examine(OBJ_CREDIT_CHIP, 0x32F, 0);
break;
default:
@@ -154,30 +154,30 @@ static void room_351_parser() {
}
}
} else if (player_said_2(look, view_screen))
- _vm->_dialogs->show(35110);
+ text_show(35110);
else if (player_said_2(look, rip_in_floor))
- _vm->_dialogs->show(35111);
+ text_show(35111);
else if (player_said_2(look, fire_hydrant))
- _vm->_dialogs->show(35112);
+ text_show(35112);
else if (player_said_2(look, guard)) {
if (_game._objects[0xF]._roomNumber == 351)
- _vm->_dialogs->show(35114);
+ text_show(35114);
else
- _vm->_dialogs->show(35113);
+ text_show(35113);
} else if (player_said_2(look, equipment))
- _vm->_dialogs->show(35115);
+ text_show(35115);
else if (player_said_2(look, desk))
- _vm->_dialogs->show(35116);
+ text_show(35116);
else if (player_said_2(look, machine))
- _vm->_dialogs->show(35117);
+ text_show(35117);
else if (player_said_2(look, teleporter))
- _vm->_dialogs->show(35118);
+ text_show(35118);
else if (player_said_2(look, control_panel))
- _vm->_dialogs->show(35119);
+ text_show(35119);
else if (player_said_2(look, corridor_to_south))
- _vm->_dialogs->show(35120);
+ text_show(35120);
else if (player_said_2(look, pole))
- _vm->_dialogs->show(35122);
+ text_show(35122);
else
return;
diff --git a/engines/mads/nebular/rooms/room352.cpp b/engines/mads/nebular/rooms/room352.cpp
index f6fe7036e41..674ab031f37 100644
--- a/engines/mads/nebular/rooms/room352.cpp
+++ b/engines/mads/nebular/rooms/room352.cpp
@@ -201,7 +201,7 @@ static void room_352_pre_parser() {
if (_game._player._needToWalk) {
_game._player._stepEnabled = false;
_scene->_sequences.remove(local._commonSequenceIdx);
- _vm->_sound->command(20);
+ g_engine->_soundManager->command(20, 0);
local._commonSequenceIdx = _scene->_sequences.addReverseSpriteCycle(local._commonSpriteIndex, false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 1);
_scene->_sequences.setDepth(local._commonSequenceIdx, 15);
@@ -238,7 +238,7 @@ static void room_352_pre_parser() {
static void room_352_parser() {
if (_action._lookFlag) {
- _vm->_dialogs->show(35225);
+ text_show(35225);
_action._inProgress = false;
return;
}
@@ -261,7 +261,7 @@ static void room_352_parser() {
case 1:
{
- _vm->_sound->command(21);
+ g_engine->_soundManager->command(21, 0);
_globals._sequenceIndexes[12] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[12], false, 7, 2, 20, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[12], FACING_NORTH);
int oldIdx = local._commonSequenceIdx;
@@ -272,7 +272,7 @@ static void room_352_parser() {
break;
case 2:
- _vm->_sound->command(22);
+ g_engine->_soundManager->command(22, 0);
_scene->_sequences.remove(local._commonSequenceIdx);
local._commonSequenceIdx = _scene->_sequences.startPingPongCycle(local._commonSpriteIndex, false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(local._commonSequenceIdx, 1, 3);
@@ -353,7 +353,7 @@ static void room_352_parser() {
case 2:
_game._player._visible = true;
_game._player._stepEnabled = true;
- _vm->_dialogs->showItem(OBJ_GUARDS_ARM, 0x899C);
+ object_examine(OBJ_GUARDS_ARM, 0x899C, 0);
break;
default:
@@ -382,7 +382,7 @@ static void room_352_parser() {
case 1:
{
- _vm->_sound->command(21);
+ g_engine->_soundManager->command(21, 0);
_globals._sequenceIndexes[12] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[12], false, 7, 2, 20, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[12], 8);
int oldIdx = local._commonSequenceIdx;
@@ -393,7 +393,7 @@ static void room_352_parser() {
break;
case 2:
- _vm->_sound->command(23);
+ g_engine->_soundManager->command(23, 0);
_scene->_sequences.remove(local._commonSequenceIdx);
local._commonSequenceIdx = _scene->_sequences.addReverseSpriteCycle(local._commonSpriteIndex, false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(local._commonSequenceIdx, 1, 4);
@@ -409,7 +409,7 @@ static void room_352_parser() {
else
local._commonSpriteIndex = _globals._spriteIndexes[1];
- _vm->_sound->command(20);
+ g_engine->_soundManager->command(20, 0);
local._commonSequenceIdx = _scene->_sequences.addSpriteCycle(local._commonSpriteIndex, false, 6, 1, 0, 0);
_scene->_sequences.setDepth(local._commonSequenceIdx, 15);
_scene->_sequences.addSubEntry(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 4);
@@ -527,60 +527,60 @@ static void room_352_parser() {
_game._player._visible = true;
_game._player._stepEnabled = true;
- _vm->_dialogs->showItem(OBJ_TAPE_PLAYER, 35227);
+ object_examine(OBJ_TAPE_PLAYER, 35227, 0);
break;
default:
break;
}
} else if (player_said_2(look, scanner))
- _vm->_dialogs->show(35210);
+ text_show(35210);
else if (player_said_2(look, monitor)) {
if (_game._storyMode == STORYMODE_NAUGHTY)
- _vm->_dialogs->show(35211);
+ text_show(35211);
else
- _vm->_dialogs->show(35212);
+ text_show(35212);
} else if (player_said_2(look, display))
- _vm->_dialogs->show(35213);
+ text_show(35213);
else if (player_said_2(look, statue))
- _vm->_dialogs->show(35214);
+ text_show(35214);
else if (player_said_2(look, tape_player) && (_action._savedFields._mainObjectSource == 4))
- _vm->_dialogs->show(35215);
+ text_show(35215);
else if (player_said_2(look, air_vent))
- _vm->_dialogs->show(35216);
+ text_show(35216);
else if (player_said_2(look, guards_arm2) && (_action._savedFields._mainObjectSource == 4))
- _vm->_dialogs->show(35217);
+ text_show(35217);
else if (player_said_2(look, ironing_board))
- _vm->_dialogs->show(35218);
+ text_show(35218);
else if (player_said_2(look, clock))
- _vm->_dialogs->show(35219);
+ text_show(35219);
else if (player_said_2(look, gauge))
- _vm->_dialogs->show(35220);
+ text_show(35220);
else if (player_said_2(look, vault)) {
if (!local._vaultOpenFl)
- _vm->_dialogs->show(35221);
+ text_show(35221);
} else if (player_said_2(look, your_stuff))
- _vm->_dialogs->show(35222);
+ text_show(35222);
else if (player_said_2(look, other_stuff))
- _vm->_dialogs->show(35223);
+ text_show(35223);
else if (player_said_2(look, corridor_to_south))
- _vm->_dialogs->show(35224);
+ text_show(35224);
else if (player_said_2(take, other_stuff))
- _vm->_dialogs->show(35226);
+ text_show(35226);
else if (player_said_2(look, desk))
- _vm->_dialogs->show(35229);
+ text_show(35229);
else if (player_said_2(look, guard))
- _vm->_dialogs->show(35230);
+ text_show(35230);
else if (player_said_2(look, doorway))
- _vm->_dialogs->show(35231);
+ text_show(35231);
else if (player_said_2(look, table))
- _vm->_dialogs->show(35232);
+ text_show(35232);
else if (player_said_2(look, projector))
- _vm->_dialogs->show(35233);
+ text_show(35233);
else if (player_said_2(look, support))
- _vm->_dialogs->show(35234);
+ text_show(35234);
else if (player_said_2(look, security_monitor))
- _vm->_dialogs->show(35235);
+ text_show(35235);
else
return;
diff --git a/engines/mads/nebular/rooms/room353.cpp b/engines/mads/nebular/rooms/room353.cpp
index fc7c8469cf7..95df71379c7 100644
--- a/engines/mads/nebular/rooms/room353.cpp
+++ b/engines/mads/nebular/rooms/room353.cpp
@@ -53,27 +53,27 @@ static void room_353_init() {
static void room_353_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(35315);
+ text_show(35315);
else if (player_said_2(walk_through, doorway))
_scene->_nextSceneId = 352;
else if (player_said_2(walk_down, corridor_to_south))
_scene->_nextSceneId = 354;
else if (player_said_2(look, rock_chunk))
- _vm->_dialogs->show(35310);
+ text_show(35310);
else if (player_said_2(look, pipes) || player_said_2(look, pipe))
- _vm->_dialogs->show(35311);
+ text_show(35311);
else if (player_said_2(look, broken_beam))
- _vm->_dialogs->show(35312);
+ text_show(35312);
else if (player_said_2(look, doorway))
- _vm->_dialogs->show(35313);
+ text_show(35313);
else if (player_said_2(look, corridor_to_south))
- _vm->_dialogs->show(35314);
+ text_show(35314);
else if (player_said_2(look, floor))
- _vm->_dialogs->show(35316);
+ text_show(35316);
else if (player_said_2(look, ceiling))
- _vm->_dialogs->show(35317);
+ text_show(35317);
else if (player_said_2(look, wall))
- _vm->_dialogs->show(35318);
+ text_show(35318);
else
return;
diff --git a/engines/mads/nebular/rooms/room354.cpp b/engines/mads/nebular/rooms/room354.cpp
index f9817bfad22..651fcf41ee7 100644
--- a/engines/mads/nebular/rooms/room354.cpp
+++ b/engines/mads/nebular/rooms/room354.cpp
@@ -61,7 +61,7 @@ static void room_354_pre_parser() {
static void room_354_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(35414);
+ text_show(35414);
else if (player_said_2(walk_down, corridor_to_north)) {
_game._player.startWalking(Common::Point(208, 0), FACING_NORTHEAST);
_game._player._walkOffScreenSceneId = 353;
@@ -72,25 +72,25 @@ static void room_354_parser() {
else if (player_said_2(walk_down, corridor_to_south))
_scene->_nextSceneId = 401;
else if (player_said_2(look, controls))
- _vm->_dialogs->show(35410);
+ text_show(35410);
else if (player_said_2(look, signal))
- _vm->_dialogs->show(35411);
+ text_show(35411);
else if (player_said_2(look, catwalk))
- _vm->_dialogs->show(35412);
+ text_show(35412);
else if (player_said_2(look, air_duct))
- _vm->_dialogs->show(35413);
+ text_show(35413);
else if (player_said_2(look, corridor_to_north))
- _vm->_dialogs->show(35415);
+ text_show(35415);
else if (player_said_2(look, corridor_to_south))
- _vm->_dialogs->show(35416);
+ text_show(35416);
else if (player_said_2(look, corridor_to_east))
- _vm->_dialogs->show(35417);
+ text_show(35417);
else if (player_said_2(look, corridor_to_west))
- _vm->_dialogs->show(35418);
+ text_show(35418);
else if (player_said_2(look, debris))
- _vm->_dialogs->show(35419);
+ text_show(35419);
else if (player_said_2(look, guard))
- _vm->_dialogs->show(35420);
+ text_show(35420);
else
return;
diff --git a/engines/mads/nebular/rooms/room357.cpp b/engines/mads/nebular/rooms/room357.cpp
index 79ddc0686b1..ccd22bbf71d 100644
--- a/engines/mads/nebular/rooms/room357.cpp
+++ b/engines/mads/nebular/rooms/room357.cpp
@@ -58,33 +58,33 @@ static void room_357_pre_parser() {
static void room_357_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(35715);
+ text_show(35715);
else if (player_said_2(look, air_vent))
- _vm->_dialogs->show(35710);
+ text_show(35710);
else if (player_said_2(climb_into, air_vent))
- _vm->_dialogs->show(35711);
+ text_show(35711);
else if (player_said_2(look, bed))
- _vm->_dialogs->show(35712);
+ text_show(35712);
else if (player_said_2(look, sink))
- _vm->_dialogs->show(35713);
+ text_show(35713);
else if (player_said_2(look, toilet))
- _vm->_dialogs->show(35714);
+ text_show(35714);
else if (player_said_2(look, cell_wall))
- _vm->_dialogs->show(35716);
+ text_show(35716);
else if (player_said_2(look, light))
- _vm->_dialogs->show(35717);
+ text_show(35717);
else if (player_said_2(look, rip_in_floor))
- _vm->_dialogs->show(35718);
+ text_show(35718);
else if (player_said_2(look, debris))
- _vm->_dialogs->show(35719);
+ text_show(35719);
else if (player_said_2(take, debris))
- _vm->_dialogs->show(35720);
+ text_show(35720);
else if (player_said_2(look, wall))
- _vm->_dialogs->show(35721);
+ text_show(35721);
else if (player_said_2(look, corridor_to_east))
- _vm->_dialogs->show(35722);
+ text_show(35722);
else if (player_said_2(look, corridor_to_west))
- _vm->_dialogs->show(35723);
+ text_show(35723);
else
return;
diff --git a/engines/mads/nebular/rooms/room358.cpp b/engines/mads/nebular/rooms/room358.cpp
index 271ad38fb7f..bd32329a506 100644
--- a/engines/mads/nebular/rooms/room358.cpp
+++ b/engines/mads/nebular/rooms/room358.cpp
@@ -55,21 +55,21 @@ static void room_358_pre_parser() {
static void room_358_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(35815);
+ text_show(35815);
else if (player_said_2(look, corridor_to_west))
- _vm->_dialogs->show(35810);
+ text_show(35810);
else if (player_said_2(look, corridor_to_east))
- _vm->_dialogs->show(35811);
+ text_show(35811);
else if (player_said_2(look, bed))
- _vm->_dialogs->show(35812);
+ text_show(35812);
else if (player_said_2(look, sink))
- _vm->_dialogs->show(35813);
+ text_show(35813);
else if (player_said_2(look, toilet))
- _vm->_dialogs->show(35814);
+ text_show(35814);
else if (player_said_2(look, corridor) || player_said_2(look, wall))
- _vm->_dialogs->show(35816);
+ text_show(35816);
else if (player_said_2(look, air_vent))
- _vm->_dialogs->show(35817);
+ text_show(35817);
else
return;
diff --git a/engines/mads/nebular/rooms/room359.cpp b/engines/mads/nebular/rooms/room359.cpp
index 81e00f2d619..722b5717f43 100644
--- a/engines/mads/nebular/rooms/room359.cpp
+++ b/engines/mads/nebular/rooms/room359.cpp
@@ -76,16 +76,16 @@ static void room_359_pre_parser() {
static void room_359_parser() {
if (_action._lookFlag) {
if ((_game._difficulty != DIFFICULTY_HARD) && (_game._objects[OBJ_SECURITY_CARD]._roomNumber == 359))
- _vm->_dialogs->show(35914);
+ text_show(35914);
else
- _vm->_dialogs->show(35915);
+ text_show(35915);
} else if (player_said_2(take, security_card)) {
if (_game._trigger || !_game._objects.isInInventory(OBJ_SECURITY_CARD)) {
switch (_game._trigger) {
case 0:
_game._player._stepEnabled = false;
_game._player._visible = false;
- _vm->_dialogs->show(35920);
+ text_show(35920);
if (_globals[kSexOfRex] == REX_MALE) {
_globals._sequenceIndexes[2] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[2], false, 4, 2, 0, 0);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
@@ -103,9 +103,9 @@ static void room_359_parser() {
case 1:
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_scene->_dynamicHotspots.remove(local._cardHotspotId);
- _vm->_sound->command(57);
+ g_engine->_soundManager->command(57, 0);
_game._objects.addToInventory(OBJ_SECURITY_CARD);
- _vm->_dialogs->showItem(OBJ_SECURITY_CARD, 0x330);
+ object_examine(OBJ_SECURITY_CARD, 0x330, 0);
_scene->changeVariant(1);
break;
@@ -124,43 +124,43 @@ static void room_359_parser() {
}
}
} else if (player_said_2(look, bloody_cell_wall))
- _vm->_dialogs->show(35910);
+ text_show(35910);
else if (player_said_2(look, bed))
- _vm->_dialogs->show(35911);
+ text_show(35911);
else if (player_said_2(look, sink))
- _vm->_dialogs->show(35912);
+ text_show(35912);
else if (player_said_2(look, toilet))
- _vm->_dialogs->show(35913);
+ text_show(35913);
else if (player_said_2(look, corridor_to_east))
- _vm->_dialogs->show(35916);
+ text_show(35916);
else if (player_said_2(look, corridor_to_west))
- _vm->_dialogs->show(35917);
+ text_show(35917);
else if (player_said_2(look, limb))
- _vm->_dialogs->show(35918);
+ text_show(35918);
else if (player_said_2(take, limb))
- _vm->_dialogs->show(35919);
+ text_show(35919);
else if (player_said_2(look, security_card) && (_action._mainObjectSource == CAT_HOTSPOT))
- _vm->_dialogs->show(35921);
+ text_show(35921);
else if (player_said_2(look, blood_stain)) {
if ((_game._difficulty != DIFFICULTY_HARD) && (_game._objects[OBJ_SECURITY_CARD]._roomNumber == 359))
- _vm->_dialogs->show(35922);
+ text_show(35922);
else
- _vm->_dialogs->show(35923);
+ text_show(35923);
} else if (player_said_2(look, wall_board))
- _vm->_dialogs->show(35924);
+ text_show(35924);
else if (player_said_2(take, wall_board))
- _vm->_dialogs->show(35925);
+ text_show(35925);
else if (player_said_2(look, rip_in_floor))
- _vm->_dialogs->show(35926);
+ text_show(35926);
else if (player_said_2(look, corridor))
- _vm->_dialogs->show(35927);
+ text_show(35927);
else if (player_said_2(look, floor)) {
if ((_game._difficulty != DIFFICULTY_HARD) && (_game._objects[OBJ_SECURITY_CARD]._roomNumber == 359))
- _vm->_dialogs->show(35928);
+ text_show(35928);
else
- _vm->_dialogs->show(35929);
+ text_show(35929);
} else if (player_said_2(open, air_vent) || player_said_2(look, air_vent))
- _vm->_dialogs->show(36016);
+ text_show(36016);
else
return;
diff --git a/engines/mads/nebular/rooms/room360.cpp b/engines/mads/nebular/rooms/room360.cpp
index 9a4542cc5cf..f5c75da9ed0 100644
--- a/engines/mads/nebular/rooms/room360.cpp
+++ b/engines/mads/nebular/rooms/room360.cpp
@@ -55,23 +55,23 @@ static void room_360_pre_parser() {
static void room_360_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(36015);
+ text_show(36015);
else if (player_said_2(look, corridor_to_west))
- _vm->_dialogs->show(36010);
+ text_show(36010);
else if (player_said_2(look, corridor_to_east))
- _vm->_dialogs->show(36011);
+ text_show(36011);
else if (player_said_2(look, bed))
- _vm->_dialogs->show(36012);
+ text_show(36012);
else if (player_said_2(look, sink))
- _vm->_dialogs->show(36013);
+ text_show(36013);
else if (player_said_2(look, toilet))
- _vm->_dialogs->show(36014);
+ text_show(36014);
else if (player_said_2(look, air_vent))
- _vm->_dialogs->show(36016);
+ text_show(36016);
else if (player_said_2(look, corridor))
- _vm->_dialogs->show(36017);
+ text_show(36017);
else if (player_said_2(look, wall))
- _vm->_dialogs->show(36018);
+ text_show(36018);
else
return;
diff --git a/engines/mads/nebular/rooms/room361.cpp b/engines/mads/nebular/rooms/room361.cpp
index 610d0561c10..517c20b5f9b 100644
--- a/engines/mads/nebular/rooms/room361.cpp
+++ b/engines/mads/nebular/rooms/room361.cpp
@@ -380,7 +380,7 @@ static void room_361_pre_parser() {
static void room_361_parser() {
if (_action._lookFlag)
- _vm->_dialogs->show(36119);
+ text_show(36119);
else if (player_said_2(sit_at, desk)) {
_scene->_kernelMessages.reset();
_scene->_kernelMessages.addQuote(252, 0, 120);
@@ -390,25 +390,25 @@ static void room_361_parser() {
else
handleRexAction();
} else if (player_said_2(look, desk))
- _vm->_dialogs->show(36110);
+ text_show(36110);
else if (player_said_2(look, wall))
- _vm->_dialogs->show(36111);
+ text_show(36111);
else if (player_said_2(look, lighting_fixture) || player_said_2(stare_at, lighting_fixture))
- _vm->_dialogs->show(36112);
+ text_show(36112);
else if (player_said_2(look, lights) || player_said_2(stare_at, lights))
- _vm->_dialogs->show(36113);
+ text_show(36113);
else if (player_said_2(take, lights))
- _vm->_dialogs->show(36114);
+ text_show(36114);
else if (player_said_2(look, light_bulb) || player_said_2(stare_at, light_bulb))
- _vm->_dialogs->show(36115);
+ text_show(36115);
else if (player_said_2(take, light_bulb))
- _vm->_dialogs->show(36116);
+ text_show(36116);
else if (player_said_2(look, corridor_to_west))
- _vm->_dialogs->show(36117);
+ text_show(36117);
else if (player_said_2(look, corridor_to_east))
- _vm->_dialogs->show(36118);
+ text_show(36118);
else if (player_said_2(look, air_vent))
- _vm->_dialogs->show(36120);
+ text_show(36120);
else
return;
diff --git a/engines/mads/nebular/rooms/room366.cpp b/engines/mads/nebular/rooms/room366.cpp
index a7cd8a6ae52..5d182ffcdc1 100644
--- a/engines/mads/nebular/rooms/room366.cpp
+++ b/engines/mads/nebular/rooms/room366.cpp
@@ -42,15 +42,15 @@ static void room_366_parser() {
_scene->_nextSceneId = 302;
else if (player_said_2(open, grate)) {
if (_game._visitedScenes.exists(316))
- _vm->_dialogs->show(36612);
+ text_show(36612);
else
- _vm->_dialogs->show(36613);
+ text_show(36613);
_scene->_nextSceneId = 316;
} else if (player_said_2(look_through, grate)) {
if (_game._visitedScenes.exists(321))
- _vm->_dialogs->show(36611);
+ text_show(36611);
else
- _vm->_dialogs->show(36610);
+ text_show(36610);
} else {
return;
}
diff --git a/engines/mads/nebular/rooms/room387.cpp b/engines/mads/nebular/rooms/room387.cpp
index b851b4db872..9159bd84389 100644
--- a/engines/mads/nebular/rooms/room387.cpp
+++ b/engines/mads/nebular/rooms/room387.cpp
@@ -42,9 +42,9 @@ static void room_387_parser() {
if (player_said_2(return_to, air_shaft))
_scene->_nextSceneId = 313;
else if (player_said_2(look_through, grate))
- _vm->_dialogs->show(38710);
+ text_show(38710);
else if (player_said_2(open, grate))
- _vm->_dialogs->show(38711);
+ text_show(38711);
else
return;
diff --git a/engines/mads/nebular/rooms/room388.cpp b/engines/mads/nebular/rooms/room388.cpp
index f2b3e75aee5..7fb02f3613c 100644
--- a/engines/mads/nebular/rooms/room388.cpp
+++ b/engines/mads/nebular/rooms/room388.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -42,8 +43,8 @@ static void room_388_init() {
}
_game._player._visible = false;
- _vm->_palette->setEntry(252, 63, 30, 20);
- _vm->_palette->setEntry(253, 45, 15, 12);
+ pal_change_color(252, 63, 30, 20);
+ pal_change_color(253, 45, 15, 12);
_game.loadQuoteSet(0x154, 0x155, 0x156, 0x157, 0x158, 0);
section_3_music();
@@ -76,11 +77,11 @@ static void room_388_parser() {
}
} else if (player_said_2(look_through, grate)) {
if (_globals[kAfterHavoc])
- _vm->_dialogs->show(38811);
+ text_show(38811);
else
- _vm->_dialogs->show(38810);
+ text_show(38810);
} else if (player_said_2(open, grate))
- _vm->_dialogs->show(38812);
+ text_show(38812);
else
return;
diff --git a/engines/mads/nebular/rooms/room389.cpp b/engines/mads/nebular/rooms/room389.cpp
index adfca5d713f..dba79a715f8 100644
--- a/engines/mads/nebular/rooms/room389.cpp
+++ b/engines/mads/nebular/rooms/room389.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -55,8 +56,8 @@ static void room_389_init() {
247, 248, 249, 0);
}
- _vm->_palette->setEntry(252, 63, 37, 26);
- _vm->_palette->setEntry(253, 45, 24, 17);
+ pal_change_color(252, 63, 37, 26);
+ pal_change_color(253, 45, 24, 17);
_game._player._visible = false;
_game.loadQuoteSet(0xF7, 0xF8, 0xF9, 0x159, 0x15A, 0x15B, 0);
@@ -96,16 +97,16 @@ static void room_389_parser() {
} else if (player_said_2(look_through, grate)) {
if (_globals[kAfterHavoc]) {
if ((_game._difficulty != DIFFICULTY_HARD) && (_game._objects[OBJ_SECURITY_CARD]._roomNumber == 359))
- _vm->_dialogs->show(38911);
+ text_show(38911);
else
- _vm->_dialogs->show(38912);
+ text_show(38912);
} else
- _vm->_dialogs->show(38910);
+ text_show(38910);
} else if (player_said_2(open, grate)) {
if (_globals[kAfterHavoc])
- _vm->_dialogs->show(38914);
+ text_show(38914);
else
- _vm->_dialogs->show(38913);
+ text_show(38913);
} else
return;
diff --git a/engines/mads/nebular/rooms/room390.cpp b/engines/mads/nebular/rooms/room390.cpp
index 9a8e02118a7..74f3e155f8b 100644
--- a/engines/mads/nebular/rooms/room390.cpp
+++ b/engines/mads/nebular/rooms/room390.cpp
@@ -42,9 +42,9 @@ static void room_390_parser() {
if (player_said_2(return_to, air_shaft))
_scene->_nextSceneId = 313;
else if (player_said_2(look_through, grate))
- _vm->_dialogs->show(39010);
+ text_show(39010);
else if (player_said_2(open, grate))
- _vm->_dialogs->show(39011);
+ text_show(39011);
else
return;
diff --git a/engines/mads/nebular/rooms/room391.cpp b/engines/mads/nebular/rooms/room391.cpp
index 0e7b08600db..ca5ed752fbe 100644
--- a/engines/mads/nebular/rooms/room391.cpp
+++ b/engines/mads/nebular/rooms/room391.cpp
@@ -42,9 +42,9 @@ static void room_391_parser() {
_scene->_nextSceneId = 313;
else if (player_said_2(open, grate)) {
if (_globals[kKickedIn391Grate])
- _vm->_dialogs->show(39113);
+ text_show(39113);
else {
- _vm->_dialogs->show(39112);
+ text_show(39112);
_globals[kKickedIn391Grate] = true;
}
@@ -54,9 +54,9 @@ static void room_391_parser() {
_scene->_nextSceneId = 311;
} else if (player_said_2(look_through, grate)) {
if (_globals[kAfterHavoc])
- _vm->_dialogs->show(39111);
+ text_show(39111);
else
- _vm->_dialogs->show(39110);
+ text_show(39110);
} else
return;
diff --git a/engines/mads/nebular/rooms/room399.cpp b/engines/mads/nebular/rooms/room399.cpp
index 47e8a5ec506..6a12cf8f772 100644
--- a/engines/mads/nebular/rooms/room399.cpp
+++ b/engines/mads/nebular/rooms/room399.cpp
@@ -43,16 +43,16 @@ static void room_399_parser() {
else if (player_said_2(look_through, grate)) {
if (_globals[kAfterHavoc]) {
if ((_game._difficulty != DIFFICULTY_HARD) && (_game._objects[OBJ_SECURITY_CARD]._roomNumber == 359))
- _vm->_dialogs->show(38911);
+ text_show(38911);
else
- _vm->_dialogs->show(38912);
+ text_show(38912);
} else
- _vm->_dialogs->show(38910);
+ text_show(38910);
} else if (player_said_2(open, grate)) {
if (_globals[kAfterHavoc])
- _vm->_dialogs->show(38914);
+ text_show(38914);
else
- _vm->_dialogs->show(38913);
+ text_show(38913);
} else
return;
diff --git a/engines/mads/nebular/rooms/room401.cpp b/engines/mads/nebular/rooms/room401.cpp
index 0022c4bd236..912f800666e 100644
--- a/engines/mads/nebular/rooms/room401.cpp
+++ b/engines/mads/nebular/rooms/room401.cpp
@@ -86,7 +86,7 @@ static void room_401_daemon() {
else if (dist < 1)
dist = 1;
- _vm->_sound->command(12, dist);
+ g_engine->_soundManager->command(12, dist);
local._timer = _scene->_frameStartTime + _game._player._ticksAmount;
}
@@ -123,10 +123,10 @@ static void room_401_parser() {
_game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
_game._player._stepEnabled = false;
_game._player._visible = false;
- _vm->_sound->command(21);
+ g_engine->_soundManager->command(21, 0);
_scene->loadAnimation(formAnimName('s', 1), 70);
_globals[kHasBeenScanned] = true;
- _vm->_sound->command(22);
+ g_engine->_soundManager->command(22, 0);
int idx = _scene->_kernelMessages.add(Common::Point(153, 46), 0x1110, 32, 0, 60, _game.getQuote(0x1D4));
_scene->_kernelMessages.setQuoted(idx, 4, true);
}
@@ -135,9 +135,9 @@ static void room_401_parser() {
_game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
_game._player._stepEnabled = false;
_game._player._visible = false;
- _vm->_sound->command(21);
+ g_engine->_soundManager->command(21, 0);
_scene->loadAnimation(formAnimName('s', 2), 80);
- _vm->_sound->command(23);
+ g_engine->_soundManager->command(23, 0);
_globals[kHasBeenScanned] = true;
}
}
@@ -149,19 +149,19 @@ static void room_401_parser() {
_scene->_nextSceneId = 354;
else if (player_said_2(look, scanner)) {
if (_globals[kHasBeenScanned])
- _vm->_dialogs->show(40111);
+ text_show(40111);
else
- _vm->_dialogs->show(40110);
+ text_show(40110);
} else if (player_said_2(look, bar))
- _vm->_dialogs->show(40112);
+ text_show(40112);
else if (player_said_2(look, sign))
- _vm->_dialogs->show(40113);
+ text_show(40113);
else if (player_said_2(look, corridor_to_south))
- _vm->_dialogs->show(40114);
+ text_show(40114);
else if (player_said_2(look, corridor_to_north))
- _vm->_dialogs->show(40115);
+ text_show(40115);
else if (_action._lookFlag)
- _vm->_dialogs->show(40116);
+ text_show(40116);
else
return;
diff --git a/engines/mads/nebular/rooms/room402.cpp b/engines/mads/nebular/rooms/room402.cpp
index 775d0a4157e..5e29c78eadd 100644
--- a/engines/mads/nebular/rooms/room402.cpp
+++ b/engines/mads/nebular/rooms/room402.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -122,7 +123,7 @@ static void handleConversation1() {
{
int quoteId = 0;
int quotePosX = 0;
- switch (_vm->getRandomNumber(1, 3)) {
+ switch (g_engine->getRandomNumber(1, 3)) {
case 1:
quoteId = 0x1E4;
local._bartenderCurrentQuestion = 4;
@@ -245,7 +246,7 @@ static void handleConversation2() {
}
if (_action._activeAction._verbId != 0x21C) {
- switch (_vm->getRandomNumber(1, 3)) {
+ switch (g_engine->getRandomNumber(1, 3)) {
case 1:
_game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
@@ -401,7 +402,7 @@ static void handleDialogs() {
_scene->_kernelMessages.reset();
_game._player._stepEnabled = false;
const char *curQuote = _game.getQuote(_action._activeAction._verbId);
- if (_vm->_font->getWidth(curQuote, _scene->_textSpacing) > 200) {
+ if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
static char subQuote1[34], subQuote2[34];
_game.splitQuote(curQuote, subQuote1, subQuote2);
_scene->_kernelMessages.add(Common::Point(230, 42), 0x1110, 32, 0, 140, subQuote1);
@@ -485,10 +486,10 @@ static void room_402_init() {
0x215, 0x237, 0x216, 0x219, 0x21A, 0x21B, 0x21C, 0x21D, 0x220, 0x223, 0x224, 0x227, 0x22A, 0x22D, 0x230, 0x233,
0x234, 0x235, 0x236, 0x238, 0x239, 0x23A, 0x23D, 0x23E, 0x23F, 0);
- _vm->_palette->setEntry(250, 47, 41, 40);
- _vm->_palette->setEntry(251, 50, 63, 55);
- _vm->_palette->setEntry(252, 38, 34, 25);
- _vm->_palette->setEntry(253, 45, 41, 35);
+ pal_change_color(250, 47, 41, 40);
+ pal_change_color(251, 50, 63, 55);
+ pal_change_color(252, 38, 34, 25);
+ pal_change_color(253, 45, 41, 35);
local._dialog1.setup(0x60, 0x214, 0x215, 0x237, 0);
local._dialog2.setup(0x61, 0x216, 0x219, 0x21A, 0x21B, 0x21D, 0x220, 0x223, 0x224, 0x227, 0x22A, 0x22D, 0x230, 0x21C, 0);
@@ -680,12 +681,12 @@ static void room_402_daemon() {
_game._player._visible = true;
_scene->_sequences.remove(_globals._sequenceIndexes[15]);
_game._objects.addToInventory(OBJ_CREDIT_CHIP);
- _vm->_dialogs->showItem(OBJ_CREDIT_CHIP, 40242);
+ object_examine(OBJ_CREDIT_CHIP, 40242, 0);
_game._player._stepEnabled = true;
}
- if ((_vm->getRandomNumber(1, 1500) == 1) && (!local._activeTeleporter) && (_game._player._playerPos.x < 150)) {
- _vm->_sound->command(30);
+ if ((g_engine->getRandomNumber(1, 1500) == 1) && (!local._activeTeleporter) && (_game._player._playerPos.x < 150)) {
+ g_engine->_soundManager->command(30, 0);
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 13, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 1, 11);
_scene->_sequences.setDepth(_globals._sequenceIndexes[4], 14);
@@ -754,18 +755,18 @@ static void room_402_daemon() {
int seqIdx = _globals._sequenceIndexes[7];
switch (local._roxMode) {
case 20:
- _vm->_sound->command(57);
+ g_engine->_soundManager->command(57, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[15]);
_game._objects.addToInventory(OBJ_CREDIT_CHIP);
- _vm->_dialogs->showItem(OBJ_CREDIT_CHIP, 40242);
+ object_examine(OBJ_CREDIT_CHIP, 40242, 0);
break;
case 22:
- _vm->_sound->command(57);
+ g_engine->_soundManager->command(57, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[8]);
_game._objects.addToInventory(OBJ_ALIEN_LIQUOR);
_globals[kBottleDisplayed] = false;
- _vm->_dialogs->showItem(OBJ_ALIEN_LIQUOR, 40241);
+ object_examine(OBJ_ALIEN_LIQUOR, 40241, 0);
break;
case 21:
@@ -1056,14 +1057,14 @@ static void room_402_daemon() {
local._bigBeatFl = true;
} else {
_scene->_sequences.remove(_globals._sequenceIndexes[5]);
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, _vm->getRandomNumber(1, 4));
+ _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, g_engine->getRandomNumber(1, 4));
_scene->_sequences.setDepth(_globals._sequenceIndexes[5], 1);
_scene->_sequences.addTimer(60, 54);
}
}
if (local._bartenderReady) {
- if (_vm->getRandomNumber(1, 250) == 1) {
+ if (g_engine->getRandomNumber(1, 250) == 1) {
if (local._bartenderLooksLeft) {
_scene->_sequences.remove(_globals._sequenceIndexes[11]);
local._bartenderLooksLeft = false;
@@ -1075,7 +1076,7 @@ static void room_402_daemon() {
local._bartenderSteady = false;
}
- switch (_vm->getRandomNumber(1, 3)) {
+ switch (g_engine->getRandomNumber(1, 3)) {
case 1:
{
_globals._sequenceIndexes[10] = _scene->_sequences.startCycle(_globals._spriteIndexes[10], false, 4);
@@ -1138,7 +1139,7 @@ static void room_402_daemon() {
case 78:
{
- _vm->_sound->command(57);
+ g_engine->_soundManager->command(57, 0);
int seqIdx = _globals._sequenceIndexes[7];
_game._objects.addToInventory(OBJ_REPAIR_LIST);
_scene->_sequences.remove(_globals._sequenceIndexes[14]);
@@ -1161,7 +1162,7 @@ static void room_402_daemon() {
break;
case 180:
- _vm->_dialogs->showItem(OBJ_REPAIR_LIST, 40240);
+ object_examine(OBJ_REPAIR_LIST, 40240, 0);
_game._player._stepEnabled = true;
break;
@@ -1176,7 +1177,7 @@ static void room_402_daemon() {
local._bartenderReady = false;
}
- if (_vm->getRandomNumber(1, 25) == 1) {
+ if (g_engine->getRandomNumber(1, 25) == 1) {
if (local._lightOn) {
_scene->_sequences.remove(_globals._sequenceIndexes[0]);
local._lightOn = false;
@@ -1186,7 +1187,7 @@ static void room_402_daemon() {
}
}
- if (!local._blowingSmoke && (_vm->getRandomNumber(1, 300) == 1)) {
+ if (!local._blowingSmoke && (g_engine->getRandomNumber(1, 300) == 1)) {
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], 1, 14);
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 14);
@@ -1211,8 +1212,8 @@ static void room_402_daemon() {
}
if (!local._leftWomanMoving) {
- if (_vm->getRandomNumber(1, 1000) == 1) {
- switch (_vm->getRandomNumber(1, 2)) {
+ if (g_engine->getRandomNumber(1, 1000) == 1) {
+ switch (g_engine->getRandomNumber(1, 2)) {
case 1:
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 12, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 1, 8);
@@ -1238,7 +1239,7 @@ static void room_402_daemon() {
int seqIdx = _globals._sequenceIndexes[2];
_globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 9);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], seqIdx);
- _scene->_sequences.addTimer(_vm->getRandomNumber(60, 250), 34);
+ _scene->_sequences.addTimer(g_engine->getRandomNumber(60, 250), 34);
}
break;
@@ -1252,7 +1253,7 @@ static void room_402_daemon() {
case 35:
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
_globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 2);
- _scene->_sequences.addTimer(_vm->getRandomNumber(60, 300), 36);
+ _scene->_sequences.addTimer(g_engine->getRandomNumber(60, 300), 36);
break;
case 36:
@@ -1275,8 +1276,8 @@ static void room_402_daemon() {
}
if (!local._rightWomanMoving) {
- if (_vm->getRandomNumber(1, 300) == 1) {
- switch (_vm->getRandomNumber(1, 4)) {
+ if (g_engine->getRandomNumber(1, 300) == 1) {
+ switch (g_engine->getRandomNumber(1, 4)) {
case 1:
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 1, 4);
@@ -1315,7 +1316,7 @@ static void room_402_daemon() {
local._rightWomanMoving = false;
if (_scene->_animation[0]->getCurrentFrame() == 1) {
- switch (_vm->getRandomNumber(1, 50)) {
+ switch (g_engine->getRandomNumber(1, 50)) {
case 1:
_scene->_animation[0]->setCurrentFrame(2);
break;
@@ -1511,7 +1512,7 @@ static void room_402_daemon() {
break;
case 65:
- _vm->_sound->command(30);
+ g_engine->_soundManager->command(30, 0);
_globals._sequenceIndexes[16] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[16], false, 10, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[16], 1, 6);
_scene->_sequences.setDepth(_globals._sequenceIndexes[16], 9);
@@ -1610,7 +1611,7 @@ static void room_402_daemon() {
}
if (local._helgaReady) {
- int rndVal = _vm->getRandomNumber(1, 1000);
+ int rndVal = g_engine->getRandomNumber(1, 1000);
if (rndVal < 6)
switch (rndVal) {
case 1:
@@ -1673,7 +1674,7 @@ static void room_402_daemon() {
_globals._sequenceIndexes[13] = _scene->_sequences.startCycle(_globals._spriteIndexes[13], false, 19);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
_scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.addTimer(_vm->getRandomNumber(60, 120), 81);
+ _scene->_sequences.addTimer(g_engine->getRandomNumber(60, 120), 81);
}
if (_game._trigger == 81) {
@@ -1758,28 +1759,28 @@ static void room_402_daemon() {
if (!local._activeArrow1) {
_globals._sequenceIndexes[17] = _scene->_sequences.startCycle(_globals._spriteIndexes[17], false, 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[17], 1);
- _scene->_sequences.addTimer(_vm->getRandomNumber(10, 15), 49);
+ _scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 49);
local._activeArrow1 = true;
}
if (!local._activeArrow2) {
_globals._sequenceIndexes[18] = _scene->_sequences.startCycle(_globals._spriteIndexes[18], false, 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[18], 1);
- _scene->_sequences.addTimer(_vm->getRandomNumber(10, 15), 50);
+ _scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 50);
local._activeArrow2 = true;
}
if (!local._activeArrow3) {
_globals._sequenceIndexes[19] = _scene->_sequences.startCycle(_globals._spriteIndexes[19], false, 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[19], 1);
- _scene->_sequences.addTimer(_vm->getRandomNumber(10, 15), 51);
+ _scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 51);
local._activeArrow3 = true;
}
}
if (_game._trigger == 49) {
_scene->_sequences.remove(_globals._sequenceIndexes[17]);
- _scene->_sequences.addTimer(_vm->getRandomNumber(10, 15), 45);
+ _scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 45);
}
if (_game._trigger == 45)
@@ -1787,7 +1788,7 @@ static void room_402_daemon() {
if (_game._trigger == 50) {
_scene->_sequences.remove(_globals._sequenceIndexes[18]);
- _scene->_sequences.addTimer(_vm->getRandomNumber(10, 15), 46);
+ _scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 46);
}
if (_game._trigger == 46)
@@ -1795,7 +1796,7 @@ static void room_402_daemon() {
if (_game._trigger == 51) {
_scene->_sequences.remove(_globals._sequenceIndexes[19]);
- _scene->_sequences.addTimer(_vm->getRandomNumber(10, 15), 47);
+ _scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 47);
}
if (_game._trigger == 47)
@@ -1870,7 +1871,7 @@ static void room_402_parser() {
_game._player._visible = true;
_scene->_sequences.addTimer(20, 167);
} else if (_game._trigger == 167) {
- _vm->_dialogs->showItem(OBJ_REPAIR_LIST, 40240);
+ object_examine(OBJ_REPAIR_LIST, 40240, 0);
_game._player._stepEnabled = true;
} else if (_game._screenObjects._inputMode == kInputConversation)
handleDialogs();
@@ -1883,7 +1884,7 @@ static void room_402_parser() {
case 0:
{
_game._player._stepEnabled = false;
- int random = _vm->getRandomNumber(1, 3);
+ int random = g_engine->getRandomNumber(1, 3);
if (local._helgaTalkMode == 0)
random = 1;
@@ -2113,66 +2114,66 @@ static void room_402_parser() {
break;
}
} else if (player_said_2(look, dance_floor))
- _vm->_dialogs->show(40210);
+ text_show(40210);
else if (player_said_2(look, teleporter)) {
if (_globals[kSomeoneHasExploded])
- _vm->_dialogs->show(40212);
+ text_show(40212);
else
- _vm->_dialogs->show(40211);
+ text_show(40211);
} else if (player_said_2(look, bar))
- _vm->_dialogs->show(40213);
+ text_show(40213);
else if (player_said_2(look, bartender))
- _vm->_dialogs->show(40214);
+ text_show(40214);
else if (player_said_2(look, woman_in_alcove))
- _vm->_dialogs->show(40215);
+ text_show(40215);
else if (player_said_2(look, woman_on_balcony))
- _vm->_dialogs->show(40216);
+ text_show(40216);
else if (player_said_2(look, woman_in_chair))
- _vm->_dialogs->show(40217);
+ text_show(40217);
else if (player_said_2(look, repair_woman))
- _vm->_dialogs->show(40218);
+ text_show(40218);
else if (player_said_2(look, corridor_to_south))
- _vm->_dialogs->show(40219);
+ text_show(40219);
else if (_action._lookFlag)
- _vm->_dialogs->show(40220);
+ text_show(40220);
else if (player_said_2(look, women))
- _vm->_dialogs->show(40221);
+ text_show(40221);
else if (player_said_2(push, repair_woman) || player_said_2(pull, repair_woman))
- _vm->_dialogs->show(40222);
+ text_show(40222);
else if (player_said_2(talkto, women))
- _vm->_dialogs->show(40223);
+ text_show(40223);
else if (player_said_2(talkto, woman_on_balcony))
- _vm->_dialogs->show(40224);
+ text_show(40224);
else if (player_said_2(look, railing))
- _vm->_dialogs->show(40225);
+ text_show(40225);
else if (player_said_2(look, table))
- _vm->_dialogs->show(40226);
+ text_show(40226);
else if (player_said_2(take, table))
- _vm->_dialogs->show(40227);
+ text_show(40227);
else if (player_said_2(look, sign))
- _vm->_dialogs->show(40228);
+ text_show(40228);
else if (player_said_2(take, sign))
- _vm->_dialogs->show(40229);
+ text_show(40229);
else if (player_said_2(look, bar_stool))
- _vm->_dialogs->show(40230);
+ text_show(40230);
else if (player_said_2(take, bar_stool))
- _vm->_dialogs->show(40231);
+ text_show(40231);
else if (player_said_2(look, cactus))
- _vm->_dialogs->show(40232);
+ text_show(40232);
else if (player_said_2(take, cactus))
- _vm->_dialogs->show(40233);
+ text_show(40233);
else if (player_said_2(look, disco_ball))
- _vm->_dialogs->show(40234);
+ text_show(40234);
else if (player_said_2(look, upper_dance_floor))
- _vm->_dialogs->show(40235);
+ text_show(40235);
else if (player_said_2(look, tree))
- _vm->_dialogs->show(40236);
+ text_show(40236);
else if (player_said_2(look, plant))
- _vm->_dialogs->show(40237);
+ text_show(40237);
else if (player_said_2(take, plant))
- _vm->_dialogs->show(40238);
+ text_show(40238);
else if (player_said_2(look, repair_list) && _game._objects.isInRoom(OBJ_REPAIR_LIST))
- _vm->_dialogs->show(40239);
+ text_show(40239);
else
return;
diff --git a/engines/mads/nebular/rooms/room405.cpp b/engines/mads/nebular/rooms/room405.cpp
index 8b9962628ce..3c7060d685f 100644
--- a/engines/mads/nebular/rooms/room405.cpp
+++ b/engines/mads/nebular/rooms/room405.cpp
@@ -76,7 +76,7 @@ static void room_405_daemon() {
if (_game._trigger == 81) {
_game._player._stepEnabled = true;
- _vm->_dialogs->show(40525);
+ text_show(40525);
}
if (_game._trigger == 70) {
@@ -84,7 +84,7 @@ static void room_405_daemon() {
_game._player._visible = true;
_globals._sequenceIndexes[1] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[1], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
- _vm->_sound->command(19);
+ g_engine->_soundManager->command(19, 0);
}
if (_game._trigger == 71) {
@@ -103,7 +103,7 @@ static void room_405_daemon() {
_game._player._stepEnabled = true;
_globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2],
false, 1);
- _vm->_sound->command(19);
+ g_engine->_soundManager->command(19, 0);
}
}
@@ -157,36 +157,36 @@ static void room_405_parser() {
_scene->_sequences.setPosition(_globals._sequenceIndexes[3], _game._player._playerPos);
_scene->_sequences.setScale(_globals._sequenceIndexes[3], 87);
} else if (player_said_2(look, cannon_balls))
- _vm->_dialogs->show(40510);
+ text_show(40510);
else if (player_said_2(take, cannon_balls))
- _vm->_dialogs->show(40511);
+ text_show(40511);
else if (player_said_2(look, water_fountain))
- _vm->_dialogs->show(40512);
+ text_show(40512);
else if (player_said_2(look, backboard) || player_said_2(look, hoop))
- _vm->_dialogs->show(40513);
+ text_show(40513);
else if (player_said_2(look, light))
- _vm->_dialogs->show(40514);
+ text_show(40514);
else if (player_said_2(look, card_slot))
- _vm->_dialogs->show(40515);
+ text_show(40515);
else if (player_said_2(look, corridor_to_east))
- _vm->_dialogs->show(40516);
+ text_show(40516);
else if (player_said_2(look, corridor_to_west))
- _vm->_dialogs->show(40517);
+ text_show(40517);
else if (player_said_2(look, monitor))
- _vm->_dialogs->show(40518);
+ text_show(40518);
else if (player_said_2(look, corridor) || _action._lookFlag)
- _vm->_dialogs->show(40519);
+ text_show(40519);
else if (player_said_2(look, wide_door)) {
if (_globals[kArmoryDoorOpen])
- _vm->_dialogs->show(40521);
+ text_show(40521);
else
- _vm->_dialogs->show(40520);
+ text_show(40520);
} else if (player_said_2(look, door))
- _vm->_dialogs->show(40522);
+ text_show(40522);
else if (player_said_2(look, coach_lamp))
- _vm->_dialogs->show(40523);
+ text_show(40523);
else if (player_said_2(look, support))
- _vm->_dialogs->show(40524);
+ text_show(40524);
else
return;
diff --git a/engines/mads/nebular/rooms/room406.cpp b/engines/mads/nebular/rooms/room406.cpp
index df471253278..27c132c2889 100644
--- a/engines/mads/nebular/rooms/room406.cpp
+++ b/engines/mads/nebular/rooms/room406.cpp
@@ -76,7 +76,7 @@ static void room_406_init() {
_game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
_globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 3, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 90);
- _vm->_sound->command(19);
+ g_engine->_soundManager->command(19, 0);
}
_game.loadQuoteSet(0x24F, 0);
@@ -94,7 +94,7 @@ static void room_406_daemon() {
_scene->_nextSceneId = 411;
if (_game._trigger == 100) {
- _vm->_dialogs->show(40622);
+ text_show(40622);
local._hitStorageDoor = true;
}
@@ -106,7 +106,7 @@ static void room_406_daemon() {
if (_game._trigger == 111) {
_game._player._stepEnabled = true;
- _vm->_dialogs->show(40613);
+ text_show(40613);
}
if (_game._trigger == 70) {
@@ -114,7 +114,7 @@ static void room_406_daemon() {
_game._player._visible = true;
_globals._sequenceIndexes[1] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[1], false, 4, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
- _vm->_sound->command(19);
+ g_engine->_soundManager->command(19, 0);
}
if (_game._trigger == 71) {
@@ -130,7 +130,7 @@ static void room_406_daemon() {
_game._player._stepEnabled = true;
_game._player._priorTimer = _scene->_frameStartTime + _game._player._ticksAmount;
_game._player._visible = true;
- _vm->_sound->command(19);
+ g_engine->_soundManager->command(19, 0);
}
}
@@ -155,7 +155,7 @@ static void room_406_parser() {
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 3, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
- _vm->_sound->command(19);
+ g_engine->_soundManager->command(19, 0);
} else if (player_said_2(walk_through, door) && _globals[kStorageDoorOpen] && (_game._player._targetPos.x < 100))
_scene->_nextSceneId = 410;
else if (player_said_2(walk_through, door) && !_globals[kStorageDoorOpen] && (_game._player._targetPos.x < 100)) {
@@ -194,42 +194,42 @@ static void room_406_parser() {
_scene->_sequences.setPosition(_globals._sequenceIndexes[2], _game._player._playerPos);
_scene->_sequences.setScale(_globals._sequenceIndexes[2], 87);
} else if (player_said_2(look, trash))
- _vm->_dialogs->show(40610);
+ text_show(40610);
else if (player_said_2(take, trash))
- _vm->_dialogs->show(40611);
+ text_show(40611);
else if (player_said_2(look, card_slot))
- _vm->_dialogs->show(40612);
+ text_show(40612);
else if (player_said_2(look, fire_extinguisher))
- _vm->_dialogs->show(40614);
+ text_show(40614);
else if (player_said_2(take, fire_extinguisher))
- _vm->_dialogs->show(40615);
+ text_show(40615);
else if (player_said_2(look, corridor_to_east))
- _vm->_dialogs->show(40616);
+ text_show(40616);
else if (player_said_2(look, corridor_to_west))
- _vm->_dialogs->show(40617);
+ text_show(40617);
else if (player_said_2(look, corridor) || _action._lookFlag)
- _vm->_dialogs->show(40618);
+ text_show(40618);
else if (player_said_2(look, wall))
- _vm->_dialogs->show(40619);
+ text_show(40619);
else if (player_said_2(look, door)) {
if (_globals[kStorageDoorOpen])
- _vm->_dialogs->show(40621);
+ text_show(40621);
else
- _vm->_dialogs->show(40620);
+ text_show(40620);
} else if (player_said_2(look, monitor))
- _vm->_dialogs->show(40623);
+ text_show(40623);
else if (player_said_2(look, signpost))
- _vm->_dialogs->show(40624);
+ text_show(40624);
else if (player_said_2(take, signpost))
- _vm->_dialogs->show(40625);
+ text_show(40625);
else if (player_said_2(look, boulder))
- _vm->_dialogs->show(40626);
+ text_show(40626);
else if (player_said_2(take, boulder))
- _vm->_dialogs->show(40627);
+ text_show(40627);
else if (player_said_2(look, sign))
- _vm->_dialogs->show(40628);
+ text_show(40628);
else if (player_said_2(take, sign))
- _vm->_dialogs->show(40629);
+ text_show(40629);
else
return;
diff --git a/engines/mads/nebular/rooms/room407.cpp b/engines/mads/nebular/rooms/room407.cpp
index 2b19fe4c3b0..b6f41613ca8 100644
--- a/engines/mads/nebular/rooms/room407.cpp
+++ b/engines/mads/nebular/rooms/room407.cpp
@@ -102,20 +102,20 @@ static void room_407_parser() {
_game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
_game._player._stepEnabled = false;
_game._player._visible = false;
- _vm->_sound->command(21);
+ g_engine->_soundManager->command(21, 0);
_scene->loadAnimation(formAnimName('s', 1), 70);
_globals[kHasBeenScanned] = true;
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, _game.getQuote(592));
- _vm->_sound->command(22);
+ g_engine->_soundManager->command(22, 0);
}
if (_globals[kSexOfRex] == REX_FEMALE) {
_game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
_game._player._stepEnabled = false;
_game._player._visible = false;
- _vm->_sound->command(21);
+ g_engine->_soundManager->command(21, 0);
_scene->loadAnimation(formAnimName('s', 2), 80);
- _vm->_sound->command(23);
+ g_engine->_soundManager->command(23, 0);
_globals[kHasBeenScanned] = true;
}
}
@@ -126,17 +126,17 @@ static void room_407_parser() {
_scene->_nextSceneId = 318;
else if (player_said_2(look, scanner)) {
if (_globals[kHasBeenScanned])
- _vm->_dialogs->show(40711);
+ text_show(40711);
else
- _vm->_dialogs->show(40710);
+ text_show(40710);
} else if (player_said_2(look, door))
- _vm->_dialogs->show(40712);
+ text_show(40712);
else if (player_said_2(look, corridor_to_south))
- _vm->_dialogs->show(40713);
+ text_show(40713);
else if (player_said_2(look, corridor_to_north))
- _vm->_dialogs->show(40714);
+ text_show(40714);
else if (_action._lookFlag)
- _vm->_dialogs->show(40715);
+ text_show(40715);
else
return;
diff --git a/engines/mads/nebular/rooms/room408.cpp b/engines/mads/nebular/rooms/room408.cpp
index cb147150a01..5a92fa2b9d4 100644
--- a/engines/mads/nebular/rooms/room408.cpp
+++ b/engines/mads/nebular/rooms/room408.cpp
@@ -58,11 +58,11 @@ static void room_408_pre_parser() {
static void room_408_parser() {
if (player_said_2(walk_into, corridor_to_south)) {
_scene->_nextSceneId = 405;
- _vm->_sound->command(58);
+ g_engine->_soundManager->command(58, 0);
} else if (player_said_2(take, target_module) && (_game._objects.isInRoom(OBJ_TARGET_MODULE) || _game._trigger)) {
switch (_game._trigger) {
case 0:
- _vm->_sound->command(57);
+ g_engine->_soundManager->command(57, 0);
_game._player._stepEnabled = false;
_game._player._visible = false;
_globals._sequenceIndexes[1] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[1], true, 7, 2, 0, 0);
@@ -75,7 +75,7 @@ static void room_408_parser() {
case 1:
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
_game._objects.addToInventory(OBJ_TARGET_MODULE);
- _vm->_dialogs->showItem(OBJ_TARGET_MODULE, 40847);
+ object_examine(OBJ_TARGET_MODULE, 40847, 0);
break;
case 2:
@@ -92,84 +92,84 @@ static void room_408_parser() {
break;
}
} else if (player_said_2(look, armored_vehicle))
- _vm->_dialogs->show(40810);
+ text_show(40810);
else if (player_said_2(take, armored_vehicle) || player_said_2(take, anvil) || player_said_2(take, two_ton_weight))
- _vm->_dialogs->show(40811);
+ text_show(40811);
else if (player_said_2(look, missile))
- _vm->_dialogs->show(40812);
+ text_show(40812);
else if (player_said_2(take, missile))
- _vm->_dialogs->show(40813);
+ text_show(40813);
else if (player_said_2(look, grenade))
- _vm->_dialogs->show(40814);
+ text_show(40814);
else if (player_said_2(take, grenade))
- _vm->_dialogs->show(40815);
+ text_show(40815);
else if (player_said_2(take, pin) || player_said_2(pull, pin))
- _vm->_dialogs->show(40816);
+ text_show(40816);
else if (player_said_2(look, blimp))
- _vm->_dialogs->show(40817);
+ text_show(40817);
else if (player_said_2(take, blimp))
- _vm->_dialogs->show(40818);
+ text_show(40818);
else if (player_said_2(look, ammunition))
- _vm->_dialogs->show(40819);
+ text_show(40819);
else if (player_said_2(take, ammunition))
- _vm->_dialogs->show(40820);
+ text_show(40820);
else if (player_said_2(look, catapult))
- _vm->_dialogs->show(40821);
+ text_show(40821);
else if (player_said_2(take, catapult))
- _vm->_dialogs->show(40822);
+ text_show(40822);
else if (player_said_2(look, chest)) {
if (_game._objects.isInRoom(OBJ_TARGET_MODULE))
- _vm->_dialogs->show(40823);
+ text_show(40823);
else
- _vm->_dialogs->show(40824);
+ text_show(40824);
} else if (player_said_2(take, chest))
- _vm->_dialogs->show(40825);
+ text_show(40825);
else if (player_said_2(look, suit_of_armor))
- _vm->_dialogs->show(40826);
+ text_show(40826);
else if (player_said_2(take, suit_of_armor))
- _vm->_dialogs->show(40827);
+ text_show(40827);
else if (player_said_2(look, escape_hatch))
- _vm->_dialogs->show(40828);
+ text_show(40828);
else if (player_said_2(open, escape_hatch) || player_said_2(pull, escape_hatch))
- _vm->_dialogs->show(40829);
+ text_show(40829);
else if (player_said_2(look, barrels))
- _vm->_dialogs->show(40830);
+ text_show(40830);
else if (player_said_2(take, barrels))
- _vm->_dialogs->show(40831);
+ text_show(40831);
else if (player_said_2(look, inflatable_raft))
- _vm->_dialogs->show(40832);
+ text_show(40832);
else if (player_said_2(take, inflatable_raft))
- _vm->_dialogs->show(40833);
+ text_show(40833);
else if (player_said_2(look, tomato))
- _vm->_dialogs->show(40834);
+ text_show(40834);
else if (player_said_2(take, tomato))
- _vm->_dialogs->show(40835);
+ text_show(40835);
else if (player_said_2(look, anvil))
- _vm->_dialogs->show(40836);
+ text_show(40836);
else if (player_said_2(look, two_ton_weight))
- _vm->_dialogs->show(40837);
+ text_show(40837);
else if (player_said_2(look, powder_container))
- _vm->_dialogs->show(40838);
+ text_show(40838);
else if (player_said_2(look, powder_puff))
- _vm->_dialogs->show(40839);
+ text_show(40839);
else if (player_said_2(take, powder_puff))
- _vm->_dialogs->show(40840);
+ text_show(40840);
else if (player_said_2(look, carton))
- _vm->_dialogs->show(40841);
+ text_show(40841);
else if (player_said_2(take, carton))
- _vm->_dialogs->show(40842);
+ text_show(40842);
else if (player_said_2(open, carton))
- _vm->_dialogs->show(40843);
+ text_show(40843);
else if (player_said_2(look, corridor_to_south))
- _vm->_dialogs->show(40844);
+ text_show(40844);
else if (_action._lookFlag)
- _vm->_dialogs->show(40845);
+ text_show(40845);
else if (player_said_2(look, target_module) && _game._objects.isInRoom(OBJ_TARGET_MODULE))
- _vm->_dialogs->show(40846);
+ text_show(40846);
else if (player_said_2(look, loading_ramp))
- _vm->_dialogs->show(40848);
+ text_show(40848);
else if (player_said_2(open, chest))
- _vm->_dialogs->show(40849);
+ text_show(40849);
else
return;
diff --git a/engines/mads/nebular/rooms/room409.cpp b/engines/mads/nebular/rooms/room409.cpp
index 02ad474197c..e14b8fc3a71 100644
--- a/engines/mads/nebular/rooms/room409.cpp
+++ b/engines/mads/nebular/rooms/room409.cpp
@@ -49,26 +49,26 @@ static void room_409_parser() {
}
if (player_said_2(look, viewport))
- _vm->_dialogs->show(40910);
+ text_show(40910);
else if (player_said_2(peer_through, viewport))
- _vm->_dialogs->show(40910);
+ text_show(40910);
else if (player_said_2(look, keypad))
- _vm->_dialogs->show(40911);
+ text_show(40911);
else if (player_said_2(inspect, keypad))
- _vm->_dialogs->show(40911);
+ text_show(40911);
else if (player_said_2(look, display))
- _vm->_dialogs->show(40912);
+ text_show(40912);
else if (player_said_2(look, 1_key) || player_said_2(look, 2_key)
|| player_said_2(look, 3_key) || player_said_2(look, 4_key)
|| player_said_2(look, 5_key) || player_said_2(look, 6_key)
|| player_said_2(look, 7_key) || player_said_2(look, 8_key)
|| player_said_2(look, 9_key) || player_said_2(look, 0_key)
|| player_said_2(look, smile_key) || player_said_2(look, frown_key))
- _vm->_dialogs->show(40913);
+ text_show(40913);
else if (player_said_2(look, device))
- _vm->_dialogs->show(40914);
+ text_show(40914);
else if (_action._lookFlag)
- _vm->_dialogs->show(40914);
+ text_show(40914);
else
return;
diff --git a/engines/mads/nebular/rooms/room410.cpp b/engines/mads/nebular/rooms/room410.cpp
index 7680fd8992e..a67dd86d61d 100644
--- a/engines/mads/nebular/rooms/room410.cpp
+++ b/engines/mads/nebular/rooms/room410.cpp
@@ -53,28 +53,28 @@ static void room_410_init() {
static void room_410_daemon() {
if (_scene->_animation[0]->getCurrentFrame() == 1) {
- if (_vm->getRandomNumber(1, 30) == 1)
+ if (g_engine->getRandomNumber(1, 30) == 1)
_scene->_animation[0]->setCurrentFrame(2);
else
_scene->_animation[0]->setCurrentFrame(0);
}
if (_scene->_animation[0]->getCurrentFrame() == 9) {
- if (_vm->getRandomNumber(1, 30) == 1)
+ if (g_engine->getRandomNumber(1, 30) == 1)
_scene->_animation[0]->setCurrentFrame(10);
else
_scene->_animation[0]->setCurrentFrame(8);
}
if (_scene->_animation[0]->getCurrentFrame() == 5) {
- if (_vm->getRandomNumber(1, 30) == 1)
+ if (g_engine->getRandomNumber(1, 30) == 1)
_scene->_animation[0]->setCurrentFrame(6);
else
_scene->_animation[0]->setCurrentFrame(4);
}
if (_scene->_animation[0]->getCurrentFrame() == 3) {
- if (_vm->getRandomNumber(1, 2) == 1)
+ if (g_engine->getRandomNumber(1, 2) == 1)
_scene->_animation[0]->setCurrentFrame(4);
else // == 2
_scene->_animation[0]->setCurrentFrame(8);
@@ -101,7 +101,7 @@ static void room_410_parser() {
else if (player_said_2(take, charge_cases) && (_game._objects.isInRoom(OBJ_CHARGE_CASES) || _game._trigger)) {
switch (_game._trigger) {
case 0:
- _vm->_sound->command(57);
+ g_engine->_soundManager->command(57, 0);
_game._player._stepEnabled = false;
_game._player._visible = false;
_globals._sequenceIndexes[2] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[2], false, 7, 2, 0, 0);
@@ -115,7 +115,7 @@ static void room_410_parser() {
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_scene->_hotspots.activate(words_charge_cases, false);
_game._objects.addToInventory(OBJ_CHARGE_CASES);
- _vm->_dialogs->showItem(OBJ_CHARGE_CASES, 41032);
+ object_examine(OBJ_CHARGE_CASES, 41032, 0);
break;
case 2:
@@ -132,54 +132,54 @@ static void room_410_parser() {
break;
}
} else if (player_said_2(look, barrel))
- _vm->_dialogs->show(41010);
+ text_show(41010);
else if (player_said_2(take, barrel))
- _vm->_dialogs->show(41011);
+ text_show(41011);
else if (player_said_2(open, barrel))
- _vm->_dialogs->show(41012);
+ text_show(41012);
else if (player_said_2(look, rug))
- _vm->_dialogs->show(41013);
+ text_show(41013);
else if (player_said_2(take, rug))
- _vm->_dialogs->show(41014);
+ text_show(41014);
else if (player_said_2(look, carton) || player_said_2(open, carton)) {
if (_game._objects.isInRoom(OBJ_CHARGE_CASES))
- _vm->_dialogs->show(41015);
+ text_show(41015);
else
- _vm->_dialogs->show(41016);
+ text_show(41016);
} else if (player_said_2(look, flour))
- _vm->_dialogs->show(41017);
+ text_show(41017);
else if (player_said_2(take, flour))
- _vm->_dialogs->show(41018);
+ text_show(41018);
else if (player_said_2(look, sacks))
- _vm->_dialogs->show(41019);
+ text_show(41019);
else if (player_said_2(look, sack))
- _vm->_dialogs->show(41019);
+ text_show(41019);
else if (player_said_2(open, sacks))
- _vm->_dialogs->show(41020);
+ text_show(41020);
else if (player_said_2(open, sack))
- _vm->_dialogs->show(41020);
+ text_show(41020);
else if (player_said_2(look, bucket_of_tar))
- _vm->_dialogs->show(41021);
+ text_show(41021);
else if (player_said_2(take, bucket_of_tar))
- _vm->_dialogs->show(41022);
+ text_show(41022);
else if (player_said_2(look, can))
- _vm->_dialogs->show(41023);
+ text_show(41023);
else if (player_said_2(take, can))
- _vm->_dialogs->show(41024);
+ text_show(41024);
else if (player_said_2(look, charge_cases) && _game._objects.isInRoom(OBJ_CHARGE_CASES))
- _vm->_dialogs->show(41025);
+ text_show(41025);
else if (player_said_2(look, fence))
- _vm->_dialogs->show(41027);
+ text_show(41027);
else if (player_said_2(look, shelves))
- _vm->_dialogs->show(41028);
+ text_show(41028);
else if (player_said_2(look, rat))
- _vm->_dialogs->show(41029);
+ text_show(41029);
else if (player_said_2(take, rat))
- _vm->_dialogs->show(41030);
+ text_show(41030);
else if (player_said_2(throw, rat))
- _vm->_dialogs->show(41031);
+ text_show(41031);
else if (_action._lookFlag)
- _vm->_dialogs->show(41033);
+ text_show(41033);
else
return;
diff --git a/engines/mads/nebular/rooms/room411.cpp b/engines/mads/nebular/rooms/room411.cpp
index d9fa724964f..773a1d39679 100644
--- a/engines/mads/nebular/rooms/room411.cpp
+++ b/engines/mads/nebular/rooms/room411.cpp
@@ -341,32 +341,32 @@ static void room_411_init() {
} else if (!_game._objects[OBJ_CHARGE_CASES].getQuality(3)) {
switch (_globals[kNextIngredient]) {
case 1:
- _vm->_sound->command(53);
+ g_engine->_soundManager->command(53, 0);
break;
case 2:
- _vm->_sound->command(53);
- _vm->_sound->command(54);
+ g_engine->_soundManager->command(53, 0);
+ g_engine->_soundManager->command(54, 0);
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 15, 0, 0, 0);
break;
case 3:
- _vm->_sound->command(53);
- _vm->_sound->command(54);
- _vm->_sound->command(55);
+ g_engine->_soundManager->command(53, 0);
+ g_engine->_soundManager->command(54, 0);
+ g_engine->_soundManager->command(55, 0);
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 6, 0, 0, 0);
break;
case 4:
- _vm->_sound->command(53);
- _vm->_sound->command(54);
- _vm->_sound->command(55);
- _vm->_sound->command(56);
+ g_engine->_soundManager->command(53, 0);
+ g_engine->_soundManager->command(54, 0);
+ g_engine->_soundManager->command(55, 0);
+ g_engine->_soundManager->command(56, 0);
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 6, 0, 0, 0);
break;
default:
- _vm->_sound->command(10);
+ g_engine->_soundManager->command(10, 0);
break;
}
}
@@ -443,19 +443,19 @@ static void room_411_daemon() {
_game._objects.removeFromInventory(local._newIngredient, NOWHERE);
switch (_globals[kNextIngredient]) {
case 1:
- _vm->_sound->command(53);
+ g_engine->_soundManager->command(53, 0);
break;
case 2:
- _vm->_sound->command(54);
+ g_engine->_soundManager->command(54, 0);
break;
case 3:
- _vm->_sound->command(55);
+ g_engine->_soundManager->command(55, 0);
break;
case 4:
- _vm->_sound->command(56);
+ g_engine->_soundManager->command(56, 0);
break;
default:
@@ -497,7 +497,7 @@ static void room_411_daemon() {
}
if (_scene->_animation[0]->getCurrentFrame() == 86)
- _vm->_sound->command(59);
+ g_engine->_soundManager->command(59, 0);
}
static void room_411_pre_parser() {
@@ -528,7 +528,7 @@ static void room_411_parser() {
if (player_said_2(walk_into, corridor_to_south)) {
_scene->_nextSceneId = 406;
- _vm->_sound->command(10);
+ g_engine->_soundManager->command(10, 0);
_action._inProgress = false;
return;
}
@@ -538,8 +538,8 @@ static void room_411_parser() {
&& _game._objects.isInInventory(OBJ_CHARGE_CASES)) {
switch (_game._trigger) {
case 0:
- _vm->_sound->command(10);
- _vm->_sound->command(57);
+ g_engine->_soundManager->command(10, 0);
+ g_engine->_soundManager->command(57, 0);
_game._player._stepEnabled = false;
_game._player._visible = false;
_globals._sequenceIndexes[10] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[10], false, 8, 1, 0, 0);
@@ -577,7 +577,7 @@ static void room_411_parser() {
_game._player._visible = true;
_game._player._stepEnabled = true;
_game._objects[OBJ_CHARGE_CASES].setQuality(3, 1);
- _vm->_dialogs->showItem(OBJ_CHARGE_CASES, 41142);
+ object_examine(OBJ_CHARGE_CASES, 41142, 0);
break;
default:
@@ -586,7 +586,7 @@ static void room_411_parser() {
_action._inProgress = false;
return;
} else if (!_game._objects.isInInventory(OBJ_CHARGE_CASES) && player_said_2(take, explosives)) {
- _vm->_dialogs->show(41143);
+ text_show(41143);
_action._inProgress = false;
return;
}
@@ -594,7 +594,7 @@ static void room_411_parser() {
if (player_said_2(take, petrox) && (_game._objects.isInRoom(OBJ_PETROX) || _game._trigger)) {
switch (_game._trigger) {
case 0:
- _vm->_sound->command(57);
+ g_engine->_soundManager->command(57, 0);
_game._player._stepEnabled = false;
_game._player._visible = false;
_globals._sequenceIndexes[8] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[8], false, 7, 2, 0, 0);
@@ -607,7 +607,7 @@ static void room_411_parser() {
case 1:
_scene->_sequences.remove(_globals._sequenceIndexes[5]);
_game._objects.addToInventory(OBJ_PETROX);
- _vm->_dialogs->showItem(OBJ_PETROX, 41120);
+ object_examine(OBJ_PETROX, 41120, 0);
break;
case 2:
@@ -631,7 +631,7 @@ static void room_411_parser() {
if (player_said_2(take, lecithin) && (_game._objects.isInRoom(OBJ_LECITHIN) || _game._trigger)) {
switch (_game._trigger) {
case 0:
- _vm->_sound->command(57);
+ g_engine->_soundManager->command(57, 0);
_game._player._stepEnabled = false;
_game._player._visible = false;
_globals._sequenceIndexes[8] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[8], false, 7, 2, 0, 0);
@@ -644,7 +644,7 @@ static void room_411_parser() {
case 1:
_scene->_sequences.remove(_globals._sequenceIndexes[6]);
_game._objects.addToInventory(OBJ_LECITHIN);
- _vm->_dialogs->showItem(OBJ_LECITHIN, 41124);
+ object_examine(OBJ_LECITHIN, 41124, 0);
break;
case 2:
@@ -665,7 +665,7 @@ static void room_411_parser() {
}
if (player_said_2(take, formaldehyde) && _game._objects.isInRoom(OBJ_FORMALDEHYDE) && (_game._trigger == 0)) {
- _vm->_sound->command(57);
+ g_engine->_soundManager->command(57, 0);
_game._player._stepEnabled = false;
_game._player._visible = false;
_globals._sequenceIndexes[11] = _scene->_sequences.startCycle(_globals._spriteIndexes[11], false, 2);
@@ -686,7 +686,7 @@ static void room_411_parser() {
}
if (_game._trigger == 10)
- _vm->_dialogs->showItem(OBJ_FORMALDEHYDE, 41124);
+ object_examine(OBJ_FORMALDEHYDE, 41124, 0);
if (player_said_1(put) && player_said_1(kettle)) {
if (player_said_1(petrox) ||
@@ -719,67 +719,67 @@ static void room_411_parser() {
if (player_said_2(look, monitor))
- _vm->_dialogs->show(41110);
+ text_show(41110);
else if (player_said_2(look, air_purifier))
- _vm->_dialogs->show(41111);
+ text_show(41111);
else if (player_said_2(look, lab_equipment))
- _vm->_dialogs->show(41112);
+ text_show(41112);
else if (player_said_2(look, knife_switch))
- _vm->_dialogs->show(41113);
+ text_show(41113);
else if (player_said_2(push, knife_switch) || player_said_2(pull, knife_switch))
- _vm->_dialogs->show(41114);
+ text_show(41114);
else if (player_said_2(look, toxic_waste))
- _vm->_dialogs->show(41115);
+ text_show(41115);
else if (player_said_2(take, toxic_waste))
- _vm->_dialogs->show(41116);
+ text_show(41116);
else if (player_said_2(look, drawing_board))
- _vm->_dialogs->show(41117);
+ text_show(41117);
else if (player_said_2(look, experiment))
- _vm->_dialogs->show(41118);
+ text_show(41118);
else if (player_said_2(look, petrox) && _game._objects.isInRoom(OBJ_PETROX))
- _vm->_dialogs->show(41119);
+ text_show(41119);
else if (player_said_2(look, alcove))
- _vm->_dialogs->show(41121);
+ text_show(41121);
else if ((player_said_2(look, formaldehyde)) && (_game._objects.isInRoom(OBJ_FORMALDEHYDE)))
- _vm->_dialogs->show(41122);
+ text_show(41122);
else if ((player_said_2(look, lecithin)) && (_game._objects.isInRoom(OBJ_LECITHIN)))
- _vm->_dialogs->show(41123);
+ text_show(41123);
else if (player_said_2(look, kettle)) {
if (_globals[kNextIngredient] > 0 && !_game._objects[OBJ_CHARGE_CASES].getQuality(3)) {
- _vm->_dialogs->show(41126);
+ text_show(41126);
} else if (_globals[kNextIngredient] == 0 || _game._objects[OBJ_CHARGE_CASES].getQuality(3)) {
- _vm->_dialogs->show(41125);
+ text_show(41125);
}
} else if (player_said_2(look, explosives) && _game._objects[OBJ_CHARGE_CASES].getQuality(3) == 0) {
- _vm->_dialogs->show(41127);
+ text_show(41127);
} else if (player_said_2(take, kettle))
- _vm->_dialogs->show(41128);
+ text_show(41128);
else if (player_said_2(look, control_panel))
- _vm->_dialogs->show(41129);
+ text_show(41129);
else if (player_said_2(look, mishap))
- _vm->_dialogs->show(41130);
+ text_show(41130);
else if (player_said_2(look, corridor_to_south))
- _vm->_dialogs->show(41131);
+ text_show(41131);
else if (_action._lookFlag)
- _vm->_dialogs->show(41132);
+ text_show(41132);
else if (player_said_2(look, air_horn))
- _vm->_dialogs->show(41133);
+ text_show(41133);
else if (player_said_2(look, debris))
- _vm->_dialogs->show(41134);
+ text_show(41134);
else if (player_said_2(look, heater))
- _vm->_dialogs->show(41135);
+ text_show(41135);
else if (player_said_2(look, pipe))
- _vm->_dialogs->show(41136);
+ text_show(41136);
else if (player_said_2(look, sink))
- _vm->_dialogs->show(41137);
+ text_show(41137);
else if (player_said_2(put, sink))
- _vm->_dialogs->show(41138);
+ text_show(41138);
else if (player_said_2(take, experiment))
- _vm->_dialogs->show(41139);
+ text_show(41139);
else if (player_said_2(look, electrodes))
- _vm->_dialogs->show(41140);
+ text_show(41140);
else if (player_said_2(take, electrodes))
- _vm->_dialogs->show(41141);
+ text_show(41141);
else
return;
diff --git a/engines/mads/nebular/rooms/room413.cpp b/engines/mads/nebular/rooms/room413.cpp
index 1720bcef329..6fcb1fd351f 100644
--- a/engines/mads/nebular/rooms/room413.cpp
+++ b/engines/mads/nebular/rooms/room413.cpp
@@ -50,7 +50,7 @@ static void room_413_init() {
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
if (_globals[kSexOfRex] == REX_MALE) {
_scene->loadAnimation(Resources::formatName(413, 'd', 1, EXT_AA, ""), 78);
- _vm->_sound->command(30);
+ g_engine->_soundManager->command(30, 0);
_game._player._visible = false;
_game._player._stepEnabled = false;
local._rexDeath = true;
@@ -65,7 +65,7 @@ static void room_413_init() {
if ((_globals[kTeleporterCommand]) && (!local._rexDeath)) {
switch (_globals[kTeleporterCommand]) {
case 1:
- _vm->_sound->command(30);
+ g_engine->_soundManager->command(30, 0);
_game._player._visible = false;
_globals._sequenceIndexes[1] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[1], false, 7, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], 1, 19);
@@ -75,7 +75,7 @@ static void room_413_init() {
case 2:
_game._player._visible = false;
- _vm->_sound->command(30);
+ g_engine->_soundManager->command(30, 0);
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 7, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], 1, 20);
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 8);
@@ -106,7 +106,7 @@ static void room_413_daemon() {
_scene->_animation[0]->setCurrentFrame(37);
if (_scene->_animation[0] && _scene->_animation[0]->getCurrentFrame() == 21 && local._canMove) {
- _vm->_sound->command(27);
+ g_engine->_soundManager->command(27, 0);
local._canMove = false;
}
@@ -150,27 +150,27 @@ static void room_413_parser() {
} else if (player_said_2(walk_into, corridor_to_south))
_scene->_nextSceneId = 405;
else if (player_said_2(look, wooden_statue))
- _vm->_dialogs->show(41310);
+ text_show(41310);
else if (player_said_2(take, wooden_statue))
- _vm->_dialogs->show(41311);
+ text_show(41311);
else if (player_said_2(look, conveyor_belt))
- _vm->_dialogs->show(41312);
+ text_show(41312);
else if (player_said_2(put, conveyor_belt))
- _vm->_dialogs->show(41313);
+ text_show(41313);
else if (player_said_2(look, teleporter))
- _vm->_dialogs->show(41314);
+ text_show(41314);
else if (player_said_2(look, display))
- _vm->_dialogs->show(41315);
+ text_show(41315);
else if (player_said_2(look, corridor_to_south))
- _vm->_dialogs->show(41316);
+ text_show(41316);
else if (player_said_2(look, picture))
- _vm->_dialogs->show(41317);
+ text_show(41317);
else if (player_said_2(look, plant))
- _vm->_dialogs->show(41318);
+ text_show(41318);
else if (player_said_2(take, plant))
- _vm->_dialogs->show(41319);
+ text_show(41319);
else if (_action._lookFlag)
- _vm->_dialogs->show(41320);
+ text_show(41320);
else
return;
diff --git a/engines/mads/nebular/rooms/room501.cpp b/engines/mads/nebular/rooms/room501.cpp
index 899e1795ad6..3d104ac24de 100644
--- a/engines/mads/nebular/rooms/room501.cpp
+++ b/engines/mads/nebular/rooms/room501.cpp
@@ -60,7 +60,7 @@ static void handleSlotActions() {
local._mainSequenceId = _scene->_sequences.startPingPongCycle(local._mainSpriteId, false, numTicks, 1, 0, 0);
_scene->_sequences.setAnimRange(local._mainSequenceId, 1, frameIndex);
_scene->_sequences.setMsgLayout(local._mainSequenceId);
- _vm->_sound->command(10);
+ g_engine->_soundManager->command(10, 0);
_scene->_sequences.addSubEntry(local._mainSequenceId, SEQUENCE_TRIGGER_SPRITE, frameIndex, 1);
_scene->_sequences.addSubEntry(local._mainSequenceId, SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
@@ -142,7 +142,7 @@ static void room_501_init() {
static void room_501_daemon() {
if (_game._trigger == 90)
- _vm->_dialogs->show(50127);
+ text_show(50127);
if (_game._trigger >= 80) {
switch (_game._trigger) {
@@ -152,7 +152,7 @@ static void room_501_daemon() {
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 12, 6, 0, 0);
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 9, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 7);
- _vm->_sound->command(11);
+ g_engine->_soundManager->command(11, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 81);
break;
@@ -165,7 +165,7 @@ static void room_501_daemon() {
case 82:
_globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 9, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 7);
- _vm->_sound->command(12);
+ g_engine->_soundManager->command(12, 0);
local._doorHotspotid = _scene->_dynamicHotspots.add(words_door, words_walk_through, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(_globals._sequenceIndexes[3], Common::Point(282, 110), FACING_NORTH);
_scene->_dynamicHotspots.setCursor(local._doorHotspotid, CURSOR_GO_UP);
@@ -271,7 +271,7 @@ static void room_501_parser() {
break;
}
} else if (player_said_3(put, security_card, card_slot))
- _vm->_dialogs->show(50113);
+ text_show(50113);
else if (player_said_3(put, fake_id, card_slot)) {
switch (_game._trigger) {
case 0:
@@ -284,7 +284,7 @@ static void room_501_parser() {
case 4:
if (_globals[kSexOfRex] == REX_MALE) {
_game._player._visible = false;
- _vm->_sound->command(13);
+ g_engine->_soundManager->command(13, 0);
_scene->loadAnimation(formAnimName('G', 1), 5);
} else {
local._rexPunched = false;
@@ -330,7 +330,7 @@ static void room_501_parser() {
_scene->_dynamicHotspots.remove(local._doorHotspotid);
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 9, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 7);
- _vm->_sound->command(11);
+ g_engine->_soundManager->command(11, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 6);
break;
@@ -341,12 +341,12 @@ static void room_501_parser() {
case 7:
{
- _vm->_sound->command(12);
+ g_engine->_soundManager->command(12, 0);
int syncIdx = _globals._sequenceIndexes[3];
_globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 9, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 7);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], syncIdx);
- _vm->_sound->command(12);
+ g_engine->_soundManager->command(12, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
}
break;
@@ -365,37 +365,37 @@ static void room_501_parser() {
break;
}
} else if (_action._lookFlag || player_said_2(look, street))
- _vm->_dialogs->show(50121);
+ text_show(50121);
else if (player_said_2(look, door))
- _vm->_dialogs->show(50110);
+ text_show(50110);
else if (player_said_2(look, card_slot))
- _vm->_dialogs->show(50112);
+ text_show(50112);
else if (player_said_2(look, sign))
- _vm->_dialogs->show(50114);
+ text_show(50114);
else if (player_said_2(take, sign))
- _vm->_dialogs->show(50115);
+ text_show(50115);
else if (player_said_2(look, sidewalk_to_east))
- _vm->_dialogs->show(50118);
+ text_show(50118);
else if (player_said_2(look, sidewalk_to_west) || player_said_2(look, street_to_west)
|| player_said_2(walk_down, sidewalk_to_west) || player_said_2(walk_down, street_to_west))
- _vm->_dialogs->show(50119);
+ text_show(50119);
else if (player_said_2(look, building))
- _vm->_dialogs->show(50120);
+ text_show(50120);
else if (player_said_2(open, door))
- _vm->_dialogs->show(50122);
+ text_show(50122);
else if (player_said_2(look, fire_hydrant))
- _vm->_dialogs->show(50123);
+ text_show(50123);
else if (player_said_2(open, fire_hydrant))
- _vm->_dialogs->show(50124);
+ text_show(50124);
else if (player_said_2(look, equipment_overhead))
- _vm->_dialogs->show(50125);
+ text_show(50125);
else if (player_said_2(look, pipes) || player_said_2(look, pipe))
- _vm->_dialogs->show(50126);
+ text_show(50126);
else if (player_said_2(look, car)) {
if (!_game._visitedScenes.exists(504))
- _vm->_dialogs->show(50116);
+ text_show(50116);
else
- _vm->_dialogs->show(50117);
+ text_show(50117);
} else
return;
diff --git a/engines/mads/nebular/rooms/room502.cpp b/engines/mads/nebular/rooms/room502.cpp
index 66a832c0dfa..802b3d00e61 100644
--- a/engines/mads/nebular/rooms/room502.cpp
+++ b/engines/mads/nebular/rooms/room502.cpp
@@ -42,12 +42,12 @@ static void room_502_init() {
teleporter_init();
// The original uses scene5xx_section_5_music
- if (!_vm->_musicFlag)
- _vm->_sound->command(2);
+ if (!config_file.music_flag)
+ g_engine->_soundManager->command(2, 0);
else if (_scene->_priorSceneId == 503)
- _vm->_sound->command(38);
+ g_engine->_soundManager->command(38, 0);
else
- _vm->_sound->command(29);
+ g_engine->_soundManager->command(29, 0);
}
static void room_502_daemon() {
@@ -61,11 +61,11 @@ static void room_502_parser() {
}
if (player_said_2(look, viewport) || player_said_2(peer_through, viewport))
- _vm->_dialogs->show(50210);
+ text_show(50210);
else if (player_said_2(look, keypad))
- _vm->_dialogs->show(50211);
+ text_show(50211);
else if (player_said_2(look, display))
- _vm->_dialogs->show(50212);
+ text_show(50212);
else if (player_said_2(look, 0_key) || player_said_2(look, 1_key)
|| player_said_2(look, 2_key) || player_said_2(look, 3_key)
|| player_said_2(look, 4_key) || player_said_2(look, 5_key)
@@ -73,9 +73,9 @@ static void room_502_parser() {
|| player_said_2(look, 8_key) || player_said_2(look, 9_key)
|| player_said_2(look, smile_key) || player_said_2(look, enter_key)
|| player_said_2(look, frown_key))
- _vm->_dialogs->show(50213);
+ text_show(50213);
else if (player_said_2(look, device) || _action._lookFlag)
- _vm->_dialogs->show(50214);
+ text_show(50214);
else
return;
diff --git a/engines/mads/nebular/rooms/room503.cpp b/engines/mads/nebular/rooms/room503.cpp
index abe20f17d66..725657f569d 100644
--- a/engines/mads/nebular/rooms/room503.cpp
+++ b/engines/mads/nebular/rooms/room503.cpp
@@ -86,11 +86,11 @@ static void room_503_parser() {
break;
case 1:
- _vm->_sound->command(9);
+ g_engine->_soundManager->command(9, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_scene->_dynamicHotspots.remove(local._detonatorHotspotId);
_game._objects.addToInventory(OBJ_DETONATORS);
- _vm->_dialogs->showItem(OBJ_DETONATORS, 50326);
+ object_examine(OBJ_DETONATORS, 50326, 0);
break;
case 2:
@@ -108,44 +108,44 @@ static void room_503_parser() {
}
}
} else if (_action._lookFlag)
- _vm->_dialogs->show(50328);
+ text_show(50328);
else if (player_said_2(look, monitoring_equipment))
- _vm->_dialogs->show(50310);
+ text_show(50310);
else if (player_said_2(look, photon_rifles))
- _vm->_dialogs->show(50311);
+ text_show(50311);
else if (player_said_2(take, photon_rifles) || player_said_2(take, nuclear_slingshot))
- _vm->_dialogs->show(50312);
+ text_show(50312);
else if (player_said_2(look, display_case))
- _vm->_dialogs->show(50313);
+ text_show(50313);
else if (player_said_2(look, nuclear_slingshot))
- _vm->_dialogs->show(50314);
+ text_show(50314);
else if (player_said_2(look, water_cooler))
- _vm->_dialogs->show(50315);
+ text_show(50315);
else if (player_said_2(look, storage_box))
- _vm->_dialogs->show(50316);
+ text_show(50316);
else if (player_said_2(open, storage_box))
- _vm->_dialogs->show(50317);
+ text_show(50317);
else if (player_said_2(look, warning_label))
- _vm->_dialogs->show(50318);
+ text_show(50318);
else if (player_said_2(look, desk))
- _vm->_dialogs->show(50319);
+ text_show(50319);
else if (player_said_2(look, monitor))
- _vm->_dialogs->show(50320);
+ text_show(50320);
else if (player_said_2(look, file_cabinets))
- _vm->_dialogs->show(50322);
+ text_show(50322);
else if (player_said_2(look, box)) {
if (_game._objects.isInRoom(OBJ_DETONATORS))
- _vm->_dialogs->show(50323);
+ text_show(50323);
else
- _vm->_dialogs->show(50324);
+ text_show(50324);
} else if (player_said_2(look, detonators) && (_action._savedFields._mainObjectSource == 4))
- _vm->_dialogs->show(50325);
+ text_show(50325);
else if (player_said_2(look, windows))
- _vm->_dialogs->show(50327);
+ text_show(50327);
else if (player_said_2(open, display_case))
- _vm->_dialogs->show(50329);
+ text_show(50329);
else if (player_said_2(throw, display_case) && _game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId)))
- _vm->_dialogs->show(50330);
+ text_show(50330);
else
return;
diff --git a/engines/mads/nebular/rooms/room504.cpp b/engines/mads/nebular/rooms/room504.cpp
index 90f4eb3857d..3c944ac4923 100644
--- a/engines/mads/nebular/rooms/room504.cpp
+++ b/engines/mads/nebular/rooms/room504.cpp
@@ -61,7 +61,7 @@ static void room_504_init() {
if ((_scene->_priorSceneId == 505) && (_globals[kHoverCarDestination] != _globals[kHoverCarLocation])) {
local._carAnimationMode = 1;
_scene->loadAnimation(formAnimName('A', -1));
- _vm->_sound->command(14);
+ g_engine->_soundManager->command(14, 0);
_scene->_sequences.addTimer(1, 70);
_game._player._stepEnabled = false;
} else {
@@ -119,7 +119,7 @@ static void room_504_daemon() {
break;
case 71:
- _vm->_sound->command(15);
+ g_engine->_soundManager->command(15, 0);
_scene->_nextSceneId = _globals[kHoverCarDestination];
break;
@@ -142,13 +142,13 @@ static void room_504_pre_parser() {
static void room_504_parser() {
if (player_said_2(exit_from, car)) {
- _vm->_sound->command(15);
+ g_engine->_soundManager->command(15, 0);
_scene->_nextSceneId = _globals[kHoverCarLocation];
} else if (player_said_2(activate, car_controls)) {
switch (_game._trigger) {
case 0:
_game._player._stepEnabled = false;
- _vm->_sound->command(39);
+ g_engine->_soundManager->command(39, 0);
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 13);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
@@ -175,12 +175,12 @@ static void room_504_parser() {
case 3:
_scene->_sequences.remove(_globals._sequenceIndexes[5]);
if (_globals[kSexOfRex] == REX_MALE) {
- _vm->_sound->command(34);
+ g_engine->_soundManager->command(34, 0);
_scene->_sequences.addTimer(60, 4);
_globals._sequenceIndexes[6] = _scene->_sequences.startCycle(_globals._spriteIndexes[6], false, 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[6], 14);
} else {
- _vm->_sound->command(40);
+ g_engine->_soundManager->command(40, 0);
_globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 18, 0, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[8], 14);
_scene->_sequences.addTimer(120, 5);
@@ -197,34 +197,34 @@ static void room_504_parser() {
_game._player._stepEnabled = true;
_scene->_sequences.remove(_globals._sequenceIndexes[8]);
_globals._sequenceIndexes[7] = _scene->_sequences.startCycle(_globals._spriteIndexes[7], false, 1);
- _vm->_dialogs->show(50421);
+ text_show(50421);
break;
default:
break;
}
} else if (_action._lookFlag || player_said_2(look, interior_of_car))
- _vm->_dialogs->show(50412);
+ text_show(50412);
else if (player_said_2(look, glove_compartment))
- _vm->_dialogs->show(50410);
+ text_show(50410);
else if (player_said_2(look, car_controls) || player_said_2(look, dashboard))
- _vm->_dialogs->show(50411);
+ text_show(50411);
else if (player_said_2(look, scent_packet))
- _vm->_dialogs->show(50413);
+ text_show(50413);
else if (player_said_2(look, soda_cans))
- _vm->_dialogs->show(50414);
+ text_show(50414);
else if (player_said_2(look, kitty))
- _vm->_dialogs->show(50415);
+ text_show(50415);
else if (player_said_2(look, windshield) || player_said_2(look_through, windshield))
- _vm->_dialogs->show(50416);
+ text_show(50416);
else if (player_said_2(look, rearview_mirror))
- _vm->_dialogs->show(50417);
+ text_show(50417);
else if (player_said_2(take, rearview_mirror))
- _vm->_dialogs->show(50418);
+ text_show(50418);
else if (player_said_2(look, moldy_sock))
- _vm->_dialogs->show(50419);
+ text_show(50419);
else if (player_said_2(take, moldy_sock))
- _vm->_dialogs->show(50420);
+ text_show(50420);
else
return;
diff --git a/engines/mads/nebular/rooms/room505.cpp b/engines/mads/nebular/rooms/room505.cpp
index 4725dc6a346..0550c6be6c5 100644
--- a/engines/mads/nebular/rooms/room505.cpp
+++ b/engines/mads/nebular/rooms/room505.cpp
@@ -88,7 +88,7 @@ static void room_505_init() {
_scene->_animation[0]->setCurrentFrame(86);
section_5_music();
- _vm->_sound->command(16);
+ g_engine->_soundManager->command(16, 0);
}
static void room_505_daemon() {
@@ -118,7 +118,7 @@ static void room_505_daemon() {
{
int this_button;
int old_select;
- _vm->_sound->command(17);
+ g_engine->_soundManager->command(17, 0);
old_select = local._selectedId;
if (local._frame == 15) {
this_button = 0x38A;
@@ -131,7 +131,7 @@ static void room_505_daemon() {
} else {
this_button = 0x2DE;
if ((_globals[kTimebombStatus] == TIMEBOMB_ACTIVATED) && (local._carLocations[local._selectedId] == 501))
- _vm->_dialogs->show(431);
+ text_show(431);
else if (local._selectedId != local._homeSelectedId) {
local._nextButtonId = 0;
local._activeCars = true;
@@ -141,7 +141,7 @@ static void room_505_daemon() {
_scene->_sequences.remove(_globals._sequenceIndexes[13]);
_globals._sequenceIndexes[13] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[13], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 63);
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
}
}
@@ -284,9 +284,9 @@ static void room_505_parser() {
else if (player_said_2(return_to, inside_of_car))
_scene->_nextSceneId = 504;
else if (player_said_2(look, view_screen))
- _vm->_dialogs->show(50510);
+ text_show(50510);
else if (player_said_2(look, control_panel))
- _vm->_dialogs->show(50511);
+ text_show(50511);
else
return;
diff --git a/engines/mads/nebular/rooms/room506.cpp b/engines/mads/nebular/rooms/room506.cpp
index 6e592882ee1..b988c33d727 100644
--- a/engines/mads/nebular/rooms/room506.cpp
+++ b/engines/mads/nebular/rooms/room506.cpp
@@ -285,29 +285,29 @@ static void room_506_parser() {
break;
}
} else if (_action._lookFlag || player_said_2(look, street))
- _vm->_dialogs->show(50618);
+ text_show(50618);
else if (player_said_2(look, restaurant))
- _vm->_dialogs->show(50610);
+ text_show(50610);
else if (player_said_2(look, motel))
- _vm->_dialogs->show(50611);
+ text_show(50611);
else if (player_said_2(look, cycle_shop))
- _vm->_dialogs->show(50612);
+ text_show(50612);
else if (player_said_2(look, air_bike))
- _vm->_dialogs->show(50613);
+ text_show(50613);
else if (player_said_2(take, air_bike))
- _vm->_dialogs->show(50614);
+ text_show(50614);
else if (player_said_2(look, software_store))
- _vm->_dialogs->show(50615);
+ text_show(50615);
else if (player_said_2(look, laboratory))
- _vm->_dialogs->show(50616);
+ text_show(50616);
else if (player_said_2(look, street_to_west) || player_said_2(walk_down, street_to_west))
- _vm->_dialogs->show(50617);
+ text_show(50617);
else if (player_said_2(look, software_store_sign))
- _vm->_dialogs->show(50619);
+ text_show(50619);
else if (player_said_2(look, car))
- _vm->_dialogs->show(50620);
+ text_show(50620);
else if (player_said_2(look, sky))
- _vm->_dialogs->show(50621);
+ text_show(50621);
else
return;
diff --git a/engines/mads/nebular/rooms/room507.cpp b/engines/mads/nebular/rooms/room507.cpp
index 75a975e190b..4e84d82103b 100644
--- a/engines/mads/nebular/rooms/room507.cpp
+++ b/engines/mads/nebular/rooms/room507.cpp
@@ -76,9 +76,9 @@ static void room_507_parser() {
case 1:
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_scene->_dynamicHotspots.remove(local._penlightHotspotId);
- _vm->_sound->command(27);
+ g_engine->_soundManager->command(27, 0);
_game._objects.addToInventory(OBJ_PENLIGHT);
- _vm->_dialogs->showItem(OBJ_PENLIGHT, 50730);
+ object_examine(OBJ_PENLIGHT, 50730, 0);
break;
case 2:
@@ -92,52 +92,52 @@ static void room_507_parser() {
}
}
} else if (_action._lookFlag)
- _vm->_dialogs->show(50722);
+ text_show(50722);
else if (player_said_2(look, swirling_light))
- _vm->_dialogs->show(50710);
+ text_show(50710);
else if (player_said_2(take, swirling_light))
- _vm->_dialogs->show(50711);
+ text_show(50711);
else if (player_said_2(look, old_software))
- _vm->_dialogs->show(50712);
+ text_show(50712);
else if (player_said_2(take, old_software))
- _vm->_dialogs->show(50713);
+ text_show(50713);
else if (player_said_2(look, advertisement))
- _vm->_dialogs->show(50714);
+ text_show(50714);
else if (player_said_2(look, advertising_poster))
- _vm->_dialogs->show(50715);
+ text_show(50715);
else if (player_said_2(look, sign)) {
if (_scene->_customDest.x < 100)
- _vm->_dialogs->show(50726);
+ text_show(50726);
else
- _vm->_dialogs->show(50716);
+ text_show(50716);
} else if (player_said_2(look, hottest_software))
- _vm->_dialogs->show(50717);
+ text_show(50717);
else if (player_said_2(look, software_shelf))
- _vm->_dialogs->show(50718);
+ text_show(50718);
else if (player_said_2(look, sensor))
- _vm->_dialogs->show(50719);
+ text_show(50719);
else if (player_said_2(look, cash_register))
- _vm->_dialogs->show(50720);
+ text_show(50720);
else if (player_said_2(look, pad_of_paper))
- _vm->_dialogs->show(50721);
+ text_show(50721);
else if (player_said_2(open, cash_register))
- _vm->_dialogs->show(50723);
+ text_show(50723);
else if (player_said_2(look, bargain_vat))
- _vm->_dialogs->show(50724);
+ text_show(50724);
else if (player_said_2(look, window))
- _vm->_dialogs->show(50725);
+ text_show(50725);
else if (player_said_2(walk_behind, counter)) {
// WORKAROUND: Empty handling to prevent default "can't do that" dialogs showing
} else if (player_said_2(look, counter)) {
if (_game._objects.isInRoom(OBJ_PENLIGHT))
- _vm->_dialogs->show(50728);
+ text_show(50728);
else
- _vm->_dialogs->show(50727);
+ text_show(50727);
} else if (player_said_2(look, penlight) && !_game._objects.isInInventory(OBJ_PENLIGHT)) {
if (_game._objects.isInRoom(OBJ_PENLIGHT))
- _vm->_dialogs->show(50729);
+ text_show(50729);
} else if (player_said_2(look, emergency_light))
- _vm->_dialogs->show(50731);
+ text_show(50731);
else
return;
diff --git a/engines/mads/nebular/rooms/room508.cpp b/engines/mads/nebular/rooms/room508.cpp
index df3a075e0fc..8b3dc049899 100644
--- a/engines/mads/nebular/rooms/room508.cpp
+++ b/engines/mads/nebular/rooms/room508.cpp
@@ -77,9 +77,9 @@ static void room_508_init() {
_scene->_hotspots.activate(words_hole, true);
_scene->_hotspots.activate(words_laser_beam, true);
}
- _vm->_sound->command(21);
+ g_engine->_soundManager->command(21, 0);
}
- _vm->_sound->command(20);
+ g_engine->_soundManager->command(20, 0);
if (_scene->_priorSceneId == 515) {
_game._player._playerPos = Common::Point(57, 116);
@@ -105,10 +105,10 @@ static void room_508_pre_parser() {
static void handlePedestral() {
if (!_globals[kLaserOn])
- _vm->_dialogs->show(50835);
+ text_show(50835);
if (_globals[kLaserHoleIsThere])
- _vm->_dialogs->show(50836);
+ text_show(50836);
if (_globals[kLaserOn] && !_globals[kLaserHoleIsThere]) {
switch (_game._trigger) {
@@ -145,7 +145,7 @@ static void handlePedestral() {
break;
case 4:
- _vm->_dialogs->show(50834);
+ text_show(50834);
_globals[kLaserHoleIsThere] = true;
_scene->_nextSceneId = 515;
break;
@@ -176,7 +176,7 @@ static void room_508_parser() {
break;
case 3:
- _vm->_sound->command(19);
+ g_engine->_soundManager->command(19, 0);
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 15, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 6);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
@@ -200,7 +200,7 @@ static void room_508_parser() {
case 6:
{
- _vm->_sound->command(22);
+ g_engine->_soundManager->command(22, 0);
_globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, -2);
_scene->_sequences.setDepth(_globals._sequenceIndexes[4], 11);
int idx = _scene->_dynamicHotspots.add(words_laser_beam, words_walkto, _globals._sequenceIndexes[4], Common::Rect(0, 0, 0, 0));
@@ -213,7 +213,7 @@ static void room_508_parser() {
case 7:
_globals[kLaserOn] = true;
- _vm->_dialogs->show(50833);
+ text_show(50833);
_game._player._stepEnabled = true;
break;
@@ -221,7 +221,7 @@ static void room_508_parser() {
break;
}
} else {
- _vm->_dialogs->show(50837);
+ text_show(50837);
}
} else if (player_said_3(reflect, rearview_mirror, laser_beam) || player_said_3(put, rearview_mirror, pedestal) || player_said_3(put, rearview_mirror, laser_beam)) {
local._chosenObject = 1;
@@ -230,59 +230,59 @@ static void room_508_parser() {
local._chosenObject = 2;
handlePedestral();
} else if (_action._lookFlag)
- _vm->_dialogs->show(50822);
+ text_show(50822);
else if (player_said_2(look, target_area))
- _vm->_dialogs->show(50810);
+ text_show(50810);
else if (player_said_2(look, spinach_patch_doll))
- _vm->_dialogs->show(50811);
+ text_show(50811);
else if (player_said_2(take, spinach_patch_doll))
- _vm->_dialogs->show(50812);
+ text_show(50812);
else if (player_said_2(look, sand_bags))
- _vm->_dialogs->show(50816);
+ text_show(50816);
else if (player_said_2(take, sand_bags))
- _vm->_dialogs->show(50817);
+ text_show(50817);
else if (player_said_2(look, control_station))
- _vm->_dialogs->show(50818);
+ text_show(50818);
else if (player_said_2(look, monitor)) {
if (_globals[kLaserOn])
- _vm->_dialogs->show(50820);
+ text_show(50820);
else
- _vm->_dialogs->show(50819);
+ text_show(50819);
} else if (player_said_2(look, laser_cannon)) {
if (_globals[kLaserOn])
- _vm->_dialogs->show(50822);
+ text_show(50822);
else
- _vm->_dialogs->show(50821);
+ text_show(50821);
} else if (player_said_2(take, laser_cannon))
- _vm->_dialogs->show(50823);
+ text_show(50823);
else if (player_said_2(look, lever)) {
if (_globals[kLaserOn])
- _vm->_dialogs->show(50825);
+ text_show(50825);
else
- _vm->_dialogs->show(50824);
+ text_show(50824);
} else if (player_said_2(push, lever))
- _vm->_dialogs->show(50826);
+ text_show(50826);
else if (player_said_2(look, laser_beam)) {
if (_globals[kLaserHoleIsThere])
- _vm->_dialogs->show(50828);
+ text_show(50828);
else
- _vm->_dialogs->show(50827);
+ text_show(50827);
} else if (player_said_2(take, laser_beam))
- _vm->_dialogs->show(50829);
+ text_show(50829);
else if (player_said_2(look, ceiling)) {
if (_globals[kLaserHoleIsThere])
- _vm->_dialogs->show(50831);
+ text_show(50831);
else
- _vm->_dialogs->show(50830);
+ text_show(50830);
} else if (player_said_2(look, wall))
- _vm->_dialogs->show(50832);
+ text_show(50832);
else if (player_said_2(look, pedestal)) {
if (!_globals[kLaserOn])
- _vm->_dialogs->show(50813);
+ text_show(50813);
else if (!_globals[kLaserHoleIsThere])
- _vm->_dialogs->show(50814);
+ text_show(50814);
else
- _vm->_dialogs->show(50815);
+ text_show(50815);
} else
return;
diff --git a/engines/mads/nebular/rooms/room511.cpp b/engines/mads/nebular/rooms/room511.cpp
index 51a1c415145..b76e9336f73 100644
--- a/engines/mads/nebular/rooms/room511.cpp
+++ b/engines/mads/nebular/rooms/room511.cpp
@@ -265,18 +265,18 @@ static void room_511_parser() {
}
}
} else
- _vm->_dialogs->show(51129);
+ text_show(51129);
} else
return;
} else {
- _vm->_dialogs->show(51130);
+ text_show(51130);
}
} else if (player_said_3(tie, fishing_line, boat) ||
player_said_3(attach, fishing_line, boat)) {
if (_globals[kBoatRaised])
- _vm->_dialogs->show(51131);
+ text_show(51131);
else if (_globals[kLineStatus] == 1)
- _vm->_dialogs->show(51130);
+ text_show(51130);
else if (!_globals[kBoatRaised] && local._handingLine) {
if (_globals[kLineStatus] != 3) {
if (_game._trigger == 0) {
@@ -305,53 +305,53 @@ static void room_511_parser() {
}
} else if (player_said_2(look, street) || _action._lookFlag) {
if (_globals[kLineStatus] == 2)
- _vm->_dialogs->show(51110);
+ text_show(51110);
else {
if (_globals[kLineStatus] == 3)
- _vm->_dialogs->show(51111);
+ text_show(51111);
else
- _vm->_dialogs->show(51112);
+ text_show(51112);
}
} else if (player_said_2(look, car))
- _vm->_dialogs->show(51113);
+ text_show(51113);
else if (player_said_2(look, sidewalk))
- _vm->_dialogs->show(51114);
+ text_show(51114);
else if (player_said_2(walk_down, sidewalk_to_east) || player_said_2(walk_down, sidewalk_to_west) || player_said_2(walk_down, street_to_east))
- _vm->_dialogs->show(51115);
+ text_show(51115);
else if (player_said_2(look, pleasure_dome))
- _vm->_dialogs->show(51116);
+ text_show(51116);
else if (player_said_2(look, ticket_booth))
- _vm->_dialogs->show(51117);
+ text_show(51117);
else if (player_said_2(look, dome_entrance))
- _vm->_dialogs->show(51118);
+ text_show(51118);
else if (player_said_3(unlock, padlock_key, dome_entrance) || player_said_3(unlock, door_key, dome_entrance))
- _vm->_dialogs->show(51119);
+ text_show(51119);
else if ((player_said_1(put) || player_said_1(throw))
&& (player_said_1(timebomb) || player_said_1(bomb) || player_said_1(bombs))
&& player_said_1(dome_entrance))
- _vm->_dialogs->show(51120);
+ text_show(51120);
else if (player_said_2(look, restaurant)) {
if (_globals[kBoatRaised])
- _vm->_dialogs->show(51121);
+ text_show(51121);
else
- _vm->_dialogs->show(51128);
+ text_show(51128);
} else if (player_said_2(look, porthole))
- _vm->_dialogs->show(51122);
+ text_show(51122);
else if (player_said_2(look, fishing_line) && (_action._mainObjectSource == CAT_HOTSPOT) && (_globals[kLineStatus] == 2))
- _vm->_dialogs->show(51126);
+ text_show(51126);
else if (player_said_2(look, fishing_line) && (_action._mainObjectSource == CAT_HOTSPOT) && (_globals[kLineStatus] == 3))
- _vm->_dialogs->show(51133);
+ text_show(51133);
else if (player_said_2(look, statue))
- _vm->_dialogs->show(51127);
+ text_show(51127);
else if (player_said_2(look, boat))
if (_globals[kBoatRaised])
- _vm->_dialogs->show(51123);
+ text_show(51123);
else if (_globals[kLineStatus] != 3)
- _vm->_dialogs->show(51124);
+ text_show(51124);
else
- _vm->_dialogs->show(51125);
+ text_show(51125);
else if (player_said_2(look, fishing_line) && (_globals[kLineStatus] == 3))
- _vm->_dialogs->show(51125);
+ text_show(51125);
else
return;
diff --git a/engines/mads/nebular/rooms/room512.cpp b/engines/mads/nebular/rooms/room512.cpp
index ce0f01d1609..b53e4cc1eee 100644
--- a/engines/mads/nebular/rooms/room512.cpp
+++ b/engines/mads/nebular/rooms/room512.cpp
@@ -108,11 +108,11 @@ static void room_512_parser() {
break;
case 1:
- _vm->_sound->command(9);
+ g_engine->_soundManager->command(9, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_scene->_dynamicHotspots.remove(local._fishingRodHotspotId);
_game._objects.addToInventory(OBJ_FISHING_ROD);
- _vm->_dialogs->showItem(OBJ_FISHING_ROD, 51217);
+ object_examine(OBJ_FISHING_ROD, 51217, 0);
break;
case 2:
@@ -129,7 +129,7 @@ static void room_512_parser() {
if (!_globals[kRegisterOpen]) {
switch (_game._trigger) {
case 0:
- _vm->_dialogs->show(51236);
+ text_show(51236);
_game._player._stepEnabled = false;
_game._player._facing = FACING_NORTH;
_scene->_sequences.addTimer(15, 1);
@@ -160,7 +160,7 @@ static void room_512_parser() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[4], 3);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
}
- _vm->_sound->command(23);
+ g_engine->_soundManager->command(23, 0);
break;
case 4:
@@ -185,7 +185,7 @@ static void room_512_parser() {
break;
}
} else
- _vm->_dialogs->show(51239);
+ text_show(51239);
} else if (player_said_2(close, cash_register) && _globals[kRegisterOpen]) {
switch (_game._trigger) {
case 0:
@@ -252,9 +252,9 @@ static void room_512_parser() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 3);
_scene->_hotspots.activate(words_padlock_key, false);
}
- _vm->_sound->command(9);
+ g_engine->_soundManager->command(9, 0);
_game._objects.addToInventory(OBJ_PADLOCK_KEY);
- _vm->_dialogs->showItem(OBJ_PADLOCK_KEY, 51226);
+ object_examine(OBJ_PADLOCK_KEY, 51226, 0);
break;
case 2:
@@ -268,58 +268,58 @@ static void room_512_parser() {
}
}
} else if (_action._lookFlag)
- _vm->_dialogs->show(51225);
+ text_show(51225);
else if (player_said_2(look, padlock_key) && _game._objects.isInRoom(OBJ_PADLOCK_KEY))
- _vm->_dialogs->show(51215);
+ text_show(51215);
else if (player_said_2(look, fishing_rod) && (!_scene->_animation[0] ||
_scene->_animation[0]->getCurrentFrame() == 4))
- _vm->_dialogs->show(51216);
+ text_show(51216);
else if (player_said_2(look, ships_wheel))
- _vm->_dialogs->show(51218);
+ text_show(51218);
else if (player_said_2(take, ships_wheel))
- _vm->_dialogs->show(51219);
+ text_show(51219);
else if (player_said_2(look, porthole) || player_said_2(peer_through, porthole))
- _vm->_dialogs->show(51220);
+ text_show(51220);
else if (player_said_2(look, table))
- _vm->_dialogs->show(51221);
+ text_show(51221);
else if (player_said_2(look, starfish))
- _vm->_dialogs->show(51222);
+ text_show(51222);
else if (player_said_2(take, starfish))
- _vm->_dialogs->show(51223);
+ text_show(51223);
else if (player_said_2(look, outside))
- _vm->_dialogs->show(51224);
+ text_show(51224);
else if (player_said_2(look, poster))
- _vm->_dialogs->show(51227);
+ text_show(51227);
else if (player_said_2(take, poster))
- _vm->_dialogs->show(51228);
+ text_show(51228);
else if (player_said_2(look, trophy)) {
if (_game._visitedScenes.exists(604))
- _vm->_dialogs->show(51229);
+ text_show(51229);
else
- _vm->_dialogs->show(51230);
+ text_show(51230);
} else if (player_said_2(look, chair))
- _vm->_dialogs->show(51231);
+ text_show(51231);
else if (player_said_2(look, rope))
- _vm->_dialogs->show(51232);
+ text_show(51232);
else if (player_said_2(take, rope))
- _vm->_dialogs->show(51233);
+ text_show(51233);
else if (player_said_2(look, lamp))
- _vm->_dialogs->show(51234);
+ text_show(51234);
else if (player_said_2(walk_behind, counter)) {
// WORKAROUND: Empty handling to prevent default "can't do that" dialogs showing
} else if (player_said_2(look, counter))
- _vm->_dialogs->show(51235);
+ text_show(51235);
else if (player_said_2(look, ice_chests))
- _vm->_dialogs->show(51237);
+ text_show(51237);
else if (player_said_2(open, ice_chests))
- _vm->_dialogs->show(51238);
+ text_show(51238);
else if (player_said_2(look, cash_register)) {
if (!_globals[kRegisterOpen])
- _vm->_dialogs->show(51212);
+ text_show(51212);
else if (_game._objects.isInRoom(OBJ_PADLOCK_KEY))
- _vm->_dialogs->show(51214);
+ text_show(51214);
else
- _vm->_dialogs->show(51213);
+ text_show(51213);
} else
return;
diff --git a/engines/mads/nebular/rooms/room513.cpp b/engines/mads/nebular/rooms/room513.cpp
index a9a1688ac6e..043a53fb9c6 100644
--- a/engines/mads/nebular/rooms/room513.cpp
+++ b/engines/mads/nebular/rooms/room513.cpp
@@ -75,7 +75,7 @@ static void room_513_daemon() {
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
_globals._sequenceIndexes[2] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[2], false, 7, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 2);
- _vm->_sound->command(24);
+ g_engine->_soundManager->command(24, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 81);
break;
@@ -87,7 +87,7 @@ static void room_513_daemon() {
case 82:
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 7, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 2);
- _vm->_sound->command(25);
+ g_engine->_soundManager->command(25, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 83);
break;
@@ -184,7 +184,7 @@ static void room_513_parser() {
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
_globals._sequenceIndexes[2] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[2], false, 7, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 2);
- _vm->_sound->command(24);
+ g_engine->_soundManager->command(24, 0);
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(0x278));
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
@@ -198,7 +198,7 @@ static void room_513_parser() {
case 3:
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 7, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 2);
- _vm->_sound->command(25);
+ g_engine->_soundManager->command(25, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
break;
@@ -217,31 +217,31 @@ static void room_513_parser() {
break;
}
} else if ((_action._lookFlag) || player_said_2(look, street))
- _vm->_dialogs->show(51318);
+ text_show(51318);
else if (player_said_2(look, elevator))
- _vm->_dialogs->show(51310);
+ text_show(51310);
else if (player_said_2(look, elevator_door))
- _vm->_dialogs->show(51311);
+ text_show(51311);
else if (player_said_2(look, card_slot))
- _vm->_dialogs->show(51312);
+ text_show(51312);
else if (player_said_2(look, handicap_sign))
- _vm->_dialogs->show(51313);
+ text_show(51313);
else if (player_said_2(look, bike_rack))
- _vm->_dialogs->show(51314);
+ text_show(51314);
else if (player_said_2(look, building))
- _vm->_dialogs->show(51315);
+ text_show(51315);
else if (player_said_2(look, sign))
- _vm->_dialogs->show(51316);
+ text_show(51316);
else if (player_said_2(look, street_to_west) || player_said_2(walk_down, street_to_west))
- _vm->_dialogs->show(51317);
+ text_show(51317);
else if (player_said_2(open, elevator_door) || player_said_2(open, elevator))
- _vm->_dialogs->show(51319);
+ text_show(51319);
else if (player_said_2(look, car))
- _vm->_dialogs->show(51321);
+ text_show(51321);
else if (player_said_2(look, brick_wall))
- _vm->_dialogs->show(51322);
+ text_show(51322);
else if (player_said_3(put, security_card, card_slot))
- _vm->_dialogs->show(51320);
+ text_show(51320);
else
return;
diff --git a/engines/mads/nebular/rooms/room551.cpp b/engines/mads/nebular/rooms/room551.cpp
index 721ed7949c8..7fb5f7175cf 100644
--- a/engines/mads/nebular/rooms/room551.cpp
+++ b/engines/mads/nebular/rooms/room551.cpp
@@ -115,7 +115,7 @@ static void room_551_daemon() {
_globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, -2);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 8);
}
- _vm->_sound->command(28);
+ g_engine->_soundManager->command(28, 0);
_scene->_sequences.addTimer(60, 91);
break;
@@ -137,28 +137,28 @@ static void room_551_parser() {
if (player_said_2(step_into, teleporter))
_scene->_nextSceneId = 502;
else if ((_action._lookFlag))
- _vm->_dialogs->show(55117);
+ text_show(55117);
else if (player_said_2(look, skeleton))
- _vm->_dialogs->show(55110);
+ text_show(55110);
else if (player_said_2(look, elevator_shaft))
- _vm->_dialogs->show(55111);
+ text_show(55111);
else if (player_said_2(walkto, elevator_shaft))
- _vm->_dialogs->show(55112);
+ text_show(55112);
else if (player_said_2(look, building))
- _vm->_dialogs->show(55113);
+ text_show(55113);
else if (player_said_2(look, teleporter))
- _vm->_dialogs->show(55114);
+ text_show(55114);
else if (player_said_2(look, sidewalk_to_west)) {
if (_game._visitedScenes.exists(505))
- _vm->_dialogs->show(55116);
+ text_show(55116);
else
- _vm->_dialogs->show(55115);
+ text_show(55115);
} else if (player_said_2(look, sidewalk))
- _vm->_dialogs->show(55118);
+ text_show(55118);
else if (player_said_2(look, equipment_overhead))
- _vm->_dialogs->show(55119);
+ text_show(55119);
else if (player_said_2(look, railing))
- _vm->_dialogs->show(55120);
+ text_show(55120);
else
return;
diff --git a/engines/mads/nebular/rooms/room601.cpp b/engines/mads/nebular/rooms/room601.cpp
index 784415caad9..65449d6a9e1 100644
--- a/engines/mads/nebular/rooms/room601.cpp
+++ b/engines/mads/nebular/rooms/room601.cpp
@@ -131,27 +131,27 @@ static void room_601_parser() {
}
} else if (_action._lookFlag || player_said_2(look, street)) {
if (!_globals[kLaserHoleIsThere])
- _vm->_dialogs->show(60110);
+ text_show(60110);
else
- _vm->_dialogs->show(60111);
+ text_show(60111);
} else if (player_said_2(look, car))
- _vm->_dialogs->show(60112);
+ text_show(60112);
else if (player_said_2(look, papers))
- _vm->_dialogs->show(60113);
+ text_show(60113);
else if (player_said_2(look, building))
- _vm->_dialogs->show(60114);
+ text_show(60114);
else if (player_said_2(walk_down, street))
- _vm->_dialogs->show(60115);
+ text_show(60115);
else if (player_said_2(look, balcony))
- _vm->_dialogs->show(60116);
+ text_show(60116);
else if (player_said_2(look, entrance))
- _vm->_dialogs->show(60117);
+ text_show(60117);
else if (player_said_2(look, wall))
- _vm->_dialogs->show(60118);
+ text_show(60118);
else if (player_said_2(look, city))
- _vm->_dialogs->show(60119);
+ text_show(60119);
else if (player_said_2(look, fountain))
- _vm->_dialogs->show(60120);
+ text_show(60120);
else
return;
diff --git a/engines/mads/nebular/rooms/room602.cpp b/engines/mads/nebular/rooms/room602.cpp
index 5b9cdee905b..19f1c1d45ff 100644
--- a/engines/mads/nebular/rooms/room602.cpp
+++ b/engines/mads/nebular/rooms/room602.cpp
@@ -222,7 +222,7 @@ static void room_602_parser() {
|| player_said_3(reflect, compact_case, laser_beam) || player_said_3(reflect, rearview_mirror, laser_beam)) && (_globals[kSafeStatus] == 0)) {
switch (_game._trigger) {
case 0:
- _vm->_dialogs->show(60230);
+ text_show(60230);
_game._player._stepEnabled = false;
_game._player._visible = false;
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
@@ -272,7 +272,7 @@ static void room_602_parser() {
case 1:
_scene->_sequences.remove(_globals._sequenceIndexes[6]);
_scene->_hotspots.activate(words_door_key, false);
- _vm->_sound->command(9);
+ g_engine->_soundManager->command(9, 0);
_game._objects.addToInventory(OBJ_DOOR_KEY);
break;
@@ -280,66 +280,66 @@ static void room_602_parser() {
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[5]);
_game._player._visible = true;
_game._player._stepEnabled = true;
- _vm->_dialogs->showItem(OBJ_DOOR_KEY, 835);
+ object_examine(OBJ_DOOR_KEY, 835, 0);
break;
default:
break;
}
} else if (_action._lookFlag)
- _vm->_dialogs->show(60210);
+ text_show(60210);
else if (player_said_2(look, floor))
- _vm->_dialogs->show(60211);
+ text_show(60211);
else if (player_said_2(look, hallway))
- _vm->_dialogs->show(60212);
+ text_show(60212);
else if (player_said_2(look, table))
- _vm->_dialogs->show(60213);
+ text_show(60213);
else if (player_said_2(look, chair) || player_said_2(look, lounge_chair))
- _vm->_dialogs->show(60214);
+ text_show(60214);
else if (player_said_2(look, neon_lights))
- _vm->_dialogs->show(60215);
+ text_show(60215);
else if (player_said_2(look, fireplace))
- _vm->_dialogs->show(60216);
+ text_show(60216);
else if (player_said_2(look, picture))
- _vm->_dialogs->show(60217);
+ text_show(60217);
else if (player_said_2(look, lamp))
- _vm->_dialogs->show(60218);
+ text_show(60218);
else if (player_said_2(look, masks))
- _vm->_dialogs->show(60219);
+ text_show(60219);
else if (player_said_2(look, glass_block_wall))
- _vm->_dialogs->show(60220);
+ text_show(60220);
else if (player_said_2(look, doorway))
- _vm->_dialogs->show(60221);
+ text_show(60221);
else if (player_said_2(look, safe)) {
if (_globals[kSafeStatus] == 0)
- _vm->_dialogs->show(60222);
+ text_show(60222);
else if (_globals[kSafeStatus] == 1) {
if (!_game._objects.isInRoom(OBJ_DOOR_KEY))
- _vm->_dialogs->show(60223);
+ text_show(60223);
else
- _vm->_dialogs->show(60224);
+ text_show(60224);
} else if (_globals[kSafeStatus] == 2)
- _vm->_dialogs->show(60234);
+ text_show(60234);
else if (_game._objects.isInRoom(OBJ_DOOR_KEY))
- _vm->_dialogs->show(60235);
+ text_show(60235);
else
- _vm->_dialogs->show(60236);
+ text_show(60236);
} else if (player_said_3(unlock, door_key, safe) || player_said_3(unlock, padlock_key, safe))
- _vm->_dialogs->show(60225);
+ text_show(60225);
else if (player_said_2(pull, safe))
- _vm->_dialogs->show(60226);
+ text_show(60226);
else if (player_said_2(put, fireplace) && _game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId)))
- _vm->_dialogs->show(60227);
+ text_show(60227);
else if (player_said_2(look, hole))
- _vm->_dialogs->show(60228);
+ text_show(60228);
else if (player_said_2(look, laser_beam))
- _vm->_dialogs->show(60229);
+ text_show(60229);
else if (player_said_2(look, flower_box))
- _vm->_dialogs->show(60231);
+ text_show(60231);
else if (player_said_3(throw, bomb, safe) || player_said_3(throw, bombs, safe))
- _vm->_dialogs->show(60232);
+ text_show(60232);
else if (player_said_2(put, timebomb))
- _vm->_dialogs->show(60233);
+ text_show(60233);
else
return;
diff --git a/engines/mads/nebular/rooms/room603.cpp b/engines/mads/nebular/rooms/room603.cpp
index 868bd895823..c55278e35b9 100644
--- a/engines/mads/nebular/rooms/room603.cpp
+++ b/engines/mads/nebular/rooms/room603.cpp
@@ -81,11 +81,11 @@ static void room_603_parser() {
break;
case 1:
- _vm->_sound->command(9);
+ g_engine->_soundManager->command(9, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_scene->_dynamicHotspots.remove(local._compactCaseHotspotId);
_game._objects.addToInventory(OBJ_COMPACT_CASE);
- _vm->_dialogs->showItem(OBJ_COMPACT_CASE, 60330);
+ object_examine(OBJ_COMPACT_CASE, 60330, 0);
break;
case 2:
@@ -107,7 +107,7 @@ static void room_603_parser() {
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
_scene->_sequences.addTimer(15, 1);
} else if (_game._trigger == 1) {
- _vm->_sound->command(9);
+ g_engine->_soundManager->command(9, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
_scene->_dynamicHotspots.remove(local._noteHotspotId);
_game._objects.addToInventory(OBJ_NOTE);
@@ -117,53 +117,53 @@ static void room_603_parser() {
_game._player._stepEnabled = true;
}
} else
- _vm->_dialogs->show(60323);
+ text_show(60323);
} else if (_action._lookFlag)
- _vm->_dialogs->show(60310);
+ text_show(60310);
else if (player_said_2(look, bed))
- _vm->_dialogs->show(60311);
+ text_show(60311);
else if (player_said_2(look, wig_stand))
- _vm->_dialogs->show(60312);
+ text_show(60312);
else if (player_said_2(take, wig_stand))
- _vm->_dialogs->show(60313);
+ text_show(60313);
else if (player_said_2(look, review))
- _vm->_dialogs->show(60314);
+ text_show(60314);
else if (player_said_2(look, souvenir_tickets))
- _vm->_dialogs->show(60315);
+ text_show(60315);
else if (player_said_2(look, photograph))
- _vm->_dialogs->show(60316);
+ text_show(60316);
else if (player_said_2(look, lamp))
- _vm->_dialogs->show(60317);
+ text_show(60317);
else if (player_said_2(look, directors_slate) || player_said_2(look, crop) || player_said_2(look, megaphone))
- _vm->_dialogs->show(60318);
+ text_show(60318);
else if (player_said_2(look, snapshot))
- _vm->_dialogs->show(60319);
+ text_show(60319);
else if (player_said_2(take, snapshot))
- _vm->_dialogs->show(60320);
+ text_show(60320);
else if (player_said_2(look, perfume))
- _vm->_dialogs->show(60321);
+ text_show(60321);
else if (player_said_2(take, perfume))
- _vm->_dialogs->show(60322);
+ text_show(60322);
else if (player_said_2(look, note)) {
if (_game._objects[OBJ_NOTE]._roomNumber == _scene->_currentSceneId)
- _vm->_dialogs->show(60324);
+ text_show(60324);
} else if (player_said_2(look, corner_table)) {
if (_game._objects[OBJ_NOTE]._roomNumber == _scene->_currentSceneId)
- _vm->_dialogs->show(60326);
+ text_show(60326);
else
- _vm->_dialogs->show(60325);
+ text_show(60325);
} else if (player_said_2(look, vanity)) {
if (_game._objects[OBJ_COMPACT_CASE]._roomNumber == _scene->_currentSceneId)
- _vm->_dialogs->show(60327);
+ text_show(60327);
else
- _vm->_dialogs->show(60328);
+ text_show(60328);
} else if (player_said_2(look, compact_case) && (_action._mainObjectSource == CAT_HOTSPOT))
- _vm->_dialogs->show(60329);
+ text_show(60329);
// For the next two checks, the second part of the check wasn't surrounded par parenthesis, which was obviously wrong
else if (player_said_1(look) && (player_said_1(bra) || player_said_1(boa) || player_said_1(slip)))
- _vm->_dialogs->show(60331);
+ text_show(60331);
else if (player_said_1(take) && (player_said_1(bra) || player_said_1(boa) || player_said_1(slip)))
- _vm->_dialogs->show(60332);
+ text_show(60332);
else
return;
diff --git a/engines/mads/nebular/rooms/room604.cpp b/engines/mads/nebular/rooms/room604.cpp
index d7d5ee8d818..29f561a1e6e 100644
--- a/engines/mads/nebular/rooms/room604.cpp
+++ b/engines/mads/nebular/rooms/room604.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -58,8 +59,8 @@ static void room_604_init() {
if (_scene->_roomChanged)
_game._objects.addToInventory(OBJ_TIMEBOMB);
- _vm->_palette->setEntry(252, 63, 37, 26);
- _vm->_palette->setEntry(253, 45, 24, 17);
+ pal_change_color(252, 63, 37, 26);
+ pal_change_color(253, 45, 24, 17);
local._animationActiveFl = false;
if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
@@ -119,7 +120,7 @@ static void room_604_daemon() {
case 137:
case 174:
{
- int randVal = _vm->getRandomNumber(1, 1000);
+ int randVal = g_engine->getRandomNumber(1, 1000);
if ((randVal <= 450) && (_game._player._special)) {
if (_game._player._special == 1)
nextMonsterFrame = 50;
@@ -158,7 +159,7 @@ static void room_604_daemon() {
if ((!local._monsterActive && !local._animationActiveFl) && (_scene->_frameStartTime > (local._monsterTimer + 4))) {
local._monsterTimer = _scene->_frameStartTime;
- if ((_vm->getRandomNumber(1, 1000) < 25) || !_game._visitedScenes._sceneRevisited) {
+ if ((g_engine->getRandomNumber(1, 1000) < 25) || !_game._visitedScenes._sceneRevisited) {
local._monsterActive = true;
_scene->freeAnimation();
_scene->loadAnimation(formAnimName('m', -1));
@@ -200,11 +201,11 @@ static void handleBombActions() {
_game._player._visible = true;
_game._player._stepEnabled = true;
if (local._bombMode == 1) {
- _vm->_dialogs->show(60421);
+ text_show(60421);
_globals[kTimebombStatus] = TIMEBOMB_ACTIVATED;
_globals[kTimebombTimer] = 0;
} else {
- _vm->_dialogs->show(60423);
+ text_show(60423);
_globals[kTimebombStatus] = TIMEBOMB_DEACTIVATED;
_globals[kTimebombTimer] = 0;
}
@@ -258,7 +259,7 @@ static void room_604_parser() {
}
} else if ((player_said_2(put, ledge) || player_said_2(put, viewport) || player_said_2(throw, viewport))
&& (player_said_1(bomb) || player_said_1(bombs)))
- _vm->_dialogs->show(60420);
+ text_show(60420);
else if (player_said_3(put, timebomb, ledge) || player_said_3(put, timebomb, viewport)) {
local._bombMode = 1;
if ((_game._difficulty == DIFFICULTY_HARD) || _globals[kWarnedFloodCity])
@@ -273,9 +274,9 @@ static void room_604_parser() {
// in the inventory.
handleBombActions();
else if (_game._difficulty == DIFFICULTY_EASY)
- _vm->_dialogs->show(60424);
+ text_show(60424);
else {
- _vm->_dialogs->show(60425);
+ text_show(60425);
_globals[kWarnedFloodCity] = true;
}
} else if (player_said_2(take, timebomb)) {
@@ -284,25 +285,25 @@ static void room_604_parser() {
handleBombActions();
}
} else if (_action._lookFlag)
- _vm->_dialogs->show(60411);
+ text_show(60411);
else if (player_said_2(look, viewport)) {
if (local._monsterActive) {
- _vm->_dialogs->show(60413);
+ text_show(60413);
} else {
- _vm->_dialogs->show(60412);
+ text_show(60412);
}
} else if (player_said_2(look, wall))
- _vm->_dialogs->show(60414);
+ text_show(60414);
else if (player_said_2(look, vent))
- _vm->_dialogs->show(60415);
+ text_show(60415);
else if (player_said_2(look, indicator))
- _vm->_dialogs->show(60416);
+ text_show(60416);
else if (player_said_2(look, sculpture))
- _vm->_dialogs->show(60417);
+ text_show(60417);
else if (player_said_2(look, car))
- _vm->_dialogs->show(60418);
+ text_show(60418);
else if (player_said_2(look, fountain))
- _vm->_dialogs->show(60419);
+ text_show(60419);
else
return;
diff --git a/engines/mads/nebular/rooms/room605.cpp b/engines/mads/nebular/rooms/room605.cpp
index 11aefc91a6a..59b17e8bef5 100644
--- a/engines/mads/nebular/rooms/room605.cpp
+++ b/engines/mads/nebular/rooms/room605.cpp
@@ -51,16 +51,16 @@ static void room_605_init() {
_scene->_sequences.addTimer(600, 70);
_scene->_userInterface.setup(kInputLimitedSentences);
section_6_music();
- _vm->_sound->command(22);
+ g_engine->_soundManager->command(22, 0);
}
static void room_605_daemon() {
if (_game._trigger == 70) {
- _vm->_sound->command(23);
+ g_engine->_soundManager->command(23, 0);
if (_globals[kResurrectRoom] >= 700)
- _vm->_dialogs->show(60598);
+ text_show(60598);
else
- _vm->_dialogs->show(60599);
+ text_show(60599);
_scene->_nextSceneId = _globals[kResurrectRoom];
}
diff --git a/engines/mads/nebular/rooms/room607.cpp b/engines/mads/nebular/rooms/room607.cpp
index 664fb77f27e..2bbb3abd2df 100644
--- a/engines/mads/nebular/rooms/room607.cpp
+++ b/engines/mads/nebular/rooms/room607.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -99,8 +100,8 @@ static void room_607_init() {
if (_scene->_roomChanged)
_game._objects.addToInventory(OBJ_BONES);
- _vm->_palette->setEntry(252, 63, 44, 30);
- _vm->_palette->setEntry(253, 63, 20, 22);
+ pal_change_color(252, 63, 44, 30);
+ pal_change_color(253, 63, 20, 22);
_game.loadQuoteSet(0x2F8, 0x2F7, 0x2F6, 0x2F9, 0x2FA, 0);
}
@@ -116,7 +117,7 @@ static void room_607_daemon() {
}
if ((local._dogTimer >= 480) && !local._dogLoop && !local._shopAvailable && (_globals[kDogStatus] == DOG_LEFT) && !_game._player._special) {
- _vm->_sound->command(14);
+ g_engine->_soundManager->command(14, 0);
local._dogLoop = true;
_globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 10, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[5], 1);
@@ -134,7 +135,7 @@ static void room_607_daemon() {
}
if (!local._dogEatsRex && (_game._difficulty != DIFFICULTY_EASY) && !local._animationActive && (_globals[kDogStatus] == DOG_PRESENT)
- && !local._dogBarking && (_vm->getRandomNumber(1, 50) == 10)) {
+ && !local._dogBarking && (g_engine->getRandomNumber(1, 50) == 10)) {
local._dogBarking = true;
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_globals._sequenceIndexes[1] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[1], false, 5, 8, 0, 0);
@@ -156,7 +157,7 @@ static void room_607_daemon() {
if (_game._trigger == 100) {
local._counter++;
- _vm->_sound->command(12);
+ g_engine->_soundManager->command(12, 0);
if ((local._counter >= 1) && (local._counter <= 4)) {
Common::Point pos(0, 0);
@@ -245,7 +246,7 @@ static void room_607_daemon() {
break;
case 63:
- _vm->_dialogs->show(60729);
+ text_show(60729);
local._animationActive = 0;
local._dogEatsRex = false;
_scene->_reloadSceneFlag = true;
@@ -254,7 +255,7 @@ static void room_607_daemon() {
case 64:
if (local._dogEatsRex && (local._animationActive == 1)) {
- _vm->_sound->command(12);
+ g_engine->_soundManager->command(12, 0);
_scene->_sequences.addTimer(10, 64);
}
break;
@@ -427,49 +428,49 @@ static void room_607_parser() {
handleThrowingBone();
} else if (_action._lookFlag || player_said_2(look, street)) {
if ((_globals[kDogStatus] == DOG_PRESENT) || (_game._difficulty == DIFFICULTY_EASY))
- _vm->_dialogs->show(60710);
+ text_show(60710);
else
- _vm->_dialogs->show(60711);
+ text_show(60711);
} else if (player_said_2(look, wall))
- _vm->_dialogs->show(60712);
+ text_show(60712);
else if (player_said_2(look, fence))
- _vm->_dialogs->show(60713);
+ text_show(60713);
else if (player_said_2(look, car))
- _vm->_dialogs->show(60714);
+ text_show(60714);
else if (player_said_2(look, manhole))
- _vm->_dialogs->show(60715);
+ text_show(60715);
else if (player_said_2(look, fire_hydrant) && (_globals[kDogStatus] == DOG_PRESENT))
- _vm->_dialogs->show(60716);
+ text_show(60716);
else if (player_said_2(look, sign))
- _vm->_dialogs->show(60717);
+ text_show(60717);
else if (player_said_2(look, broken_window))
- _vm->_dialogs->show(60718);
+ text_show(60718);
else if (player_said_2(look, garage_door))
- _vm->_dialogs->show(60719);
+ text_show(60719);
else if (player_said_2(look, sidewalk))
- _vm->_dialogs->show(60720);
+ text_show(60720);
else if (player_said_2(look, air_hose))
- _vm->_dialogs->show(60721);
+ text_show(60721);
else if (player_said_2(look, auto_shop)) {
if (_globals[kDogStatus] == DOG_PRESENT)
- _vm->_dialogs->show(60723);
+ text_show(60723);
else
- _vm->_dialogs->show(60722);
+ text_show(60722);
} else if (player_said_2(look, side_entrance)) {
if (_globals[kDogStatus] == DOG_PRESENT)
- _vm->_dialogs->show(60725);
+ text_show(60725);
else
- _vm->_dialogs->show(60724);
+ text_show(60724);
} else if (player_said_2(look, obnoxious_dog))
- _vm->_dialogs->show(60726);
+ text_show(60726);
else if (player_said_2(talkto, obnoxious_dog))
- _vm->_dialogs->show(60727);
+ text_show(60727);
else if (player_said_2(look, barricade))
- _vm->_dialogs->show(60728);
+ text_show(60728);
else if (player_said_2(walk_down, street))
- _vm->_dialogs->show(60730);
+ text_show(60730);
else if (player_said_1(garage_door) && (player_said_1(open) || player_said_1(push) || player_said_1(pull)))
- _vm->_dialogs->show(60731);
+ text_show(60731);
else
return;
diff --git a/engines/mads/nebular/rooms/room608.cpp b/engines/mads/nebular/rooms/room608.cpp
index ae2af30540f..52037868e46 100644
--- a/engines/mads/nebular/rooms/room608.cpp
+++ b/engines/mads/nebular/rooms/room608.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -266,8 +267,8 @@ static void room_608_init() {
_scene->loadAnimation(formAnimName('D', -1));
}
- _vm->_palette->setEntry(252, 63, 44, 30);
- _vm->_palette->setEntry(253, 63, 20, 22);
+ pal_change_color(252, 63, 44, 30);
+ pal_change_color(253, 63, 20, 22);
if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
_game._player._playerPos = Common::Point(46, 132);
@@ -311,7 +312,7 @@ static void room_608_daemon() {
local._dogHitWindow = true;
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 11, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[4], 1);
- _vm->_sound->command(14);
+ g_engine->_soundManager->command(14, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
local._dogWindowTimer = 0;
}
@@ -321,7 +322,7 @@ static void room_608_daemon() {
if ((_game._difficulty == DIFFICULTY_HARD) && !local._animationMode && local._dogActiveFl && !local._dogFirstEncounter && !local._dogUnderCar) {
if (!local._dogBarkingFl) {
- if (_vm->getRandomNumber(1, 50) == 10) {
+ if (g_engine->getRandomNumber(1, 50) == 10) {
local._dogBarkingFl = true;
_scene->_sequences.remove(_globals._sequenceIndexes[5]);
_globals._sequenceIndexes[5] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[5], false, 5, 8, 0, 0);
@@ -343,7 +344,7 @@ static void room_608_daemon() {
}
if ((_game._trigger == 100) && local._dogBarkingFl) {
- _vm->_sound->command(12);
+ g_engine->_soundManager->command(12, 0);
local._barkCount++;
if ((local._barkCount >= 1) && (local._barkCount <= 4)) {
@@ -460,7 +461,7 @@ static void room_608_daemon() {
if (local._dogUnderCar) {
if (!local._dogYelping) {
- if (_vm->getRandomNumber(1, 50) == 10) {
+ if (g_engine->getRandomNumber(1, 50) == 10) {
local._dogYelping = true;
local._barkCount = 0;
_scene->_sequences.addTimer(12, 110);
@@ -473,12 +474,12 @@ static void room_608_daemon() {
local._dogYelping = false;
if (_game._trigger == 110) {
- _vm->_sound->command(12);
+ g_engine->_soundManager->command(12, 0);
_scene->_kernelMessages.add(Common::Point(150, 97), 0xFDFC, 0, 0, 60, _game.getQuote(0x303));
}
if (_game._trigger == 111) {
- _vm->_sound->command(12);
+ g_engine->_soundManager->command(12, 0);
_scene->_kernelMessages.add(Common::Point(183, 93), 0xFDFC, 0, 0, 60, _game.getQuote(0x303));
}
@@ -669,7 +670,7 @@ static void room_608_daemon() {
case 85:
if (local._rexBeingEaten && (local._animationMode == 1)) {
- _vm->_sound->command(12);
+ g_engine->_soundManager->command(12, 0);
_scene->_sequences.addTimer(10, 85);
}
break;
@@ -718,7 +719,7 @@ static void room_608_parser() {
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
} else
- _vm->_dialogs->show(60839);
+ text_show(60839);
break;
case 1:
@@ -792,7 +793,7 @@ static void room_608_parser() {
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
} else
- _vm->_dialogs->show(60840);
+ text_show(60840);
break;
case 1:
@@ -842,7 +843,7 @@ static void room_608_parser() {
local._throwMode = 4;
handleThrowingBone();
} else
- _vm->_dialogs->show(60841);
+ text_show(60841);
} else if (player_said_3(throw, bone, front_of_garage) || player_said_3(throw, bones, front_of_garage)) {
_game._player._stepEnabled = true;
if (local._dogActiveFl) {
@@ -853,7 +854,7 @@ static void room_608_parser() {
local._throwMode = 5;
handleThrowingBone();
} else
- _vm->_dialogs->show(60841);
+ text_show(60841);
} else if (player_said_3(throw, bones, area_behind_car) || player_said_3(throw, bone, area_behind_car)
|| player_said_3(throw, bones, danger_zone) || player_said_3(throw, bone, danger_zone)) {
_game._player._stepEnabled = true;
@@ -866,9 +867,9 @@ static void room_608_parser() {
local._throwMode = 6;
handleThrowingBone();
} else
- _vm->_dialogs->show(60841);
+ text_show(60841);
} else
- _vm->_dialogs->show(60842);
+ text_show(60842);
} else if (player_said_2(take, polycement) && (_game._trigger || !_game._objects.isInInventory(OBJ_POLYCEMENT))) {
switch (_game._trigger) {
case 0:
@@ -881,7 +882,7 @@ static void room_608_parser() {
break;
case 1:
- _vm->_sound->command(9);
+ g_engine->_soundManager->command(9, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_scene->_dynamicHotspots.remove(local._polycementHotspotId);
break;
@@ -891,7 +892,7 @@ static void room_608_parser() {
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[2]);
_game._player._visible = true;
_game._player._stepEnabled = true;
- _vm->_dialogs->showItem(OBJ_POLYCEMENT, 60833);
+ object_examine(OBJ_POLYCEMENT, 60833, 0);
break;
default:
@@ -910,10 +911,10 @@ static void room_608_parser() {
break;
case 1:
- _vm->_sound->command(9);
+ g_engine->_soundManager->command(9, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[12]);
_game._objects.addToInventory(OBJ_REARVIEW_MIRROR);
- _vm->_dialogs->showItem(OBJ_REARVIEW_MIRROR, 60827);
+ object_examine(OBJ_REARVIEW_MIRROR, 60827, 0);
break;
case 2:
@@ -927,63 +928,63 @@ static void room_608_parser() {
}
} else if (_action._lookFlag) {
if (_game._difficulty != DIFFICULTY_HARD)
- _vm->_dialogs->show(60810);
+ text_show(60810);
else if (_globals[kDogStatus] == DOG_DEAD)
- _vm->_dialogs->show(60812);
+ text_show(60812);
else
- _vm->_dialogs->show(60811);
+ text_show(60811);
} else if (player_said_1(look) && (player_said_1(muffler) || player_said_1(car_seat) || player_said_1(hubcap)
|| player_said_1(coils) || player_said_1(quarter_panel)))
- _vm->_dialogs->show(60813);
+ text_show(60813);
else if (player_said_1(take) && (player_said_1(muffler) || player_said_1(car_seat) || player_said_1(hubcap)
|| player_said_1(coils) || player_said_1(quarter_panel)))
- _vm->_dialogs->show(60814);
+ text_show(60814);
else if (player_said_2(look, garage_floor) || player_said_2(look, front_of_garage) || player_said_2(look, rear_of_garage)) {
if (local._dogActiveFl)
- _vm->_dialogs->show(60815);
+ text_show(60815);
else
- _vm->_dialogs->show(60816);
+ text_show(60816);
} else if (player_said_2(look, spare_ribs))
- _vm->_dialogs->show(60817);
+ text_show(60817);
else if (player_said_2(take, spare_ribs)) {
if (_game._difficulty == DIFFICULTY_HARD)
- _vm->_dialogs->show(60818);
+ text_show(60818);
else
- _vm->_dialogs->show(60819);
+ text_show(60819);
} else if (player_said_2(look, up_button))
- _vm->_dialogs->show(60820);
+ text_show(60820);
else if (player_said_2(look, down_button))
- _vm->_dialogs->show(60821);
+ text_show(60821);
else if (player_said_2(look, trash_can))
- _vm->_dialogs->show(60822);
+ text_show(60822);
else if (player_said_2(look, calendar))
- _vm->_dialogs->show(60823);
+ text_show(60823);
else if (player_said_2(look, storage_box)) {
if (_game._objects[OBJ_REARVIEW_MIRROR]._roomNumber == _scene->_currentSceneId)
- _vm->_dialogs->show(60825);
+ text_show(60825);
else
- _vm->_dialogs->show(60824);
+ text_show(60824);
} else if (player_said_2(open, storage_box))
- _vm->_dialogs->show(60826);
+ text_show(60826);
else if (player_said_2(look, rearview_mirror) && (_action._mainObjectSource == CAT_HOTSPOT))
- _vm->_dialogs->show(60828);
+ text_show(60828);
else if (player_said_2(look, tool_box)) {
if (_game._objects[OBJ_POLYCEMENT]._roomNumber == _scene->_currentSceneId)
- _vm->_dialogs->show(60829);
+ text_show(60829);
else
- _vm->_dialogs->show(60830);
+ text_show(60830);
} else if (player_said_2(open, tool_box))
- _vm->_dialogs->show(60831);
+ text_show(60831);
else if ((player_said_2(look, polycement)) && (_game._objects.isInRoom(OBJ_POLYCEMENT)))
- _vm->_dialogs->show(60832);
+ text_show(60832);
else if (player_said_2(look, grease_can) || player_said_2(look, oil_can))
- _vm->_dialogs->show(60834);
+ text_show(60834);
else if (player_said_2(look, car_lift))
- _vm->_dialogs->show(60835);
+ text_show(60835);
else if (player_said_2(look, chair) || player_said_2(look, hat))
- _vm->_dialogs->show(60836);
+ text_show(60836);
else if (player_said_2(look, danger_zone))
- _vm->_dialogs->show(60838);
+ text_show(60838);
else
return;
diff --git a/engines/mads/nebular/rooms/room609.cpp b/engines/mads/nebular/rooms/room609.cpp
index b726b3a3511..0ca662a4785 100644
--- a/engines/mads/nebular/rooms/room609.cpp
+++ b/engines/mads/nebular/rooms/room609.cpp
@@ -328,28 +328,28 @@ static void room_609_parser() {
break;
}
} else if (_action._lookFlag)
- _vm->_dialogs->show(60910);
+ text_show(60910);
else if (player_said_2(look, street))
- _vm->_dialogs->show(60911);
+ text_show(60911);
else if (player_said_2(look, spot_a_pot))
- _vm->_dialogs->show(60912);
+ text_show(60912);
else if (player_said_2(look, video_store))
- _vm->_dialogs->show(60913);
+ text_show(60913);
else if (player_said_2(look, billboard))
- _vm->_dialogs->show(60914);
+ text_show(60914);
else if (player_said_2(look, statue))
- _vm->_dialogs->show(60915);
+ text_show(60915);
else if (player_said_2(look, car))
- _vm->_dialogs->show(60916);
+ text_show(60916);
else if (player_said_2(look, newsstand))
- _vm->_dialogs->show(60917);
+ text_show(60917);
else if (player_said_2(look, video_store_door)) {
if (!_globals[kBeenInVideoStore])
- _vm->_dialogs->show(60918);
+ text_show(60918);
else
- _vm->_dialogs->show(60919);
+ text_show(60919);
} else if (player_said_2(walk_down, street))
- _vm->_dialogs->show(60730);
+ text_show(60730);
else
return;
diff --git a/engines/mads/nebular/rooms/room610.cpp b/engines/mads/nebular/rooms/room610.cpp
index f01c6af129e..31b09fc56e8 100644
--- a/engines/mads/nebular/rooms/room610.cpp
+++ b/engines/mads/nebular/rooms/room610.cpp
@@ -113,11 +113,11 @@ static void room_610_parser() {
break;
case 1:
- _vm->_sound->command(9);
+ g_engine->_soundManager->command(9, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_scene->_dynamicHotspots.remove(local._handsetHotspotId);
_game._objects.addToInventory(OBJ_PHONE_HANDSET);
- _vm->_dialogs->showItem(OBJ_PHONE_HANDSET, 61017);
+ object_examine(OBJ_PHONE_HANDSET, 61017, 0);
break;
case 2:
@@ -156,58 +156,58 @@ static void room_610_parser() {
if ((_globals[kHandsetCellStatus] == 2) && (_game._difficulty == DIFFICULTY_HARD) && !_globals[kDurafailRecharged])
local._cellCharging = true;
- _vm->_dialogs->show(61032);
+ text_show(61032);
break;
default:
break;
}
} else if (player_said_2(look, pippy_billboard))
- _vm->_dialogs->show(61010);
+ text_show(61010);
else if (player_said_2(look, civilization_ad))
- _vm->_dialogs->show(61011);
+ text_show(61011);
else if (player_said_2(look, marx_bros_poster))
- _vm->_dialogs->show(61012);
+ text_show(61012);
else if (player_said_2(look, video_monitor))
- _vm->_dialogs->show(61013);
+ text_show(61013);
else if (player_said_2(look, video_store))
- _vm->_dialogs->show(61014);
+ text_show(61014);
else if (_action._lookFlag)
- _vm->_dialogs->show(61015);
+ text_show(61015);
else if (player_said_2(look, logo))
- _vm->_dialogs->show(61018);
+ text_show(61018);
else if (player_said_2(look, cement)) {
if (_game._visitedScenes.exists(601))
- _vm->_dialogs->show(61020);
+ text_show(61020);
else
- _vm->_dialogs->show(61019);
+ text_show(61019);
} else if (player_said_2(look, counter))
- _vm->_dialogs->show(61021);
+ text_show(61021);
else if (player_said_2(look, phone_antenna))
- _vm->_dialogs->show(61022);
+ text_show(61022);
else if (player_said_2(look, smelly_sneaker))
- _vm->_dialogs->show(61023);
+ text_show(61023);
else if (player_said_2(take, smelly_sneaker))
- _vm->_dialogs->show(61024);
+ text_show(61024);
else if (player_said_2(look, spotlight))
- _vm->_dialogs->show(61025);
+ text_show(61025);
else if (player_said_2(look, phone_handset) && (_action._mainObjectSource == CAT_HOTSPOT))
- _vm->_dialogs->show(61026);
+ text_show(61026);
else if (player_said_2(look, phone_cradle))
- _vm->_dialogs->show(61027);
+ text_show(61027);
else if (player_said_2(look, return_slot))
- _vm->_dialogs->show(61028);
+ text_show(61028);
else if (player_said_2(put, return_slot)
&& _game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId)))
- _vm->_dialogs->show(61029);
+ text_show(61029);
else if (player_said_1(classic_videos) || player_said_1(more_classic_videos) || player_said_1(drama_videos)
|| player_said_1(new_release_videos) || player_said_1(porno_videos) || player_said_1(educational_videos)
|| player_said_1(instructional_videos) || player_said_1(workout_videos) || player_said_1(foreign_videos)
|| player_said_1(adventure_videos) || player_said_1(comedy_videos)) {
if (player_said_1(look))
- _vm->_dialogs->show(61030);
+ text_show(61030);
else if (player_said_1(take))
- _vm->_dialogs->show(61031);
+ text_show(61031);
else
return;
} else
diff --git a/engines/mads/nebular/rooms/room611.cpp b/engines/mads/nebular/rooms/room611.cpp
index 32b24221c58..952db0b0940 100644
--- a/engines/mads/nebular/rooms/room611.cpp
+++ b/engines/mads/nebular/rooms/room611.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -144,12 +145,12 @@ static void displayHermitQuestions(int question) {
case 1:
{
const char *curQuote = _game.getQuote(0x281);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x282);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -158,12 +159,12 @@ static void displayHermitQuestions(int question) {
case 2:
{
const char *curQuote = _game.getQuote(0x283);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x284);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -172,7 +173,7 @@ static void displayHermitQuestions(int question) {
case 3:
{
const char *curQuote = _game.getQuote(0x285);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -181,7 +182,7 @@ static void displayHermitQuestions(int question) {
case 4:
{
const char *curQuote = _game.getQuote(0x286);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -190,17 +191,17 @@ static void displayHermitQuestions(int question) {
case 5:
{
const char *curQuote = _game.getQuote(0x297);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y - 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x298);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x299);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -209,12 +210,12 @@ static void displayHermitQuestions(int question) {
case 6:
{
const char *curQuote = _game.getQuote(0x29A);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x29B);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -223,12 +224,12 @@ static void displayHermitQuestions(int question) {
case 7:
{
const char *curQuote = _game.getQuote(0x2A0);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2A1);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -237,17 +238,17 @@ static void displayHermitQuestions(int question) {
case 8:
{
const char *curQuote = _game.getQuote(0x2A2);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2A3);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2A4);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -256,12 +257,12 @@ static void displayHermitQuestions(int question) {
case 9:
{
const char *curQuote = _game.getQuote(0x2A5);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2A6);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -270,17 +271,17 @@ static void displayHermitQuestions(int question) {
case 10:
{
const char *curQuote = _game.getQuote(0x2A8);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2A9);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2AA);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -289,22 +290,22 @@ static void displayHermitQuestions(int question) {
case 11:
{
const char *curQuote = _game.getQuote(0x2AB);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2AC);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2AD);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2AE);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -313,22 +314,22 @@ static void displayHermitQuestions(int question) {
case 12:
{
const char *curQuote = _game.getQuote(0x2AF);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2B0);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2B1);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2B2);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -337,22 +338,22 @@ static void displayHermitQuestions(int question) {
case 13:
{
const char *curQuote = _game.getQuote(0x2B3);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2B4);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2B5);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2B6);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
@@ -365,22 +366,22 @@ static void displayHermitQuestions(int question) {
case 14:
{
const char *curQuote = _game.getQuote(0x2BA);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2BB);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2BC);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2BD);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -389,22 +390,22 @@ static void displayHermitQuestions(int question) {
case 15:
{
const char *curQuote = _game.getQuote(0x2BE);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2BF);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2C0);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2C1);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -413,27 +414,27 @@ static void displayHermitQuestions(int question) {
case 16:
{
const char *curQuote = _game.getQuote(0x2C2);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2C3);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2C4);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2C5);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2C6);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -442,22 +443,22 @@ static void displayHermitQuestions(int question) {
case 17:
{
const char *curQuote = _game.getQuote(0x2C7);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2C8);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2C9);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2CA);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -466,17 +467,17 @@ static void displayHermitQuestions(int question) {
case 18:
{
const char *curQuote = _game.getQuote(0x2CB);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2CC);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2CD);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -485,17 +486,17 @@ static void displayHermitQuestions(int question) {
case 19:
{
const char *curQuote = _game.getQuote(0x2CE);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2CF);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2D0);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -504,27 +505,27 @@ static void displayHermitQuestions(int question) {
case 20:
{
const char *curQuote = _game.getQuote(0x2E1);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2E2);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2E3);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2E4);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = _game.getQuote(0x2E5);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -533,27 +534,27 @@ static void displayHermitQuestions(int question) {
case 21:
{
const char *curQuote = _game.getQuote(0x2D3);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, 800, curQuote);
curQuote = _game.getQuote(0x2D4);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, 800, curQuote);
curQuote = _game.getQuote(0x2D5);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, 800, curQuote);
curQuote = _game.getQuote(0x2D6);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, 800, curQuote);
curQuote = _game.getQuote(0x2D7);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, 800, curQuote);
}
@@ -562,22 +563,22 @@ static void displayHermitQuestions(int question) {
case 22:
{
const char *curQuote = _game.getQuote(0x2D8);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, 700, curQuote);
curQuote = _game.getQuote(0x2D9);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, 700, curQuote);
curQuote = _game.getQuote(0x2DA);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, 700, curQuote);
curQuote = _game.getQuote(0x2DB);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, 700, curQuote);
}
@@ -586,27 +587,27 @@ static void displayHermitQuestions(int question) {
case 23:
{
const char *curQuote = _game.getQuote(0x2DC);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, 700, curQuote);
curQuote = _game.getQuote(0x2DD);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, 700, curQuote);
curQuote = _game.getQuote(0x2DE);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, 700, curQuote);
curQuote = _game.getQuote(0x2DF);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, 700, curQuote);
curQuote = _game.getQuote(0x2E0);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, 700, curQuote);
}
@@ -757,12 +758,12 @@ static void handleSubDialog1() {
_scene->_kernelMessages.reset();
const char *curQuote = _game.getQuote(0x2D1);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, 120, curQuote);
curQuote = _game.getQuote(0x2D2);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, 120, curQuote);
@@ -817,7 +818,7 @@ static void handleSubDialog1() {
_scene->_kernelMessages.reset();
const char *curQuote = _game.getQuote(0x2E6);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, 120, curQuote);
@@ -855,7 +856,7 @@ static void handleSubDialog2() {
{
_scene->_kernelMessages.reset();
const char *curQuote = _game.getQuote(0x2A7);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, 120, curQuote);
setDialogNode(0);
@@ -874,7 +875,7 @@ static void handleDialog() {
_game._player._stepEnabled = false;
const char *curQuote = _game.getQuote(_action._activeAction._verbId);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
if (width > 200) {
static char subQuote1[34], subQuote2[34];
@@ -926,8 +927,8 @@ static void room_611_init() {
local._dialog2.set(kConvHermit2, 0x29F, 0);
}
- _vm->_palette->setEntry(252, 51, 51, 47);
- _vm->_palette->setEntry(253, 37, 37, 37);
+ pal_change_color(252, 51, 51, 47);
+ pal_change_color(253, 37, 37, 37);
local._ratPresentFl = false;
local._seenRatFl = true;
@@ -994,7 +995,7 @@ static void room_611_init() {
}
static void room_611_daemon() {
- if (local._seenRatFl && (_vm->getRandomNumber(1, 100) == 10)) {
+ if (local._seenRatFl && (g_engine->getRandomNumber(1, 100) == 10)) {
local._seenRatFl = false;
_scene->_sequences.addTimer(1, 80);
}
@@ -1020,7 +1021,7 @@ static void room_611_daemon() {
handleRatMoves();
if (!local._eyesRunningFl) {
- local._randVal = _vm->getRandomNumber(1, 30);
+ local._randVal = g_engine->getRandomNumber(1, 30);
local._eyesRunningFl = true;
_scene->_sequences.addTimer(1, 70);
}
@@ -1166,7 +1167,7 @@ static void room_611_daemon() {
local._nextFrame = 18;
local._hermitMovingFl = false;
} else {
- switch (_vm->getRandomNumber(1, 5)) {
+ switch (g_engine->getRandomNumber(1, 5)) {
case 1:
local._nextFrame = 46;
break;
@@ -1204,7 +1205,7 @@ static void room_611_daemon() {
local._nextFrame = 47;
local._hermitTalkingFl = false;
} else {
- switch (_vm->getRandomNumber(1, 4)) {
+ switch (g_engine->getRandomNumber(1, 4)) {
case 1:
local._nextFrame = 18;
break;
@@ -1348,24 +1349,24 @@ static void room_611_parser() {
_scene->_kernelMessages.reset();
const char *curQuote = _game.getQuote(0x323);
- int width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, 120, curQuote);
curQuote = _game.getQuote(0x324);
- width = _vm->_font->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, 120, curQuote);
} else if (_game._trigger == 90) {
if (local._dialog2.read(0x29C) && local._dialog2.read(0x29D) && local._dialog2.read(0x29E)) {
handleTalking(180);
- if (_vm->getRandomNumber(1, 2) == 1)
+ if (g_engine->getRandomNumber(1, 2) == 1)
displayHermitQuestions(1);
else
displayHermitQuestions(2);
} else {
handleTalking(180);
- if (_vm->getRandomNumber(1, 2) == 1)
+ if (g_engine->getRandomNumber(1, 2) == 1)
displayHermitQuestions(3);
else
displayHermitQuestions(4);
@@ -1389,7 +1390,7 @@ static void room_611_parser() {
_scene->_sequences.addTimer(120, 90);
} else {
int nextQuote = 0;
- switch (_vm->getRandomNumber(1, 3)) {
+ switch (g_engine->getRandomNumber(1, 3)) {
case 1:
nextQuote = 0x27B;
break;
@@ -1427,33 +1428,33 @@ static void room_611_parser() {
}
} else if (_action._lookFlag) {
if (_globals[kHasTalkedToHermit])
- _vm->_dialogs->show(61111);
+ text_show(61111);
else
- _vm->_dialogs->show(61110);
+ text_show(61110);
} else if (player_said_2(look, hermit))
- _vm->_dialogs->show(61112);
+ text_show(61112);
else if (player_said_2(look, trash))
- _vm->_dialogs->show(61113);
+ text_show(61113);
else if (player_said_2(take, trash))
- _vm->_dialogs->show(61114);
+ text_show(61114);
else if (player_said_2(look, cardboard_box))
- _vm->_dialogs->show(61115);
+ text_show(61115);
else if (player_said_2(take, cardboard_box))
- _vm->_dialogs->show(61116);
+ text_show(61116);
else if (player_said_2(open, cardboard_box))
- _vm->_dialogs->show(61117);
+ text_show(61117);
else if (player_said_2(look, refrigerator))
- _vm->_dialogs->show(61118);
+ text_show(61118);
else if (player_said_2(open, refrigerator))
- _vm->_dialogs->show(61119);
+ text_show(61119);
else if (player_said_2(take, refrigerator))
- _vm->_dialogs->show(61120);
+ text_show(61120);
else if (player_said_2(look, building))
- _vm->_dialogs->show(61121);
+ text_show(61121);
else if (player_said_2(look, graffiti))
- _vm->_dialogs->show(61122);
+ text_show(61122);
else if (player_said_2(look, metal_pipe))
- _vm->_dialogs->show(61123);
+ text_show(61123);
else
return;
diff --git a/engines/mads/nebular/rooms/room612.cpp b/engines/mads/nebular/rooms/room612.cpp
index fb405568660..6f8571d76cc 100644
--- a/engines/mads/nebular/rooms/room612.cpp
+++ b/engines/mads/nebular/rooms/room612.cpp
@@ -57,13 +57,13 @@ static void handleWinchMovement() {
if (local._actionMode == 1) {
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 17, 7, 0, 0);
- _vm->_sound->command(19);
+ g_engine->_soundManager->command(19, 0);
_game._objects.setRoom(OBJ_PADLOCK_KEY, 1);
_globals[kBoatRaised] = false;
} else {
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
_globals._sequenceIndexes[2] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[2], false, 17, 9, 0, 0);
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
}
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
@@ -84,7 +84,7 @@ static void handleWinchMovement() {
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(0x2F4));
_game._player._stepEnabled = true;
- _vm->_dialogs->show(61217);
+ text_show(61217);
}
break;
@@ -205,37 +205,37 @@ static void room_612_parser() {
local._actionMode = 1;
handleWinchMovement();
} else if (_action._lookFlag || player_said_2(look, expressway))
- _vm->_dialogs->show(61210);
+ text_show(61210);
else if (player_said_2(look, rope) || player_said_2(look, armature)) {
if (_globals[kBoatRaised])
- _vm->_dialogs->show(61211);
+ text_show(61211);
else
- _vm->_dialogs->show(61212);
+ text_show(61212);
} else if (player_said_2(take, rope))
- _vm->_dialogs->show(61213);
+ text_show(61213);
else if (player_said_2(look, control_box)) {
if (_globals[kBoatRaised])
- _vm->_dialogs->show(61214);
+ text_show(61214);
else
- _vm->_dialogs->show(61216);
+ text_show(61216);
} else if (player_said_2(open, control_box))
- _vm->_dialogs->show(61215);
+ text_show(61215);
else if (player_said_2(look, buildings))
- _vm->_dialogs->show(61218);
+ text_show(61218);
else if (player_said_2(look, dome))
- _vm->_dialogs->show(61219);
+ text_show(61219);
else if (player_said_2(look, statue))
- _vm->_dialogs->show(61220);
+ text_show(61220);
else if (player_said_2(look, maintenance_building))
- _vm->_dialogs->show(61221);
+ text_show(61221);
else if (player_said_2(open, maintenance_building))
- _vm->_dialogs->show(61222);
+ text_show(61222);
else if (player_said_2(look, wall))
- _vm->_dialogs->show(61223);
+ text_show(61223);
else if (player_said_2(look, support))
- _vm->_dialogs->show(61224);
+ text_show(61224);
else if (player_said_2(walk_down, expressway_to_east) || player_said_2(walk_down, expressway_to_west))
- _vm->_dialogs->show(61225);
+ text_show(61225);
else
return;
diff --git a/engines/mads/nebular/rooms/room701.cpp b/engines/mads/nebular/rooms/room701.cpp
index e8d594f83f6..012eacd2756 100644
--- a/engines/mads/nebular/rooms/room701.cpp
+++ b/engines/mads/nebular/rooms/room701.cpp
@@ -123,7 +123,7 @@ static void room_701_init() {
_game._player._visible = false;
_game._player._stepEnabled = false;
_scene->loadAnimation(formAnimName('B', 1), 80);
- _vm->_sound->command(28);
+ g_engine->_soundManager->command(28, 0);
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG && _scene->_priorSceneId != 620) {
_game._player._playerPos = Common::Point(22, 131);
_game._player._facing = FACING_EAST;
@@ -151,7 +151,7 @@ static void room_701_daemon() {
break;
case 70:
- _vm->_sound->command(16);
+ g_engine->_soundManager->command(16, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 5, 1, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(48, 136));
@@ -165,7 +165,7 @@ static void room_701_daemon() {
break;
case 72:
- _vm->_sound->command(17);
+ g_engine->_soundManager->command(17, 0);
_globals._sequenceIndexes[1] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[1], false, 5, 1, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(48, 136));
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 10);
@@ -243,7 +243,7 @@ static void room_701_parser() {
case 0:
_game._player._stepEnabled = false;
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _vm->_sound->command(16);
+ g_engine->_soundManager->command(16, 0);
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 5, 1, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(48, 136));
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 10);
@@ -258,7 +258,7 @@ static void room_701_parser() {
break;
case 3:
- _vm->_sound->command(17);
+ g_engine->_soundManager->command(17, 0);
_globals._sequenceIndexes[1] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[1], false, 5, 1, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(48, 136));
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 10);
@@ -313,15 +313,15 @@ static void room_701_parser() {
break;
}
} else if (_globals[kBoatStatus] == BOAT_TIED) {
- _vm->_dialogs->show(70125);
+ text_show(70125);
} else if (_globals[kLineStatus] == LINE_DROPPED) {
_globals[kLineStatus] = LINE_NOW_UNTIED;
_game._objects.addToInventory(OBJ_FISHING_LINE);
- _vm->_sound->command(15);
+ g_engine->_soundManager->command(15, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _vm->_dialogs->showItem(OBJ_FISHING_LINE, 70126);
+ object_examine(OBJ_FISHING_LINE, 70126, 0);
} else {
- _vm->_dialogs->show(70127);
+ text_show(70127);
}
} else if (player_said_2(climb_into, boat) && _globals[kBoatStatus] == BOAT_TIED) {
switch (_game._trigger) {
@@ -342,39 +342,39 @@ static void room_701_parser() {
} else if (_action._lookFlag) {
if (_globals[kBoatStatus] != BOAT_GONE) {
if (_globals[kBoatStatus] == BOAT_TIED)
- _vm->_dialogs->show(70128);
+ text_show(70128);
else
- _vm->_dialogs->show(70110);
+ text_show(70110);
} else
- _vm->_dialogs->show(70111);
+ text_show(70111);
} else if (player_said_2(look, submerged_city))
- _vm->_dialogs->show(70112);
+ text_show(70112);
else if (player_said_2(look, elevator))
- _vm->_dialogs->show(70113);
+ text_show(70113);
else if (player_said_2(look, platform))
- _vm->_dialogs->show(70114);
+ text_show(70114);
else if (player_said_2(look, cement_pylon))
- _vm->_dialogs->show(70115);
+ text_show(70115);
else if (player_said_2(look, hook)) {
if (_globals[kLineStatus] == LINE_NOT_DROPPED || _globals[kLineStatus] == LINE_NOW_UNTIED)
- _vm->_dialogs->show(70116);
+ text_show(70116);
else
- _vm->_dialogs->show(70117);
+ text_show(70117);
} else if (player_said_2(look, rock))
- _vm->_dialogs->show(70118);
+ text_show(70118);
else if (player_said_2(take, rock))
- _vm->_dialogs->show(70119);
+ text_show(70119);
else if (player_said_2(look, east_end_of_platform))
- _vm->_dialogs->show(70120);
+ text_show(70120);
else if (player_said_2(look, building))
- _vm->_dialogs->show(70121);
+ text_show(70121);
else if (player_said_2(look, boat)) {
if (_globals[kBoatStatus] == BOAT_ADRIFT || _globals[kBoatStatus] == BOAT_TIED_FLOATING)
- _vm->_dialogs->show(70122);
+ text_show(70122);
else
- _vm->_dialogs->show(70123);
+ text_show(70123);
} else if (player_said_3(cast, fishing_rod, boat) && _game._objects.isInInventory(OBJ_FISHING_LINE))
- _vm->_dialogs->show(70124);
+ text_show(70124);
else
return;
diff --git a/engines/mads/nebular/rooms/room702.cpp b/engines/mads/nebular/rooms/room702.cpp
index 53ba9af4457..c89e101e850 100644
--- a/engines/mads/nebular/rooms/room702.cpp
+++ b/engines/mads/nebular/rooms/room702.cpp
@@ -85,11 +85,11 @@ static void room_702_parser() {
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
- _vm->_sound->command(0xF);
+ g_engine->_soundManager->command(0xF, 0);
if (_game._objects.isInInventory(OBJ_BONE))
_game._objects.setRoom(OBJ_BONE, 1);
_game._objects.addToInventory(OBJ_BONES);
- _vm->_dialogs->show(OBJ_BONES, 70218);
+ object_examine(OBJ_BONES, 70218, 0);
break;
case 2:
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[12]);
@@ -100,26 +100,26 @@ static void room_702_parser() {
break;
}
} else if (_action._lookFlag)
- _vm->_dialogs->show(70210);
+ text_show(70210);
else if (player_said_2(look, platform))
- _vm->_dialogs->show(70211);
+ text_show(70211);
else if (player_said_2(look, cement_block))
- _vm->_dialogs->show(70212);
+ text_show(70212);
else if (player_said_2(look, rock))
- _vm->_dialogs->show(70213);
+ text_show(70213);
else if (player_said_2(take, rock))
- _vm->_dialogs->show(70214);
+ text_show(70214);
else if (player_said_2(look, west_end_of_platform))
- _vm->_dialogs->show(70215);
+ text_show(70215);
else if (player_said_2(look, teleporter))
- _vm->_dialogs->show(70216);
+ text_show(70216);
else if (player_said_2(look, bones) && (_action._mainObjectSource == CAT_HOTSPOT))
- _vm->_dialogs->show(70217);
+ text_show(70217);
else if (player_said_2(take, bones) && (_action._mainObjectSource == CAT_HOTSPOT)) {
if (_game._objects.isInInventory(OBJ_BONES))
- _vm->_dialogs->show(70219);
+ text_show(70219);
} else if (player_said_2(look, submerged_city))
- _vm->_dialogs->show(70220);
+ text_show(70220);
else
return;
diff --git a/engines/mads/nebular/rooms/room703.cpp b/engines/mads/nebular/rooms/room703.cpp
index 4ad15f32c85..6c04730b2ff 100644
--- a/engines/mads/nebular/rooms/room703.cpp
+++ b/engines/mads/nebular/rooms/room703.cpp
@@ -198,7 +198,7 @@ static void room_703_init() {
_game.loadQuoteSet(0x311, 0x312, 0x313, 0x314, 0x315, 0);
local._dialog1.setup(0x98, 0x311, 0x312, 0x313, 0x314, 0x315, 0);
section_7_music();
- _vm->_sound->command(28);
+ g_engine->_soundManager->command(28, 0);
}
static void room_703_daemon() {
@@ -333,23 +333,23 @@ static void room_703_daemon() {
if (_game._trigger == 80) {
switch (_globals[kBottleStatus]) {
case 0:
- _vm->_dialogs->show(432);
+ text_show(432);
break;
case 1:
- _vm->_dialogs->show(70324);
+ text_show(70324);
break;
case 2:
- _vm->_dialogs->show(70325);
+ text_show(70325);
break;
case 3:
- _vm->_dialogs->show(70326);
+ text_show(70326);
break;
case 4:
- _vm->_dialogs->show(70327);
+ text_show(70327);
break;
default:
@@ -415,7 +415,7 @@ static void room_703_daemon() {
if (_game._difficulty == DIFFICULTY_HARD)
_game._objects.setRoom(OBJ_CHICKEN, 1);
else
- _vm->_dialogs->show(70319);
+ text_show(70319);
}
nextBoatFrame = 80;
break;
@@ -439,9 +439,9 @@ static void room_703_daemon() {
case 80:
if (_game._difficulty == DIFFICULTY_HARD) {
_game._objects.setRoom(OBJ_BOMB, 1);
- _vm->_dialogs->show(70318);
+ text_show(70318);
} else
- _vm->_dialogs->show(70317);
+ text_show(70317);
_scene->freeAnimation();
local._monsterMode = 1;
@@ -471,9 +471,9 @@ static void room_703_daemon() {
_scene->_animation[0]->setCurrentFrame(9);
_game._player._stepEnabled = true;
if (_game._storyMode == STORYMODE_NAUGHTY)
- _vm->_dialogs->show(70321);
+ text_show(70321);
else
- _vm->_dialogs->show(70322);
+ text_show(70322);
break;
@@ -547,24 +547,24 @@ static void room_703_parser() {
handleBottleInterface();
local._dialog1.start();
} else
- _vm->_dialogs->show(70323);
+ text_show(70323);
} else if (_action._lookFlag || player_said_2(look, sea_monster)) {
if (_globals[kMonsterAlive])
- _vm->_dialogs->show(70310);
+ text_show(70310);
} else if (player_said_2(look, water)) {
if (!_globals[kMonsterAlive])
- _vm->_dialogs->show(70311);
+ text_show(70311);
else
- _vm->_dialogs->show(70312);
+ text_show(70312);
} else if (player_said_2(look, building_to_north)) {
if (_globals[kMonsterAlive])
- _vm->_dialogs->show(70313);
+ text_show(70313);
else if (_game._visitedScenes.exists(710))
- _vm->_dialogs->show(70314);
+ text_show(70314);
else
- _vm->_dialogs->show(70315);
+ text_show(70315);
} else if (player_said_2(look, volcano_rim))
- _vm->_dialogs->show(70316);
+ text_show(70316);
else
return;
diff --git a/engines/mads/nebular/rooms/room704.cpp b/engines/mads/nebular/rooms/room704.cpp
index 8c9fb0e273b..69a7d5c05bb 100644
--- a/engines/mads/nebular/rooms/room704.cpp
+++ b/engines/mads/nebular/rooms/room704.cpp
@@ -172,7 +172,7 @@ static void room_704_init() {
local._dialog1.setup(0x98, 0x311, 0x312, 0x313, 0x314, 0x315, 0);
section_7_music();
- _vm->_sound->command(28);
+ g_engine->_soundManager->command(28, 0);
}
static void room_704_daemon() {
@@ -249,8 +249,8 @@ static void room_704_daemon() {
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_scene->_dynamicHotspots.remove(local._bottleHotspotId);
_game._objects.addToInventory(OBJ_BOTTLE);
- _vm->_sound->command(15);
- _vm->_dialogs->showItem(OBJ_BOTTLE, 70415);
+ g_engine->_soundManager->command(15, 0);
+ object_examine(OBJ_BOTTLE, 70415, 0);
}
break;
@@ -267,8 +267,8 @@ static void room_704_daemon() {
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_scene->_dynamicHotspots.remove(local._bottleHotspotId);
_game._objects.addToInventory(OBJ_BOTTLE);
- _vm->_sound->command(15);
- _vm->_dialogs->showItem(OBJ_BOTTLE, 70415);
+ g_engine->_soundManager->command(15, 0);
+ object_examine(OBJ_BOTTLE, 70415, 0);
}
break;
@@ -294,23 +294,23 @@ static void room_704_daemon() {
if (_game._trigger == 70) {
switch (_globals[kBottleStatus]) {
case 0:
- _vm->_dialogs->show(432);
+ text_show(432);
break;
case 1:
- _vm->_dialogs->show(70324);
+ text_show(70324);
break;
case 2:
- _vm->_dialogs->show(70325);
+ text_show(70325);
break;
case 3:
- _vm->_dialogs->show(70326);
+ text_show(70326);
break;
case 4:
- _vm->_dialogs->show(70327);
+ text_show(70327);
break;
default:
@@ -351,23 +351,23 @@ static void room_704_parser() {
handleBottleInterface();
local._dialog1.start();
} else
- _vm->_dialogs->show(70323);
+ text_show(70323);
}
} else if (_action._lookFlag || player_said_2(look, water))
- _vm->_dialogs->show(70410);
+ text_show(70410);
else if (player_said_2(look, building_to_north)) {
if (_game._visitedScenes.exists(710))
- _vm->_dialogs->show(70411);
+ text_show(70411);
else
- _vm->_dialogs->show(70412);
+ text_show(70412);
} else if (player_said_2(look, volcano_rim))
- _vm->_dialogs->show(70413);
+ text_show(70413);
else if (player_said_2(look, bottle) && (_action._mainObjectSource == CAT_HOTSPOT))
- _vm->_dialogs->show(70414);
+ text_show(70414);
else if (player_said_2(look, open_water_to_south))
- _vm->_dialogs->show(70416);
+ text_show(70416);
else if (player_said_2(look, sky))
- _vm->_dialogs->show(70417);
+ text_show(70417);
else
return;
diff --git a/engines/mads/nebular/rooms/room705.cpp b/engines/mads/nebular/rooms/room705.cpp
index 5ba1bec02fb..5233e48aa81 100644
--- a/engines/mads/nebular/rooms/room705.cpp
+++ b/engines/mads/nebular/rooms/room705.cpp
@@ -132,7 +132,7 @@ static void room_705_init() {
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
_game._player._stepEnabled = false;
_scene->_sequences.addTimer(1, 80);
- _vm->_sound->command(28);
+ g_engine->_soundManager->command(28, 0);
} else
_globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
@@ -174,7 +174,7 @@ static void room_705_daemon() {
case 81:
{
- _vm->_sound->command(19);
+ g_engine->_soundManager->command(19, 0);
int syncIdx = _globals._sequenceIndexes[1];
_globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], syncIdx);
@@ -195,23 +195,23 @@ static void room_705_daemon() {
case 91:
switch (_globals[kBottleStatus]) {
case 0:
- _vm->_dialogs->show(432);
+ text_show(432);
break;
case 1:
- _vm->_dialogs->show(70324);
+ text_show(70324);
break;
case 2:
- _vm->_dialogs->show(70325);
+ text_show(70325);
break;
case 3:
- _vm->_dialogs->show(70326);
+ text_show(70326);
break;
case 4:
- _vm->_dialogs->show(70327);
+ text_show(70327);
break;
default:
@@ -236,7 +236,7 @@ static void room_705_parser() {
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 6, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 2);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _vm->_sound->command(18);
+ g_engine->_soundManager->command(18, 0);
break;
case 1:
@@ -281,19 +281,19 @@ static void room_705_parser() {
handleBottleInterface();
local._dialog1.start();
} else
- _vm->_dialogs->show(70323);
+ text_show(70323);
} else if (_action._lookFlag || player_said_2(look, water))
- _vm->_dialogs->show(70511);
+ text_show(70511);
else if (player_said_2(look, volcano_rim))
- _vm->_dialogs->show(70512);
+ text_show(70512);
else if (player_said_2(look, open_water_to_south))
- _vm->_dialogs->show(70513);
+ text_show(70513);
else if (player_said_2(look, sky))
- _vm->_dialogs->show(70514);
+ text_show(70514);
else if (player_said_2(look, building))
- _vm->_dialogs->show(70515);
+ text_show(70515);
else if (player_said_2(look, window))
- _vm->_dialogs->show(70516);
+ text_show(70516);
else
return;
diff --git a/engines/mads/nebular/rooms/room706.cpp b/engines/mads/nebular/rooms/room706.cpp
index 81b60f3f12d..21531791cbf 100644
--- a/engines/mads/nebular/rooms/room706.cpp
+++ b/engines/mads/nebular/rooms/room706.cpp
@@ -51,11 +51,11 @@ static void handleRexDeath() {
case 2:
if (local._animationMode == 1)
- _vm->_dialogs->show(70625);
+ text_show(70625);
else if (_globals[kBottleStatus] < 2)
- _vm->_dialogs->show(70628);
+ text_show(70628);
else
- _vm->_dialogs->show(70629);
+ text_show(70629);
_game._objects.setRoom(OBJ_VASE, _scene->_currentSceneId);
if (local._animationMode == 2)
@@ -82,7 +82,7 @@ static void handleTakeVase() {
break;
case 1:
- _vm->_sound->command(9);
+ g_engine->_soundManager->command(9, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_scene->_dynamicHotspots.remove(local._vaseHotspotId);
_game._objects.addToInventory(OBJ_VASE);
@@ -99,7 +99,7 @@ static void handleTakeVase() {
case 2:
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[3]);
_game._player._visible = true;
- _vm->_dialogs->showItem(OBJ_VASE, 70630);
+ object_examine(OBJ_VASE, 70630, 0);
_game._player._stepEnabled = true;
break;
@@ -259,45 +259,45 @@ static void room_706_parser() {
if (player_said_2(put, pedestal) && _game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId))) {
int objectId = _game._objects.getIdFromDesc(_action._activeAction._objectNameId);
if (_game._objects[objectId].hasQuality(10))
- _vm->_dialogs->show(70626);
+ text_show(70626);
else
- _vm->_dialogs->show(70627);
+ text_show(70627);
} else if (player_said_2(take, bottle) && _game._objects.isInInventory(OBJ_VASE))
- _vm->_dialogs->show(70631);
+ text_show(70631);
else if (_action._lookFlag) {
if (_game._objects[OBJ_VASE]._roomNumber == _scene->_currentSceneId)
- _vm->_dialogs->show(70610);
+ text_show(70610);
else
- _vm->_dialogs->show(70611);
+ text_show(70611);
} else if (player_said_2(look, floor))
- _vm->_dialogs->show(70612);
+ text_show(70612);
else if (player_said_2(look, pillar))
- _vm->_dialogs->show(70613);
+ text_show(70613);
else if (player_said_2(look, old_tea_cup))
- _vm->_dialogs->show(70614);
+ text_show(70614);
else if (player_said_2(take, old_tea_cup))
- _vm->_dialogs->show(70615);
+ text_show(70615);
else if (player_said_2(look, old_vase))
- _vm->_dialogs->show(70616);
+ text_show(70616);
else if (player_said_2(look, portrait))
- _vm->_dialogs->show(70617);
+ text_show(70617);
else if (player_said_2(look, name_plate))
- _vm->_dialogs->show(70618);
+ text_show(70618);
else if (player_said_2(look, wall))
- _vm->_dialogs->show(70619);
+ text_show(70619);
else if (player_said_2(look, pedestal)) {
if (_game._objects[OBJ_VASE]._roomNumber == _scene->_currentSceneId)
- _vm->_dialogs->show(70620);
+ text_show(70620);
else if (_game._objects[OBJ_BOTTLE]._roomNumber == _scene->_currentSceneId)
- _vm->_dialogs->show(70622);
+ text_show(70622);
else
- _vm->_dialogs->show(70621);
+ text_show(70621);
} else if (player_said_2(look, teleporter))
- _vm->_dialogs->show(70623);
+ text_show(70623);
else if (player_said_2(look, vase) && (_game._objects[OBJ_VASE]._roomNumber == _scene->_currentSceneId))
- _vm->_dialogs->show(70624);
+ text_show(70624);
else if (player_said_2(look, bottle) && (_action._mainObjectSource == CAT_HOTSPOT))
- _vm->_dialogs->show(70632);
+ text_show(70632);
else
return;
diff --git a/engines/mads/nebular/rooms/room707.cpp b/engines/mads/nebular/rooms/room707.cpp
index 6f784506604..acc08ea7d45 100644
--- a/engines/mads/nebular/rooms/room707.cpp
+++ b/engines/mads/nebular/rooms/room707.cpp
@@ -37,10 +37,10 @@ static void room_707_init() {
teleporter_init();
// The original uses Scene7xx_section_7_music
- if (!_vm->_musicFlag)
- _vm->_sound->command(2);
+ if (!config_file.music_flag)
+ g_engine->_soundManager->command(2, 0);
else
- _vm->_sound->command(25);
+ g_engine->_soundManager->command(25, 0);
}
static void room_707_daemon() {
@@ -54,11 +54,11 @@ static void room_707_parser() {
}
if (player_said_2(look, viewport) || player_said_2(peer_through, viewport))
- _vm->_dialogs->show(70710);
+ text_show(70710);
else if (player_said_2(look, keypad))
- _vm->_dialogs->show(70711);
+ text_show(70711);
else if (player_said_2(look, display))
- _vm->_dialogs->show(70712);
+ text_show(70712);
else if (player_said_2(look, 0_key) || player_said_2(look, 1_key)
|| player_said_2(look, 2_key) || player_said_2(look, 3_key)
|| player_said_2(look, 4_key) || player_said_2(look, 5_key)
@@ -66,9 +66,9 @@ static void room_707_parser() {
|| player_said_2(look, 8_key) || player_said_2(look, 9_key)
|| player_said_2(look, smile_key) || player_said_2(look, enter_key)
|| player_said_2(look, frown_key))
- _vm->_dialogs->show(70713);
+ text_show(70713);
Commit: ced9db8cc7d4c71f65fa50bb69da333c6b53ba00
https://github.com/scummvm/scummvm/commit/ced9db8cc7d4c71f65fa50bb69da333c6b53ba00
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:53+10:00
Commit Message:
MADS: NEBULAR: Refactor out Game and Resources thunk classes
Changed paths:
engines/mads/core/game.h
engines/mads/nebular/rooms/forcefield.cpp
engines/mads/nebular/rooms/room101.cpp
engines/mads/nebular/rooms/room102.cpp
engines/mads/nebular/rooms/room103.cpp
engines/mads/nebular/rooms/room104.cpp
engines/mads/nebular/rooms/room105.cpp
engines/mads/nebular/rooms/room106.cpp
engines/mads/nebular/rooms/room107.cpp
engines/mads/nebular/rooms/room108.cpp
engines/mads/nebular/rooms/room109.cpp
engines/mads/nebular/rooms/room110.cpp
engines/mads/nebular/rooms/room111.cpp
engines/mads/nebular/rooms/room112.cpp
engines/mads/nebular/rooms/room201.cpp
engines/mads/nebular/rooms/room202.cpp
engines/mads/nebular/rooms/room203.cpp
engines/mads/nebular/rooms/room205.cpp
engines/mads/nebular/rooms/room207.cpp
engines/mads/nebular/rooms/room208.cpp
engines/mads/nebular/rooms/room209.cpp
engines/mads/nebular/rooms/room210.cpp
engines/mads/nebular/rooms/room211.cpp
engines/mads/nebular/rooms/room212.cpp
engines/mads/nebular/rooms/room214.cpp
engines/mads/nebular/rooms/room215.cpp
engines/mads/nebular/rooms/room216.cpp
engines/mads/nebular/rooms/room301.cpp
engines/mads/nebular/rooms/room302.cpp
engines/mads/nebular/rooms/room303.cpp
engines/mads/nebular/rooms/room304.cpp
engines/mads/nebular/rooms/room307.cpp
engines/mads/nebular/rooms/room308.cpp
engines/mads/nebular/rooms/room309.cpp
engines/mads/nebular/rooms/room310.cpp
engines/mads/nebular/rooms/room311.cpp
engines/mads/nebular/rooms/room313.cpp
engines/mads/nebular/rooms/room316.cpp
engines/mads/nebular/rooms/room318.cpp
engines/mads/nebular/rooms/room319.cpp
engines/mads/nebular/rooms/room320.cpp
engines/mads/nebular/rooms/room321.cpp
engines/mads/nebular/rooms/room351.cpp
engines/mads/nebular/rooms/room352.cpp
engines/mads/nebular/rooms/room353.cpp
engines/mads/nebular/rooms/room354.cpp
engines/mads/nebular/rooms/room357.cpp
engines/mads/nebular/rooms/room358.cpp
engines/mads/nebular/rooms/room359.cpp
engines/mads/nebular/rooms/room360.cpp
engines/mads/nebular/rooms/room361.cpp
engines/mads/nebular/rooms/room366.cpp
engines/mads/nebular/rooms/room387.cpp
engines/mads/nebular/rooms/room388.cpp
engines/mads/nebular/rooms/room389.cpp
engines/mads/nebular/rooms/room390.cpp
engines/mads/nebular/rooms/room391.cpp
engines/mads/nebular/rooms/room399.cpp
engines/mads/nebular/rooms/room401.cpp
engines/mads/nebular/rooms/room402.cpp
engines/mads/nebular/rooms/room405.cpp
engines/mads/nebular/rooms/room406.cpp
engines/mads/nebular/rooms/room407.cpp
engines/mads/nebular/rooms/room408.cpp
engines/mads/nebular/rooms/room410.cpp
engines/mads/nebular/rooms/room411.cpp
engines/mads/nebular/rooms/room413.cpp
engines/mads/nebular/rooms/room501.cpp
engines/mads/nebular/rooms/room503.cpp
engines/mads/nebular/rooms/room504.cpp
engines/mads/nebular/rooms/room505.cpp
engines/mads/nebular/rooms/room506.cpp
engines/mads/nebular/rooms/room507.cpp
engines/mads/nebular/rooms/room508.cpp
engines/mads/nebular/rooms/room511.cpp
engines/mads/nebular/rooms/room512.cpp
engines/mads/nebular/rooms/room513.cpp
engines/mads/nebular/rooms/room515.cpp
engines/mads/nebular/rooms/room551.cpp
engines/mads/nebular/rooms/room601.cpp
engines/mads/nebular/rooms/room602.cpp
engines/mads/nebular/rooms/room603.cpp
engines/mads/nebular/rooms/room604.cpp
engines/mads/nebular/rooms/room605.cpp
engines/mads/nebular/rooms/room607.cpp
engines/mads/nebular/rooms/room608.cpp
engines/mads/nebular/rooms/room609.cpp
engines/mads/nebular/rooms/room610.cpp
engines/mads/nebular/rooms/room611.cpp
engines/mads/nebular/rooms/room612.cpp
engines/mads/nebular/rooms/room620.cpp
engines/mads/nebular/rooms/room701.cpp
engines/mads/nebular/rooms/room702.cpp
engines/mads/nebular/rooms/room703.cpp
engines/mads/nebular/rooms/room704.cpp
engines/mads/nebular/rooms/room705.cpp
engines/mads/nebular/rooms/room706.cpp
engines/mads/nebular/rooms/room710.cpp
engines/mads/nebular/rooms/room751.cpp
engines/mads/nebular/rooms/room752.cpp
engines/mads/nebular/rooms/room801.cpp
engines/mads/nebular/rooms/room802.cpp
engines/mads/nebular/rooms/room803.cpp
engines/mads/nebular/rooms/room804.cpp
engines/mads/nebular/rooms/room805.cpp
engines/mads/nebular/rooms/room808.cpp
engines/mads/nebular/rooms/room810.cpp
engines/mads/nebular/rooms/section1.cpp
engines/mads/nebular/rooms/section2.cpp
engines/mads/nebular/rooms/teleporter.cpp
engines/mads/nebular/rooms/thunks.cpp
engines/mads/nebular/rooms/thunks.h
diff --git a/engines/mads/core/game.h b/engines/mads/core/game.h
index 0d4d6f8f96e..ee10b06afc8 100644
--- a/engines/mads/core/game.h
+++ b/engines/mads/core/game.h
@@ -25,7 +25,9 @@
#include "common/serializer.h"
#include "mads/core/general.h"
#include "mads/core/global.h"
+#include "mads/core/object.h"
#include "mads/core/player.h"
+#include "mads/core/quote.h"
#include "mads/core/mads.h"
#include "mads/core/heap.h"
#include "mads/core/popup.h"
diff --git a/engines/mads/nebular/rooms/forcefield.cpp b/engines/mads/nebular/rooms/forcefield.cpp
index 4fcec6584db..82b856e15c5 100644
--- a/engines/mads/nebular/rooms/forcefield.cpp
+++ b/engines/mads/nebular/rooms/forcefield.cpp
@@ -49,8 +49,8 @@ void init_forcefield(Forcefield *force, bool flag) {
}
void handle_forcefield(Forcefield *force, int16 *sprites) {
- if (_game._trigger >= 150) {
- int id = _game._trigger - 150;
+ if (kernel.trigger >= 150) {
+ int id = kernel.trigger - 150;
if (id < 40) {
if (id < 20)
force->_vertical--;
diff --git a/engines/mads/nebular/rooms/room101.cpp b/engines/mads/nebular/rooms/room101.cpp
index f650beb4825..2ac673e7325 100644
--- a/engines/mads/nebular/rooms/room101.cpp
+++ b/engines/mads/nebular/rooms/room101.cpp
@@ -45,10 +45,10 @@ static Scratch local;
static void room_101_say_dang() {
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
- _game._player._stepEnabled = false;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ player.commands_allowed = false;
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
_scene->_sequences.remove(_globals._sequenceIndexes[11]);
_globals._sequenceIndexes[11] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[11], false, 3, 6, 0, 0);
@@ -61,13 +61,13 @@ static void room_101_say_dang() {
case 72:
_globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 6, 0, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 17, 17);
- _scene->_kernelMessages.add(Common::Point(143, 61), 0x1110, 0, 0, 60, _game.getQuote(57));
+ _scene->_kernelMessages.add(Common::Point(143, 61), 0x1110, 0, 0, 60, quote_string(kernel.quotes, 57));
_scene->_sequences.addTimer(120, 73);
break;
case 73:
text_show(10117);
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
break;
default:
@@ -76,20 +76,20 @@ static void room_101_say_dang() {
}
static void room_101_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('x', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('x', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('x', 3));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('x', 4));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(formAnimName('x', 5));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(formAnimName('x', 6));
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites(formAnimName('x', 7));
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(formAnimName('m', -1));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(formAnimName('b', 1));
- _globals._spriteIndexes[10] = _scene->_sprites.addSprites(formAnimName('b', 2));
- _globals._spriteIndexes[11] = _scene->_sprites.addSprites(formAnimName('a', 0));
- _globals._spriteIndexes[12] = _scene->_sprites.addSprites(formAnimName('a', 1));
- _globals._spriteIndexes[13] = _scene->_sprites.addSprites(formAnimName('x', 8));
- _globals._spriteIndexes[14] = _scene->_sprites.addSprites(formAnimName('x', 0));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('x', 2));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 3));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('x', 4));
+ _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('x', 5));
+ _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('x', 6));
+ _globals._spriteIndexes[7] = _scene->_sprites.addSprites(kernel_name('x', 7));
+ _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('m', -1));
+ _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('b', 1));
+ _globals._spriteIndexes[10] = _scene->_sprites.addSprites(kernel_name('b', 2));
+ _globals._spriteIndexes[11] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ _globals._spriteIndexes[12] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ _globals._spriteIndexes[13] = _scene->_sprites.addSprites(kernel_name('x', 8));
+ _globals._spriteIndexes[14] = _scene->_sprites.addSprites(kernel_name('x', 0));
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 5, 0, 0, 25);
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 4, 0, 1, 0);
@@ -108,14 +108,17 @@ static void room_101_init() {
if (_scene->_priorSceneId != RETURNING_FROM_LOADING)
_globals[kNeedToStandUp] = false;
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(100, 152);
+ if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 100;
+ player.y = 152;
+ }
if ((_scene->_priorSceneId == 112) || ((_scene->_priorSceneId == RETURNING_FROM_DIALOG) && local._sittingFl)) {
- _game._player._visible = false;
+ player.walker_visible = false;
local._sittingFl = true;
- _game._player._playerPos = Common::Point(161, 123);
- _game._player._facing = FACING_NORTHEAST;
+ player.x = 161;
+ player.y = 123;
+ player.facing = FACING_NORTHEAST;
_globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 3, 0, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 17, 17);
_scene->_hotspots.activate(words_chair, false);
@@ -127,14 +130,15 @@ static void room_101_init() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[12], 4);
}
- _game.loadQuoteSet(0x31, 0x32, 0x39, 0x36, 0x37, 0x38, 0);
+ kernel.quotes = quote_load(0x31, 0x32, 0x39, 0x36, 0x37, 0x38, 0);
if (_globals[kNeedToStandUp]) {
- _scene->loadAnimation(Resources::formatName(101, 'S', -1, EXT_AA, ""), 71);
- _game._player._visible = false;
- _game._player._stepEnabled = false;
- _game._player._playerPos = Common::Point(68, 140);
- _game._player._facing = FACING_WEST;
+ _scene->loadAnimation(kernel_full_name(101, 'S', -1, "", EXT_AA), 71);
+ player.walker_visible = false;
+ player.commands_allowed = false;
+ player.x = 68;
+ player.y = 140;
+ player.facing = FACING_WEST;
local._messageNum = 0;
local._posY = 30;
@@ -146,24 +150,24 @@ static void room_101_init() {
}
static void room_101_daemon() {
- if (local._oldSpecial != _game._player._special) {
- local._oldSpecial = _game._player._special;
+ if (local._oldSpecial != player.special_code) {
+ local._oldSpecial = player.special_code;
if (local._oldSpecial)
g_engine->_soundManager->command(39, 0);
else
g_engine->_soundManager->command(11, 0);
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 70:
g_engine->_soundManager->command(9, 0);
break;
case 71:
_globals[kNeedToStandUp] = false;
- _game._player._visible = true;
- _game._player._stepEnabled = true;
- _game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount;
+ player.walker_visible = true;
+ player.commands_allowed = true;
+ player.clock = _scene->_frameStartTime - player.frame_delay;
break;
case 72:
@@ -178,31 +182,31 @@ static void room_101_daemon() {
if (_scene->_animation[0] != nullptr) {
if ((_scene->_animation[0]->getCurrentFrame() >= 6) && (local._messageNum == 0)) {
local._messageNum++;
- _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, _game.getQuote(49));
+ _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, quote_string(kernel.quotes, 49));
local._posY += 14;
}
if ((_scene->_animation[0]->getCurrentFrame() >= 7) && (local._messageNum == 1)) {
local._messageNum++;
- _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, _game.getQuote(54));
+ _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, quote_string(kernel.quotes, 54));
local._posY += 14;
}
if ((_scene->_animation[0]->getCurrentFrame() >= 10) && (local._messageNum == 2)) {
local._messageNum++;
- _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, _game.getQuote(55));
+ _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, quote_string(kernel.quotes, 55));
local._posY += 14;
}
if ((_scene->_animation[0]->getCurrentFrame() >= 17) && (local._messageNum == 3)) {
local._messageNum++;
- _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, _game.getQuote(56));
+ _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, quote_string(kernel.quotes, 56));
local._posY += 14;
}
if ((_scene->_animation[0]->getCurrentFrame() >= 20) && (local._messageNum == 4)) {
local._messageNum++;
- _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, _game.getQuote(50));
+ _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, quote_string(kernel.quotes, 50));
local._posY += 14;
}
}
@@ -210,17 +214,17 @@ static void room_101_daemon() {
static void room_101_pre_parser() {
if (player_said_2(look, view_screen))
- _game._player._needToWalk = true;
+ player.need_to_walk = true;
if (local._sittingFl) {
if (player_said_1(look) || player_said_1(chair) || player_said_1(talkto) || player_said_1(peer_through) || player_said_1(examine))
- _game._player._needToWalk = false;
+ player.need_to_walk = false;
- if (_game._player._needToWalk) {
- switch (_game._trigger) {
+ if (player.need_to_walk) {
+ switch (kernel.trigger) {
case 0:
- _game._player._readyToWalk = false;
- _game._player._stepEnabled = false;
+ player.ready_to_walk = false;
+ player.commands_allowed = false;
_scene->_sequences.remove(_globals._sequenceIndexes[11]);
_globals._sequenceIndexes[11] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[11], false, 3, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
@@ -230,9 +234,9 @@ static void room_101_pre_parser() {
case 1:
local._sittingFl = false;
- _game._player._visible = true;
- _game._player._stepEnabled = true;
- _game._player._readyToWalk = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
+ player.ready_to_walk = true;
_scene->_hotspots.activate(71, true);
_scene->_dynamicHotspots.remove(local._chairHotspotId);
_globals._sequenceIndexes[12] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[12], false, 6, 0, 0, 0);
@@ -246,20 +250,20 @@ static void room_101_pre_parser() {
}
if (local._panelOpened && !(player_said_1(shield_access_panel) || player_said_1(shield_modulator))) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- if (_game._player._needToWalk) {
+ if (player.need_to_walk) {
_scene->_sequences.remove(_globals._sequenceIndexes[13]);
- local._shieldSpriteIdx = _game._objects.isInRoom(OBJ_SHIELD_MODULATOR) ? 13 : 14;
+ local._shieldSpriteIdx = object_is_here(OBJ_SHIELD_MODULATOR) ? 13 : 14;
_globals._sequenceIndexes[13] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[local._shieldSpriteIdx], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
}
break;
case 1:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._panelOpened = false;
_scene->_hotspots.activate(words_shield_modulator, false);
break;
@@ -285,15 +289,15 @@ static void room_101_parser() {
if (player_said_2(sit_in, chair) || (player_said_2(look, view_screen) && !local._sittingFl)) {
if (!local._sittingFl) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
_scene->_sequences.remove(_globals._sequenceIndexes[12]);
_globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 3, 1);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 1, 17);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_SPRITE, 10, 1);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_action._inProgress = false;
return;
@@ -304,7 +308,7 @@ static void room_101_parser() {
case 2:
_globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 3, 0, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 17, 17);
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._sittingFl = true;
_scene->_hotspots.activate(71, false);
local._chairHotspotId = _scene->_dynamicHotspots.add(words_chair, words_sit_in, -1, Common::Rect(159, 84, 159 + 33, 84 + 36));
@@ -312,7 +316,7 @@ static void room_101_parser() {
_action._inProgress = false;
return;
}
- _game._trigger = 0;
+ kernel.trigger = 0;
break;
default:
@@ -326,12 +330,12 @@ static void room_101_parser() {
}
if ((player_said_2(walkto, shield_access_panel) || player_said_2(open, shield_access_panel)) && !local._panelOpened) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- local._shieldSpriteIdx = _game._objects.isInRoom(OBJ_SHIELD_MODULATOR) ? 13 : 14;
+ local._shieldSpriteIdx = object_is_here(OBJ_SHIELD_MODULATOR) ? 13 : 14;
_globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[local._shieldSpriteIdx], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
break;
@@ -339,9 +343,9 @@ static void room_101_parser() {
_scene->_sequences.remove(_globals._sequenceIndexes[13]);
_globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[local._shieldSpriteIdx], false, 6, 0, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], -2, -2);
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._panelOpened = true;
- if (_game._objects.isInRoom(OBJ_SHIELD_MODULATOR))
+ if (object_is_here(OBJ_SHIELD_MODULATOR))
_scene->_hotspots.activate(words_shield_modulator, true);
break;
@@ -352,8 +356,8 @@ static void room_101_parser() {
return;
}
- if ((player_said_2(take, shield_modulator) || player_said_2(pull, shield_modulator)) && _game._objects.isInRoom(OBJ_SHIELD_MODULATOR)) {
- _game._objects.addToInventory(OBJ_SHIELD_MODULATOR);
+ if ((player_said_2(take, shield_modulator) || player_said_2(pull, shield_modulator)) && object_is_here(OBJ_SHIELD_MODULATOR)) {
+ inter_give_to_player(OBJ_SHIELD_MODULATOR);
_scene->_sequences.remove(_globals._sequenceIndexes[13]);
_globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[14], false, 6, 0, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], -2, -2);
@@ -364,9 +368,9 @@ static void room_101_parser() {
return;
}
- if (player_said_2(look, shield_access_panel) || (player_said_2(look, shield_modulator) && !_game._objects.isInInventory(OBJ_SHIELD_MODULATOR))) {
+ if (player_said_2(look, shield_access_panel) || (player_said_2(look, shield_modulator) && !player_has(OBJ_SHIELD_MODULATOR))) {
if (local._panelOpened) {
- if (_game._objects.isInRoom(OBJ_SHIELD_MODULATOR))
+ if (object_is_here(OBJ_SHIELD_MODULATOR))
text_show(10128);
else
text_show(10129);
@@ -387,9 +391,9 @@ static void room_101_parser() {
if (_globals[kWatchedViewScreen])
room_101_say_dang();
else {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
_scene->_sequences.remove(_globals._sequenceIndexes[11]);
_globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 3, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 17, 21);
@@ -411,7 +415,7 @@ static void room_101_parser() {
break;
case 3:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
_globals[kWatchedViewScreen] = true;
local._sittingFl = true;
_scene->_nextSceneId = 112;
@@ -467,7 +471,7 @@ static void room_101_parser() {
return;
}
- if (player_said_2(look, escape_hatch) || (player_said_2(open, escape_hatch) && !_game._objects.isInInventory(OBJ_REBREATHER))) {
+ if (player_said_2(look, escape_hatch) || (player_said_2(open, escape_hatch) && !player_has(OBJ_REBREATHER))) {
text_show(10109);
_action._inProgress = false;
return;
@@ -574,7 +578,7 @@ void room_101_preload() {
room_parser_code_pointer = room_101_parser;
room_daemon_code_pointer = room_101_daemon;
- anim_himem_preload(formAnimName('A', -1), 3);
+ anim_himem_preload(kernel_name('A', -1), 3);
section_1_walker();
section_1_interface();
diff --git a/engines/mads/nebular/rooms/room102.cpp b/engines/mads/nebular/rooms/room102.cpp
index 7486540fb60..c29ddd73de3 100644
--- a/engines/mads/nebular/rooms/room102.cpp
+++ b/engines/mads/nebular/rooms/room102.cpp
@@ -46,27 +46,27 @@ static Scratch local;
static void addRandomMessage() {
_scene->_kernelMessages.reset();
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
int quoteId = g_engine->getRandomNumber(65, 69);
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 73, 120, _game.getQuote(quoteId));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 73, 120, quote_string(kernel.quotes, quoteId));
local._activeMsgFl = true;
}
static void room_102_init() {
section_1_music();
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('x', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('x', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('x', 3));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('x', 4));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(formAnimName('x', 5));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(formAnimName('b', -1));
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites(formAnimName('c', -1));
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(formAnimName('e', -1));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(formAnimName('n', -1));
- _globals._spriteIndexes[10] = _scene->_sprites.addSprites(formAnimName('g', -1));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('x', 2));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 3));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('x', 4));
+ _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('x', 5));
+ _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('b', -1));
+ _globals._spriteIndexes[7] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('e', -1));
+ _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('n', -1));
+ _globals._spriteIndexes[10] = _scene->_sprites.addSprites(kernel_name('g', -1));
_globals._spriteIndexes[11] = _scene->_sprites.addSprites("*RXMRC_8");
- _globals._spriteIndexes[13] = _scene->_sprites.addSprites(formAnimName('x', 0));
+ _globals._spriteIndexes[13] = _scene->_sprites.addSprites(kernel_name('x', 0));
_globals._sequenceIndexes[1] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[1], false, 8, 0, 0, 0);
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 170, 0, 1, 6);
@@ -74,7 +74,7 @@ static void room_102_init() {
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 4, 0, 1, 0);
_globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 3, 0, 0, 5);
- if (_game._objects.isInRoom(OBJ_BINOCULARS))
+ if (object_is_here(OBJ_BINOCULARS))
_globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 24, 0, 0, 24);
else
_scene->_hotspots.activate(words_binoculars, false);
@@ -87,15 +87,19 @@ static void room_102_init() {
}
if (_scene->_priorSceneId == 101) {
- _game._player._playerPos = Common::Point(229, 109);
- _game._player._stepEnabled = false;
+ player.x = 229;
+ player.y = 109;
+ player.commands_allowed = false;
_globals._sequenceIndexes[6] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[6], false, 6, 1, 2, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
- } else if (_scene->_priorSceneId == 103)
- _game._player._playerPos = Common::Point(47, 152);
+ } else if (_scene->_priorSceneId == 103) {
+ player.x = 47;
+ player.y = 152;
+ }
else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._facing = FACING_NORTHWEST;
- _game._player._playerPos = Common::Point(32, 129);
+ player.facing = FACING_NORTHWEST;
+ player.x = 32;
+ player.y = 129;
}
if (_scene->_priorSceneId != 106) {
@@ -105,8 +109,8 @@ static void room_102_init() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[13], 5);
}
} else {
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
_scene->_sequences.setDepth(_globals._sequenceIndexes[13], 5);
@@ -121,41 +125,41 @@ static void room_102_init() {
local._chairDescrFl = false;
local._activeMsgFl = false;
- _game.loadQuoteSet(0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0);
+ kernel.quotes = quote_load(0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0);
if (_scene->_priorSceneId == 101)
g_engine->_soundManager->command(20, 0);
}
static void room_102_daemon() {
- if (_game._trigger == 70)
- _game._player._stepEnabled = true;
+ if (kernel.trigger == 70)
+ player.commands_allowed = true;
- if (_game._trigger == 72) {
+ if (kernel.trigger == 72) {
_globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 6, 0, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], -2, -2);
_scene->_sequences.setDepth(_globals._sequenceIndexes[13], 5);
_scene->_sequences.addTimer(48, 90);
}
- if (_game._trigger >= 90) {
- if (_game._trigger >= 94) {
- _scene->loadAnimation(formAnimName('B', -1), 71);
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ if (kernel.trigger >= 90) {
+ if (kernel.trigger >= 94) {
+ _scene->loadAnimation(kernel_name('B', -1), 71);
+ player.commands_allowed = false;
+ player.walker_visible = false;
_globals[kWaterInAPuddle] = true;
g_engine->_soundManager->command(24, 0);
} else {
g_engine->_soundManager->command(23, 0);
- _scene->_sequences.addTimer(48, _game._trigger + 1);
+ _scene->_sequences.addTimer(48, kernel.trigger + 1);
}
}
- if (_game._trigger == 71) {
- _game._player._stepEnabled = true;
- _game._player._visible = true;
- _game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount;
+ if (kernel.trigger == 71) {
+ player.commands_allowed = true;
+ player.walker_visible = true;
+ player.clock = _scene->_frameStartTime - player.frame_delay;
}
if (local._fridgeOpenedFl && !local._fridgeOpenedDescr) {
@@ -166,41 +170,41 @@ static void room_102_daemon() {
}
}
- if (!local._activeMsgFl && (_game._player._playerPos == Common::Point(177, 114)) && (_game._player._facing == FACING_NORTH)
+ if (!local._activeMsgFl && (Common::Point(player.x, player.y) == Common::Point(177, 114)) && (player.facing == FACING_NORTH)
&& (g_engine->getRandomNumber(1, 5000) == 1)) {
_scene->_kernelMessages.reset();
local._activeMsgFl = false;
addRandomMessage();
}
- if (_game._trigger == 73)
+ if (kernel.trigger == 73)
local._activeMsgFl = false;
}
static void room_102_pre_parser() {
if (player_said_1(refrigerator) || player_said_1(poster))
- _game._player._needToWalk = _game._player._readyToWalk;
+ player.need_to_walk = player.ready_to_walk;
if (local._fridgeOpenedFl && !player_said_1(refrigerator)) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- if (_game._player._needToWalk) {
+ if (player.need_to_walk) {
_scene->_sequences.remove(_globals._sequenceIndexes[7]);
_globals._sequenceIndexes[7] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[7], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[7], 15);
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
}
break;
case 1:
- if (_game._objects.isInRoom(OBJ_BURGER)) {
+ if (object_is_here(OBJ_BURGER)) {
_scene->_sequences.remove(_globals._sequenceIndexes[10]);
_scene->_hotspots.activate(words_burger, false);
}
local._fridgeOpenedFl = false;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
break;
default:
@@ -208,7 +212,7 @@ static void room_102_pre_parser() {
}
}
- if (_game._player._needToWalk)
+ if (player.need_to_walk)
_scene->_kernelMessages.reset();
}
@@ -221,16 +225,16 @@ static void room_102_parser() {
bool justOpenedFl = false;
if (player_said_1(refrigerator) && !local._fridgeOpenedFl) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
_globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 6, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[7], 15);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- if (_game._objects.isInRoom(OBJ_BURGER)) {
+ if (object_is_here(OBJ_BURGER)) {
_globals._sequenceIndexes[10] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[10], false, 7, 0, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[10], 14);
}
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
_action._inProgress = false;
return;
@@ -252,9 +256,9 @@ static void room_102_parser() {
local._fridgeOpenedFl = true;
local._fridgeOpenedDescr = false;
local._fridgeCommentCount = 0;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
justOpenedFl = true;
- if (_game._objects.isInRoom(OBJ_BURGER))
+ if (object_is_here(OBJ_BURGER))
_scene->_hotspots.activate(words_burger, true);
break;
@@ -264,7 +268,7 @@ static void room_102_parser() {
}
if (player_said_2(look, refrigerator) || player_said_2(open, refrigerator)) {
- if (_game._objects.isInRoom(OBJ_BURGER))
+ if (object_is_here(OBJ_BURGER))
text_show(10230);
else
text_show(10229);
@@ -277,12 +281,12 @@ static void room_102_parser() {
if (player_said_2(walkto, refrigerator) && justOpenedFl) {
local._fridgeFirstOpenFl = false;
int quoteId = g_engine->getRandomNumber(59, 63);
- const char *curQuote = _game.getQuote(quoteId);
+ const char *curQuote = quote_string(kernel.quotes, quoteId);
int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, -1);
_scene->_kernelMessages.reset();
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_kernelMessages.add(Common::Point(210, 60), 0x1110, 0, 73, 120, curQuote);
- _scene->_kernelMessages.add(Common::Point(214 + width, 60), 0x1110, 0, 73, 120, _game.getQuote(64));
+ _scene->_kernelMessages.add(Common::Point(214 + width, 60), 0x1110, 0, 73, 120, quote_string(kernel.quotes, 64));
local._activeMsgFl = true;
_action._inProgress = false;
return;
@@ -301,11 +305,11 @@ static void room_102_parser() {
}
if (player_said_2(walk_through, door)) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
_globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
break;
@@ -368,13 +372,13 @@ static void room_102_parser() {
return;
}
- if (player_said_3(put, burger, robo_kitchen) && _game._objects.isInInventory(OBJ_BURGER)) {
+ if (player_said_3(put, burger, robo_kitchen) && player_has(OBJ_BURGER)) {
text_show(10216);
_action._inProgress = false;
return;
}
- if (player_said_2(put, refrigerator) && _game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId))) {
+ if (player_said_2(put, refrigerator) && player_has(object_named(_action._activeAction._objectNameId))) {
text_show(10217);
_action._inProgress = false;
return;
@@ -399,13 +403,13 @@ static void room_102_parser() {
}
if ((player_said_1(ladder) || player_said_1(hatchway)) && (player_said_1(look) || player_said_1(climb_up) || player_said_1(climb_through))) {
- if (_game._objects.isInInventory(OBJ_REBREATHER)) {
+ if (player_has(OBJ_REBREATHER)) {
if (!player_said_1(climb_up) && !player_said_1(climb_through)) {
text_show(10231);
_action._inProgress = false;
return;
}
- } else if (player_said_1(look) || (_game._difficulty != DIFFICULTY_HARD)) {
+ } else if (player_said_1(look) || (game.difficulty != DIFFICULTY_HARD)) {
text_show(10222);
_action._inProgress = false;
return;
@@ -413,11 +417,11 @@ static void room_102_parser() {
}
if ((player_said_1(ladder) || player_said_1(hatchway)) && (player_said_1(climb_up) || player_said_1(climb_through))) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _scene->loadAnimation(formAnimName('A', -1), 1);
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ _scene->loadAnimation(kernel_name('A', -1), 1);
+ player.commands_allowed = false;
+ player.walker_visible = false;
break;
case 1:
@@ -429,16 +433,16 @@ static void room_102_parser() {
case 3:
case 4:
g_engine->_soundManager->command(23, 0);
- _scene->_sequences.addTimer(48, _game._trigger + 1);
+ _scene->_sequences.addTimer(48, kernel.trigger + 1);
break;
case 5:
g_engine->_soundManager->command(24, 0);
- _scene->_sequences.addTimer(48, _game._trigger + 1);
+ _scene->_sequences.addTimer(48, kernel.trigger + 1);
break;
case 6:
- if (_game._objects.isInInventory(OBJ_REBREATHER) && !_game._visitedScenes.exists(106))
+ if (player_has(OBJ_REBREATHER) && !player_has_been_in_room(106))
text_show(10237);
_scene->_nextSceneId = 106;
break;
@@ -511,12 +515,12 @@ static void room_102_parser() {
}
if (player_said_2(close, medicine_cabinet) && _globals[kMedicineCabinetOpen]) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
_scene->_sequences.remove(_globals._sequenceIndexes[8]);
_globals._sequenceIndexes[8] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[8], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
g_engine->_soundManager->command(21, 0);
break;
@@ -525,7 +529,7 @@ static void room_102_parser() {
break;
case 2:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
_globals[kMedicineCabinetOpen] = false;
text_show(10209);
break;
@@ -538,11 +542,11 @@ static void room_102_parser() {
}
if (player_said_2(open, medicine_cabinet) && !_globals[kMedicineCabinetOpen]) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
_globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
g_engine->_soundManager->command(21, 0);
break;
@@ -553,7 +557,7 @@ static void room_102_parser() {
break;
case 2:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
_globals[kMedicineCabinetOpen] = true;
if (_globals[kMedicineCabinetVirgin]) {
text_show(10208);
@@ -570,22 +574,22 @@ static void room_102_parser() {
return;
}
- if (player_said_2(take, binoculars) && _game._objects.isInRoom(OBJ_BINOCULARS)) {
- switch (_game._trigger) {
+ if (player_said_2(take, binoculars) && object_is_here(OBJ_BINOCULARS)) {
+ switch (kernel.trigger) {
case 0:
_globals._sequenceIndexes[11] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[11], false, 3, 1, 0, 0);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[11]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _game._player._visible = false;
- _game._player._stepEnabled = false;
+ player.walker_visible = false;
+ player.commands_allowed = false;
break;
case 1:
- _game._objects.addToInventory(OBJ_BINOCULARS);
+ inter_give_to_player(OBJ_BINOCULARS);
_scene->_sequences.remove(_globals._sequenceIndexes[9]);
_scene->_hotspots.activate(words_binoculars, false);
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
g_engine->_soundManager->command(22, 0);
object_examine(OBJ_BINOCULARS, 10201, 0);
break;
@@ -597,15 +601,15 @@ static void room_102_parser() {
return;
}
- if (player_said_2(take, burger) && _game._objects.isInRoom(OBJ_BURGER)) {
- if (_game._trigger == 0) {
+ if (player_said_2(take, burger) && object_is_here(OBJ_BURGER)) {
+ if (kernel.trigger == 0) {
object_examine(OBJ_BURGER, 10235, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[10]);
- _game._objects.addToInventory(OBJ_BURGER);
+ inter_give_to_player(OBJ_BURGER);
_scene->_hotspots.activate(words_burger, false);
g_engine->_soundManager->command(22, 0);
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
}
_action._inProgress = false;
return;
@@ -629,7 +633,7 @@ static void room_102_parser() {
return;
}
- if (player_said_2(look, binoculars) && !_game._objects.isInInventory(OBJ_BINOCULARS)) {
+ if (player_said_2(look, binoculars) && !player_has(OBJ_BINOCULARS)) {
text_show(10233);
_action._inProgress = false;
return;
@@ -642,7 +646,7 @@ static void room_102_parser() {
}
static void room_102_error() {
- if (player_said_2(put, robo_kitchen) && _game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId))) {
+ if (player_said_2(put, robo_kitchen) && player_has(object_named(_action._activeAction._objectNameId))) {
text_show(10217);
_action._inProgress = false;
}
@@ -666,7 +670,7 @@ void room_102_preload() {
room_daemon_code_pointer = room_102_daemon;
room_error_code_pointer = room_102_error;
- anim_himem_preload(formAnimName('A', -1), 3);
+ anim_himem_preload(kernel_name('A', -1), 3);
section_1_walker();
section_1_interface();
diff --git a/engines/mads/nebular/rooms/room103.cpp b/engines/mads/nebular/rooms/room103.cpp
index 89eaab8d879..6ee2032d5d6 100644
--- a/engines/mads/nebular/rooms/room103.cpp
+++ b/engines/mads/nebular/rooms/room103.cpp
@@ -41,18 +41,18 @@ static Scratch local;
static void room_103_init() {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(formAnimName('x', 0));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('x', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('x', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('x', 3));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('x', 4));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(formAnimName('x', 5));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(formAnimName('b', -1));
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites(formAnimName('h', -1));
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(formAnimName('m', -1));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(formAnimName('t', -1));
- _globals._spriteIndexes[10] = _scene->_sprites.addSprites(formAnimName('r', -1));
- _globals._spriteIndexes[11] = _scene->_sprites.addSprites(formAnimName('c', -1));
+ _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('x', 2));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 3));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('x', 4));
+ _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('x', 5));
+ _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('b', -1));
+ _globals._spriteIndexes[7] = _scene->_sprites.addSprites(kernel_name('h', -1));
+ _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('m', -1));
+ _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('t', -1));
+ _globals._spriteIndexes[10] = _scene->_sprites.addSprites(kernel_name('r', -1));
+ _globals._spriteIndexes[11] = _scene->_sprites.addSprites(kernel_name('c', -1));
_globals._spriteIndexes[12] = _scene->_sprites.addSprites("*RXMBD_2");
_globals._spriteIndexes[13] = _scene->_sprites.addSprites("*RXMRD_3");
_globals._spriteIndexes[15] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 7, 0, 1, 0);
@@ -71,15 +71,15 @@ static void room_103_init() {
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 6);
_globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 6);
- if (_game._objects.isInRoom(OBJ_TIMER_MODULE))
+ if (object_is_here(OBJ_TIMER_MODULE))
_globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 6);
else
- _game->_scene._hotspots.activate(371, false);
+ _scene._hotspots.activate(371, false);
- if (_game._objects.isInRoom(OBJ_REBREATHER))
+ if (object_is_here(OBJ_REBREATHER))
_globals._sequenceIndexes[10] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[10], false, 6);
else
- _game->_scene._hotspots.activate(289, false);
+ _scene._hotspots.activate(289, false);
if (_globals[kTurkeyExploded]) {
_globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6);
@@ -87,21 +87,23 @@ static void room_103_init() {
_scene->_hotspots.activate(362, false);
}
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(237, 74);
+ if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 237;
+ player.y = 74;
+ }
if (_scene->_priorSceneId == 102) {
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
_globals._sequenceIndexes[6] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[6], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
}
section_1_music();
- _game->loadQuoteSet(70, 51, 71, 7, 73, 0);
+ kernel.quotes = quote_load(70, 51, 71, 7, 73, 0);
- if (!_game._visitedScenes._sceneRevisited) {
- int msgIndex = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(70));
+ if (!player.been_here_before) {
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 70));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
}
@@ -114,14 +116,14 @@ static void room_103_init() {
}
static void room_103_daemon() {
- switch (_game->_trigger) {
+ switch (kernel.trigger) {
case 70:
- _game->_player._stepEnabled = true;
+ player.commands_allowed = true;
break;
case 72:
{
- Common::Point pt = _game->_player._playerPos;
+ Common::Point pt = Common::Point(player.x, player.y);
int dist = Math::hypotenuse(pt.x - 58, pt.y - 93);
g_engine->_soundManager->command(27, (dist * -128 / 378) + 127);
}
@@ -129,7 +131,7 @@ static void room_103_daemon() {
case 73:
{
- Common::Point pt = _game->_player._playerPos;
+ Common::Point pt = Common::Point(player.x, player.y);
int dist = Math::hypotenuse(pt.x - 266, pt.y - 81);
g_engine->_soundManager->command(27, (dist * -127 / 378) + 127);
}
@@ -140,19 +142,19 @@ static void room_103_daemon() {
}
if (_scene->_frameStartTime >= local._updateClock) {
- Common::Point pt = _game->_player._playerPos;
+ Common::Point pt = Common::Point(player.x, player.y);
int dist = Math::hypotenuse(pt.x - 79, pt.y - 137);
g_engine->_soundManager->command(29, (dist * -127 / 378) + 127);
- pt = _game->_player._playerPos;
+ pt = Common::Point(player.x, player.y);
dist = Math::hypotenuse(pt.x - 69, pt.y - 80);
g_engine->_soundManager->command(30, (dist * -127 / 378) + 127);
- pt = _game->_player._playerPos;
+ pt = Common::Point(player.x, player.y);
dist = Math::hypotenuse(pt.x - 266, pt.y - 138);
g_engine->_soundManager->command(32, (dist * -127 / 378) + 127);
- local._updateClock = _scene->_frameStartTime + _game->_player._ticksAmount;
+ local._updateClock = _scene->_frameStartTime + player.frame_delay;
}
}
@@ -164,33 +166,33 @@ static void room_103_parser() {
if (_action._savedFields._lookFlag)
text_show(10322);
else if (player_said_2(walk_through, door)) {
- switch (_game->_trigger) {
+ switch (kernel.trigger) {
case 0:
_globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 6, 1);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
break;
case 1:
g_engine->_soundManager->command(1, 0);
_scene->_nextSceneId = 102;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
break;
default:
break;
}
- } else if (player_said_2(take, timer_module) && _game._objects.isInRoom(OBJ_TIMER_MODULE)) {
- switch (_game->_trigger) {
+ } else if (player_said_2(take, timer_module) && object_is_here(OBJ_TIMER_MODULE)) {
+ switch (kernel.trigger) {
case 0:
_scene->changeVariant(1);
_globals._sequenceIndexes[13] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[13], false, 3, 2);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[13]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_SPRITE, 7, 1);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
- _game->_player._visible = false;
- _game->_player._stepEnabled = false;
+ player.walker_visible = false;
+ player.commands_allowed = false;
break;
case 1:
@@ -199,27 +201,27 @@ static void room_103_parser() {
case 2:
g_engine->_soundManager->command(22, 0);
- _game._objects.addToInventory(OBJ_TIMER_MODULE);
+ inter_give_to_player(OBJ_TIMER_MODULE);
_scene->changeVariant(0);
_scene->drawElements(kTransitionNone, false);
_scene->_hotspots.activate(371, false);
- _game->_player._visible = true;
- _game->_player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
object_examine(OBJ_TIMER_MODULE, 805, 0);
break;
default:
break;
}
- } else if (player_said_2(take, rebreather) && _game._objects.isInRoom(OBJ_REBREATHER)) {
- switch (_game->_trigger) {
+ } else if (player_said_2(take, rebreather) && object_is_here(OBJ_REBREATHER)) {
+ switch (kernel.trigger) {
case 0:
_globals._sequenceIndexes[12] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[12], false, 3, 2);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[12]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[12], SEQUENCE_TRIGGER_SPRITE, 6, 1);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
- _game->_player._visible = false;
- _game->_player._stepEnabled = false;
+ player.walker_visible = false;
+ player.commands_allowed = false;
break;
case 1:
@@ -228,10 +230,10 @@ static void room_103_parser() {
case 2:
g_engine->_soundManager->command(22, 0);
- _game._objects.addToInventory(OBJ_REBREATHER);
+ inter_give_to_player(OBJ_REBREATHER);
_scene->_hotspots.activate(289, false);
- _game->_player._visible = true;
- _game->_player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
object_examine(OBJ_REBREATHER, 804, 0);
break;
@@ -242,19 +244,19 @@ static void room_103_parser() {
text_show(10301);
else if (player_said_2(take, tasty_turkey)) {
// Take Turkey
- if (!_game->_trigger)
+ if (!kernel.trigger)
g_engine->_soundManager->command(31, 0);
- if (_game->_trigger < 2) {
- _globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6, _game->_trigger < 1 ? 1 : 0);
- if (_game->_trigger) {
+ if (kernel.trigger < 2) {
+ _globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6, kernel.trigger < 1 ? 1 : 0);
+ if (kernel.trigger) {
// Lock the turkey into a permanent "exploded" frame
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[9], -2, -2);
// Rex says "Gads.."
- const char *msg = _game.getQuote(51);
+ const char *msg = quote_string(kernel.quotes, 51);
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 18, 0, 60, msg);
- _scene->_sequences.addTimer(120, _game->_trigger + 1);
+ _scene->_sequences.addTimer(120, kernel.trigger + 1);
} else {
// Initial turky explosion
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
@@ -262,10 +264,10 @@ static void room_103_parser() {
}
// Re-enable player if sequence is ended, and set global flag
- _game._player._stepEnabled = _game._trigger == 2;
+ player.commands_allowed = kernel.trigger == 2;
_globals[kTurkeyExploded] = -1;
- if (_game._trigger == 2) {
+ if (kernel.trigger == 2) {
// Show exposition dialog at end of sequence
text_show(10302);
_scene->_hotspots.activate(362, false);
@@ -273,18 +275,18 @@ static void room_103_parser() {
} else if (player_said_2(look, oven))
text_show(!_globals[kTurkeyExploded] ? 10323 : 10303);
else if (player_said_2(talkto, auxiliary_power)) {
- switch (_game->_trigger) {
+ switch (kernel.trigger) {
case 0:
{
- _game._player._stepEnabled = false;
- const char *msg = _game.getQuote(71);
+ player.commands_allowed = false;
+ const char *msg = quote_string(kernel.quotes, 71);
_scene->_kernelMessages.add(Common::Point(), 0x1110, 18, 1, 120, msg);
break;
}
case 1:
{
- const char *msg = _game.getQuote(72);
+ const char *msg = quote_string(kernel.quotes, 72);
_scene->_kernelMessages.add(Common::Point(310, 132), 0xFDFC, 16, 2, 120, msg);
break;
}
@@ -295,7 +297,7 @@ static void room_103_parser() {
break;
case 3:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
text_show(10306);
break;
@@ -326,14 +328,14 @@ static void room_103_parser() {
text_show(10317);
else if (player_said_2(look, engineering_controls))
text_show(10318);
- else if (player_said_2(look, rebreather) && _game._objects.isInInventory(OBJ_REBREATHER))
+ else if (player_said_2(look, rebreather) && player_has(OBJ_REBREATHER))
text_show(10319);
- else if (player_said_2(look, timer_module) && _game._objects.isInInventory(OBJ_TIMER_MODULE))
+ else if (player_said_2(look, timer_module) && player_has(OBJ_TIMER_MODULE))
text_show(10320);
else if (player_said_2(look, floor))
text_show(10321);
else if (player_said_2(look, workbench))
- text_show(_game._objects.isInInventory(OBJ_TIMER_MODULE) ? 10324 : 10325);
+ text_show(player_has(OBJ_TIMER_MODULE) ? 10324 : 10325);
else
return;
@@ -345,7 +347,7 @@ void room_103_error() {
text_show(10305);
_action._inProgress = false;
} else if (player_said_3(put, coal, furnace)) {
- const char *msg = _game.getQuote(73);
+ const char *msg = quote_string(kernel.quotes, 73);
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, msg);
_action._inProgress = false;
}
@@ -364,7 +366,7 @@ void room_103_preload() {
room_daemon_code_pointer = room_103_daemon;
room_error_code_pointer = room_103_error;
- anim_himem_preload(formAnimName('A', -1), 3);
+ anim_himem_preload(kernel_name('A', -1), 3);
section_1_walker();
section_1_interface();
diff --git a/engines/mads/nebular/rooms/room104.cpp b/engines/mads/nebular/rooms/room104.cpp
index 722e66c8b3c..020f0d2dc6e 100644
--- a/engines/mads/nebular/rooms/room104.cpp
+++ b/engines/mads/nebular/rooms/room104.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/quote.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -39,21 +40,24 @@ struct Scratch {
static Scratch local;
static void room_104_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('h', -1));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('h', -1));
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 14, 0, 0, 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 8);
- if (_scene->_priorSceneId == 105)
- _game._player._playerPos = Common::Point(302, 107);
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(160, 134);
+ if (_scene->_priorSceneId == 105) {
+ player.x = 302;
+ player.y = 107;
+ } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 160;
+ player.y = 134;
+ }
local._loseFl = false;
- _game.loadQuoteSet(0x35, 0x34, 0);
+ kernel.quotes = quote_load(0x35, 0x34, 0);
local._kargShootingFl = false;
if (g_engine->getRandomNumber(1, 3) == 1) {
- _scene->loadAnimation(Resources::formatName(104, 'B', -1, EXT_AA, ""), 0);
+ _scene->loadAnimation(kernel_full_name(104, 'B', -1, "", EXT_AA), 0);
local._kargShootingFl = true;
}
@@ -61,31 +65,31 @@ static void room_104_init() {
}
static void room_104_daemon() {
- if ((_game._player._playerPos == Common::Point(189, 70)) && (_game._trigger || !local._loseFl)) {
- if (_game._player._facing == FACING_SOUTHWEST || _game._player._facing == FACING_SOUTHEAST)
- _game._player._facing = FACING_SOUTH;
+ if ((Common::Point(player.x, player.y) == Common::Point(189, 70)) && (kernel.trigger || !local._loseFl)) {
+ if (player.facing == FACING_SOUTHWEST || player.facing == FACING_SOUTHEAST)
+ player.facing = FACING_SOUTH;
- if (_game._player._facing == FACING_NORTHWEST || _game._player._facing == FACING_NORTHEAST)
- _game._player._facing = FACING_NORTH;
+ if (player.facing == FACING_NORTHWEST || player.facing == FACING_NORTHEAST)
+ player.facing = FACING_NORTH;
bool mirrorFl = false;
- if (_game._player._facing == FACING_WEST) {
- _game._player._facing = FACING_EAST;
+ if (player.facing == FACING_WEST) {
+ player.facing = FACING_EAST;
mirrorFl = true;
}
local._loseFl = true;
- switch (_game._player._facing) {
+ switch (player.facing) {
case FACING_EAST:
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
_scene->_kernelMessages.reset();
_scene->freeAnimation();
_scene->resetScene();
- _game._player._stepEnabled = false;
- _game._player._visible = false;
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('a', 0));
+ player.commands_allowed = false;
+ player.walker_visible = false;
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('a', 0));
kernel_new_palette();
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], mirrorFl, 7, 1, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(198, 143));
@@ -111,14 +115,14 @@ static void room_104_daemon() {
break;
case FACING_SOUTH:
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
_scene->_kernelMessages.reset();
_scene->freeAnimation();
_scene->resetScene();
- _game._player._stepEnabled = false;
- _game._player._visible = false;
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('a', 1));
+ player.commands_allowed = false;
+ player.walker_visible = false;
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('a', 1));
kernel_new_palette();
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 1, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[3], Common::Point(198, 143));
@@ -153,20 +157,20 @@ static void room_104_daemon() {
break;
case FACING_NORTH:
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
_scene->_kernelMessages.reset();
_scene->freeAnimation();
_scene->resetScene();
- _game._player._stepEnabled = false;
- _game._player._visible = false;
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('a', 2));
+ player.commands_allowed = false;
+ player.walker_visible = false;
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('a', 2));
kernel_new_palette();
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 8, 1, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(198, 143));
_scene->_sequences.setDepth(_globals._sequenceIndexes[4], 4);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- if (_game._storyMode >= STORYMODE_NICE)
+ if (config_file.naughtiness >= STORYMODE_NICE)
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_SPRITE, 15, 2);
break;
@@ -190,31 +194,31 @@ static void room_104_daemon() {
break;
}
- if (!_game._trigger)
+ if (!kernel.trigger)
g_engine->_soundManager->command(34, 0);
}
- if (_game._player._moving && (_scene->_rails.getNext() > 0)) {
- _game._player.cancelCommand();
- _game._player.startWalking(Common::Point(189, 70), FACING_NONE);
+ if (player.walking && (_scene->_rails.getNext() > 0)) {
+ player_cancel_command();
+ player_start_walking(189, 70, FACING_NONE);
_scene->_rails.resetNext();
}
- if ((_game._player._special > 0) && _game._player._stepEnabled)
- _game._player._stepEnabled = false;
+ if ((player.special_code > 0) && player.commands_allowed)
+ player.commands_allowed = false;
if (local._kargShootingFl && (_scene->_animation[0]->getCurrentFrame() >= 19)) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(52));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 52));
local._kargShootingFl = false;
}
}
static void room_104_pre_parser() {
if (player_said_2(swim_towards, eastern_cliff_face))
- _game._player._walkOffScreenSceneId = 105;
+ player.walk_off_edge_to_room = 105;
if (player_said_2(swim_towards, open_area_to_south))
- _game._player._walkOffScreenSceneId = 106;
+ player.walk_off_edge_to_room = 106;
}
static void room_104_parser() {
@@ -245,7 +249,7 @@ void room_104_preload() {
room_parser_code_pointer = room_104_parser;
room_daemon_code_pointer = room_104_daemon;
- anim_himem_preload(formAnimName('A', -1), 3);
+ anim_himem_preload(kernel_name('A', -1), 3);
section_1_walker();
section_1_interface();
diff --git a/engines/mads/nebular/rooms/room105.cpp b/engines/mads/nebular/rooms/room105.cpp
index 588bf240f9a..4b4a2b432b0 100644
--- a/engines/mads/nebular/rooms/room105.cpp
+++ b/engines/mads/nebular/rooms/room105.cpp
@@ -39,8 +39,8 @@ static Scratch local;
static void room_105_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('m', 1));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('f', 4));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('m', 1));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('f', 4));
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 8, 0, 0, 0);
if (_globals[kFishIn105]) {
@@ -51,30 +51,34 @@ static void room_105_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(56, 141), FACING_NORTHWEST);
}
- if (_scene->_priorSceneId == 104)
- _game._player._playerPos = Common::Point(13, 97);
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(116, 147);
+ if (_scene->_priorSceneId == 104) {
+ player.x = 13;
+ player.y = 97;
+ }
+ else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 116;
+ player.y = 147;
+ }
- _game.loadQuoteSet(0x4A, 0x4B, 0x4C, 0x35, 0x34, 0);
+ kernel.quotes = quote_load(0x4A, 0x4B, 0x4C, 0x35, 0x34, 0);
local._explosionFl = false;
section_1_music();
}
static void room_105_daemon() {
- if ((_game._player._playerPos == Common::Point(170, 87)) && (_game._trigger || !local._explosionFl)) {
+ if ((Common::Point(player.x, player.y) == Common::Point(170, 87)) && (kernel.trigger || !local._explosionFl)) {
local._explosionFl = true;
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
_scene->_kernelMessages.reset();
_scene->resetScene();
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(formAnimName('m', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('m', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('m', 3));
+ _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('m', 0));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('m', 2));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('m', 3));
g_engine->_soundManager->command(33, 0);
_scene->clearSequenceList();
kernel_new_palette();
@@ -83,7 +87,7 @@ static void room_105_daemon() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[0], 8);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- if (_game._storyMode >= STORYMODE_NICE)
+ if (config_file.naughtiness >= STORYMODE_NICE)
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_SPRITE, 8, 3);
break;
@@ -119,38 +123,38 @@ static void room_105_daemon() {
}
}
- if (_game._player._moving && (_scene->_rails.getNext() > 0)) {
- _game._player.cancelCommand();
- _game._player.startWalking(Common::Point(170, 87), FACING_NONE);
+ if (player.walking && (_scene->_rails.getNext() > 0)) {
+ player_cancel_command();
+ player_start_walking(170, 87, FACING_NONE);
_scene->_rails.resetNext();
}
- if ((_game._player._special > 0) && _game._player._stepEnabled)
- _game._player._stepEnabled = false;
+ if ((player.special_code > 0) && player.commands_allowed)
+ player.commands_allowed = false;
}
static void room_105_pre_parser() {
if (player_said_2(swim_towards, western_cliff_face))
- _game._player._walkOffScreenSceneId = 104;
+ player.walk_off_edge_to_room = 104;
if (player_said_2(swim_towards, open_area_to_south))
- _game._player._walkOffScreenSceneId = 107;
+ player.walk_off_edge_to_room = 107;
if (player_said_1(mine) && (player_said_1(talkto) || player_said_1(look)))
- _game._player._needToWalk = false;
+ player.need_to_walk = false;
}
static void room_105_parser() {
if (_action._lookFlag)
text_show(10512);
else if (player_said_2(take, dead_fish) && _globals[kFishIn105]) {
- if (_game._objects.isInInventory(OBJ_DEAD_FISH)) {
+ if (player_has(OBJ_DEAD_FISH)) {
int randVal = g_engine->getRandomNumber(74, 76);
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(randVal));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, randVal));
} else {
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _game._objects.addToInventory(OBJ_DEAD_FISH);
+ inter_give_to_player(OBJ_DEAD_FISH);
_globals[kFishIn105] = false;
object_examine(OBJ_DEAD_FISH, 802, 0);
}
@@ -190,7 +194,7 @@ void room_105_preload() {
room_parser_code_pointer = room_105_parser;
room_daemon_code_pointer = room_105_daemon;
- anim_himem_preload(formAnimName('A', -1), 3);
+ anim_himem_preload(kernel_name('A', -1), 3);
section_1_walker();
section_1_interface();
diff --git a/engines/mads/nebular/rooms/room106.cpp b/engines/mads/nebular/rooms/room106.cpp
index 6b3e1d18791..b197000de7e 100644
--- a/engines/mads/nebular/rooms/room106.cpp
+++ b/engines/mads/nebular/rooms/room106.cpp
@@ -42,38 +42,42 @@ static Scratch local;
static void room_106_init() {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(formAnimName('H', -1));
+ _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('H', -1));
- if (_game._objects.isInInventory(OBJ_REBREATHER) || (_scene->_priorSceneId != 102) || _scene->_roomChanged) {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('A', 0));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('A', 1));
+ if (player_has(OBJ_REBREATHER) || (_scene->_priorSceneId != 102) || _scene->_roomChanged) {
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('A', 0));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('A', 1));
}
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('G', -1));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('G', -1));
_globals._sequenceIndexes[2] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[2], false, 21, 0, 0, 0);
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('I', -1));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('I', -1));
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 6, 0, 32, 47);
if (_scene->_priorSceneId == 102) {
_globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 6, 1, 4, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
- _game._player._visible = false;
- _game._player._stepEnabled = false;
- _game._player._facing = FACING_EAST;
- _game._player._playerPos = Common::Point(106, 69);
+ player.walker_visible = false;
+ player.commands_allowed = false;
+ player.facing = FACING_EAST;
+ player.x = 106;
+ player.y = 69;
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
if (_scene->_priorSceneId == 107) {
- _game._player._playerPos = Common::Point(319, 84);
- _game._player._facing = _game._player._prepareWalkFacing = FACING_WEST;
+ player.x = 319;
+ player.y = 84;
+ player.facing = player.prepare_walk_facing = FACING_WEST;
} else {
- _game._player._playerPos = Common::Point(319, 44);
- _game._player._facing = _game._player._prepareWalkFacing = FACING_SOUTHWEST;
- _scene->_sprites[_game._player._spritesStart + 3]->_charInfo->_velocity = 24;
+ player.x = 319;
+ player.y = 44;
+ player.facing = player.prepare_walk_facing = FACING_SOUTHWEST;
+ _scene->_sprites[player.series_base + 3]->_charInfo->_velocity = 24;
}
- _game._player._prepareWalkPos = Common::Point(246, 69);
- _game._player._needToWalk = true;
- _game._player._readyToWalk = true;
+ player.prepare_walk_x = 246;
+ player.prepare_walk_y = 69;
+ player.need_to_walk = true;
+ player.ready_to_walk = true;
}
if (_scene->_priorSceneId != 102) {
@@ -86,47 +90,48 @@ static void room_106_init() {
local._shadowFl = false;
local._firstEmergingFl = false;
- _game.loadQuoteSet(0x31, 0x32, 0x34, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0);
+ kernel.quotes = quote_load(0x31, 0x32, 0x34, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0);
section_1_music();
}
static void room_106_daemon() {
- if (_game._trigger == 70) {
+ if (kernel.trigger == 70) {
_globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 6, 0, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[0], -2, -2);
_scene->_sequences.setDepth(_globals._sequenceIndexes[0], 14);
- if (!_game._objects.isInInventory(OBJ_REBREATHER) && !_scene->_roomChanged) {
- _scene->loadAnimation(Resources::formatName(106, 'A', -1, EXT_AA, ""), 75);
+ if (!player_has(OBJ_REBREATHER) && !_scene->_roomChanged) {
+ _scene->loadAnimation(kernel_full_name(106, 'A', -1, "", EXT_AA), 75);
} else {
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 4, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_SPRITE, 28, 71);
}
}
- if (_game._trigger == 71) {
- _game._player._prepareWalkPos = Common::Point(246, 69);
- _game._player._prepareWalkFacing = FACING_EAST;
- _game._player._needToWalk = true;
- _game._player._readyToWalk = true;
- _game._player._visible = true;
+ if (kernel.trigger == 71) {
+ player.prepare_walk_x = 246;
+ player.prepare_walk_y = 69;
+ player.prepare_walk_facing = FACING_EAST;
+ player.need_to_walk = true;
+ player.ready_to_walk = true;
+ player.walker_visible = true;
- if (_game._visitedScenes._sceneRevisited) {
- _game._player._stepEnabled = true;
+ if (player.been_here_before) {
+ player.commands_allowed = true;
} else {
- _game._player._prepareWalkFacing = FACING_SOUTHWEST;
+ player.prepare_walk_facing = FACING_SOUTHWEST;
local._firstEmergingFl = true;
- _scene->loadAnimation(Resources::formatName(106, 'B', -1, EXT_AA, ""), 80);
+ _scene->loadAnimation(kernel_full_name(106, 'B', -1, "", EXT_AA), 80);
}
}
if (local._firstEmergingFl && (_scene->_animation[0]->getCurrentFrame() >= 19)) {
local._firstEmergingFl = false;
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(52));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 52));
}
- if ((_game._trigger >= 80) && (_game._trigger <= 87)) {
- int tmpVal = _game._trigger - 80;
+ if ((kernel.trigger >= 80) && (kernel.trigger <= 87)) {
+ int tmpVal = kernel.trigger - 80;
int msgId = -1;
switch (tmpVal) {
case 0:
@@ -148,13 +153,13 @@ static void room_106_daemon() {
default:
msgId = -1;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
break;
}
if (msgId >= 0) {
- int nextTrigger = _game._trigger + 1;
- _scene->_kernelMessages.add(Common::Point(15, local._positionY), 0x1110, 0, 0, 360, _game.getQuote(msgId));
+ int nextTrigger = kernel.trigger + 1;
+ _scene->_kernelMessages.add(Common::Point(15, local._positionY), 0x1110, 0, 0, 360, quote_string(kernel.quotes, msgId));
_scene->_sequences.addTimer(150, nextTrigger);
local._positionY += 14;
}
@@ -162,47 +167,48 @@ static void room_106_daemon() {
if (local._backToShipFl) {
if (!local._shadowFl) {
- if (_game._player._playerPos.x < 204) {
+ if (player.x < 204) {
local._shadowFl = true;
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 4, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_SPRITE, 44, 73);
}
- } else if (_game._trigger == 73)
- _game._player._visible = false;
- else if (_game._trigger == 72)
+ } else if (kernel.trigger == 73)
+ player.walker_visible = false;
+ else if (kernel.trigger == 72)
_scene->_sequences.addTimer(24, 74);
- else if (_game._trigger == 74)
+ else if (kernel.trigger == 74)
_scene->_nextSceneId = 102;
}
- if (_game._trigger == 75) {
- _game._visitedScenes.pop_back();
+ if (kernel.trigger == 75) {
+ player_undiscover_room();
_scene->_nextSceneId = 102;
}
}
static void room_106_pre_parser() {
if (player_said_2(swim_towards, sea_cliff) || player_said_2(swim_towards, seaweed_bank)) {
- _game._player._stepEnabled = false;
- _scene->_sprites[_game._player._spritesStart + 1]->_charInfo->_velocity = 24;
- _game._player._walkOffScreenSceneId = 104;
+ player.commands_allowed = false;
+ _scene->_sprites[player.series_base + 1]->_charInfo->_velocity = 24;
+ player.walk_off_edge_to_room = 104;
}
if (player_said_2(swim_towards, open_area_to_east))
- _game._player._walkOffScreenSceneId = 107;
+ player.walk_off_edge_to_room = 107;
}
static void room_106_parser() {
if (_action._lookFlag)
text_show(10614);
else if (player_said_2(swim_to, main_airlock)) {
- _game._player._stepEnabled = false;
- _game._player._prepareWalkPos = Common::Point(95, 72);
- _game._player._prepareWalkFacing = FACING_WEST;
- _game._player._needToWalk = true;
- _game._player._readyToWalk = true;
- _game._player._frameNumber = 9;
+ player.commands_allowed = false;
+ player.prepare_walk_x = 95;
+ player.prepare_walk_y = 72;
+ player.prepare_walk_facing = FACING_WEST;
+ player.need_to_walk = true;
+ player.ready_to_walk = true;
+ player.sprite = 9;
local._backToShipFl = true;
} else if (player_said_2(look, anemone) || player_said_2(look_at, anemone))
text_show(10601);
@@ -252,7 +258,7 @@ void room_106_preload() {
section_1_walker();
section_1_interface();
- if ((_scene->_priorSceneId == 102) && !_game._objects.isInInventory(OBJ_REBREATHER) && !_scene->_roomChanged)
+ if ((_scene->_priorSceneId == 102) && !player_has(OBJ_REBREATHER) && !_scene->_roomChanged)
*player.series_name = '\0';
text_default_y = 100;
diff --git a/engines/mads/nebular/rooms/room107.cpp b/engines/mads/nebular/rooms/room107.cpp
index ecd301b4974..9600754a545 100644
--- a/engines/mads/nebular/rooms/room107.cpp
+++ b/engines/mads/nebular/rooms/room107.cpp
@@ -40,9 +40,9 @@ static Scratch local;
static void room_107_init() {
for (int i = 0; i < 3; i++)
- _globals._spriteIndexes[i + 1] = _scene->_sprites.addSprites(formAnimName('G', i));
+ _globals._spriteIndexes[i + 1] = _scene->_sprites.addSprites(kernel_name('G', i));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(Resources::formatName(105, 'f', 4, EXT_SS, ""));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_full_name(105, 'f', 4, "", EXT_SS));
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 14, 0, 0, 7);
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 17, 0, 0, 13);
@@ -59,15 +59,21 @@ static void room_107_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(78, 135), FACING_SOUTHWEST);
}
- if (_scene->_priorSceneId == 105)
- _game._player._playerPos = Common::Point(132, 47);
- else if (_scene->_priorSceneId == 106)
- _game._player._playerPos = Common::Point(20, 91);
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(223, 151);
+ if (_scene->_priorSceneId == 105) {
+ player.x = 132;
+ player.y = 47;
+ }
+ else if (_scene->_priorSceneId == 106) {
+ player.x = 20;
+ player.y = 91;
+ }
+ else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 223;
+ player.y = 151;
+ }
if (((_scene->_priorSceneId == 105) || (_scene->_priorSceneId == 106)) && (g_engine->getRandomNumber(1, 3) == 1)) {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(Resources::formatName(105, 'R', 1, EXT_SS, ""));
+ _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_full_name(105, 'R', 1, "", EXT_SS));
_globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], true, 4, 0, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[0], Common::Point(270, 150));
_scene->_sequences.setMotion(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_SPRITE, -200, 0);
@@ -75,11 +81,11 @@ static void room_107_init() {
_scene->_dynamicHotspots.add(words_manta_ray, words_swim_to, _globals._sequenceIndexes[0], Common::Rect(0, 0, 0, 0));
}
- _game.loadQuoteSet(0x4A, 0x4B, 0x4C, 0x35, 0x34, 0);
+ kernel.quotes = quote_load(0x4A, 0x4B, 0x4C, 0x35, 0x34, 0);
local._shootingFl = false;
if (g_engine->getRandomNumber(1, 3) == 1) {
- _scene->loadAnimation(Resources::formatName(107, 'B', -1, EXT_AA, ""), 0);
+ _scene->loadAnimation(kernel_full_name(107, 'B', -1, "", EXT_AA), 0);
local._shootingFl = true;
}
@@ -88,30 +94,30 @@ static void room_107_init() {
static void room_107_daemon() {
if (local._shootingFl && (_scene->_animation[0]->getCurrentFrame() >= 19)) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(52));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 52));
local._shootingFl = false;
}
}
static void room_107_pre_parser() {
if (player_said_2(swim_towards, open_area_to_west))
- _game._player._walkOffScreenSceneId = 106;
+ player.walk_off_edge_to_room = 106;
if (player_said_2(swim_towards, open_area_to_south))
- _game._player._walkOffScreenSceneId = 108;
+ player.walk_off_edge_to_room = 108;
}
static void room_107_parser() {
if (_action._lookFlag)
text_show(10708);
else if (player_said_2(take, dead_fish) && _globals[kFishIn107]) {
- if (_game._objects.isInInventory(OBJ_DEAD_FISH)) {
+ if (player_has(OBJ_DEAD_FISH)) {
int randVal = g_engine->getRandomNumber(74, 76);
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(randVal));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, randVal));
} else {
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _game._objects.addToInventory(OBJ_DEAD_FISH);
+ inter_give_to_player(OBJ_DEAD_FISH);
_globals[kFishIn107] = false;
object_examine(OBJ_DEAD_FISH, 802, 0);
}
diff --git a/engines/mads/nebular/rooms/room108.cpp b/engines/mads/nebular/rooms/room108.cpp
index 9dfb53ee329..ed1044d6ae0 100644
--- a/engines/mads/nebular/rooms/room108.cpp
+++ b/engines/mads/nebular/rooms/room108.cpp
@@ -35,11 +35,11 @@ static void room_108_init() {
if (_globals[kHoovicSated] == 2)
_globals[kHoovicSated] = 0;
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(formAnimName('X', 0));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('X', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('X', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('X', 3));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(Resources::formatName(105, 'f', 4, EXT_SS, ""));
+ _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('X', 3));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_full_name(105, 'f', 4, "", EXT_SS));
_globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 13, 0, 0, 7);
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 16, 0, 0, 9);
@@ -56,12 +56,16 @@ static void room_108_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(41, 109), FACING_NORTHWEST);
}
- if (_scene->_priorSceneId == 107)
- _game._player._playerPos = Common::Point(138, 58);
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(305, 98);
+ if (_scene->_priorSceneId == 107) {
+ player.x = 138;
+ player.y = 58;
+ }
+ else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 305;
+ player.y = 98;
+ }
- _game.loadQuoteSet(0x4A, 0x4B, 0x4C, 0x35, 0x34, 0);
+ kernel.quotes = quote_load(0x4A, 0x4B, 0x4C, 0x35, 0x34, 0);
section_1_music();
}
@@ -71,20 +75,20 @@ static void room_108_daemon() {
static void room_108_pre_parser() {
if (player_said_2(swim_under, overhang_to_east))
- _game._player._walkOffScreenSceneId = 109;
+ player.walk_off_edge_to_room = 109;
}
static void room_108_parser() {
if (_action._lookFlag)
text_show(10812);
else if (player_said_2(take, dead_fish) && _globals[kFishIn108]) {
- if (_game._objects.isInInventory(OBJ_DEAD_FISH)) {
+ if (player_has(OBJ_DEAD_FISH)) {
int randVal = g_engine->getRandomNumber(74, 76);
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(randVal));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, randVal));
} else {
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _game._objects.addToInventory(OBJ_DEAD_FISH);
+ inter_give_to_player(OBJ_DEAD_FISH);
_globals[kFishIn108] = false;
object_examine(OBJ_DEAD_FISH, 10808, 0);
}
diff --git a/engines/mads/nebular/rooms/room109.cpp b/engines/mads/nebular/rooms/room109.cpp
index 679ce96a5d8..84b0fe80e4e 100644
--- a/engines/mads/nebular/rooms/room109.cpp
+++ b/engines/mads/nebular/rooms/room109.cpp
@@ -52,10 +52,10 @@ static void room_109_init() {
_globals[kFishIn105] = true;
_globals._spriteIndexes[0] = _scene->_sprites.addSprites("*RXSWRC_6");
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('O', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('O', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('O', 0));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(formAnimName('H', 4));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('O', 1));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('O', 2));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('O', 0));
+ _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('H', 4));
local._rexThrowingObject = false;
local._throwingObjectId = 0;
@@ -64,11 +64,13 @@ static void room_109_init() {
local._hungryFl = false;
if (_scene->_priorSceneId == 110) {
- _game._player._playerPos = Common::Point(248, 38);
+ player.x = 248;
+ player.y = 38;
_globals[kHoovicSated] = 2;
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(20, 68);
- _game._player._facing = FACING_EAST;
+ player.x = 20;
+ player.y = 68;
+ player.facing = FACING_EAST;
}
if (!_globals[kHoovicAlive]) {
@@ -87,35 +89,35 @@ static void room_109_init() {
if (!_globals[kHoovicAlive] || _globals[kHoovicSated])
_scene->changeVariant(1);
- if (_game._objects.isInRoom(OBJ_BURGER)) {
+ if (object_is_here(OBJ_BURGER)) {
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 0, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], -2, -2);
int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
} else if (_scene->_roomChanged)
- _game._objects.addToInventory(OBJ_BURGER);
+ inter_give_to_player(OBJ_BURGER);
if (_scene->_roomChanged) {
- _game._objects.addToInventory(OBJ_DEAD_FISH);
- _game._objects.addToInventory(OBJ_STUFFED_FISH);
+ inter_give_to_player(OBJ_DEAD_FISH);
+ inter_give_to_player(OBJ_STUFFED_FISH);
}
pal_change_color(252, 50, 50, 63);
pal_change_color(253, 30, 30, 50);
- _game.loadQuoteSet(0x53, 0x52, 0x54, 0x55, 0x56, 0x57, 0x58, 0);
- local._eatingFirstFish = (!_game._visitedScenes._sceneRevisited) && (_scene->_priorSceneId < 110);
+ kernel.quotes = quote_load(0x53, 0x52, 0x54, 0x55, 0x56, 0x57, 0x58, 0);
+ local._eatingFirstFish = (!player.been_here_before) && (_scene->_priorSceneId < 110);
if (local._eatingFirstFish) {
- _globals._spriteIndexes[10] = _scene->_sprites.addSprites(Resources::formatName(105, 'F', 1, EXT_SS, ""));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(formAnimName('H', 1));
+ _globals._spriteIndexes[10] = _scene->_sprites.addSprites(kernel_full_name(105, 'F', 1, "", EXT_SS));
+ _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('H', 1));
_globals._sequenceIndexes[10] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[10], true, 4, 0, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[10], 5);
_scene->_sequences.setPosition(_globals._sequenceIndexes[10], Common::Point(126, 39));
_scene->_sequences.setMotion(_globals._sequenceIndexes[10], 0, 200, 0);
_scene->_sequences.setScale(_globals._sequenceIndexes[10], 80);
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
}
section_1_music();
@@ -124,7 +126,7 @@ static void room_109_init() {
static void room_109_daemon() {
if (local._beforeEatingRex) {
if (!local._eatingRex) {
- if (_game._player._playerPos.x > 205) {
+ if (player.x > 205) {
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 6, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[4], 4);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_SPRITE, 6, 70);
@@ -134,9 +136,9 @@ static void room_109_daemon() {
g_engine->_soundManager->command(34, 0);
}
} else {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 70:
- _game._player._visible = false;
+ player.walker_visible = false;
break;
case 71:
@@ -149,19 +151,19 @@ static void room_109_daemon() {
}
}
- if (local._hungryFl && (_game._player._playerPos == Common::Point(160, 32)) && (_game._player._facing == FACING_EAST)) {
- _game._player.walk(Common::Point(226, 24), FACING_EAST);
- _game._player._stepEnabled = false;
+ if (local._hungryFl && (Common::Point(player.x, player.y) == Common::Point(160, 32)) && (player.facing == FACING_EAST)) {
+ player_walk(226, 24, FACING_EAST);
+ player.commands_allowed = false;
local._hungryFl = false;
local._beforeEatingRex = true;
_scene->_sprites.remove(_globals._spriteIndexes[6]);
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('H', 0));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('H', 0));
kernel_new_palette();
}
- if (_game._player._moving && (_scene->_rails.getNext() > 0) && _globals[kHoovicAlive] && !_globals[kHoovicSated] && !local._hungryFl && !local._beforeEatingRex) {
- _game._player.cancelCommand();
- _game._player.startWalking(Common::Point(160, 32), FACING_EAST);
+ if (player.walking && (_scene->_rails.getNext() > 0) && _globals[kHoovicAlive] && !_globals[kHoovicSated] && !local._hungryFl && !local._beforeEatingRex) {
+ player_cancel_command();
+ player_start_walking(160, 32, FACING_EAST);
_scene->_rails.resetNext();
local._hungryFl = true;
}
@@ -173,14 +175,14 @@ static void room_109_daemon() {
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[9], SEQUENCE_TRIGGER_EXPIRE, 29, 73);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[10], _globals._sequenceIndexes[9]);
local._eatingFirstFish = false;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
g_engine->_soundManager->command(34, 0);
}
- if (_game._trigger == 72)
+ if (kernel.trigger == 72)
_scene->_sequences.remove(_globals._sequenceIndexes[10]);
- if (_game._trigger == 73) {
+ if (kernel.trigger == 73) {
_scene->_sequences.remove(_globals._sequenceIndexes[9]);
_scene->_sprites.remove(_globals._spriteIndexes[9]);
_scene->_sprites.remove(_globals._spriteIndexes[10]);
@@ -189,7 +191,7 @@ static void room_109_daemon() {
_scene->_spriteSlots.fullRefresh();
int randVal = g_engine->getRandomNumber(85, 88);
- int idx = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(randVal));
+ int idx = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, randVal));
_scene->_kernelMessages.setQuoted(idx, 4, true);
_scene->_kernelMessages._entries[idx]._frameTimer = _scene->_frameStartTime + 4;
}
@@ -197,23 +199,24 @@ static void room_109_daemon() {
static void room_109_pre_parser() {
if (player_said_2(swim_under, overhang_to_west))
- _game._player._walkOffScreenSceneId = 108;
+ player.walk_off_edge_to_room = 108;
if ((player_said_1(throw) || player_said_1(give) || player_said_1(put))
&& (player_said_1(small_hole) || player_said_1(tunnel))
&& (player_said_1(dead_fish) || player_said_1(stuffed_fish) || player_said_1(burger))) {
- int idx = _game._objects.getIdFromDesc(_action._activeAction._objectNameId);
- if ((idx >= 0) && _game._objects.isInInventory(idx)) {
- _game._player._prepareWalkPos = Common::Point(106, 38);
- _game._player._prepareWalkFacing = FACING_EAST;
- _game._player._needToWalk = true;
- _game._player._readyToWalk = true;
+ int idx = object_named(_action._activeAction._objectNameId);
+ if ((idx >= 0) && player_has(idx)) {
+ player.prepare_walk_x = 106;
+ player.prepare_walk_y = 38;
+ player.prepare_walk_facing = FACING_EAST;
+ player.need_to_walk = true;
+ player.ready_to_walk = true;
}
}
if ((player_said_2(swim_into, tunnel) || player_said_2(swim_to, small_hole))
&& (!_globals[kHoovicAlive] || _globals[kHoovicSated]) && (player_said_1(tunnel)))
- _game._player._walkOffScreenSceneId = 110;
+ player.walk_off_edge_to_room = 110;
local._hungryFl = false;
}
@@ -227,29 +230,29 @@ static void room_109_parser() {
if ((player_said_1(throw) || player_said_1(give)) && (player_said_1(small_hole) || player_said_1(tunnel))) {
if (player_said_1(dead_fish) || player_said_1(stuffed_fish) || player_said_1(burger)) {
- local._throwingObjectId = _game._objects.getIdFromDesc(_action._activeAction._objectNameId);
+ local._throwingObjectId = object_named(_action._activeAction._objectNameId);
if (local._throwingObjectId >= 0) {
- if ((_game._objects.isInInventory(local._throwingObjectId) && _globals[kHoovicAlive]) || local._rexThrowingObject) {
- switch (_game._trigger) {
+ if ((player_has(local._throwingObjectId) && _globals[kHoovicAlive]) || local._rexThrowingObject) {
+ switch (kernel.trigger) {
case 0:
local._rexThrowingObject = true;
local._hoovicDifficultFl = false;
- _game._objects.setRoom(local._throwingObjectId, NOWHERE);
+ inter_move_object(local._throwingObjectId, NOWHERE);
_globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 4, 1, 0, 0);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[0]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _game._player._visible = false;
- _game._player._stepEnabled = false;
+ player.walker_visible = false;
+ player.commands_allowed = false;
switch (local._throwingObjectId) {
case OBJ_DEAD_FISH:
case OBJ_STUFFED_FISH:
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(formAnimName('H', 1));
+ _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('H', 1));
break;
case OBJ_BURGER:
- local._hoovicDifficultFl = (_game._difficulty == DIFFICULTY_HARD);
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(formAnimName('H', (local._hoovicDifficultFl ? 3 : 1)));
+ local._hoovicDifficultFl = (game.difficulty == DIFFICULTY_HARD);
+ _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('H', (local._hoovicDifficultFl ? 3 : 1)));
break;
default:
@@ -260,7 +263,7 @@ static void room_109_parser() {
break;
case 1:
- _game._player._visible = true;
+ player.walker_visible = true;
local._hoovicTrigger = 4;
switch (local._throwingObjectId) {
case OBJ_BURGER:
@@ -301,7 +304,7 @@ static void room_109_parser() {
break;
case 3:
- _scene->loadAnimation(Resources::formatName(109, 'H', 2, EXT_AA, ""), 4);
+ _scene->loadAnimation(kernel_full_name(109, 'H', 2, "", EXT_AA), 4);
g_engine->_soundManager->command(35, 0);
_globals[kHoovicAlive] = false;
break;
@@ -322,7 +325,7 @@ static void room_109_parser() {
if (local._throwingObjectId == OBJ_DEAD_FISH) {
++_globals[kHoovicFishEaten];
int threshold;
- switch (_game._difficulty) {
+ switch (game.difficulty) {
case DIFFICULTY_HARD:
threshold = 1;
break;
@@ -336,7 +339,7 @@ static void room_109_parser() {
if (_globals[kHoovicFishEaten] >= threshold) {
int randVal = g_engine->getRandomNumber(83, 84);
- _scene->_kernelMessages.add(Common::Point(230, 24), 0xFDFC, 0, 0, 120, _game.getQuote(randVal));
+ _scene->_kernelMessages.add(Common::Point(230, 24), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, randVal));
_globals[kHoovicFishEaten] = 0;
_globals[kHoovicSated] = 1;
_scene->changeVariant(1);
@@ -349,18 +352,18 @@ static void room_109_parser() {
_scene->_spriteSlots.clear();
_scene->_spriteSlots.fullRefresh();
_scene->_sequences.scan();
- if (_game._player._visible) {
- _game._player._forceRefresh = true;
- _game._player.update();
+ if (player.walker_visible) {
+ player.sprite_changed = true;
+ player_set_image();
}
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._rexThrowingObject = false;
break;
case 5:
{
- _game._objects.setRoom(OBJ_BURGER, _scene->_currentSceneId);
+ inter_move_object(OBJ_BURGER, _scene->_currentSceneId);
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 0, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 30, 30);
int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
@@ -400,16 +403,16 @@ static void room_109_parser() {
}
_action._inProgress = false;
return;
- } else if (_game._objects.isInInventory(local._throwingObjectId)) {
+ } else if (player_has(local._throwingObjectId)) {
// Nothing.
}
}
}
}
- if (player_said_2(take, burger) && _game._objects.isInRoom(OBJ_BURGER)) {
+ if (player_said_2(take, burger) && object_is_here(OBJ_BURGER)) {
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _game._objects.addToInventory(OBJ_BURGER);
+ inter_give_to_player(OBJ_BURGER);
} else if (player_said_2(look, ocean_floor))
text_show(10901);
else if (player_said_2(look, coral))
diff --git a/engines/mads/nebular/rooms/room110.cpp b/engines/mads/nebular/rooms/room110.cpp
index 5f89ba4dbfd..eaa065cc40e 100644
--- a/engines/mads/nebular/rooms/room110.cpp
+++ b/engines/mads/nebular/rooms/room110.cpp
@@ -39,16 +39,17 @@ static Scratch local;
static void room_110_init() {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(formAnimName('X', 0));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('X', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('X', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('X', 3));
+ _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('X', 3));
local._crabsFl = false;
if (_scene->_priorSceneId == 109) {
- _game._player._playerPos = Common::Point(59, 71);
- _game._player._facing = FACING_EAST;
+ player.x = 59;
+ player.y = 71;
+ player.facing = FACING_EAST;
_globals._sequenceIndexes[0] = _scene->_sequences.startCycle(_globals._spriteIndexes[0], false, 1);
_globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
@@ -66,30 +67,31 @@ static void room_110_init() {
idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(194, 23);
- _game._player._facing = FACING_SOUTH;
- _game._player._visible = false;
- _game._player._stepEnabled = false;
- _scene->loadAnimation(Resources::formatName(110, 'T', 1, EXT_AA, ""), 70);
+ player.x = 194;
+ player.y = 23;
+ player.facing = FACING_SOUTH;
+ player.walker_visible = false;
+ player.commands_allowed = false;
+ _scene->loadAnimation(kernel_full_name(110, 'T', 1, "", EXT_AA), 70);
}
section_1_music();
- _game.loadQuoteSet(89, 0);
+ kernel.quotes = quote_load(89, 0);
- if (!_game._visitedScenes._sceneRevisited && (_scene->_priorSceneId == 109))
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(89));
+ if (!player.been_here_before && (_scene->_priorSceneId == 109))
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 89));
}
static void room_110_daemon() {
- if (_game._trigger == 70) {
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ if (kernel.trigger == 70) {
+ player.walker_visible = true;
+ player.commands_allowed = true;
}
}
static void room_110_pre_parser() {
if (player_said_2(swim_through, cave_entrance))
- _game._player._walkOffScreenSceneId = 109;
+ player.walk_off_edge_to_room = 109;
if (local._crabsFl) {
local._crabsFl = false;
@@ -117,16 +119,16 @@ static void room_110_pre_parser() {
static void room_110_parser() {
if (player_said_2(swim_through, tunnel)) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _scene->loadAnimation(Resources::formatName(110, 'T', 0, EXT_AA, ""), 1);
- _scene->_animation[0]->setNextFrameTimer(_game._player._ticksAmount + _game._player._priorTimer);
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ _scene->loadAnimation(kernel_full_name(110, 'T', 0, "", EXT_AA), 1);
+ _scene->_animation[0]->setNextFrameTimer(player.frame_delay + player.clock);
+ player.commands_allowed = false;
+ player.walker_visible = false;
break;
case 1:
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
_scene->_nextSceneId = 111;
break;
default:
diff --git a/engines/mads/nebular/rooms/room111.cpp b/engines/mads/nebular/rooms/room111.cpp
index 05601f542b1..652f4fb5cde 100644
--- a/engines/mads/nebular/rooms/room111.cpp
+++ b/engines/mads/nebular/rooms/room111.cpp
@@ -42,13 +42,13 @@ static Scratch local;
static void room_111_init() {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(formAnimName('X', 0));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('X', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('X', 2));
+ _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('B', 0));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('B', 1));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(formAnimName('B', 2));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('B', 0));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('B', 1));
+ _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('B', 2));
_globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 8, 0, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_SPRITE, 9, 73);
@@ -73,19 +73,21 @@ static void room_111_init() {
local._stampedFl = false;
if ((_scene->_priorSceneId < 201) && (_scene->_priorSceneId != RETURNING_FROM_DIALOG)) {
- _game._player._stepEnabled = false;
- _game._player._visible = false;
- _scene->loadAnimation(Resources::formatName(111, 'A', 0, EXT_AA, ""), 70);
- _game._player._playerPos = Common::Point(234, 116);
- _game._player._facing = FACING_EAST;
+ player.commands_allowed = false;
+ player.walker_visible = false;
+ _scene->loadAnimation(kernel_full_name(111, 'A', 0, "", EXT_AA), 70);
+ player.x = 234;
+ player.y = 116;
+ player.facing = FACING_EAST;
local._launch1Fl = true;
local._launched2Fl = true;
g_engine->_soundManager->command(36, 0);
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(300, 130);
- _game._player._facing = FACING_WEST;
+ player.x = 300;
+ player.y = 130;
+ player.facing = FACING_WEST;
}
local._rexDivingFl = false;
@@ -94,20 +96,20 @@ static void room_111_init() {
}
static void room_111_daemon() {
- if (_game._trigger == 70) {
- _game._player._stepEnabled = true;
- _game._player._visible = true;
+ if (kernel.trigger == 70) {
+ player.commands_allowed = true;
+ player.walker_visible = true;
local._launch1Fl = false;
local._launched2Fl = false;
}
- if ((_game._trigger == 71) && !local._stampedFl) {
+ if ((kernel.trigger == 71) && !local._stampedFl) {
local._stampedFl = true;
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 18, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
}
- if (_game._trigger == 72) {
+ if (kernel.trigger == 72) {
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
_globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 20);
}
@@ -128,7 +130,7 @@ static void room_111_daemon() {
local._launched2Fl = true;
}
- if (_game._trigger == 73)
+ if (kernel.trigger == 73)
g_engine->_soundManager->command(37, 0);
if (local._rexDivingFl && (_scene->_animation[0]->getCurrentFrame() >= 9)) {
@@ -139,17 +141,17 @@ static void room_111_daemon() {
static void room_111_pre_parser() {
if (player_said_2(walk_through, cave_entrance))
- _game._player._walkOffScreenSceneId = 212;
+ player.walk_off_edge_to_room = 212;
}
static void room_111_parser() {
- if (player_said_2(dive_into, pool) && _game._objects.isInInventory(OBJ_REBREATHER)) {
- switch (_game._trigger) {
+ if (player_said_2(dive_into, pool) && player_has(OBJ_REBREATHER)) {
+ switch (kernel.trigger) {
case 0:
- _scene->loadAnimation(Resources::formatName(111, 'A', 1, EXT_AA, ""), 1);
+ _scene->loadAnimation(kernel_full_name(111, 'A', 1, "", EXT_AA), 1);
local._rexDivingFl = true;
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
break;
case 1:
diff --git a/engines/mads/nebular/rooms/room112.cpp b/engines/mads/nebular/rooms/room112.cpp
index dc678a665e5..6a2adaed8b6 100644
--- a/engines/mads/nebular/rooms/room112.cpp
+++ b/engines/mads/nebular/rooms/room112.cpp
@@ -34,42 +34,42 @@ namespace Rooms {
static void room_112_init() {
section_1_music();
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(formAnimName('X', 0));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('X', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('X', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('X', 5));
+ _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('X', 5));
_globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 10, 0, 17, 20);
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 4, 0, 0, 0);
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 6, 0, 3, 0);
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_scene->_userInterface.emptyConversationList();
_scene->_userInterface.setup(kInputConversation);
- _scene->loadAnimation(Resources::formatName(112, 'X', -1, EXT_AA, ""), 70);
+ _scene->loadAnimation(kernel_full_name(112, 'X', -1, "", EXT_AA), 70);
}
static void room_112_daemon() {
- if ((_scene->_animation[0] != nullptr) && (_game._storyMode == STORYMODE_NICE)) {
+ if ((_scene->_animation[0] != nullptr) && (config_file.naughtiness == STORYMODE_NICE)) {
if (_scene->_animation[0]->getCurrentFrame() >= 54) {
_scene->freeAnimation();
- _game._trigger = 70;
+ kernel.trigger = 70;
}
}
- if (_game._trigger == 70) {
+ if (kernel.trigger == 70) {
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 7, 3, 0, 11);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 1);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
- if (_game._trigger == 71) {
+ if (kernel.trigger == 71) {
_scene->_nextSceneId = 101;
- _game._player._stepEnabled = true;
- _game._player._visible = true;
+ player.commands_allowed = true;
+ player.walker_visible = true;
}
}
diff --git a/engines/mads/nebular/rooms/room201.cpp b/engines/mads/nebular/rooms/room201.cpp
index bd476a55b07..2b38b1b91e0 100644
--- a/engines/mads/nebular/rooms/room201.cpp
+++ b/engines/mads/nebular/rooms/room201.cpp
@@ -40,10 +40,10 @@ static Scratch local;
static void room_201_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('x', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('x', 1));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('m', -1));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('b', -1));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('m', -1));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('b', -1));
_globals._spriteIndexes[5] = _scene->_sprites.addSprites("*SC002Z1");
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 6, 0, 1, 0);
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 15, 0, 0, 50);
@@ -56,15 +56,17 @@ static void room_201_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(186, 81), FACING_NORTH);
if ((_scene->_priorSceneId == 202) || (_scene->_priorSceneId == RETURNING_FROM_LOADING)) {
- _game._player._playerPos = Common::Point(165, 152);
+ player.x = 165;
+ player.y = 152;
} else {
- _game._player._playerPos = Common::Point(223, 149);
- _game._player._facing = FACING_SOUTH;
+ player.x = 223;
+ player.y = 149;
+ player.facing = FACING_SOUTH;
}
if (_globals[kTeleporterCommand]) {
- _game._player._visible = false;
- _game._player._stepEnabled = false;
+ player.walker_visible = false;
+ player.commands_allowed = false;
int sepChar = (_globals[kSexOfRex] == SEX_MALE) ? 't' : 'u';
// Guess values. What is the default value used by the compiler?
int suffixNum = -1;
@@ -80,8 +82,8 @@ static void room_201_init() {
endTrigger = 77;
break;
case 3:
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
suffixNum = -1;
break;
case 4:
@@ -93,23 +95,23 @@ static void room_201_init() {
}
_globals[kTeleporterCommand] = 0;
if (suffixNum >= 0)
- _scene->loadAnimation(formAnimName(sepChar, suffixNum), endTrigger);
+ _scene->loadAnimation(kernel_name(sepChar, suffixNum), endTrigger);
}
if ((_scene->_priorSceneId == 202) && (_globals[kMeteorologistStatus] == METEOROLOGIST_PRESENT) && !_scene->_roomChanged) {
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(formAnimName('a', 0));
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites(formAnimName('a', 1));
- _game.loadQuoteSet(90, 91, 0);
- _game._player._stepEnabled = false;
+ _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ _globals._spriteIndexes[7] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ kernel.quotes = quote_load(90, 91, 0);
+ player.commands_allowed = false;
_globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 7, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], -1, 12);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_SPRITE, 12, 70);
_scene->_sequences.setDepth(_globals._sequenceIndexes[6], 1);
local._pterodactylFlag = false;
- _game._player.walk(Common::Point(157, 143), FACING_NORTH);
+ player_walk(157, 143, FACING_NORTH);
pal_change_color(252, 45, 63, 45);
pal_change_color(253, 20, 45, 20);
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 2, 0, 120, _game.getQuote(90));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 2, 0, 120, quote_string(kernel.quotes, 90));
} else
local._pterodactylFlag = true;
@@ -129,9 +131,9 @@ static void room_201_daemon() {
local._pterodactylFlag = false;
}
- if (_game._trigger == 70) {
+ if (kernel.trigger == 70) {
_globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 9, 1, 0, 0);
- _game._player._visible = false;
+ player.walker_visible = false;
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], 12, 16);
_globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 9, 1, 0, 0);
g_engine->_soundManager->command(42, 0);
@@ -142,51 +144,51 @@ static void room_201_daemon() {
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
}
- if (_game._trigger == 81) {
+ if (kernel.trigger == 81) {
_scene->_kernelMessages.reset();
}
- if (_game._trigger == 71) {
+ if (kernel.trigger == 71) {
_globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 9, 0, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], -2, -2);
_scene->_sequences.setDepth(_globals._sequenceIndexes[7], 1);
}
- if (_game._trigger == 73) {
+ if (kernel.trigger == 73) {
_globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 9, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], 17, -2);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
_scene->_sequences.setDepth(_globals._sequenceIndexes[6], 1);
}
- if (_game._trigger == 74) {
+ if (kernel.trigger == 74) {
g_engine->_soundManager->command(40, 0);
- _scene->_kernelMessages.add(Common::Point(125, 56), 0xFDFC, 32, 82, 180, _game.getQuote(91));
+ _scene->_kernelMessages.add(Common::Point(125, 56), 0xFDFC, 32, 82, 180, quote_string(kernel.quotes, 91));
_globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 9, 0, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[6], 1);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], -2, -2);
_scene->_sequences.addTimer(180, 75);
}
- if (_game._trigger == 75) {
+ if (kernel.trigger == 75) {
_globals[kMeteorologistEverSeen] = 0;
_scene->_nextSceneId = 202;
}
- if (_game._trigger == 76) {
- _game._player._stepEnabled = true;
- _game._player._visible = true;
- _game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount;
+ if (kernel.trigger == 76) {
+ player.commands_allowed = true;
+ player.walker_visible = true;
+ player.clock = _scene->_frameStartTime - player.frame_delay;
}
- if (_game._trigger == 77) {
+ if (kernel.trigger == 77) {
_globals[kTeleporterCommand] = 1;
_scene->_nextSceneId = _globals[kTeleporterDestination];
_scene->_reloadSceneFlag = true;
}
- if (_game._trigger == 78) {
+ if (kernel.trigger == 78) {
g_engine->_soundManager->command(40, 0);
text_show(20114);
_scene->_reloadSceneFlag = true;
@@ -198,12 +200,12 @@ static void room_201_parser() {
if (player_said_2(walk_towards, field_to_south))
_scene->_nextSceneId = 202;
else if (player_said_2(climb_up, steps) || (player_said_2(walk_inside, teleporter)) || (player_said_2(walk_inside, strange_device))) {
- if (_game._trigger == 0) {
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ if (kernel.trigger == 0) {
+ player.commands_allowed = false;
+ player.walker_visible = false;
int sepChar = (_globals[kSexOfRex] == SEX_MALE) ? 't' : 'u';
- _scene->loadAnimation(formAnimName(sepChar, 0), 1);
- } else if (_game._trigger == 1) {
+ _scene->loadAnimation(kernel_name(sepChar, 0), 1);
+ } else if (kernel.trigger == 1) {
_scene->_nextSceneId = 213;
}
} else if (player_said_2(look, grassy_field)) {
diff --git a/engines/mads/nebular/rooms/room202.cpp b/engines/mads/nebular/rooms/room202.cpp
index 2b3206ecedd..b41a72ae474 100644
--- a/engines/mads/nebular/rooms/room202.cpp
+++ b/engines/mads/nebular/rooms/room202.cpp
@@ -51,20 +51,20 @@ static Scratch local;
static void room_202_init() {
- _game._player._beenVisible = true;
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('b', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('b', 1));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(formAnimName('b', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('x', 0));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(formAnimName('l', -1));
+ player.walker_been_visible = true;
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('b', 1));
+ _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('b', 2));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('l', -1));
if (_globals[kSexOfRex] != SEX_MALE) {
_globals._spriteIndexes[7] = _scene->_sprites.addSprites("*ROXBD_2");
} else {
_globals._spriteIndexes[7] = _scene->_sprites.addSprites("*RXMBD_2");
}
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(formAnimName('a', 0));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(formAnimName('a', 1));
- _globals._spriteIndexes[11] = _scene->_sprites.addSprites(formAnimName('a', 2));
+ _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ _globals._spriteIndexes[11] = _scene->_sprites.addSprites(kernel_name('a', 2));
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 0, 0, 0);
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 6, 0, 0, 0);
@@ -93,11 +93,13 @@ static void room_202_init() {
_scene->changeVariant(_globals[kBone202Status]);
if (_scene->_priorSceneId == 201) {
- _game._player._playerPos = Common::Point(190, 91);
- _game._player._facing = FACING_SOUTH;
+ player.x = 190;
+ player.y = 91;
+ player.facing = FACING_SOUTH;
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(178, 152);
- _game._player._facing = FACING_NORTH;
+ player.x = 178;
+ player.y = 152;
+ player.facing = FACING_NORTH;
}
if (_globals[kLadderBroken]) {
@@ -108,13 +110,13 @@ static void room_202_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(246, 124), FACING_NORTH);
}
- _game.loadQuoteSet(0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x62, 0x63, 0x64, 0x65, 0x66, 0x61, 0);
+ kernel.quotes = quote_load(0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x62, 0x63, 0x64, 0x65, 0x66, 0x61, 0);
local._activeMsgFl = false;
if (_scene->_priorSceneId == RETURNING_FROM_DIALOG) {
if (local._waitingMeteoFl) {
_globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 1);
- _game._player._visible = false;
+ player.walker_visible = false;
}
} else {
local._waitingMeteoFl = false;
@@ -124,11 +126,11 @@ static void room_202_init() {
local._meteoClock1 = local._meteoClock2 = _scene->_frameStartTime;
if (_scene->_roomChanged)
- _game._objects.addToInventory(OBJ_BINOCULARS);
+ inter_give_to_player(OBJ_BINOCULARS);
if (_globals[kMeteorologistWatch] != METEOROLOGIST_NORMAL) {
- _game._player._visible = false;
- _game._player._stepEnabled = false;
+ player.walker_visible = false;
+ player.commands_allowed = false;
local._ladderTopFl = (_globals[kMeteorologistWatch] == METEOROLOGIST_TOWER);
if (local._ladderTopFl) {
@@ -136,28 +138,31 @@ static void room_202_init() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[10], 1);
_scene->_sequences.setPosition(_globals._sequenceIndexes[10], Common::Point(247, 82));
- _game._player._playerPos = Common::Point(246, 124);
- _game._player._facing = FACING_NORTH;
+ player.x = 246;
+ player.y = 124;
+ player.facing = FACING_NORTH;
_globals[kTeleporterUnderstood] = true;
} else {
_globals._sequenceIndexes[10] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 6);
_scene->_sequences.setDepth(_globals._sequenceIndexes[10], 1);
_scene->_sequences.setPosition(_globals._sequenceIndexes[10], Common::Point(172, 123));
- _game._player._playerPos = Common::Point(171, 122);
- _game._player._facing = FACING_NORTH;
+ player.x = 171;
+ player.y = 122;
+ player.facing = FACING_NORTH;
}
- _scene->loadAnimation(formAnimName('M', -1), 71);
+ _scene->loadAnimation(kernel_name('M', -1), 71);
_scene->_animation[0]->setCurrentFrame(200);
} else {
if (local._ladderTopFl) {
- _game._player._visible = false;
+ player.walker_visible = false;
_scene->_sequences.startCycle(_globals._sequenceIndexes[9], true, 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[9], 1);
_scene->_sequences.setPosition(_globals._sequenceIndexes[9], Common::Point(247, 82));
- _game._player._playerPos = Common::Point(246, 124);
- _game._player._facing = FACING_NORTH;
+ player.x = 246;
+ player.y = 124;
+ player.facing = FACING_NORTH;
}
}
@@ -169,8 +174,8 @@ static void room_202_init() {
static void setRandomKernelMessage() {
int vocabId = g_engine->getRandomNumber(92, 96);
_scene->_kernelMessages.reset();
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 70, 120, _game.getQuote(vocabId));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 70, 120, quote_string(kernel.quotes, vocabId));
local._activeMsgFl = true;
}
@@ -224,17 +229,17 @@ static int subStep4(int randVal) {
}
static void room_202_daemon() {
- if (!local._activeMsgFl && (_game._player._playerPos == Common::Point(77, 105)) && (_game._player._facing == FACING_NORTH) && (g_engine->getRandomNumber(999) == 0)) {
+ if (!local._activeMsgFl && (Common::Point(player.x, player.y) == Common::Point(77, 105)) && (player.facing == FACING_NORTH) && (g_engine->getRandomNumber(999) == 0)) {
_scene->_kernelMessages.reset();
local._activeMsgFl = false;
if (g_engine->getRandomNumber(4) == 0)
setRandomKernelMessage();
}
- if (_game._trigger == 70)
+ if (kernel.trigger == 70)
local._activeMsgFl = false;
- if (_game._trigger == 71) {
+ if (kernel.trigger == 71) {
g_engine->_soundManager->command(3, 0);
g_engine->_soundManager->command(9, 0);
@@ -250,14 +255,14 @@ static void room_202_daemon() {
msgPos = Common::Point(248, 15);
msgFlag = 0;
}
- int msgIndex = _scene->_kernelMessages.add(msgPos, 0x1110, msgFlag | 32, 0, 120, _game.getQuote(102));
+ int msgIndex = _scene->_kernelMessages.add(msgPos, 0x1110, msgFlag | 32, 0, 120, quote_string(kernel.quotes, 102));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
if (_globals[kMeteorologistWatch] == METEOROLOGIST_GROUND) {
_action._activeAction._verbId = words_look;
_action._activeAction._objectNameId = words_binoculars;
_action._activeAction._indirectObjectId = words_strange_device;
- _game._triggerSetupMode = SEQUENCE_TRIGGER_PARSER;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_PARSER;
_scene->_sequences.addTimer(2 * 60, 2);
local._meteorologistSpecial = true;
} else if (_globals[kMeteorologistWatch] == METEOROLOGIST_TOWER) {
@@ -268,7 +273,7 @@ static void room_202_daemon() {
_globals[kMeteorologistWatch] = METEOROLOGIST_NORMAL;
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 90:
g_engine->_soundManager->command(41, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[10]);
@@ -290,7 +295,7 @@ static void room_202_daemon() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[11], 1);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 93);
_scene->_kernelMessages.reset();
- int msgIndex = _scene->_kernelMessages.add(Common::Point(0, -65), 0x1110, 32, 0, 60, _game.getQuote(98));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(0, -65), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 98));
_scene->_kernelMessages.setSeqIndex(msgIndex, _globals._sequenceIndexes[11]);
}
break;
@@ -303,11 +308,11 @@ static void room_202_daemon() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(246, 124), FACING_NORTH);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[11], _globals._sequenceIndexes[5]);
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[11]);
- _game._player._stepEnabled = true;
- _game._player._visible = true;
+ player.commands_allowed = true;
+ player.walker_visible = true;
local._ladderTopFl = false;
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(99));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 99));
}
break;
default:
@@ -323,7 +328,7 @@ static void room_202_daemon() {
threshold += 25;
if (threshold >= randVal) {
g_engine->_soundManager->command(17, 0);
- _scene->loadAnimation(formAnimName('M', -1), 71);
+ _scene->loadAnimation(kernel_name('M', -1), 71);
local._toStationFl = true;
local._toTeleportFl = false;
_globals[kMeteorologistEverSeen] = true;
@@ -356,7 +361,7 @@ static void room_202_daemon() {
msgPos = Common::Point(248, 15);
msgFlag = 0;
}
- int msgIndex = _scene->_kernelMessages.add(msgPos, 0x1110, msgFlag | 32, 0, 120, _game.getQuote(101));
+ int msgIndex = _scene->_kernelMessages.add(msgPos, 0x1110, msgFlag | 32, 0, 120, quote_string(kernel.quotes, 101));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
}
}
@@ -420,38 +425,37 @@ static void room_202_daemon() {
}
static void room_202_pre_parser() {
- auto &gplayer = _game->_player;
- if (gplayer._needToWalk)
+ if (player.need_to_walk)
_scene->_kernelMessages.reset();
- if (local._ladderTopFl && (player_said_2(climb_down, ladder) || gplayer._needToWalk)) {
- if (_game._trigger == 0) {
+ if (local._ladderTopFl && (player_said_2(climb_down, ladder) || player.need_to_walk)) {
+ if (kernel.trigger == 0) {
g_engine->_soundManager->command(29, 0);
- gplayer._readyToWalk = false;
- gplayer._stepEnabled = false;
+ player.ready_to_walk = false;
+ player.commands_allowed = false;
_scene->_sequences.remove(_globals._sequenceIndexes[9]);
_globals._sequenceIndexes[8] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[8], false, 6, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[8], 1);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- } else if (_game._trigger == 1) {
+ } else if (kernel.trigger == 1) {
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[8]);
_scene->_dynamicHotspots.remove(local._ladderHotspotId);
- gplayer._visible = true;
- gplayer._readyToWalk = true;
- gplayer._stepEnabled = true;
+ player.walker_visible = true;
+ player.ready_to_walk = true;
+ player.commands_allowed = true;
local._ladderTopFl = false;
}
}
if (player_said_2(look, binoculars) && (_action._activeAction._indirectObjectId > 0)) {
- if (!gplayer._readyToWalk || local._ladderTopFl)
- gplayer._needToWalk = false;
+ if (!player.ready_to_walk || local._ladderTopFl)
+ player.need_to_walk = false;
else
- gplayer._needToWalk = true;
+ player.need_to_walk = true;
if (!local._ladderTopFl)
- gplayer.walk(Common::Point(171, 122), FACING_NORTH);
+ player_walk(171, 122, FACING_NORTH);
}
}
@@ -475,13 +479,13 @@ static void room_202_parser() {
}
_scene->_nextSceneId = 201;
} else if (player_said_2(take, bone) && (_action._savedFields._mainObjectSource == 4)) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- if (_game._objects.isInInventory(OBJ_BONES)) {
+ if (player_has(OBJ_BONES)) {
text_show(20221);
} else {
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[7] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[7], false, 3, 2, 0, 0);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[7]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_SPRITE, 6, 1);
@@ -489,7 +493,7 @@ static void room_202_parser() {
}
break;
case 1:
- if (_game._player._playerPos == Common::Point(132, 97)) {
+ if (Common::Point(player.x, player.y) == Common::Point(132, 97)) {
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_globals[kBone202Status] |= BONE_202_LEFT_GONE;
} else {
@@ -498,17 +502,17 @@ static void room_202_parser() {
}
break;
case 2:
- if (_game._objects.isInInventory(OBJ_BONE)) {
- _game._objects.removeFromInventory(OBJ_BONE, NOWHERE);
- _game._objects.addToInventory(OBJ_BONES);
+ if (player_has(OBJ_BONE)) {
+ inter_take_from_player(OBJ_BONE, NOWHERE);
+ inter_give_to_player(OBJ_BONES);
object_examine(OBJ_BONES, 20218, 0);
} else {
- _game._objects.addToInventory(OBJ_BONE);
+ inter_give_to_player(OBJ_BONE);
object_examine(OBJ_BONE, 20218, 0);
}
_scene->changeVariant(_globals[kBone202Status]);
- _game._player._stepEnabled = true;
- _game._player._visible = true;
+ player.commands_allowed = true;
+ player.walker_visible = true;
break;
default:
break;
@@ -516,12 +520,12 @@ static void room_202_parser() {
_action._inProgress = false;
} else if (player_said_2(climb_up, ladder) && !_globals[kLadderBroken]) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
g_engine->_soundManager->command(29, 0);
local._meteoClock1 = _scene->_frameStartTime;
- _game._player._visible = false;
- _game._player._stepEnabled = false;
+ player.walker_visible = false;
+ player.commands_allowed = false;
local._ladderHotspotId = _scene->_dynamicHotspots.add(words_ladder, words_climb_down, -1, Common::Rect(241, 68, 241 + 12, 68 + 54));
_scene->_dynamicHotspots.setPosition(local._ladderHotspotId, Common::Point(246, 124), FACING_NORTH);
@@ -536,8 +540,8 @@ static void room_202_parser() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[9], 1);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[8], _globals._sequenceIndexes[9]);
local._ladderTopFl = true;
- _game._player._stepEnabled = true;
- int msgIndex = _scene->_kernelMessages.add(Common::Point(248, 15), 0x1110, 32, 0, 60, _game.getQuote(97));
+ player.commands_allowed = true;
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(248, 15), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 97));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
}
break;
@@ -547,11 +551,11 @@ static void room_202_parser() {
}
} else if ((player_said_3(look, binoculars, field_to_north) || (player_said_3(look, binoculars, strange_device))) && (_globals[kSexOfRex] == SEX_MALE)) {
if (!local._ladderTopFl) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
local._toTeleportFl = true;
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[10] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[10], 1, 6);
_scene->_sequences.setPosition(_globals._sequenceIndexes[10], Common::Point(172, 123));
@@ -583,18 +587,18 @@ static void room_202_parser() {
break;
case 3:
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[10]);
- _game._player._stepEnabled = true;
- _game._player._visible = true;
+ player.commands_allowed = true;
+ player.walker_visible = true;
break;
default:
_action._inProgress = false;
return;
}
} else {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
local._toTeleportFl = true;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
_scene->_sequences.remove(_globals._sequenceIndexes[9]);
_globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], true, 6, 1, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[9], Common::Point(247, 82));
@@ -613,7 +617,7 @@ static void room_202_parser() {
_globals[kMeteorologistWatch] = METEOROLOGIST_GONE;
if ((_scene->_animation[0]->getCurrentFrame() >= 44) && (_scene->_animation[0]->getCurrentFrame() <= 75)) {
_scene->_kernelMessages.reset();
- int msgIndex = _scene->_kernelMessages.add(Common::Point(248, 15), 0x1110, 32, 0, 60, _game.getQuote(100));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(248, 15), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 100));
_scene->_kernelMessages.setQuoted(msgIndex, 4, false);
} else {
_action._inProgress = false;
@@ -638,7 +642,7 @@ static void room_202_parser() {
_globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], true, 1);
_scene->_sequences.setPosition(_globals._sequenceIndexes[9], Common::Point(247, 82));
_scene->_sequences.setDepth(_globals._sequenceIndexes[9], 1);
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
break;
default:
_action._inProgress = false;
@@ -669,7 +673,7 @@ static void room_202_parser() {
} else if (player_said_2(look, sky)) {
text_show(20210);
} else if (player_said_2(look, hut)) {
- if ((_game._player._playerPos == Common::Point(77, 105)) && (_game._player._facing == FACING_NORTH))
+ if ((Common::Point(player.x, player.y) == Common::Point(77, 105)) && (player.facing == FACING_NORTH))
text_show(20212);
else
text_show(20211);
diff --git a/engines/mads/nebular/rooms/room203.cpp b/engines/mads/nebular/rooms/room203.cpp
index 9df6df556f9..a1470aa98ea 100644
--- a/engines/mads/nebular/rooms/room203.cpp
+++ b/engines/mads/nebular/rooms/room203.cpp
@@ -43,14 +43,17 @@ static Scratch local;
static void room_203_init() {
if (_scene->_priorSceneId == 202) {
- _game._player._playerPos = Common::Point(187, 99);
- _game._player._facing = FACING_SOUTH;
+ player.x = 187;
+ player.y = 99;
+ player.facing = FACING_SOUTH;
} else if (_scene->_priorSceneId == 209) {
- _game._player._playerPos = Common::Point(308, 117);
- _game._player._facing = FACING_WEST;
+ player.x = 308;
+ player.y = 117;
+ player.facing = FACING_WEST;
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(155, 152);
- _game._player._facing = FACING_NORTH;
+ player.x = 155;
+ player.y = 152;
+ player.facing = FACING_NORTH;
}
local._rhotundaEatFl = false;
@@ -58,14 +61,14 @@ static void room_203_init() {
if ((_globals[kRhotundaStatus] == 0) && (!_scene->_roomChanged)) {
local._rhotundaEatFl = true;
- _game._player.walk(Common::Point(158, 135), FACING_SOUTH);
+ player_walk(158, 135, FACING_SOUTH);
int idx = _scene->_dynamicHotspots.add(words_field_to_south, words_walk_towards, 0, Common::Rect(0, 0, 320, 156));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(155, 152), FACING_SOUTH);
_scene->_dynamicHotspots.setCursor(idx, CURSOR_GO_DOWN);
}
if (!local._rhotundaEatFl) {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(formAnimName('b', -1));
+ _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('b', -1));
if (g_engine->getRandomNumber(1, 3) == 2) {
_globals._spriteIndexes[15] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 9, 1, 0, 0);
int idx = _scene->_dynamicHotspots.add(words_yellow_bird, words_look_at, _globals._spriteIndexes[15], Common::Rect(0, 0, 0, 0));
@@ -74,10 +77,10 @@ static void room_203_init() {
}
}
- _game.loadQuoteSet(0x67, 0x68, 0x69, 0x6A, 0x5A, 0);
+ kernel.quotes = quote_load(0x67, 0x68, 0x69, 0x6A, 0x5A, 0);
if (local._rhotundaEatFl) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(g_engine->getRandomNumber(103, 106)));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, g_engine->getRandomNumber(103, 106)));
}
section_2_music();
@@ -87,24 +90,24 @@ static void room_203_daemon() {
if (!local._rhotundaEatFl)
return;
- if ((_game._trigger == 0) && local._rhotundaEat2Fl)
+ if ((kernel.trigger == 0) && local._rhotundaEat2Fl)
return;
- if ((_game._player._playerPos != Common::Point(158, 136)) || (_game._player._facing != FACING_SOUTH))
+ if ((Common::Point(player.x, player.y) != Common::Point(158, 136)) || (player.facing != FACING_SOUTH))
return;
local._rhotundaEat2Fl = true;
- if (_game._trigger == 0) {
- _game._player._visible = false;
- _game._player._stepEnabled = false;
+ if (kernel.trigger == 0) {
+ player.walker_visible = false;
+ player.commands_allowed = false;
pal_lock();
_scene->_kernelMessages.reset();
_scene->resetScene();
cursor_id = CURSOR_WAIT;
mouse_cursor_sprite(cursor, CURSOR_WAIT);
- _scene->loadAnimation(Resources::formatName(203, 'a', -1, EXT_AA, ""), 81);
- } else if (_game._trigger == 81) {
+ _scene->loadAnimation(kernel_full_name(203, 'a', -1, "", EXT_AA), 81);
+ } else if (kernel.trigger == 81) {
_scene->_nextSceneId = 208;
_scene->_reloadSceneFlag = true;
}
@@ -112,13 +115,13 @@ static void room_203_daemon() {
static void room_203_pre_parser() {
if (local._rhotundaEatFl && !player_said_2(walk_towards, field_to_south)) {
- _game._player.walk(Common::Point(158, 136), FACING_SOUTH);
+ player_walk(158, 136, FACING_SOUTH);
_action._inProgress = false;
return;
}
if (player_said_2(walkto, open_area_to_east))
- _game._player._walkOffScreenSceneId = 209;
+ player.walk_off_edge_to_room = 209;
}
static void room_203_parser() {
diff --git a/engines/mads/nebular/rooms/room205.cpp b/engines/mads/nebular/rooms/room205.cpp
index ca0384fdccd..5ac2ecef7ad 100644
--- a/engines/mads/nebular/rooms/room205.cpp
+++ b/engines/mads/nebular/rooms/room205.cpp
@@ -45,15 +45,15 @@ static Scratch local;
static void room_205_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('x', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('x', 1));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('x', 2));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(formAnimName('f', -1));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('c', -1));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(formAnimName('p', -1));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 2));
+ _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('f', -1));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('p', -1));
if (_globals[kSexOfRex] == SEX_MALE)
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(formAnimName('a', 1));
+ _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('a', 1));
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 10, 0, 0, 3);
int idx = _scene->_dynamicHotspots.add(words_chicken, words_walkto, _globals._sequenceIndexes[1], Common::Rect(0, 0, 0, 0));
@@ -67,13 +67,13 @@ static void room_205_init() {
_globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 6, 0, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[5], 11);
- if (!_game._visitedScenes._sceneRevisited) {
+ if (!player.been_here_before) {
_globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 7, 1, 0, 0);
idx = _scene->_dynamicHotspots.add(words_piranha, words_walkto, _globals._sequenceIndexes[6], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(49, 86), FACING_NORTH);
}
- if (_game._objects[12]._roomNumber == 205) {
+ if (object[12].location == 205) {
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 7, 0, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[4], 11);
} else {
@@ -81,11 +81,11 @@ static void room_205_init() {
}
local._beingKicked = false;
- _game.loadQuoteSet(0x6B, 0x70, 0x71, 0x72, 0x5A, 0x74, 0x75, 0x76, 0x77, 0x78, 0x73, 0x79, 0x7A, 0x7B, 0x7C,
+ kernel.quotes = quote_load(0x6B, 0x70, 0x71, 0x72, 0x5A, 0x74, 0x75, 0x76, 0x77, 0x78, 0x73, 0x79, 0x7A, 0x7B, 0x7C,
0x7D, 0x7E, 0x7F, 0x80, 0xAC, 0xAD, 0xAE, 0x6C, 0x6D, 0x6E, 0x6F, 0x2, 0);
local._dialog1.setup(0x2A, 0x5A, 0x78, 0x74, 0x75, 0x76, 0x77, 0);
- if (!_game._visitedScenes._sceneRevisited)
+ if (!player.been_here_before)
local._dialog1.set(0x5A, 0x74, 0x75, 0x77, 0);
pal_change_color(250, 63, 50, 20);
@@ -93,24 +93,26 @@ static void room_205_init() {
pal_change_color(252, 63, 63, 40);
pal_change_color(253, 50, 50, 30);
- local._chickenTime = _game->_scene._frameStartTime;
+ local._chickenTime = _scene._frameStartTime;
if (_globals[kSexOfRex] == SEX_FEMALE)
_scene->_kernelMessages.initRandomMessages(3,
Common::Rect(195, 99, 264, 134), 13, 2, 0xFDFC, 60,
108, 108, 109, 109, 110, 110, 111, 108, 0);
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(99, 152);
+ if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 99;
+ player.y = 152;
+ }
if (_globals[kSexOfRex] != SEX_MALE) {
- _scene->loadAnimation(formAnimName('a', -1));
+ _scene->loadAnimation(kernel_name('a', -1));
_scene->_animation[0]->_repeatFlag = true;
} else {
local._beingKicked = true;
_globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 8, 1, 0, 0);
- _game._player._visible = false;
- _game._player._stepEnabled = false;
+ player.walker_visible = false;
+ player.commands_allowed = false;
_scene->_sequences.setDepth(_globals._sequenceIndexes[8], 2);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_SPRITE, 6, 73);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_SPRITE, 11, 74);
@@ -124,60 +126,60 @@ static void room_205_daemon() {
if (_globals[kSexOfRex] == SEX_FEMALE) {
_scene->_kernelMessages.randomServer();
- if (_game->_scene._frameStartTime >= local._chickenTime) {
+ if (_scene._frameStartTime >= local._chickenTime) {
int chanceMinor = _scene->_kernelMessages.checkRandom() + 1;
if (_scene->_kernelMessages.generateRandom(100, chanceMinor))
g_engine->_soundManager->command(28, 0);
- local._chickenTime = _game->_scene._frameStartTime + 2;
+ local._chickenTime = _scene._frameStartTime + 2;
}
}
- if (_game->_scene._frameStartTime - local._lastFishTime > 1300) {
+ if (_scene._frameStartTime - local._lastFishTime > 1300) {
_globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(
_globals._spriteIndexes[6], false, 5, 1, 0, 0);
int idx = _scene->_dynamicHotspots.add(words_piranha, words_walkto, _globals._sequenceIndexes[6],
Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(49, 86), FACING_NORTH);
- local._lastFishTime = _game->_scene._frameStartTime;
+ local._lastFishTime = _scene._frameStartTime;
}
- if (_game._trigger == 73)
- _scene->_kernelMessages.add(Common::Point(160, 68), 0xFBFA, 32, 0, 60, _game.getQuote(112));
+ if (kernel.trigger == 73)
+ _scene->_kernelMessages.add(Common::Point(160, 68), 0xFBFA, 32, 0, 60, quote_string(kernel.quotes, 112));
- if (_game._trigger == 74) {
+ if (kernel.trigger == 74) {
g_engine->_soundManager->command(26, 0);
- _scene->_kernelMessages.add(Common::Point(106, 90), 0x1110, 32, 0, 60, _game.getQuote(113));
+ _scene->_kernelMessages.add(Common::Point(106, 90), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 113));
}
- if (_game._trigger == 71) {
+ if (kernel.trigger == 71) {
_globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 6, 0, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[8], 2);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[8], -2, -2);
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(160, 68), 0xFBFA, 32, 72, 180, _game.getQuote(114));
+ _scene->_kernelMessages.add(Common::Point(160, 68), 0xFBFA, 32, 72, 180, quote_string(kernel.quotes, 114));
}
- if (_game._trigger == 72)
+ if (kernel.trigger == 72)
_scene->_nextSceneId = 211;
}
static void handleWomanSpeech(int quote) {
- local._kernelMessage = _scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(quote));
+ local._kernelMessage = _scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, quote));
}
static void room_205_parser() {
- if (_game._screenObjects._inputMode == kInputConversation) {
+ if (inter_input_mode == kInputConversation) {
if (local._kernelMessage >= 0)
_scene->_kernelMessages.remove(local._kernelMessage);
local._kernelMessage = -1;
- if (_game._trigger == 0) {
- _game._player._stepEnabled = false;
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 18, 1, 120, _game.getQuote(_action._activeAction._verbId));
+ if (kernel.trigger == 0) {
+ player.commands_allowed = false;
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 18, 1, 120, quote_string(kernel.quotes, _action._activeAction._verbId));
} else {
- if ((_game._trigger > 1) || (_action._activeAction._verbId != 0x76))
- _game._player._stepEnabled = true;
+ if ((kernel.trigger > 1) || (_action._activeAction._verbId != 0x76))
+ player.commands_allowed = true;
switch (_action._activeAction._verbId) {
case 0x5A:
@@ -200,10 +202,10 @@ static void room_205_parser() {
break;
case 0x76:
- if (_game._trigger == 1) {
+ if (kernel.trigger == 1) {
handleWomanSpeech(0x7D);
_scene->_sequences.addTimer(120, 2);
- } else if (_game._trigger == 2) {
+ } else if (kernel.trigger == 2) {
handleWomanSpeech(0x7E);
local._dialog1.write(0x76, false);
_globals[kChickenPermitted] = true;
@@ -211,7 +213,7 @@ static void room_205_parser() {
break;
case 0x77:
- _scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 0, 0, 120, _game.getQuote(0x7F));
+ _scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 0, 0, 120, quote_string(kernel.quotes, 0x7F));
_scene->_userInterface.setup(kInputBuildingSentences);
break;
@@ -227,37 +229,37 @@ static void room_205_parser() {
else if (player_said_3(look, binoculars, opposite_bank))
text_show(20518);
else if (player_said_2(talkto, native_woman)) {
- if (_game._trigger == 0) {
- _game._player._stepEnabled = false;
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 18, 1, 120, _game.getQuote(0x73));
- } else if (_game._trigger == 1) {
- _game._player._stepEnabled = true;
+ if (kernel.trigger == 0) {
+ player.commands_allowed = false;
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 18, 1, 120, quote_string(kernel.quotes, 0x73));
+ } else if (kernel.trigger == 1) {
+ player.commands_allowed = true;
handleWomanSpeech(0x79);
local._dialog1.write(0x5A, true);
local._dialog1.write(0x75, true);
local._dialog1.start();
}
- } else if (player_said_2(give, native_woman) && _game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId))) {
- if (_game._trigger == 0) {
- _game._player._stepEnabled = false;
+ } else if (player_said_2(give, native_woman) && player_has(object_named(_action._activeAction._objectNameId))) {
+ if (kernel.trigger == 0) {
+ player.commands_allowed = false;
int rndVal = g_engine->getRandomNumber(0xAC, 0xAE);
- _scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 32, 1, 120, _game.getQuote(rndVal));
- } else if (_game._trigger == 1)
- _game._player._stepEnabled = true;
+ _scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 32, 1, 120, quote_string(kernel.quotes, rndVal));
+ } else if (kernel.trigger == 1)
+ player.commands_allowed = true;
} else if (player_said_2(walkto, opposite_bank)) {
- if (_game._trigger == 0) {
- _game._player._visible = false;
- _game._player._stepEnabled = false;
+ if (kernel.trigger == 0) {
+ player.walker_visible = false;
+ player.commands_allowed = false;
pal_lock();
_scene->_kernelMessages.reset();
- _game._player.removePlayerSprites();
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(formAnimName('a', 0));
+ kernel_dump_walker_only();
+ _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('a', 0));
kernel_new_palette();
_globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[9], -1);
g_engine->_soundManager->command(27, 0);
- } else if (_game._trigger == 1) {
+ } else if (kernel.trigger == 1) {
if (_scene->_animation[0] != nullptr)
_scene->_animation[0]->resetSpriteSetsCount();
@@ -269,17 +271,17 @@ static void room_205_parser() {
_scene->_nextSceneId = 210;
if (player_said_2(walkto, fire_pit) || player_said_2(walkto, chicken_on_spit)) {
- if (_game._objects.isInRoom(OBJ_CHICKEN)) {
+ if (object_is_here(OBJ_CHICKEN)) {
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(0x6B));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x6B));
}
- } else if (player_said_2(take, chicken_on_spit) && _globals[kChickenPermitted] && _game._objects.isInRoom(OBJ_CHICKEN)) {
- _game._objects.addToInventory(OBJ_CHICKEN);
+ } else if (player_said_2(take, chicken_on_spit) && _globals[kChickenPermitted] && object_is_here(OBJ_CHICKEN)) {
+ inter_give_to_player(OBJ_CHICKEN);
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
_scene->_hotspots.activate(words_chicken_on_spit, false);
object_examine(OBJ_CHICKEN, 812, 0);
} else if (player_said_2(take, chicken_on_spit) && (!_globals[kChickenPermitted]))
- _scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 32, 0, 120, _game.getQuote(0x80));
+ _scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 32, 0, 120, quote_string(kernel.quotes, 0x80));
else if (player_said_2(look, native_woman))
text_show(20503);
else if (player_said_2(look, hut))
@@ -298,7 +300,7 @@ static void room_205_parser() {
text_show(20510);
else if (player_said_2(look, opposite_bank))
text_show(20511);
- else if (_game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId))
+ else if (player_has(object_named(_action._activeAction._objectNameId))
&& (player_said_2(give, stream) || player_said_2(throw, stream)
|| player_said_2(give, piranha) || player_said_2(throw, piranha)))
text_show(20512);
diff --git a/engines/mads/nebular/rooms/room207.cpp b/engines/mads/nebular/rooms/room207.cpp
index 1a647b9664d..3faeecb7345 100644
--- a/engines/mads/nebular/rooms/room207.cpp
+++ b/engines/mads/nebular/rooms/room207.cpp
@@ -45,18 +45,18 @@ static Scratch local;
static void room_207_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('h', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('h', 1));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('c', -1));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(formAnimName('e', 0));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(formAnimName('e', 1));
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites(formAnimName('g', 1));
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(formAnimName('g', 0));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('h', 0));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('h', 1));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('e', 0));
+ _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('e', 1));
+ _globals._spriteIndexes[7] = _scene->_sprites.addSprites(kernel_name('g', 1));
+ _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('g', 0));
_globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 7, 0, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[5], 7);
int var2;
- if (!_game._visitedScenes._sceneRevisited) {
+ if (!player.been_here_before) {
var2 = 1;
} else {
var2 = g_engine->getRandomNumber(4) + 1;
@@ -84,13 +84,16 @@ static void room_207_init() {
local._eyeFl = false;
if (_scene->_priorSceneId == 211) {
- _game._player._playerPos = Common::Point(13, 105);
- _game._player._facing = FACING_EAST;
+ player.x = 13;
+ player.y = 105;
+ player.facing = FACING_EAST;
} else if (_scene->_priorSceneId == 214) {
- _game._player._playerPos = Common::Point(164, 117);
- _game._player._facing = FACING_SOUTH;
+ player.x = 164;
+ player.y = 117;
+ player.facing = FACING_SOUTH;
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(305, 131);
+ player.x = 305;
+ player.y = 131;
}
section_2_music();
@@ -106,7 +109,7 @@ static void moveVulture() {
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 7, 1, 0, 0);
g_engine->_soundManager->command(43, 0);
local._vultureFl = false;
- local._vultureTime = _game._player._priorTimer;
+ local._vultureTime = player.clock;
_scene->_dynamicHotspots.remove(local._vultureHotspotId);
}
@@ -114,36 +117,35 @@ static void moveSpider() {
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 5, 1, 0, 0);
local._spiderFl = false;
- local._spiderTime = _game._player._priorTimer;
+ local._spiderTime = player.clock;
_scene->_dynamicHotspots.remove(local._spiderHotspotId);
}
static void room_207_daemon() {
- auto &gplayer = _game._player;
if (local._vultureFl) {
- if (((int32)gplayer._priorTimer - local._vultureTime) > 1700)
+ if (((int32)player.clock - local._vultureTime) > 1700)
moveVulture();
}
if (local._spiderFl) {
- if (((int32)gplayer._priorTimer - local._spiderTime) > 800)
+ if (((int32)player.clock - local._spiderTime) > 800)
moveSpider();
}
- if (_game._trigger == 70) {
+ if (kernel.trigger == 70) {
_globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 10, 0, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], 23, 34);
_scene->_sequences.setDepth(_globals._sequenceIndexes[6], 6);
}
- if (_game._trigger == 71)
+ if (kernel.trigger == 71)
local._eyeFl = false;
if (local._eyeFl)
return;
- if ((_game._player._playerPos.x >= 124) && (_game._player._playerPos.x <= 201)) {
+ if ((player.x >= 124) && (player.x <= 201)) {
_globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 10, 1, 0, 0);
_globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 8, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[7], 6);
@@ -155,10 +157,10 @@ static void room_207_daemon() {
static void room_207_pre_parser() {
if (player_said_2(walk_down, path_to_west))
- _game._player._walkOffScreenSceneId = 211;
+ player.walk_off_edge_to_room = 211;
if (player_said_2(walk_towards, open_field_to_east))
- _game._player._walkOffScreenSceneId = 208;
+ player.walk_off_edge_to_room = 208;
if (player_said_1(walkto) || player_said_1(look)) {
if (player_said_1(vulture)) {
@@ -175,10 +177,10 @@ static void room_207_parser() {
else if (player_said_2(walk_through, doorway))
_scene->_nextSceneId = 214;
else {
- if ((_game._player._playerPos.x > 150) && (_game._player._playerPos.x < 189) &&
- (_game._player._playerPos.y > 111) && (_game._player._playerPos.y < 130)) {
- if ((_game._player._playerPos.x <= 162) || (_game._player._playerPos.x >= 181) ||
- (_game._player._playerPos.y <= 115) || (_game._player._playerPos.y >= 126)) {
+ if ((player.x > 150) && (player.x < 189) &&
+ (player.y > 111) && (player.y < 130)) {
+ if ((player.x <= 162) || (player.x >= 181) ||
+ (player.y <= 115) || (player.y >= 126)) {
_globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 10, 2, 0, 0);
_globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 8, 2, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[7], 6);
@@ -235,8 +237,8 @@ void room_207_synchronize(Common::Serializer &s) {
}
void room_207_preload() {
- local._spiderTime = _game._player._priorTimer;
- local._vultureTime = _game._player._priorTimer;
+ local._spiderTime = player.clock;
+ local._vultureTime = player.clock;
room_init_code_pointer = room_207_init;
room_pre_parser_code_pointer = room_207_pre_parser;
diff --git a/engines/mads/nebular/rooms/room208.cpp b/engines/mads/nebular/rooms/room208.cpp
index 54c34706bf8..5af742d2e8b 100644
--- a/engines/mads/nebular/rooms/room208.cpp
+++ b/engines/mads/nebular/rooms/room208.cpp
@@ -76,10 +76,10 @@ static void updateTrap() {
}
static void room_208_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('a', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('x', 0));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('x', 1));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('x', 2));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('x', 2));
_globals._spriteIndexes[5] = _scene->_sprites.addSprites("*RXMBD_8");
updateTrap();
@@ -90,23 +90,27 @@ static void room_208_init() {
_scene->_textSpacing = 0;
if (_scene->_priorSceneId == 207) {
- _game._player._playerPos = Common::Point(8, 122);
- _game._player._facing = FACING_EAST;
+ player.x = 8;
+ player.y = 122;
+ player.facing = FACING_EAST;
} else if (_scene->_priorSceneId == 203) {
- _game._player._playerPos = Common::Point(142, 108);
- _game._player._facing = FACING_SOUTH;
+ player.x = 142;
+ player.y = 108;
+ player.facing = FACING_SOUTH;
} else if (_scene->_priorSceneId == 209) {
- _game._player._playerPos = Common::Point(307, 123);
- _game._player._facing = FACING_WEST;
+ player.x = 307;
+ player.y = 123;
+ player.facing = FACING_WEST;
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(162, 149);
- _game._player._facing = FACING_NORTH;
+ player.x = 162;
+ player.y = 149;
+ player.facing = FACING_NORTH;
}
- _game.loadQuoteSet(0x81, 0x46, 0);
+ kernel.quotes = quote_load(0x81, 0x46, 0);
if ((_scene->_priorSceneId == 207) && (_globals[kMonkeyStatus] == MONKEY_HAS_BINOCULARS)) {
- int msgIndex = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(129));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 129));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
}
@@ -128,17 +132,17 @@ static void room_208_daemon() {
if (!local._rhotundaTurnFl)
return;
- if ((_game._player._playerPos != Common::Point(20, 148)) || (_game._player._facing != FACING_EAST))
+ if ((Common::Point(player.x, player.y) != Common::Point(20, 148)) || (player.facing != FACING_EAST))
return;
- if ((_game._trigger == 0) && local._boundingFl)
+ if ((kernel.trigger == 0) && local._boundingFl)
return;
local._boundingFl = true;
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _scene->loadAnimation(formAnimName('A', -1), 81);
+ _scene->loadAnimation(kernel_name('A', -1), 81);
local._rhotundaTime = 0;
break;
case 81:
@@ -148,7 +152,7 @@ static void room_208_daemon() {
_scene->_sequences.addTimer(90, 82);
break;
case 82:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
break;
default:
break;
@@ -156,24 +160,23 @@ static void room_208_daemon() {
}
static void room_208_pre_parser() {
- auto &gplayer = _game->_player;
- if (player_said_1(look) && gplayer._readyToWalk)
- gplayer._needToWalk = true;
+ if (player_said_1(look) && player.ready_to_walk)
+ player.need_to_walk = true;
if (player_said_2(walk_towards, grassland_to_east))
- gplayer._walkOffScreenSceneId = 209;
+ player.walk_off_edge_to_room = 209;
if (player_said_2(walk_towards, open_area_to_west))
- gplayer._walkOffScreenSceneId = 207;
+ player.walk_off_edge_to_room = 207;
}
static void subAction(int mode) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
{
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 6, 1, 0, 0);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
@@ -202,13 +205,13 @@ static void subAction(int mode) {
{
switch (mode) {
case 1:
- _game._objects.addToInventory(OBJ_BIG_LEAVES);
+ inter_give_to_player(OBJ_BIG_LEAVES);
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
_globals[kLeavesStatus] = 1;
break;
case 2:
- _game._objects.setRoom(OBJ_BIG_LEAVES, 1);
+ inter_move_object(OBJ_BIG_LEAVES, 1);
_globals[kLeavesStatus] = 2;
updateTrap();
break;
@@ -216,17 +219,17 @@ static void subAction(int mode) {
case 3:
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
_globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 1);
- _game._objects.removeFromInventory(OBJ_TWINKIFRUIT, 1);
+ inter_take_from_player(OBJ_TWINKIFRUIT, 1);
g_engine->_soundManager->command(34, 0);
break;
case 4:
- _game._objects.removeFromInventory(OBJ_BURGER, 1);
+ inter_take_from_player(OBJ_BURGER, 1);
g_engine->_soundManager->command(33, 0);
break;
case 5:
- _game._objects.removeFromInventory(OBJ_DEAD_FISH, 1);
+ inter_take_from_player(OBJ_DEAD_FISH, 1);
g_engine->_soundManager->command(33, 0);
break;
@@ -244,8 +247,8 @@ static void subAction(int mode) {
break;
case 3:
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
break;
default:
@@ -257,34 +260,34 @@ static void room_208_parser() {
if (player_said_2(walk_towards, lowlands_to_north)) {
if (_globals[kRhotundaStatus])
_scene->_nextSceneId = 203;
- else if (_game._trigger == 0) {
- _game._player._stepEnabled = false;
- int msgIndex = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 1, 120, _game.getQuote(70));
+ else if (kernel.trigger == 0) {
+ player.commands_allowed = false;
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 1, 120, quote_string(kernel.quotes, 70));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
- } else if (_game._trigger == 1)
+ } else if (kernel.trigger == 1)
_scene->_nextSceneId = 203;
} else if (player_said_2(walk_towards, field_to_south))
_scene->_nextSceneId = 212;
- else if (player_said_2(take, pile_of_leaves) && (!_globals[kLeavesStatus] || _game._trigger)) {
+ else if (player_said_2(take, pile_of_leaves) && (!_globals[kLeavesStatus] || kernel.trigger)) {
subAction(1);
- if (_game._player._stepEnabled)
+ if (player.commands_allowed)
object_examine(OBJ_BIG_LEAVES, 0x326, 0);
- } else if (player_said_3(put, big_leaves, deep_pit) && (_globals[kLeavesStatus] == 1 || _game._trigger))
+ } else if (player_said_3(put, big_leaves, deep_pit) && (_globals[kLeavesStatus] == 1 || kernel.trigger))
subAction(2);
else if (player_said_3(put, twinkifruit, leaf_covered_pit)) {
subAction(3);
- if (_game._player._stepEnabled) {
- _game._player._stepEnabled = false;
+ if (player.commands_allowed) {
+ player.commands_allowed = false;
local._rhotundaTurnFl = true;
- _game._player.walk(Common::Point(20, 148), FACING_EAST);
+ player_walk(20, 148, FACING_EAST);
}
} else if (player_said_3(put, burger, leaf_covered_pit)) {
subAction(4);
- if (_game._player._stepEnabled)
+ if (player.commands_allowed)
text_show(20812);
} else if (player_said_3(put, dead_fish, leaf_covered_pit)) {
subAction(5);
- if (_game._player._stepEnabled)
+ if (player.commands_allowed)
text_show(20812);
} else if (player_said_2(look, cumulous_cloud))
text_show(20801);
@@ -305,7 +308,7 @@ static void room_208_parser() {
else if (player_said_2(look, pile_of_leaves))
text_show(20809);
else if (player_said_2(look, leaf_covered_pit)) {
- if (_game._difficulty == DIFFICULTY_EASY)
+ if (game.difficulty == DIFFICULTY_EASY)
text_show(20810);
else
text_show(20811);
diff --git a/engines/mads/nebular/rooms/room209.cpp b/engines/mads/nebular/rooms/room209.cpp
index c906290b781..1d60f0b8834 100644
--- a/engines/mads/nebular/rooms/room209.cpp
+++ b/engines/mads/nebular/rooms/room209.cpp
@@ -59,7 +59,7 @@ static Scratch local;
static void handlePause() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 124:
if (++local._pauseCounter <= local._pauseCounterThreshold)
_scene->_sequences.addTimer(60, 124);
@@ -72,7 +72,7 @@ static void handlePause() {
}
static void initPauseCounterThreshold() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 226:
_scene->_sequences.addTimer(1, 124);
local._pauseCounterThreshold = g_engine->getRandomNumber(7, 12);
@@ -85,7 +85,7 @@ static void initPauseCounterThreshold() {
}
static void handlePeek() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 133:
g_engine->_soundManager->command(18, 0);
_globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 8, 1, 0, 0);
@@ -133,7 +133,7 @@ static void handlePeek() {
}
static void handleVerticalMove() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 140:
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 8, 8, 0, 1);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 1, 5);
@@ -169,7 +169,7 @@ static void handleVerticalMove() {
}
static void handleLookStay() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 145:
g_engine->_soundManager->command(18, 0);
local._monkeyPosition = 2;
@@ -215,7 +215,7 @@ static void handleLookStay() {
}
static void handleLookRight() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 151:
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
_globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 8, 2, 0, 0);
@@ -244,7 +244,7 @@ static void handleLookRight() {
}
static void handleBlink() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 155:
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
_globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 6);
@@ -275,7 +275,7 @@ static void handleBlink() {
}
static void handleGetBinoculars() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 161:
g_engine->_soundManager->command(18, 0);
local._monkeyPosition = 3;
@@ -326,7 +326,7 @@ static void handleGetBinoculars() {
}
static void handleBinocularBlink() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 167:
{
int oldIdx = _globals._sequenceIndexes[3];
@@ -360,7 +360,7 @@ static void handleBinocularBlink() {
}
static void handleBinocularScan() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 171:
{
int oldIdx = _globals._sequenceIndexes[3];
@@ -424,7 +424,7 @@ static void handleBinocularScan() {
}
static void handleJumpInTree() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 178:
{
int oldIdx = 0;
@@ -467,7 +467,7 @@ static void handleJumpInTree() {
}
static void handleTongue() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 182:
{
int oldIdx = _globals._sequenceIndexes[3];
@@ -527,7 +527,7 @@ static void handleTongue() {
}
static void handleStandFromPeek() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 189:
local._monkeyPosition = 4;
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
@@ -575,7 +575,7 @@ static void handleStandFromPeek() {
}
static void handleStandBlink() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 246:
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
_globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 22);
@@ -604,7 +604,7 @@ static void handleStandBlink() {
}
static void handleJumpAndHide() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 196:
g_engine->_soundManager->command(18, 0);
local._monkeyPosition = 1;
@@ -626,7 +626,7 @@ static void handleJumpAndHide() {
}
static void handleMonkeyEating() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 199:
g_engine->_soundManager->command(18, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
@@ -699,7 +699,7 @@ static void handleMonkeyEating() {
case 207:
{
g_engine->_soundManager->command(18, 0);
- int msgIndex = _scene->_kernelMessages.add(Common::Point(180, 25), 0xFDFC, 0, 0, 90, _game.getQuote(130));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(180, 25), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 130));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
int oldIdx = _globals._sequenceIndexes[4];
@@ -712,7 +712,7 @@ static void handleMonkeyEating() {
case 208:
{
- _scene->_kernelMessages.add(Common::Point(180, 39), 0xFDFC, 0, 0, 90, _game.getQuote(131));
+ _scene->_kernelMessages.add(Common::Point(180, 39), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 131));
int oldIdx = _globals._sequenceIndexes[4];
_globals._sequenceIndexes[4] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[4], false, 10, 4, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 28, 29);
@@ -740,7 +740,7 @@ static void handleMonkeyEating() {
}
static void handleMonkeyFall() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 219:
{
g_engine->_soundManager->command(25, 0);
@@ -749,8 +749,8 @@ static void handleMonkeyFall() {
_scene->_sprites.remove(_globals._spriteIndexes[5]);
_scene->_sprites.remove(_globals._spriteIndexes[4]);
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(formAnimName('m', 4));
- _scene->_kernelMessages.add(Common::Point(180, 26), 0xFDFC, 0, 0, 90, _game.getQuote(151));
+ _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('m', 4));
+ _scene->_kernelMessages.add(Common::Point(180, 26), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 151));
_scene->_sequences.addTimer(40, 100);
_scene->_hotspots.activate(227, false);
int oldIdx = _globals._sequenceIndexes[3];
@@ -767,7 +767,7 @@ static void handleMonkeyFall() {
case 220:
{
g_engine->_soundManager->command(18, 0);
- _scene->_kernelMessages.add(Common::Point(182, 109), 0xFDFC, 0, 0, 90, _game.getQuote(159));
+ _scene->_kernelMessages.add(Common::Point(182, 109), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 159));
_scene->_hotspots.activate(227, false);
int oldIdx = _globals._sequenceIndexes[3];
local._monkeyPosition = 1;
@@ -782,7 +782,7 @@ static void handleMonkeyFall() {
case 221:
{
- _game._objects.setRoom(OBJ_BINOCULARS, 209);
+ inter_move_object(OBJ_BINOCULARS, 209);
local._binocularsDroppedFl = true;
int oldIdx = _globals._sequenceIndexes[8];
_globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 8, 1, 0, 0);
@@ -800,7 +800,7 @@ static void handleMonkeyFall() {
case 222:
{
- _scene->_kernelMessages.add(Common::Point(182, 109), 0xFDFC, 0, 0, 70, _game.getQuote(160));
+ _scene->_kernelMessages.add(Common::Point(182, 109), 0xFDFC, 0, 0, 70, quote_string(kernel.quotes, 160));
int oldIdx = _globals._sequenceIndexes[8];
_globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[8], 73, 78);
@@ -810,7 +810,7 @@ static void handleMonkeyFall() {
break;
case 223:
- _scene->loadAnimation(Resources::formatName(209, 'e', -1, EXT_AA, ""), 224);
+ _scene->loadAnimation(kernel_full_name(209, 'e', -1, "", EXT_AA), 224);
g_engine->_soundManager->command(38, 0);
break;
@@ -820,7 +820,7 @@ static void handleMonkeyFall() {
local._counter = 0;
local._pauseMode = 0;
text_show(20910);
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
break;
default:
@@ -829,7 +829,7 @@ static void handleMonkeyFall() {
}
static void handleMonkey1() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 212:
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 9, 1, 0, 0);
@@ -854,7 +854,7 @@ static void handleMonkey1() {
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], 23, 26);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[7], oldIdx);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 215);
- int msgIndex = _scene->_kernelMessages.add(Common::Point(170, 21), 0xFDFC, 0, 0, 90, _game.getQuote(156));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(170, 21), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 156));
_scene->_kernelMessages.setQuoted(msgIndex, 3, true);
}
break;
@@ -862,7 +862,7 @@ static void handleMonkey1() {
case 215:
{
g_engine->_soundManager->command(18, 0);
- _scene->loadAnimation(Resources::formatName(209, 'a', -1, EXT_AA, ""), 251);
+ _scene->loadAnimation(kernel_full_name(209, 'a', -1, "", EXT_AA), 251);
int oldIdx = _globals._sequenceIndexes[7];
_globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 7, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], 27, 35);
@@ -893,23 +893,23 @@ static void handleMonkey1() {
}
static void handleMonkey2() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 251:
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, _game.getQuote(137));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, quote_string(kernel.quotes, 137));
g_engine->_soundManager->command(22, 0);
_globals._sequenceIndexes[12] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[12], false, 11, 1, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[12], Common::Point(111, 133));
_scene->_sequences.setScale(_globals._sequenceIndexes[12], 79);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[12], 1, 6);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[12], SEQUENCE_TRIGGER_EXPIRE, 0, 252);
- _game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount;
- _game._player._visible = false;
+ player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.walker_visible = false;
break;
case 252:
{
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(132));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 132));
int oldIdx = _globals._sequenceIndexes[12];
_globals._sequenceIndexes[12] = _scene->_sequences.startCycle(_globals._spriteIndexes[12], false, 7);
_scene->_sequences.setPosition(_globals._sequenceIndexes[12], Common::Point(111, 133));
@@ -921,9 +921,9 @@ static void handleMonkey2() {
case 253:
_scene->_sequences.remove(_globals._sequenceIndexes[12]);
- _game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount;
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.walker_visible = true;
+ player.commands_allowed = true;
break;
default:
@@ -932,7 +932,7 @@ static void handleMonkey2() {
}
static void handleDodge() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 241:
_scene->_hotspots.activate(227, true);
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
@@ -954,12 +954,12 @@ static void handleDodge() {
local._playingAnimFl = false;
local._pauseMode = 0;
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 90, _game.getQuote(155));
+ _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 155));
if (!local._shootMissedLastFl) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(135));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 135));
local._shootMissedLastFl = true;
} else {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(136));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 136));
}
break;
@@ -970,23 +970,23 @@ static void handleDodge() {
static void room_209_init() {
_globals._spriteIndexes[11] = _scene->_sprites.addSprites("*RXMBD_2");
- _globals._spriteIndexes[12] = _scene->_sprites.addSprites(formAnimName('a', 1));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('e', -1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('a', 0));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(formAnimName('b', 1));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('m', 0));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('m', 1));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(formAnimName('m', 3));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(formAnimName('m', 6));
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites(formAnimName('m', 8));
-
- _game.loadQuoteSet(0x82, 0x83, 0x84, 0x9C, 0x97, 0x95, 0x99, 0x9E, 0x98, 0x9B, 0xA0, 0x96, 0x9F,
+ _globals._spriteIndexes[12] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('e', -1));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('b', 1));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('m', 0));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('m', 1));
+ _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('m', 3));
+ _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('m', 6));
+ _globals._spriteIndexes[7] = _scene->_sprites.addSprites(kernel_name('m', 8));
+
+ kernel.quotes = quote_load(0x82, 0x83, 0x84, 0x9C, 0x97, 0x95, 0x99, 0x9E, 0x98, 0x9B, 0xA0, 0x96, 0x9F,
0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x91, 0x92, 0x93, 0x94, 0x89, 0x85, 0x8A, 0x86, 0x87, 0x88, 0);
pal_change_color(252, 63, 44, 30);
pal_change_color(253, 63, 20, 22);
- if (_game._objects.isInRoom(OBJ_PLANT_STALK)) {
+ if (object_is_here(OBJ_PLANT_STALK)) {
_globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
int idx = _scene->_dynamicHotspots.add(words_plant_stalk, words_walkto, _globals._sequenceIndexes[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(263, 129), FACING_SOUTH);
@@ -994,14 +994,16 @@ static void room_209_init() {
}
if (_scene->_priorSceneId == 208) {
- _game._player._playerPos = Common::Point(11, 121);
- _game._player._facing = FACING_EAST;
+ player.x = 11;
+ player.y = 121;
+ player.facing = FACING_EAST;
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(28, 121);
- _game._player._facing = FACING_SOUTH;
+ player.x = 28;
+ player.y = 121;
+ player.facing = FACING_SOUTH;
}
- if (_game._objects.isInRoom(OBJ_BINOCULARS)) {
+ if (object_is_here(OBJ_BINOCULARS)) {
_globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 1);
_scene->_sequences.setPosition(_globals._sequenceIndexes[9], Common::Point(201, 131));
_scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
@@ -1010,8 +1012,8 @@ static void room_209_init() {
}
if (_scene->_roomChanged) {
- _game._objects.addToInventory(OBJ_POISON_DARTS);
- _game._objects.addToInventory(OBJ_BLOWGUN);
+ inter_give_to_player(OBJ_POISON_DARTS);
+ inter_give_to_player(OBJ_BLOWGUN);
_globals[kMonkeyStatus] = MONKEY_HAS_BINOCULARS;
}
@@ -1114,7 +1116,7 @@ static void room_209_daemon() {
break;
case 9:
- if ((local._monkeyPosition == 3) && (_game._player._playerPos.x < 120)) {
+ if ((local._monkeyPosition == 3) && (player.x < 120)) {
_scene->_sequences.addTimer(1, 182);
_scene->_hotspots.activate(227, true);
local._counter = 0;
@@ -1260,9 +1262,9 @@ static void room_209_daemon() {
if (!local._playingAnimFl && (local._monkeyPosition == 3))
local._shouldFallFl = true;
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 228:
- _game._player._visible = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 1, 7);
_scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(116, 131));
@@ -1299,9 +1301,9 @@ static void room_209_daemon() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 4);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], oldIdx);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 232);
- _game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount;
+ player.clock = _scene->_frameStartTime - player.frame_delay;
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], -1);
- _game._player._visible = false;
+ player.walker_visible = false;
}
break;
@@ -1315,9 +1317,9 @@ static void room_209_daemon() {
_scene->_sequences.addTimer(2, 233);
_scene->_kernelMessages.reset();
if (local._dodgeFl && (local._monkeyPosition != 1) && (local._monkeyPosition != 2))
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 34463, _game.getQuote(138));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 34463, quote_string(kernel.quotes, 138));
if (local._fallFl && (local._monkeyPosition != 3))
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 34463, _game.getQuote(138));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 34463, quote_string(kernel.quotes, 138));
}
break;
@@ -1368,21 +1370,21 @@ static void room_209_daemon() {
break;
case 237:
- _game._player._visible = true;
- _game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount;
+ player.walker_visible = true;
+ player.clock = _scene->_frameStartTime - player.frame_delay;
_scene->_sequences.addTimer(1, 238);
break;
case 238:
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
if (local._dodgeFl)
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._startShootingInTimerFl = false;
if (local._fallFl) {
_globals[kMonkeyStatus] = MONKEY_IS_GONE;
- _game._objects.setRoom(OBJ_POISON_DARTS, NOWHERE);
+ inter_move_object(OBJ_POISON_DARTS, NOWHERE);
}
local._dodgeFl = false;
local._fallFl = false;
@@ -1401,8 +1403,8 @@ static void room_209_daemon() {
}
}
- if (_game._trigger == 100)
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(134));
+ if (kernel.trigger == 100)
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 134));
if (local._shootReadyFl && (local._shouldFallFl || local._shouldDodgeFl)) {
_scene->_sequences.addTimer(4, 234);
@@ -1412,22 +1414,24 @@ static void room_209_daemon() {
static void room_209_pre_parser() {
if (player_said_2(walk_towards, field_to_west))
- _game._player._walkOffScreenSceneId = 208;
+ player.walk_off_edge_to_room = 208;
if (_globals[kMonkeyStatus] == MONKEY_HAS_BINOCULARS) {
if ((player_said_1(shoot) || player_said_1(hose_down)) && player_said_1(monkey)
- && player_said_1(blowgun) && _game._objects.isInInventory(OBJ_BLOWGUN) && _game._objects.isInInventory(OBJ_POISON_DARTS)) {
- _game._player._prepareWalkPos = Common::Point(111, 129);
- _game._player._prepareWalkFacing = FACING_NORTHEAST;
- _game._player._needToWalk = true;
- _game._player._readyToWalk = true;
+ && player_said_1(blowgun) && player_has(OBJ_BLOWGUN) && player_has(OBJ_POISON_DARTS)) {
+ player.prepare_walk_x = 111;
+ player.prepare_walk_y = 129;
+ player.prepare_walk_facing = FACING_NORTHEAST;
+ player.need_to_walk = true;
+ player.ready_to_walk = true;
}
if (player_said_2(look, monkey) || player_said_2(talkto, monkey)) {
- _game._player._prepareWalkPos = Common::Point(111, 129);
- _game._player._prepareWalkFacing = FACING_NORTHEAST;
- _game._player._needToWalk = true;
- _game._player._readyToWalk = true;
+ player.prepare_walk_x = 111;
+ player.prepare_walk_y = 129;
+ player.prepare_walk_facing = FACING_NORTHEAST;
+ player.need_to_walk = true;
+ player.ready_to_walk = true;
}
}
}
@@ -1448,26 +1452,26 @@ static void room_209_parser() {
if (player_said_2(talkto, monkey) && !local._pitchFl && !local._playingDialogFl) {
_scene->_sequences.addTimer(1, local._dialogAbortVal);
local._playingDialogFl = true;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
_action._inProgress = false;
return;
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 130:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._playingDialogFl = false;
_action._inProgress = false;
return;
case 5:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 6, 180, _game.getQuote(139));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 6, 180, quote_string(kernel.quotes, 139));
_action._inProgress = false;
return;
case 6:
- _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, _game.getQuote(151));
+ _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 151));
_scene->_sequences.addTimer(60, 130);
local._dialogAbortVal = 7;
_action._inProgress = false;
@@ -1475,12 +1479,12 @@ static void room_209_parser() {
case 7:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 8, 180, _game.getQuote(140));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 8, 180, quote_string(kernel.quotes, 140));
_action._inProgress = false;
return;
case 8:
- _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, _game.getQuote(149));
+ _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 149));
_scene->_sequences.addTimer(60, 130);
local._dialogAbortVal = 9;
_action._inProgress = false;
@@ -1488,18 +1492,18 @@ static void room_209_parser() {
case 9:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 180, _game.getQuote(141));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 180, quote_string(kernel.quotes, 141));
_scene->_sequences.addTimer(200, 10);
_action._inProgress = false;
return;
case 10:
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 11, 180, _game.getQuote(142));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 11, 180, quote_string(kernel.quotes, 142));
_action._inProgress = false;
return;
case 11:
- _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, _game.getQuote(152));
+ _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 152));
_scene->_sequences.addTimer(60, 130);
local._dialogAbortVal = 12;
_action._inProgress = false;
@@ -1507,18 +1511,18 @@ static void room_209_parser() {
case 12:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 130, _game.getQuote(143));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 130, quote_string(kernel.quotes, 143));
_scene->_sequences.addTimer(150, 13);
_action._inProgress = false;
return;
case 13:
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 14, 180, _game.getQuote(145));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 14, 180, quote_string(kernel.quotes, 145));
_action._inProgress = false;
return;
case 14:
- _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, _game.getQuote(151));
+ _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 151));
_scene->_sequences.addTimer(60, 130);
local._dialogAbortVal = 15;
_action._inProgress = false;
@@ -1526,24 +1530,24 @@ static void room_209_parser() {
case 15:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 16, 180, _game.getQuote(146));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 16, 180, quote_string(kernel.quotes, 146));
_action._inProgress = false;
return;
case 16:
- _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 17, 60, _game.getQuote(154));
+ _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 17, 60, quote_string(kernel.quotes, 154));
_action._inProgress = false;
return;
case 17:
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 130, 60, _game.getQuote(147));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 130, 60, quote_string(kernel.quotes, 147));
local._dialogAbortVal = 18;
_action._inProgress = false;
return;
case 18:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 180, _game.getQuote(148));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 180, quote_string(kernel.quotes, 148));
local._pitchFl = true;
local._playingDialogFl = false;
local._dialogAbortVal = 5;
@@ -1556,21 +1560,21 @@ static void room_209_parser() {
if (_globals[kMonkeyStatus] == MONKEY_HAS_BINOCULARS) {
if ((player_said_1(shoot) || player_said_1(hose_down)) && player_said_1(monkey)
- && player_said_1(blowgun) && _game._objects.isInInventory(OBJ_BLOWGUN) && _game._objects.isInInventory(OBJ_POISON_DARTS)) {
+ && player_said_1(blowgun) && player_has(OBJ_BLOWGUN) && player_has(OBJ_POISON_DARTS)) {
if (player_said_3(shoot, blowgun, monkey) && !local._startShootingInTimerFl) {
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 231);
local._startShootingInTimerFl = true;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
local._dodgeFl = true;
_action._inProgress = false;
return;
}
if (player_said_3(hose_down, blowgun, monkey) && !local._startShootingInTimerFl) {
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 228);
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
local._fallFl = true;
local._startShootingInTimerFl = true;
_action._inProgress = false;
@@ -1580,18 +1584,18 @@ static void room_209_parser() {
if (player_said_2(look, monkey)) {
local._pitchFl = true;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
text_show(20914);
_action._inProgress = false;
return;
}
}
- if (player_said_2(take, plant_stalk) && (_game._trigger || _game._objects.isInRoom(OBJ_PLANT_STALK))) {
- switch (_game._trigger) {
+ if (player_said_2(take, plant_stalk) && (kernel.trigger || object_is_here(OBJ_PLANT_STALK))) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[11] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[11], false, 3, 2, 0, 0);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[11]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_SPRITE, 4, 1);
@@ -1600,12 +1604,12 @@ static void room_209_parser() {
case 1:
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _game._objects.addToInventory(OBJ_PLANT_STALK);
+ inter_give_to_player(OBJ_PLANT_STALK);
break;
case 2:
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
_scene->_sequences.addTimer(4, 3);
object_examine(OBJ_PLANT_STALK, 0x328, 0);
break;
@@ -1620,12 +1624,12 @@ static void room_209_parser() {
return;
}
- if (player_said_2(take, binoculars) && (_game._trigger || _game._objects.isInRoom(OBJ_BINOCULARS))) {
- switch (_game._trigger) {
+ if (player_said_2(take, binoculars) && (kernel.trigger || object_is_here(OBJ_BINOCULARS))) {
+ switch (kernel.trigger) {
case 0:
_globals._spriteIndexes[10] = _scene->_sprites.addSprites("*RXMBD_8");
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[10] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[10], false, 3, 2, 0, 0);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[10]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[10], SEQUENCE_TRIGGER_SPRITE, 4, 1);
@@ -1634,12 +1638,12 @@ static void room_209_parser() {
case 1:
_scene->_sequences.remove(_globals._sequenceIndexes[9]);
- _game._objects.addToInventory(OBJ_BINOCULARS);
+ inter_give_to_player(OBJ_BINOCULARS);
break;
case 2:
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
local._binocularsDroppedFl = false;
_scene->_sequences.addTimer(4, 3);
break;
@@ -1710,7 +1714,7 @@ static void room_209_parser() {
return;
}
- if (player_said_2(throw, monkey) && _game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId))) {
+ if (player_said_2(throw, monkey) && player_has(object_named(_action._activeAction._objectNameId))) {
if (!player_said_1(poison_darts)) {
text_show(20915);
}
diff --git a/engines/mads/nebular/rooms/room210.cpp b/engines/mads/nebular/rooms/room210.cpp
index 94c75f709d9..5c65309875b 100644
--- a/engines/mads/nebular/rooms/room210.cpp
+++ b/engines/mads/nebular/rooms/room210.cpp
@@ -59,7 +59,7 @@ static Scratch local;
static void handleTwinklesSpeech(int quoteId, int shiftX, uint32 delay) {
- _scene->_kernelMessages.add(Common::Point(10, 70 + (shiftX * 14)), 0xFDFC, 0, 0, (delay == 0) ? INDEFINITE_TIMEOUT : delay, _game.getQuote(quoteId));
+ _scene->_kernelMessages.add(Common::Point(10, 70 + (shiftX * 14)), 0xFDFC, 0, 0, (delay == 0) ? INDEFINITE_TIMEOUT : delay, quote_string(kernel.quotes, quoteId));
}
static void newNode(int node) {
@@ -105,16 +105,16 @@ static void setDialogNode(int node) {
_scene->_userInterface.setup(kInputBuildingSentences);
local._shouldFaceRex = false;
local._shouldTalk = false;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._curDialogNode = 0;
break;
case 2:
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 1:
local._nextHandsPlace = 1;
local._shouldTalk = true;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
if (local._twinklesTalking) {
handleTwinklesSpeech(0xB9, -1, 0);
_scene->_sequences.addTimer(180, 2);
@@ -132,18 +132,18 @@ static void setDialogNode(int node) {
default:
local._nextHandsPlace = 0;
local._shouldTalk = false;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
newNode(2);
break;
}
break;
case 3:
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 1:
local._nextHandsPlace = 0;
local._shouldTalk = true;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
if (local._twinklesTalking) {
handleTwinklesSpeech(0xBE, -2, 0);
_scene->_sequences.addTimer(180, 2);
@@ -163,20 +163,20 @@ static void setDialogNode(int node) {
break;
default:
local._shouldTalk = false;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
newNode(3);
break;
}
break;
case 4:
- if (_game._trigger == 1) {
+ if (kernel.trigger == 1) {
local._nextHandsPlace = 1;
local._shouldTalk = true;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
int quote;
- if (_game._storyMode == STORYMODE_NAUGHTY)
+ if (config_file.naughtiness == STORYMODE_NAUGHTY)
quote = g_engine->getRandomNumber(199, 201);
else
quote = g_engine->getRandomNumber(197, 198);
@@ -191,16 +191,16 @@ static void setDialogNode(int node) {
_scene->_userInterface.setup(kInputBuildingSentences);
local._shouldFaceRex = false;
local._shouldTalk = false;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
}
break;
case 5:
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 1:
local._nextHandsPlace = 2;
local._shouldTalk = true;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
if (local._twinklesTalking) {
handleTwinklesSpeech(0xCA, -1, 0);
_scene->_sequences.addTimer(180, 2);
@@ -218,18 +218,18 @@ static void setDialogNode(int node) {
default:
local._nextHandsPlace = 2;
local._shouldTalk = false;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
newNode(5);
break;
}
break;
case 6:
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 1:
local._nextHandsPlace = 1;
local._shouldTalk = true;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
if (local._twinklesTalking) {
handleTwinklesSpeech(0xD0, -2, 0);
_scene->_sequences.addTimer(180, 2);
@@ -252,18 +252,18 @@ static void setDialogNode(int node) {
default:
local._nextHandsPlace = 0;
local._shouldTalk = false;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
newNode(6);
break;
}
break;
case 7:
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 1:
local._nextHandsPlace = 2;
local._shouldTalk = true;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
if (local._twinklesTalking) {
handleTwinklesSpeech(0xD6, -1, 0);
_scene->_sequences.addTimer(180, 2);
@@ -279,18 +279,18 @@ static void setDialogNode(int node) {
default:
local._shouldTalk = false;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
newNode(7);
break;
}
break;
case 8:
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 1:
local._nextHandsPlace = 2;
local._shouldTalk = true;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
if (local._twinklesTalking) {
handleTwinklesSpeech(0xDD, -1, 0);
_scene->_sequences.addTimer(180, 2);
@@ -306,7 +306,7 @@ static void setDialogNode(int node) {
default:
local._shouldTalk = false;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
newNode(8);
break;
}
@@ -314,11 +314,11 @@ static void setDialogNode(int node) {
case 9:
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 1:
local._nextHandsPlace = 0;
local._shouldTalk = true;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
if (local._twinklesTalking) {
_scene->_userInterface.emptyConversationList();
_scene->_userInterface.setup(kInputConversation);
@@ -337,15 +337,15 @@ static void setDialogNode(int node) {
case 3:
local._twinkleAnimationType = 2;
_globals[kCurtainOpen] = true;
- _game._player._visible = false;
+ player.walker_visible = false;
pal_lock();
_scene->_kernelMessages.reset();
_scene->freeAnimation();
_scene->resetScene();
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('c', -1));
- _game.loadQuoteSet(0xE6, 0xE9, 0xEA, 0xE7, 0xE8, 0);
- _scene->loadAnimation(formAnimName('B', -1), 4);
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ kernel.quotes = quote_load(0xE6, 0xE9, 0xEA, 0xE7, 0xE8, 0);
+ _scene->loadAnimation(kernel_name('B', -1), 4);
break;
case 4:
@@ -353,28 +353,28 @@ static void setDialogNode(int node) {
_globals._spriteIndexes[8] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 5);
_scene->_sequences.setDepth(_globals._spriteIndexes[8], 1);
- int msgIndex = _scene->_kernelMessages.add(Common::Point(160, 20), 0x1110, 32, 5, 180, _game.getQuote(231));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(160, 20), 0x1110, 32, 5, 180, quote_string(kernel.quotes, 231));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
}
break;
case 5:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(160, 40), 0xFDFC, 32, 6, 180, _game.getQuote(233));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(160, 40), 0xFDFC, 32, 6, 180, quote_string(kernel.quotes, 233));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
}
break;
case 6:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(160, 60), 0x1110, 32, 7, 180, _game.getQuote(232));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(160, 60), 0x1110, 32, 7, 180, quote_string(kernel.quotes, 232));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
}
break;
case 7:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(160, 80), 0xFDFC, 32, 8, 180, _game.getQuote(234));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(160, 80), 0xFDFC, 32, 8, 180, quote_string(kernel.quotes, 234));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
}
break;
@@ -545,24 +545,24 @@ static void handleConversation8() {
}
static void handleConversations() {
- if (_game._trigger == 0) {
+ if (kernel.trigger == 0) {
_scene->_kernelMessages.reset();
- _game._player._stepEnabled = false;
- const char *curQuote = _game.getQuote(_action._activeAction._verbId);
+ player.commands_allowed = false;
+ const char *curQuote = quote_string(kernel.quotes, _action._activeAction._verbId);
if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
static char line1[40], line2[40];
- _game.splitQuote(curQuote, line1, line2);
+ quote_split_string(curQuote, line1, line2);
Common::strcpy_s(local._subQuote2, line2);
_scene->_kernelMessages.add(Common::Point(0, -14), 0x1110, 34, 0, 240, line1);
_scene->_sequences.addTimer(60, 50);
} else {
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 1, 120, curQuote);
}
- } else if (_game._trigger == 50) {
+ } else if (kernel.trigger == 50) {
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 240, local._subQuote2);
_scene->_sequences.addTimer(180, 1);
} else {
- if (_game._trigger == 1)
+ if (kernel.trigger == 1)
_scene->_kernelMessages.reset();
switch (local._curDialogNode) {
@@ -613,19 +613,24 @@ static void restoreDialogNode(int node, int msgId, int posY) {
}
static void room_210_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('c', -1));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
- if (!_game._visitedScenes._sceneRevisited)
+ if (!player.been_here_before)
_globals[kCurtainOpen] = 0;
- if (_scene->_priorSceneId == 205)
- _game._player._playerPos = Common::Point(277, 56);
+ if (_scene->_priorSceneId == 205) {
+ player.x = 277;
+ player.y = 56;
+ }
else if (_scene->_priorSceneId == 215) {
- _game._player._playerPos = Common::Point(168, 128);
- _game._player._facing = FACING_SOUTH;
+ player.x = 168;
+ player.y = 128;
+ player.facing = FACING_SOUTH;
_globals[kCurtainOpen] = true;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(308, 132);
+ } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 308;
+ player.y = 132;
+ }
if (!_globals[kCurtainOpen]) {
_globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 5);
@@ -636,21 +641,21 @@ static void room_210_init() {
_scene->_dynamicHotspots.setCursor(local._doorway, CURSOR_GO_UP);
}
- _game.loadQuoteSet(0x5A, 0x73, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB8, 0xB7,
+ kernel.quotes = quote_load(0x5A, 0x73, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB8, 0xB7,
0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA,
0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC,
0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0);
local._conv1.setup(0x2E, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0);
- if (!_game._visitedScenes._sceneRevisited) {
+ if (!player.been_here_before) {
local._conv1.set(0x2E, 0xB4, 0xB5, 0xB6, 0xB8, 0);
- if (_game._widepipeCtr >= 2)
+ if (kernel.cheating >= 2)
local._conv1.write(0xB7, true);
}
- bool sceneRevisited = _game._visitedScenes._sceneRevisited;
+ bool sceneRevisited = player.been_here_before;
local._conv2.setup(0x2F, 0xBC, 0xBB, 0xBD, sceneRevisited ? 0 : -1);
local._conv3.setup(0x30, 0xC3, 0xC2, 0xC1, 0xC4, sceneRevisited ? 0 : -1);
local._conv5.setup(0x31, 0xCD, 0xCC, 0xCE, 0xCF, sceneRevisited ? 0 : -1);
@@ -673,7 +678,7 @@ static void room_210_init() {
}
if (_globals[kTwinklesStatus] == 0) {
- _scene->loadAnimation(formAnimName('A', -1));
+ _scene->loadAnimation(kernel_name('A', -1));
local._twinkleAnimationType = 1;
} else
_scene->_hotspots.activate(476, false);
@@ -873,7 +878,7 @@ static void room_210_daemon() {
int reset_frame = -1;
if (local._twinklesCurrentFrame == 53) {
- _scene->_kernelMessages.add(Common::Point(151, 61), 0xFDFC, 32, 70, 180, _game.getQuote(230));
+ _scene->_kernelMessages.add(Common::Point(151, 61), 0xFDFC, 32, 70, 180, quote_string(kernel.quotes, 230));
local._shouldTalk = true;
} else if ((local._twinklesCurrentFrame == 75) && local._shouldTalk)
reset_frame = 60;
@@ -884,12 +889,12 @@ static void room_210_daemon() {
}
}
- if (_game._trigger == 70)
+ if (kernel.trigger == 70)
local._shouldTalk = false;
}
if ((local._twinkleAnimationType == 1) && (_scene->_rails.getNext() > 0)) {
- _game._player.walk(Common::Point(214, 150), FACING_NORTHWEST);
+ player_walk(214, 150, FACING_NORTHWEST);
_scene->_rails.resetNext();
local._stopWalking = true;
}
@@ -899,20 +904,20 @@ static void room_210_pre_parser() {
local._stopWalking = false;
if (player_said_2(walk_down, path_to_east))
- _game._player._walkOffScreenSceneId = 211;
+ player.walk_off_edge_to_room = 211;
}
static void room_210_parser() {
if (player_said_3(look, binoculars, hut_to_north)) {
text_show(21017);
- } else if (_game._screenObjects._inputMode == kInputConversation) {
+ } else if (inter_input_mode == kInputConversation) {
handleConversations();
} else if (player_said_2(talkto, native_woman) ||
- ((_game._player._playerPos == Common::Point(214, 150)) && (_game._player._facing == FACING_NORTHWEST) && (local._twinkleAnimationType == 1) && local._stopWalking)) {
- switch (_game._trigger) {
+ ((Common::Point(player.x, player.y) == Common::Point(214, 150)) && (player.facing == FACING_NORTHWEST) && (local._twinkleAnimationType == 1) && local._stopWalking)) {
+ switch (kernel.trigger) {
case 0:
{
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
int quote;
if (_globals[kTwinklesApproached] == 0)
quote = 90;
@@ -948,7 +953,7 @@ static void room_210_parser() {
break;
case 3:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._shouldMoveHead = false;
local._shouldTalk = false;
@@ -962,20 +967,20 @@ static void room_210_parser() {
default:
break;
}
- } else if (player_said_2(give, native_woman) && _game._objects.isInInventory(_game._objects.getIdFromDesc(_action._activeAction._objectNameId))) {
- switch (_game._trigger) {
+ } else if (player_said_2(give, native_woman) && player_has(object_named(_action._activeAction._objectNameId))) {
+ switch (kernel.trigger) {
case 0:
{
int quote = g_engine->getRandomNumber(172, 174);
local._shouldMoveHead = true;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
handleTwinklesSpeech(quote, 0, 120);
_scene->_sequences.addTimer(120, 1);
}
break;
case 1:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._shouldMoveHead = false;
break;
@@ -987,9 +992,9 @@ static void room_210_parser() {
} else if (player_said_2(walk_through, doorway)) {
_scene->_nextSceneId = 215;
} else if ((player_said_2(pull, curtain) || player_said_2(open, curtain)) && !_globals[kCurtainOpen]) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_globals._sequenceIndexes[1] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[1], false, 12, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 5);
@@ -997,7 +1002,7 @@ static void room_210_parser() {
break;
case 1:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
_globals[kCurtainOpen] = true;
local._doorway = _scene->_dynamicHotspots.add(words_doorway, words_walk_through, -1, Common::Rect(163, 87, 163 + 19, 87 + 36));
_scene->_dynamicHotspots.setPosition(local._doorway, Common::Point(168, 127), FACING_NORTH);
@@ -1008,15 +1013,15 @@ static void room_210_parser() {
break;
}
} else if ((player_said_2(pull, curtain) || player_said_2(close, curtain)) && _globals[kCurtainOpen]) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _game._player._stepEnabled = false;
- _game._player._facing = FACING_NORTH;
+ player.commands_allowed = false;
+ player.facing = FACING_NORTH;
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 12, 0, 0, 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 5);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
break;
case 1:
_globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 5);
@@ -1025,7 +1030,7 @@ static void room_210_parser() {
break;
case 2:
_scene->_dynamicHotspots.remove(local._doorway);
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
_globals[kCurtainOpen] = false;
break;
default:
@@ -1033,7 +1038,7 @@ static void room_210_parser() {
}
} else if (player_said_2(look, hut)) {
if (_globals[kTwinklesStatus] == TWINKLES_GONE) {
- if (_game._storyMode == STORYMODE_NAUGHTY)
+ if (config_file.naughtiness == STORYMODE_NAUGHTY)
text_show(21003);
else
text_show(21002);
diff --git a/engines/mads/nebular/rooms/room211.cpp b/engines/mads/nebular/rooms/room211.cpp
index ae93c1671a8..daf4c035065 100644
--- a/engines/mads/nebular/rooms/room211.cpp
+++ b/engines/mads/nebular/rooms/room211.cpp
@@ -47,19 +47,23 @@ static void room_211_init() {
_globals._spriteIndexes[1] = _scene->_sprites.addSprites("*SC002Z2");
local._wakeFl = false;
- if (_scene->_priorSceneId == 210)
- _game._player._playerPos = Common::Point(25, 148);
+ if (_scene->_priorSceneId == 210) {
+ player.x = 25;
+ player.y = 148;
+ }
else if (_scene->_priorSceneId == 205) {
- _game._player._playerPos = Common::Point(49, 133);
- _game._player._facing = FACING_WEST;
+ player.x = 49;
+ player.y = 133;
+ player.facing = FACING_WEST;
local._wakeFl = true;
- _game._player._stepEnabled = false;
- _game._player._visible = false;
- _scene->loadAnimation(formAnimName('A', -1), 100);
+ player.commands_allowed = false;
+ player.walker_visible = false;
+ _scene->loadAnimation(kernel_name('A', -1), 100);
_scene->_animation[0]->setCurrentFrame(169);
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(310, 31);
- _game._player._facing = FACING_SOUTHWEST;
+ player.x = 310;
+ player.y = 31;
+ player.facing = FACING_SOUTHWEST;
}
if (g_engine->getRandomNumber(1, 8) == 1) {
@@ -71,18 +75,18 @@ static void room_211_init() {
}
if (_scene->_roomChanged)
- _game._objects.addToInventory(OBJ_BINOCULARS);
+ inter_give_to_player(OBJ_BINOCULARS);
pal_change_color(252, 63, 44, 30);
pal_change_color(253, 63, 20, 22);
- _game.loadQuoteSet(0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 1, 0);
+ kernel.quotes = quote_load(0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 1, 0);
if (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY)
_scene->_kernelMessages.initRandomMessages(2,
Common::Rect(0, 0, 54, 30), 13, 2, 0xFDFC, 60,
151, 152, 153, 154, 0);
- local._monkeyTime = _game->_scene._frameStartTime;
+ local._monkeyTime = _scene._frameStartTime;
local._scrollY = 30;
local._ambushFl = false;
@@ -95,29 +99,29 @@ static void room_211_daemon() {
if (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY) {
_scene->_kernelMessages.randomServer();
- if (!local._ambushFl && !local._wakeFl && (_game->_scene._frameStartTime >= local._monkeyTime)) {
+ if (!local._ambushFl && !local._wakeFl && (_scene._frameStartTime >= local._monkeyTime)) {
int chanceMinor = _scene->_kernelMessages.checkRandom() * 4 + 1;
if (_scene->_kernelMessages.generateRandom(80, chanceMinor))
g_engine->_soundManager->command(18, 0);
- local._monkeyTime = _game->_scene._frameStartTime + 2;
+ local._monkeyTime = _scene._frameStartTime + 2;
}
- if ((_game._player._playerPos == Common::Point(52, 132)) && (_game._player._facing == FACING_WEST) && !_game._player._moving &&
- (_game._trigger || !local._ambushFl)) {
- switch (_game._trigger) {
+ if ((Common::Point(player.x, player.y) == Common::Point(52, 132)) && (player.facing == FACING_WEST) && !player.walking &&
+ (kernel.trigger || !local._ambushFl)) {
+ switch (kernel.trigger) {
case 0:
- if (_game._objects.isInInventory(OBJ_BINOCULARS)) {
+ if (player_has(OBJ_BINOCULARS)) {
local._ambushFl = true;
local._monkeyFrame = 0;
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_scene->_kernelMessages.reset();
- _scene->loadAnimation(formAnimName('A', -1), 90);
+ _scene->loadAnimation(kernel_name('A', -1), 90);
g_engine->_soundManager->command(19, 0);
- int count = (int)_game._objects._inventoryList.size();
+ int count = (int)inven_num_objects;
for (int idx = 0; idx < count; idx++) {
- if ((_game._objects._inventoryList[idx] == OBJ_BINOCULARS) && (_scene->_userInterface._selectedInvIndex != idx))
+ if ((inven[idx] == OBJ_BINOCULARS) && (_scene->_userInterface._selectedInvIndex != idx))
_scene->_userInterface.selectObject(idx);
}
}
@@ -125,9 +129,10 @@ static void room_211_daemon() {
case 90:
g_engine->_soundManager->command(10, 0);
- _game._player._stepEnabled = true;
- _game._player._visible = true;
- _game._player._playerPos = Common::Point(49, 133);
+ player.commands_allowed = true;
+ player.walker_visible = true;
+ player.x = 49;
+ player.y = 133;
local._ambushFl = false;
_globals[kMonkeyStatus] = MONKEY_HAS_BINOCULARS;
break;
@@ -143,44 +148,44 @@ static void room_211_daemon() {
switch (local._monkeyFrame) {
case 2:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(12, 4), 0xFDFC, 0, 0, 60, _game.getQuote(157));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(12, 4), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 157));
_scene->_kernelMessages.setQuoted(msgIndex, 2, true);
}
break;
case 12:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(35, 20), 0xFDFC, 0, 0, 60, _game.getQuote(155));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(35, 20), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 155));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
}
break;
case 42:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(60, 45), 0xFDFC, 0, 0, 60, _game.getQuote(156));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(60, 45), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 156));
_scene->_kernelMessages.setQuoted(msgIndex, 6, true);
}
break;
case 73:
- _scene->_kernelMessages.add(Common::Point(102, 95), 0xFDFC, 32, 0, 75, _game.getQuote(157));
+ _scene->_kernelMessages.add(Common::Point(102, 95), 0xFDFC, 32, 0, 75, quote_string(kernel.quotes, 157));
break;
case 90:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(102, 95), 0xFDFC, 32, 0, 60, _game.getQuote(158));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(102, 95), 0xFDFC, 32, 0, 60, quote_string(kernel.quotes, 158));
_scene->_kernelMessages.setQuoted(msgIndex, 6, true);
}
break;
case 97:
_scene->_userInterface.selectObject(-1);
- _game._objects.removeFromInventory(OBJ_BINOCULARS, 1);
+ inter_take_from_player(OBJ_BINOCULARS, 1);
break;
case 177:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, _game.getQuote(161));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 161));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
local._scrollY += 14;
}
@@ -188,7 +193,7 @@ static void room_211_daemon() {
case 181:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, _game.getQuote(162));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 162));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
local._scrollY += 14;
}
@@ -196,7 +201,7 @@ static void room_211_daemon() {
case 188:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, _game.getQuote(163));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 163));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
local._scrollY += 14;
}
@@ -204,7 +209,7 @@ static void room_211_daemon() {
case 200:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, _game.getQuote(164));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 164));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
local._scrollY += 14;
}
@@ -216,9 +221,9 @@ static void room_211_daemon() {
}
if (local._wakeFl) {
- if (_game._trigger == 100) {
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ if (kernel.trigger == 100) {
+ player.walker_visible = true;
+ player.commands_allowed = true;
local._wakeFl = false;
}
@@ -227,7 +232,7 @@ static void room_211_daemon() {
switch (_scene->_animation[0]->getCurrentFrame()) {
case 177:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, _game.getQuote(165));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 165));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
local._scrollY += 14;
}
@@ -235,7 +240,7 @@ static void room_211_daemon() {
case 181:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, _game.getQuote(166));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 166));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
local._scrollY += 14;
}
@@ -243,7 +248,7 @@ static void room_211_daemon() {
case 188:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, _game.getQuote(167));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 167));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
local._scrollY += 14;
}
@@ -251,7 +256,7 @@ static void room_211_daemon() {
case 200:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, _game.getQuote(168));
+ int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 168));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
local._scrollY += 14;
}
@@ -265,19 +270,19 @@ static void room_211_daemon() {
}
static void room_211_pre_parser() {
- if (player_said_2(walk_down, jungle_path) && _game._objects.isInInventory(OBJ_BINOCULARS) && (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY)
+ if (player_said_2(walk_down, jungle_path) && player_has(OBJ_BINOCULARS) && (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY)
&& (_scene->_customDest.x <= 52) && (_scene->_customDest.y >= 132))
- _game._player.walk(Common::Point(52, 132), FACING_WEST);
+ player_walk(52, 132, FACING_WEST);
if (player_said_2(walk_down, path_to_west)) {
- if (_game._objects.isInInventory(OBJ_BINOCULARS) && (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY))
- _game._player.walk(Common::Point(52, 132), FACING_WEST);
+ if (player_has(OBJ_BINOCULARS) && (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY))
+ player_walk(52, 132, FACING_WEST);
else
- _game._player._walkOffScreenSceneId = 210;
+ player.walk_off_edge_to_room = 210;
}
if (player_said_2(walk_down, path_to_northeast))
- _game._player._walkOffScreenSceneId = 207;
+ player.walk_off_edge_to_room = 207;
}
static void room_211_parser() {
@@ -291,7 +296,7 @@ static void room_211_parser() {
text_show(21102);
else if (player_said_2(look, palm_tree)) {
if (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY) {
- if (_game._storyMode == STORYMODE_NAUGHTY)
+ if (config_file.naughtiness == STORYMODE_NAUGHTY)
text_show(21103);
else
text_show(21104);
@@ -299,7 +304,7 @@ static void room_211_parser() {
text_show(21105);
}
} else if (player_said_2(look, thick_undergrowth)) {
- if (_game._storyMode == STORYMODE_NAUGHTY)
+ if (config_file.naughtiness == STORYMODE_NAUGHTY)
text_show(21106);
else
text_show(21107);
diff --git a/engines/mads/nebular/rooms/room212.cpp b/engines/mads/nebular/rooms/room212.cpp
index 439e85c1d59..2a2979c61e0 100644
--- a/engines/mads/nebular/rooms/room212.cpp
+++ b/engines/mads/nebular/rooms/room212.cpp
@@ -33,11 +33,13 @@ namespace Rooms {
static void room_212_init() {
if (_scene->_priorSceneId == 208) {
- _game._player._playerPos = Common::Point(195, 85);
- _game._player._facing = FACING_SOUTH;
+ player.x = 195;
+ player.y = 85;
+ player.facing = FACING_SOUTH;
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(67, 117);
- _game._player._facing = FACING_NORTHEAST;
+ player.x = 67;
+ player.y = 117;
+ player.facing = FACING_NORTHEAST;
}
section_2_music();
@@ -49,7 +51,7 @@ static void room_212_daemon() {
static void room_212_pre_parser() {
if (player_said_2(walk_through, cave_entrance))
- _game._player._walkOffScreenSceneId = 111;
+ player.walk_off_edge_to_room = 111;
}
static void room_212_parser() {
diff --git a/engines/mads/nebular/rooms/room214.cpp b/engines/mads/nebular/rooms/room214.cpp
index 61d5dc8342f..2bdc2c18501 100644
--- a/engines/mads/nebular/rooms/room214.cpp
+++ b/engines/mads/nebular/rooms/room214.cpp
@@ -40,15 +40,15 @@ static Scratch local;
static void room_214_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('e', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('e', 1));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('t', -1));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('e', 0));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('e', 1));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('t', -1));
_globals._spriteIndexes[4] = _scene->_sprites.addSprites("*RXMRD_7");
- local._devilTime = _game._player._priorTimer;
+ local._devilTime = player.clock;
local._devilRunningFl = false;
- if (_game._objects.isInRoom(OBJ_POISON_DARTS)) {
+ if (object_is_here(OBJ_POISON_DARTS)) {
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 6, 0, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(103, 86));
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 11);
@@ -56,7 +56,7 @@ static void room_214_init() {
_scene->_hotspots.activate(words_poison_darts, false);
}
- if (_game._objects.isInRoom(OBJ_BLOWGUN)) {
+ if (object_is_here(OBJ_BLOWGUN)) {
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 6, 0, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(90, 87));
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 13);
@@ -64,14 +64,16 @@ static void room_214_init() {
_scene->_hotspots.activate(words_blowgun, false);
}
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(191, 152);
+ if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 191;
+ player.y = 152;
+ }
section_2_music();
}
static void room_214_daemon() {
- if ((_game._player._priorTimer - local._devilTime > 800) && !local._devilRunningFl) {
+ if ((player.clock - local._devilTime > 800) && !local._devilRunningFl) {
local._devilRunningFl = true;
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 9, 1, 6, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 1, 4);
@@ -81,7 +83,7 @@ static void room_214_daemon() {
}
if (local._devilRunningFl) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 71:
{
int oldIdx = _globals._sequenceIndexes[3];
@@ -102,7 +104,7 @@ static void room_214_daemon() {
_scene->_dynamicHotspots.add(words_captive_creature, words_walkto, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 9, -2);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 2);
- local._devilTime = _game._player._priorTimer;
+ local._devilTime = player.clock;
local._devilRunningFl = false;
}
break;
@@ -118,11 +120,11 @@ static void room_214_parser() {
text_show(21427);
else if (player_said_2(walk_outside, hut))
_scene->_nextSceneId = 207;
- else if (player_said_2(take, poison_darts) && (_game._trigger || _game._objects.isInRoom(OBJ_POISON_DARTS))) {
- switch (_game._trigger) {
+ else if (player_said_2(take, poison_darts) && (kernel.trigger || object_is_here(OBJ_POISON_DARTS))) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], true, 6, 1, 0, 0);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
@@ -133,28 +135,28 @@ static void room_214_parser() {
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _game._objects.addToInventory(OBJ_POISON_DARTS);
+ inter_give_to_player(OBJ_POISON_DARTS);
_scene->_hotspots.activate(words_poison_darts, false);
break;
case 2:
- _game._player._visible = true;
+ player.walker_visible = true;
_scene->_sequences.addTimer(48, 3);
break;
case 3:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
object_examine(OBJ_POISON_DARTS, 0x53A5, 0);
break;
default:
break;
}
- } else if (player_said_2(take, blowgun) && (_game._trigger || _game._objects.isInRoom(OBJ_BLOWGUN))) {
- switch (_game._trigger) {
+ } else if (player_said_2(take, blowgun) && (kernel.trigger || object_is_here(OBJ_BLOWGUN))) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 6, 1, 0, 0);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
@@ -165,17 +167,17 @@ static void room_214_parser() {
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _game._objects.addToInventory(OBJ_BLOWGUN);
+ inter_give_to_player(OBJ_BLOWGUN);
_scene->_hotspots.activate(words_blowgun, false);
break;
case 2:
- _game._player._visible = true;
+ player.walker_visible = true;
_scene->_sequences.addTimer(48, 3);
break;
case 3:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
object_examine(OBJ_BLOWGUN, 0x329, 0);
break;
@@ -193,7 +195,7 @@ static void room_214_parser() {
else if (player_said_2(look, trophy))
text_show(21405);
else if (player_said_2(look, large_bowl)) {
- if (_game._storyMode == STORYMODE_NAUGHTY) {
+ if (config_file.naughtiness == STORYMODE_NAUGHTY) {
text_show(21406);
} else {
text_show(21407);
@@ -229,11 +231,11 @@ static void room_214_parser() {
else if (player_said_2(look, blowgun))
text_show(21422);
else if (player_said_2(look, table)) {
- if (_game._objects.isInRoom(OBJ_POISON_DARTS) && _game._objects.isInRoom(OBJ_BLOWGUN)) {
+ if (object_is_here(OBJ_POISON_DARTS) && object_is_here(OBJ_BLOWGUN)) {
text_show(21423);
- } else if (_game._objects.isInRoom(OBJ_POISON_DARTS) && !_game._objects.isInRoom(OBJ_BLOWGUN)) {
+ } else if (object_is_here(OBJ_POISON_DARTS) && !object_is_here(OBJ_BLOWGUN)) {
text_show(21424);
- } else if (!_game._objects.isInRoom(OBJ_POISON_DARTS) && _game._objects.isInRoom(OBJ_BLOWGUN)) {
+ } else if (!object_is_here(OBJ_POISON_DARTS) && object_is_here(OBJ_BLOWGUN)) {
text_show(21425);
} else {
text_show(21426);
diff --git a/engines/mads/nebular/rooms/room215.cpp b/engines/mads/nebular/rooms/room215.cpp
index c3094ee81bd..95f1a135c2d 100644
--- a/engines/mads/nebular/rooms/room215.cpp
+++ b/engines/mads/nebular/rooms/room215.cpp
@@ -32,8 +32,8 @@ namespace RexNebular {
namespace Rooms {
static void room_215_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('e', 0));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('a', 0));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('e', 0));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('a', 0));
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 7, 0, 0, 0);
_scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(235, 83));
@@ -45,32 +45,34 @@ static void room_215_init() {
_globals._spriteIndexes[2] = _scene->_sprites.addSprites("*ROXRC_9");
if (_scene->_priorSceneId == 216) {
- _game._player._playerPos = Common::Point(140, 119);
- _game._player._facing = FACING_SOUTHWEST;
- _game._player._visible = false;
- _game._player._stepEnabled = false;
+ player.x = 140;
+ player.y = 119;
+ player.facing = FACING_SOUTHWEST;
+ player.walker_visible = false;
+ player.commands_allowed = false;
_globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
_scene->_sequences.addTimer(120, 70);
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(204, 152);
- _game._player._facing = FACING_NORTH;
+ player.x = 204;
+ player.y = 152;
+ player.facing = FACING_NORTH;
}
- _game.loadQuoteSet(0xA9, 0xAA, 0);
+ kernel.quotes = quote_load(0xA9, 0xAA, 0);
section_2_music();
}
static void room_215_daemon() {
- if (_game._trigger == 70) {
+ if (kernel.trigger == 70) {
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
- if (_game._trigger == 71) {
+ if (kernel.trigger == 71) {
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[3]);
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
}
}
@@ -78,33 +80,33 @@ static void room_215_parser() {
if (_action._lookFlag)
text_show(21509);
else if (player_said_2(take, twinkifruit)) {
- if (!_game._objects.isInInventory(OBJ_TWINKIFRUIT) || _game._trigger) {
- switch (_game._trigger) {
+ if (!player_has(OBJ_TWINKIFRUIT) || kernel.trigger) {
+ switch (kernel.trigger) {
case 0:
if (_globals[kSexOfRex] == REX_MALE) {
- _game._player._visible = false;
- _game._player._stepEnabled = false;
+ player.walker_visible = false;
+ player.commands_allowed = false;
_globals._sequenceIndexes[2] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[2], false, 6, 2, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 1, 4);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_LOOP, 0, 1);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
- _game._objects.addToInventory(OBJ_TWINKIFRUIT);
+ inter_give_to_player(OBJ_TWINKIFRUIT);
object_examine(OBJ_TWINKIFRUIT, 0x5404, 0);
}
break;
case 1:
- if (!_game._objects.isInInventory(OBJ_TWINKIFRUIT)) {
- _game._objects.addToInventory(OBJ_TWINKIFRUIT);
+ if (!player_has(OBJ_TWINKIFRUIT)) {
+ inter_give_to_player(OBJ_TWINKIFRUIT);
object_examine(OBJ_TWINKIFRUIT, 0x5404, 0);
}
break;
case 2:
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[2]);
break;
@@ -114,7 +116,7 @@ static void room_215_parser() {
} else {
int idx = g_engine->getRandomNumber(169, 170);
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(idx));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, idx));
}
} else if (player_said_2(walk_outside, hut))
_scene->_nextSceneId = 210;
diff --git a/engines/mads/nebular/rooms/room216.cpp b/engines/mads/nebular/rooms/room216.cpp
index eea4316b663..259d21498a2 100644
--- a/engines/mads/nebular/rooms/room216.cpp
+++ b/engines/mads/nebular/rooms/room216.cpp
@@ -32,18 +32,18 @@ namespace RexNebular {
namespace Rooms {
void room_216_init() {
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_scene->_userInterface.emptyConversationList();
_scene->_userInterface.setup(kInputConversation);
- _scene->loadAnimation(formAnimName('A', -1), 60);
+ _scene->loadAnimation(kernel_name('A', -1), 60);
section_2_music();
}
void room_216_daemon() {
- if (_game._trigger == 60)
+ if (kernel.trigger == 60)
_scene->_nextSceneId = 215;
}
diff --git a/engines/mads/nebular/rooms/room301.cpp b/engines/mads/nebular/rooms/room301.cpp
index cd69b180078..d9f1c19a2a1 100644
--- a/engines/mads/nebular/rooms/room301.cpp
+++ b/engines/mads/nebular/rooms/room301.cpp
@@ -32,21 +32,21 @@ namespace RexNebular {
namespace Rooms {
static void room_301_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('x', 0));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 9, 0, 0, 0);
_globals[kMeteorologistStatus] = METEOROLOGIST_GONE;
_globals[kTeleporterCommand] = TELEPORTER_NONE;
- _game._player._stepEnabled = false;
- _game._player._visible = false;
- _scene->loadAnimation(formAnimName('a', -1), 60);
+ player.commands_allowed = false;
+ player.walker_visible = false;
+ _scene->loadAnimation(kernel_name('a', -1), 60);
section_3_music();
}
static void room_301_daemon() {
- if (_game._trigger == 60)
+ if (kernel.trigger == 60)
_scene->_nextSceneId = 302;
}
diff --git a/engines/mads/nebular/rooms/room302.cpp b/engines/mads/nebular/rooms/room302.cpp
index 03e0aeee41e..0e82041d513 100644
--- a/engines/mads/nebular/rooms/room302.cpp
+++ b/engines/mads/nebular/rooms/room302.cpp
@@ -39,31 +39,31 @@ static Scratch local;
static void room_302_init() {
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
- _scene->loadAnimation(formAnimName('a', -1), 71);
+ _scene->loadAnimation(kernel_name('a', -1), 71);
section_3_music();
}
static void room_302_daemon() {
- if (_game._trigger == 71)
+ if (kernel.trigger == 71)
_scene->_nextSceneId = 303;
if ((_scene->_animation[0] != nullptr) && (_scene->_animation[0]->getCurrentFrame() != local._oldFrame)) {
local._oldFrame = _scene->_animation[0]->getCurrentFrame();
if (local._oldFrame == 147) {
- _game._objects.setRoom(OBJ_POISON_DARTS, 1);
- _game._objects.setRoom(OBJ_BLOWGUN, 1);
- _game._objects.setRoom(OBJ_REBREATHER, 1);
- _game._objects.setRoom(OBJ_STUFFED_FISH, 1);
- _game._objects.setRoom(OBJ_DEAD_FISH, 1);
- _game._objects.setRoom(OBJ_BURGER, 1);
+ inter_move_object(OBJ_POISON_DARTS, 1);
+ inter_move_object(OBJ_BLOWGUN, 1);
+ inter_move_object(OBJ_REBREATHER, 1);
+ inter_move_object(OBJ_STUFFED_FISH, 1);
+ inter_move_object(OBJ_DEAD_FISH, 1);
+ inter_move_object(OBJ_BURGER, 1);
- int count = (int)_game._objects.size();
+ int count = (int)num_objects;
for (int idx = 0; idx < count; idx++) {
- if (_game._objects.isInInventory(idx))
- _game._objects.setRoom(idx, 50);
+ if (player_has(idx))
+ inter_move_object(idx, 50);
}
}
}
diff --git a/engines/mads/nebular/rooms/room303.cpp b/engines/mads/nebular/rooms/room303.cpp
index 9190115fbc9..08daa10c269 100644
--- a/engines/mads/nebular/rooms/room303.cpp
+++ b/engines/mads/nebular/rooms/room303.cpp
@@ -32,22 +32,22 @@ namespace RexNebular {
namespace Rooms {
static void room_303_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('b', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('b', 1));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('b', 1));
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 10, 0, 50, 120);
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 10, 0, 0, 0);
- _game._player._visible = false;
- _game._player._stepEnabled = false;
- _scene->loadAnimation(formAnimName('a', -1), 60);
+ player.walker_visible = false;
+ player.commands_allowed = false;
+ _scene->loadAnimation(kernel_name('a', -1), 60);
section_3_music();
}
static void room_303_daemon() {
- if (_game._trigger == 60)
+ if (kernel.trigger == 60)
_scene->_nextSceneId = 304;
}
diff --git a/engines/mads/nebular/rooms/room304.cpp b/engines/mads/nebular/rooms/room304.cpp
index 39138785362..a56e3fea670 100644
--- a/engines/mads/nebular/rooms/room304.cpp
+++ b/engines/mads/nebular/rooms/room304.cpp
@@ -40,27 +40,31 @@ static Scratch local;
static void room_304_init() {
if (_scene->_priorSceneId == 303) {
- _game._player._visible = false;
- _game._player._stepEnabled = false;
- _scene->loadAnimation(formAnimName('a', -1), 60);
+ player.walker_visible = false;
+ player.commands_allowed = false;
+ _scene->loadAnimation(kernel_name('a', -1), 60);
} else {
if (_globals[kSexOfRex] == REX_MALE)
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('a', 0));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('a', 0));
else
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('a', 2));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('a', 2));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('a', 1));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('b', 0));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('b', 0));
_globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 150, 0, 3, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 2);
pal_change_color(252, 45, 63, 45);
pal_change_color(253, 20, 45, 20);
- if (_globals[kSexOfRex] == REX_MALE)
- _game._player._playerPos = Common::Point(111, 117);
- else
- _game._player._playerPos = Common::Point(113, 116);
+ if (_globals[kSexOfRex] == REX_MALE) {
+ player.x = 111;
+ player.y = 117;
+ }
+ else {
+ player.x = 113;
+ player.y = 116;
+ }
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 11, 0, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], -1, -1);
@@ -68,18 +72,18 @@ static void room_304_init() {
}
section_3_music();
- _game.loadQuoteSet(0xEB, 0xEC, 0);
+ kernel.quotes = quote_load(0xEB, 0xEC, 0);
}
static void room_304_daemon() {
- if (_game._trigger == 60)
+ if (kernel.trigger == 60)
_scene->_nextSceneId = 311;
- if (_game._trigger >= 70) {
- switch (_game._trigger) {
+ if (kernel.trigger >= 70) {
+ switch (kernel.trigger) {
case 70:
{
- _game._player._visible = false;
+ player.walker_visible = false;
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 2, 4);
@@ -99,7 +103,7 @@ static void room_304_daemon() {
case 71:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, _game.getQuote(0xEB));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, quote_string(kernel.quotes, 0xEB));
_scene->_sequences.addTimer(1, 72);
break;
@@ -110,7 +114,7 @@ static void room_304_daemon() {
_scene->_sequences.setAnimRange(sprIdx, 5, -2);
_scene->_sequences.setDepth(sprIdx, 1);
_scene->_sequences.addSubEntry(sprIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 73);
- if (_game._storyMode == STORYMODE_NICE)
+ if (config_file.naughtiness == STORYMODE_NICE)
_scene->_sequences.addSubEntry(sprIdx, SEQUENCE_TRIGGER_SPRITE, 8, 78);
}
break;
@@ -146,7 +150,7 @@ static void room_304_daemon() {
case 77:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(211, 45), 0xFDFC, 32, 0, 180, _game.getQuote(0xEC));
+ _scene->_kernelMessages.add(Common::Point(211, 45), 0xFDFC, 32, 0, 180, quote_string(kernel.quotes, 0xEC));
_scene->_sequences.addTimer(120, 78);
break;
diff --git a/engines/mads/nebular/rooms/room307.cpp b/engines/mads/nebular/rooms/room307.cpp
index 0c602c4b89a..d3e86abd66a 100644
--- a/engines/mads/nebular/rooms/room307.cpp
+++ b/engines/mads/nebular/rooms/room307.cpp
@@ -56,10 +56,10 @@ static Scratch local;
static void handleRexDialog(int quote) {
- const char *curQuote = _game.getQuote(quote);
+ const char *curQuote = quote_string(kernel.quotes, quote);
if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
static char subQuote1[34], subQuote2[34];
- _game.splitQuote(curQuote, subQuote1, subQuote2);
+ quote_split_string(curQuote, subQuote1, subQuote2);
Common::strcpy_s(local._subQuote2, subQuote2);
_scene->_kernelMessages.add(Common::Point(0, -14), 0x1110, 34, 0, 240, subQuote1);
@@ -82,8 +82,8 @@ static void handlePrisonerSpeech(int firstQuoteId, int number, uint32 timeout) {
int quoteId = firstQuoteId;
for (int count = 0; count < number; count++) {
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_kernelMessages.add(Common::Point(5, posY), 0xFDFC, 0, 81, timeout, _game.getQuote(quoteId));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->_kernelMessages.add(Common::Point(5, posY), 0xFDFC, 0, 81, timeout, quote_string(kernel.quotes, quoteId));
posY += 14;
quoteId++;
}
@@ -259,12 +259,12 @@ static void handlePrisonerDialog() {
}
static void handleDialog() {
- if (_game._trigger == 0) {
+ if (kernel.trigger == 0) {
_scene->_kernelMessages.reset();
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
handleRexDialog(_action._activeAction._verbId);
} else {
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
if (!_globals[kKnowsBuddyBeast]) {
handlePrisonerEncounter();
@@ -278,7 +278,7 @@ static void room_307_init() {
_globals._spriteIndexes[1] = _scene->_sprites.addSprites("*SC003x0");
_globals._spriteIndexes[0] = _scene->_sprites.addSprites("*SC003x1");
_globals._spriteIndexes[2] = _scene->_sprites.addSprites("*SC003x2");
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('x', 0));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('x', 0));
init_forcefield(&local._forcefield, true);
@@ -291,7 +291,7 @@ static void room_307_init() {
_scene->changeVariant(1);
- _game.loadQuoteSet(0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0x10C, 0x104, 0x106, 0x107, 0x108, 0x105,
+ kernel.quotes = quote_load(0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0x10C, 0x104, 0x106, 0x107, 0x108, 0x105,
0x109, 0x10A, 0x10B, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117,
0x118, 0x119, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0x123, 0x124, 0x125,
0x126, 0x127, 0x128, 0x129, 0x12A, 0x12B, 0x12C, 0x12D, 0x12E, 0x12F, 0x130, 0x131, 0x132, 0x133,
@@ -302,7 +302,7 @@ static void room_307_init() {
local._dialog1.setup(0x3F, 0x113, 0x114, 0x115, -1);
local._dialog2.setup(0x40, 0x11A, 0x11B, 0x11C, 0x11D, 0x11E, 0x11F, 0x120, 0x121, 0x122, 0);
- if (!_game._visitedScenes._sceneRevisited)
+ if (!player.been_here_before)
local._dialog2.set(0x11A, 0x122, 0);
else if (_scene->_priorSceneId == 318)
local._dialog2.write(0x11E, true);
@@ -323,21 +323,24 @@ static void room_307_init() {
local._prisonerMessageId = 0x104;
if (_scene->_priorSceneId == 308) {
- _game._player._visible = false;
- _game._player._stepEnabled = false;
- _game._player._playerPos = Common::Point(156, 113);
- _game._player._facing = FACING_NORTH;
+ player.walker_visible = false;
+ player.commands_allowed = false;
+ player.x = 156;
+ player.y = 113;
+ player.facing = FACING_NORTH;
local._animationMode = 1;
g_engine->_soundManager->command(11, 0);
- _scene->loadAnimation(formAnimName('a', -1), 60);
+ _scene->loadAnimation(kernel_name('a', -1), 60);
} else if (_scene->_priorSceneId == 387) {
- _game._player._playerPos = Common::Point(129, 108);
- _game._player._facing = FACING_NORTH;
+ player.x = 129;
+ player.y = 108;
+ player.facing = FACING_NORTH;
g_engine->_soundManager->command(3, 0);
local._grateOpenedFl = true;
} else {
- _game._player._playerPos = Common::Point(159, 109);
- _game._player._facing = FACING_SOUTH;
+ player.x = 159;
+ player.y = 109;
+ player.facing = FACING_SOUTH;
g_engine->_soundManager->command(3, 0);
}
}
@@ -384,15 +387,15 @@ static void room_307_daemon() {
local._forcefield._flag = false;
if (_scene->_animation[0]->getCurrentFrame() == 150) {
- _game._player._visible = false;
- _game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount;
+ player.walker_visible = false;
+ player.clock = _scene->_frameStartTime - player.frame_delay;
}
}
- if (_game._trigger == 60) {
- _game._player._visible = true;
- _game._player._stepEnabled = true;
- _game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount;
+ if (kernel.trigger == 60) {
+ player.walker_visible = true;
+ player.commands_allowed = true;
+ player.clock = _scene->_frameStartTime - player.frame_delay;
local._animationMode = 0;
g_engine->_soundManager->command(9, 0);
}
@@ -409,37 +412,37 @@ static void room_307_daemon() {
local._lastFrameTime = _scene->_frameStartTime;
if ((local._guardTime > 3000) && !local._duringPeeingFl && (_scene->_animation[0] == nullptr)
- && (_game._screenObjects._inputMode != kInputConversation) && _globals[kMetBuddyBeast] && !local._activePrisonerFl) {
- if (!_game._objects.isInInventory(OBJ_SCALPEL) && !local._grateOpenedFl) {
- _game._player._stepEnabled = false;
- _game._player.walk(Common::Point(151, 119), FACING_SOUTHEAST);
+ && (inter_input_mode != kInputConversation) && _globals[kMetBuddyBeast] && !local._activePrisonerFl) {
+ if (!player_has(OBJ_SCALPEL) && !local._grateOpenedFl) {
+ player.commands_allowed = false;
+ player_walk(151, 119, FACING_SOUTHEAST);
local._animationMode = 2;
g_engine->_soundManager->command(11, 0);
- _scene->loadAnimation(formAnimName('b', -1), 70);
+ _scene->loadAnimation(kernel_name('b', -1), 70);
}
local._guardTime = 0;
- } else if ((local._prisonerTimer > 300) && (_game._screenObjects._inputMode != kInputConversation) && (_scene->_animation[0] == nullptr) && !local._activePrisonerFl) {
+ } else if ((local._prisonerTimer > 300) && (inter_input_mode != kInputConversation) && (_scene->_animation[0] == nullptr) && !local._activePrisonerFl) {
if (!_globals[kMetBuddyBeast]) {
if (local._prisonerMessageId == -1)
local._prisonerMessageId = 0x104;
- int idx = _scene->_kernelMessages.add(Common::Point(5, 51), 0xFDFC, 0, 81, 120, _game.getQuote(local._prisonerMessageId));
+ int idx = _scene->_kernelMessages.add(Common::Point(5, 51), 0xFDFC, 0, 81, 120, quote_string(kernel.quotes, local._prisonerMessageId));
_scene->_kernelMessages.setQuoted(idx, 4, true);
local._prisonerMessageId++;
if (local._prisonerMessageId > 0x10A)
local._prisonerMessageId = 0x104;
} else if (_globals[kKnowsBuddyBeast] && (local._dialog2.read(0) > 1) && (g_engine->getRandomNumber(1, 3) == 1)) {
- int idx = _scene->_kernelMessages.add(Common::Point(5, 51), 0xFDFC, 0, 81, 120, _game.getQuote(267));
+ int idx = _scene->_kernelMessages.add(Common::Point(5, 51), 0xFDFC, 0, 81, 120, quote_string(kernel.quotes, 267));
_scene->_kernelMessages.setQuoted(idx, 4, true);
}
local._prisonerTimer = 0;
}
}
- if (_game._trigger == 70)
+ if (kernel.trigger == 70)
_scene->_nextSceneId = 318;
- if (_game._trigger == 81) {
+ if (kernel.trigger == 81) {
local._prisonerTimer = 0;
if (local._activePrisonerFl && (local._guardTime > 2600))
local._guardTime = 3000 - g_engine->getRandomNumber(1, 800);
@@ -451,7 +454,7 @@ static void room_307_daemon() {
static void room_307_parser() {
if (_action._lookFlag)
text_show(30715);
- else if (_game._screenObjects._inputMode == kInputConversation)
+ else if (inter_input_mode == kInputConversation)
handleDialog();
else if (player_said_2(talkto, cell_wall) || player_said_2(talkto, wall) || player_said_2(talkto, toilet)) {
int node, say;
@@ -466,7 +469,7 @@ static void room_307_parser() {
node = 1;
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
handleRexDialog(say);
break;
@@ -479,17 +482,17 @@ static void room_307_parser() {
break;
}
} else if (player_said_3(pry, scalpel, air_vent)) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(239));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 239));
_scene->_sequences.addTimer(120, 1);
break;
case 1:
_globals._spriteIndexes[5] = _scene->_sprites.addSprites("*RXCL_8");
- _game._player._visible = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 12, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[5], -1, 3);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
@@ -529,28 +532,28 @@ static void room_307_parser() {
case 5:
g_engine->_soundManager->command(10, 0);
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(241));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 241));
_scene->_sequences.addTimer(120, 6);
break;
case 6:
{
- _game._player._visible = true;
- _game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount;
+ player.walker_visible = true;
+ player.clock = _scene->_frameStartTime - player.frame_delay;
_scene->_sequences.remove(_globals._sequenceIndexes[5]);
local._grateOpenedFl = true;
_scene->_hotspots.activate(17, false);
int idx = _scene->_dynamicHotspots.add(words_air_vent, words_climb_into, -1, Common::Rect(117, 67, 117 + 19, 67 + 13));
int hotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(129, 104), FACING_NORTH);
_scene->_dynamicHotspots.setCursor(hotspotId, CURSOR_GO_UP);
- _game._objects.removeFromInventory(OBJ_SCALPEL, NOWHERE);
+ inter_take_from_player(OBJ_SCALPEL, NOWHERE);
_scene->_kernelMessages.addQuote(0xF2, 7, 120);
}
break;
case 7:
_scene->_sprites.remove(_globals._spriteIndexes[5]);
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
break;
default:
@@ -558,11 +561,11 @@ static void room_307_parser() {
}
} else if (player_said_2(climb_into, air_vent)) {
if (local._grateOpenedFl) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
_globals._spriteIndexes[5] = _scene->_sprites.addSprites("*RXCL_8");
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_scene->_sequences.remove(_globals._sequenceIndexes[4]);
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 60, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 3, -2);
@@ -640,17 +643,17 @@ static void room_307_parser() {
break;
}
}
- } else if (player_said_2(use, toilet) && (_game._storyMode != STORYMODE_NAUGHTY))
+ } else if (player_said_2(use, toilet) && (config_file.naughtiness != STORYMODE_NAUGHTY))
text_show(30723);
else if (player_said_2(use, toilet)) {
if (!local._afterPeeingFl) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
g_engine->_soundManager->command(25, 0);
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('a', 0));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('a', 0));
local._duringPeeingFl = true;
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 9, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], -1, 2);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
@@ -666,7 +669,7 @@ static void room_307_parser() {
case 2:
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[3]);
- _game._player._visible = true;
+ player.walker_visible = true;
_scene->_sequences.addTimer(48, 3);
break;
@@ -674,13 +677,13 @@ static void room_307_parser() {
{
_scene->_sprites.remove(_globals._spriteIndexes[3]);
_scene->_kernelMessages.reset();
- int idx = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 4, 120, _game.getQuote(237));
+ int idx = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 4, 120, quote_string(kernel.quotes, 237));
_scene->_kernelMessages.setQuoted(idx, 4, true);
}
break;
case 4:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._duringPeeingFl = false;
local._afterPeeingFl = true;
break;
@@ -690,7 +693,7 @@ static void room_307_parser() {
}
} else {
_scene->_kernelMessages.reset();
- int idx = _scene->_kernelMessages.add(Common::Point(85, 39), 0x1110, 0, 0, 180, _game.getQuote(238));
+ int idx = _scene->_kernelMessages.add(Common::Point(85, 39), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 238));
_scene->_kernelMessages.setQuoted(idx, 4, true);
}
} else if (player_said_2(look, air_vent)) {
diff --git a/engines/mads/nebular/rooms/room308.cpp b/engines/mads/nebular/rooms/room308.cpp
index ed196e87633..0bfb1a3cce5 100644
--- a/engines/mads/nebular/rooms/room308.cpp
+++ b/engines/mads/nebular/rooms/room308.cpp
@@ -47,8 +47,8 @@ static void room_308_init() {
init_forcefield(&local._forcefield, true);
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('b', 0));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(Resources::formatName(307, 'X', 0, EXT_SS, ""));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
pal_change_color(252, 63, 30, 20);
pal_change_color(253, 45, 15, 12);
@@ -60,24 +60,24 @@ static void room_308_init() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
_scene->_sequences.addTimer(48, 70);
- _game._player._visible = false;
- _game._player._stepEnabled = false;
- _scene->loadAnimation(formAnimName('a', -1), 60);
+ player.walker_visible = false;
+ player.commands_allowed = false;
+ _scene->loadAnimation(kernel_name('a', -1), 60);
section_3_music();
- _game.loadQuoteSet(0xF4, 0xF5, 0xF6, 0);
+ kernel.quotes = quote_load(0xF4, 0xF5, 0xF6, 0);
}
static void room_308_daemon() {
handle_forcefield(&local._forcefield, &_globals._spriteIndexes[0]);
- if (_game._trigger == 60)
+ if (kernel.trigger == 60)
_scene->_nextSceneId = 307;
- if (_game._trigger < 70)
+ if (kernel.trigger < 70)
return;
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 70:
{
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
@@ -85,7 +85,7 @@ static void room_308_daemon() {
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 2, 3);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
_scene->_kernelMessages.reset();
- int idx = _scene->_kernelMessages.add(Common::Point(171, 21), 0xFDFC, 0, 0, 120, _game.getQuote(244));
+ int idx = _scene->_kernelMessages.add(Common::Point(171, 21), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 244));
_scene->_kernelMessages.setQuoted(idx, 2, true);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
@@ -127,7 +127,7 @@ static void room_308_daemon() {
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 6, 7);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
_scene->_kernelMessages.reset();
- int idx = _scene->_kernelMessages.add(Common::Point(171, 21), 0xFDFC, 0, 0, 120, _game.getQuote(245));
+ int idx = _scene->_kernelMessages.add(Common::Point(171, 21), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 245));
_scene->_kernelMessages.setQuoted(idx, 2, true);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
}
@@ -151,7 +151,7 @@ static void room_308_daemon() {
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 2, 3);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
_scene->_kernelMessages.reset();
- int idx = _scene->_kernelMessages.add(Common::Point(171, 21), 0xFDFC, 0, 0, 120, _game.getQuote(246));
+ int idx = _scene->_kernelMessages.add(Common::Point(171, 21), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 246));
_scene->_kernelMessages.setQuoted(idx, 2, true);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], seqIdx);
}
diff --git a/engines/mads/nebular/rooms/room309.cpp b/engines/mads/nebular/rooms/room309.cpp
index e1fe041127e..f4f9d2a9fbd 100644
--- a/engines/mads/nebular/rooms/room309.cpp
+++ b/engines/mads/nebular/rooms/room309.cpp
@@ -50,8 +50,8 @@ static void room_309_init() {
init_forcefield(&local._forcefield, true);
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('x', 0));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(Resources::formatName(307, 'X', 0, EXT_SS, ""));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
_globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 1);
_scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(127, 78));
@@ -69,9 +69,9 @@ static void room_309_init() {
pal_change_color(250, 63, 20, 20);
pal_change_color(251, 45, 10, 10);
- _game._player._visible = false;
- _game._player._stepEnabled = false;
- _scene->loadAnimation(formAnimName('a', -1), 60);
+ player.walker_visible = false;
+ player.commands_allowed = false;
+ _scene->loadAnimation(kernel_name('a', -1), 60);
local._characterSpriteIndexes[0] = _scene->_animation[0]->_spriteListIndexes[2];
local._characterSpriteIndexes[1] = _scene->_animation[0]->_spriteListIndexes[2];
@@ -83,30 +83,30 @@ static void room_309_init() {
section_3_music();
- _game.loadQuoteSet(0xF7, 0xF8, 0xF9, 0x15C, 0x15D, 0x15E, 0);
+ kernel.quotes = quote_load(0xF7, 0xF8, 0xF9, 0x15C, 0x15D, 0x15E, 0);
}
static void room_309_daemon() {
handle_forcefield(&local._forcefield, &_globals._spriteIndexes[0]);
- if (_game._trigger == 61) {
+ if (kernel.trigger == 61) {
local._messagesIndexes[0] = -1;
local._messagesIndexes[1] = -1;
}
- if (_game._trigger == 62)
+ if (kernel.trigger == 62)
local._messagesIndexes[2] = -1;
if (_scene->_animation[0] != nullptr) {
if (local._lastFrame != _scene->_animation[0]->getCurrentFrame()) {
local._lastFrame = _scene->_animation[0]->getCurrentFrame();
if (local._lastFrame == 39) {
- local._messagesIndexes[0] = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 32, 61, 210, _game.getQuote(348));
- local._messagesIndexes[1] = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 32, 0, 210, _game.getQuote(349));
+ local._messagesIndexes[0] = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 32, 61, 210, quote_string(kernel.quotes, 348));
+ local._messagesIndexes[1] = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 32, 0, 210, quote_string(kernel.quotes, 349));
}
if (local._lastFrame == 97)
- local._messagesIndexes[2] = _scene->_kernelMessages.add(Common::Point(0, 0), 0xFBFA, 32, 62, 180, _game.getQuote(350));
+ local._messagesIndexes[2] = _scene->_kernelMessages.add(Common::Point(0, 0), 0xFBFA, 32, 62, 180, quote_string(kernel.quotes, 350));
for (int charIdx = 0; charIdx < 3; charIdx++) {
if (local._messagesIndexes[charIdx] >= 0) {
@@ -130,8 +130,8 @@ static void room_309_daemon() {
}
}
- if (_game._trigger >= 70) {
- switch (_game._trigger) {
+ if (kernel.trigger >= 70) {
+ switch (kernel.trigger) {
case 70:
{
int idx = _scene->_dynamicHotspots.add(words_ghastly_beast, words_gawk_at, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
@@ -150,7 +150,7 @@ static void room_309_daemon() {
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 4, 7);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 11);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], _oldIdx);
- int idx = _scene->_kernelMessages.add(Common::Point(85, 37), 0xFDFC, 0, 0, 120, _game.getQuote(248));
+ int idx = _scene->_kernelMessages.add(Common::Point(85, 37), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 248));
_scene->_kernelMessages.setQuoted(idx, 2, true);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
}
@@ -174,7 +174,7 @@ static void room_309_daemon() {
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 12, 20);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 11);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], _oldIdx);
- int idx = _scene->_kernelMessages.add(Common::Point(170, 49), 0xFDFC, 0, 0, 120, _game.getQuote(249));
+ int idx = _scene->_kernelMessages.add(Common::Point(170, 49), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 249));
_scene->_kernelMessages.setQuoted(idx, 2, true);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
}
@@ -218,7 +218,7 @@ static void room_309_daemon() {
_globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 90, 0, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 29, 30);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 11);
- int idx = _scene->_kernelMessages.add(Common::Point(15, 46), 0xFDFC, 0, 0, 120, _game.getQuote(247));
+ int idx = _scene->_kernelMessages.add(Common::Point(15, 46), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 247));
_scene->_kernelMessages.setQuoted(idx, 2, true);
_scene->_sequences.addTimer(120, 78);
}
@@ -229,7 +229,7 @@ static void room_309_daemon() {
}
}
- if (_game._trigger == 60)
+ if (kernel.trigger == 60)
_scene->_nextSceneId = 308;
}
diff --git a/engines/mads/nebular/rooms/room310.cpp b/engines/mads/nebular/rooms/room310.cpp
index 0abdbd8af0e..100611089c6 100644
--- a/engines/mads/nebular/rooms/room310.cpp
+++ b/engines/mads/nebular/rooms/room310.cpp
@@ -46,14 +46,14 @@ static void room_310_init() {
init_forcefield(&local._forcefield, true);
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(Resources::formatName(307, 'X', 0, EXT_SS, ""));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
_globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
_scene->_sequences.setPosition(_globals._sequenceIndexes[3], Common::Point(127, 78));
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 15);
- _game._player._visible = false;
- _game._player._stepEnabled = false;
- _scene->loadAnimation(formAnimName('a', -1), 70);
+ player.walker_visible = false;
+ player.commands_allowed = false;
+ _scene->loadAnimation(kernel_name('a', -1), 70);
section_3_music();
}
@@ -61,7 +61,7 @@ static void room_310_init() {
static void room_310_daemon() {
handle_forcefield(&local._forcefield, &_globals._spriteIndexes[0]);
- if (_game._trigger == 70)
+ if (kernel.trigger == 70)
_scene->_nextSceneId = 309;
}
diff --git a/engines/mads/nebular/rooms/room311.cpp b/engines/mads/nebular/rooms/room311.cpp
index 874556cc38e..464e9ac3b9a 100644
--- a/engines/mads/nebular/rooms/room311.cpp
+++ b/engines/mads/nebular/rooms/room311.cpp
@@ -39,7 +39,7 @@ static Scratch local;
static void room_311_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(Resources::formatName(307, 'X', 0, EXT_SS, ""));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
_globals._spriteIndexes[2] = _scene->_sprites.addSprites("*RXCL_8");
_globals._spriteIndexes[3] = _scene->_sprites.addSprites("*RXCL_2");
@@ -48,24 +48,28 @@ static void room_311_init() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
local._checkGuardFl = false;
- _game.loadQuoteSet(0xFA, 0);
+ kernel.quotes = quote_load(0xFA, 0);
if (_scene->_priorSceneId == 391) {
_globals[kSexOfRex] = REX_MALE;
- _game._player._stepEnabled = false;
- _game._player._visible = false;
- _game._player._facing = FACING_SOUTH;
- _game._player._playerPos = Common::Point(166, 101);
+ player.commands_allowed = false;
+ player.walker_visible = false;
+ player.facing = FACING_SOUTH;
+ player.x = 166;
+ player.y = 101;
_scene->_sequences.addTimer(120, 71);
- } else if (_scene->_priorSceneId == 310)
- _game._player._playerPos = Common::Point(302, 145);
+ } else if (_scene->_priorSceneId == 310) {
+ player.x = 302;
+ player.y = 145;
+ }
else if (_scene->_priorSceneId == 320) {
- _game._player._playerPos = Common::Point(129, 113);
- _game._player._facing = FACING_SOUTH;
+ player.x = 129;
+ player.y = 113;
+ player.facing = FACING_SOUTH;
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._visible = false;
- _game._player._stepEnabled = false;
- _scene->loadAnimation(formAnimName('a', -1), 70);
+ player.walker_visible = false;
+ player.commands_allowed = false;
+ _scene->loadAnimation(kernel_name('a', -1), 70);
}
section_3_music();
@@ -166,23 +170,23 @@ static void room_311_daemon() {
case 80:
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[3]);
- _game._player._stepEnabled = true;
- _game._player._visible = true;
+ player.commands_allowed = true;
+ player.walker_visible = true;
break;
default:
break;
}
- if (_game._player._moving && (_scene->_rails.getNext() > 0)) {
- int x = _game._player._prepareWalkPos.x;
+ if (player.walking && (_scene->_rails.getNext() > 0)) {
+ int x = player.prepare_walk_x;
if (x < 75)
x = 75;
if (x > 207)
x = 207;
local._checkGuardFl = true;
- _game._player.startWalking(Common::Point(x, 122), FACING_SOUTH);
+ player_start_walking(x, 122, FACING_SOUTH);
_scene->_rails.resetNext();
}
}
@@ -197,10 +201,10 @@ static void room_311_parser() {
} else if (player_said_2(sit_at, desk))
_scene->_nextSceneId = 320;
else if (player_said_2(climb_into, air_vent)) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 50, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], 3, -2);
diff --git a/engines/mads/nebular/rooms/room313.cpp b/engines/mads/nebular/rooms/room313.cpp
index 1a9ac5c7dd8..c18168e9ee4 100644
--- a/engines/mads/nebular/rooms/room313.cpp
+++ b/engines/mads/nebular/rooms/room313.cpp
@@ -37,23 +37,29 @@ static void room_313_init() {
_scene->_userInterface.setup(kInputLimitedSentences);
if ((_scene->_priorSceneId == 366) || (_scene->_priorSceneId == 316)) {
- _game._player._playerPos = Common::Point(30, 80);
- _game._player._facing = FACING_NORTH;
+ player.x = 30;
+ player.y = 80;
+ player.facing = FACING_NORTH;
} else if ((_scene->_priorSceneId == 311) || (_scene->_priorSceneId == 361) || (_scene->_priorSceneId == 391)) {
- _game._player._playerPos = Common::Point(90, 70);
- _game._player._facing = FACING_EAST;
+ player.x = 90;
+ player.y = 70;
+ player.facing = FACING_EAST;
} else if (_scene->_priorSceneId == 390) {
- _game._player._playerPos = Common::Point(126, 70);
- _game._player._facing = FACING_EAST;
+ player.x = 126;
+ player.y = 70;
+ player.facing = FACING_EAST;
} else if ((_scene->_priorSceneId == 389) || (_scene->_priorSceneId == 399)) {
- _game._player._playerPos = Common::Point(163, 70);
- _game._player._facing = FACING_WEST;
+ player.x = 163;
+ player.y = 70;
+ player.facing = FACING_WEST;
} else if (_scene->_priorSceneId == 388) {
- _game._player._playerPos = Common::Point(199, 70);
- _game._player._facing = FACING_WEST;
+ player.x = 199;
+ player.y = 70;
+ player.facing = FACING_WEST;
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(234, 70);
- _game._player._facing = FACING_WEST;
+ player.x = 234;
+ player.y = 70;
+ player.facing = FACING_WEST;
}
if (_globals[kAfterHavoc]) {
diff --git a/engines/mads/nebular/rooms/room316.cpp b/engines/mads/nebular/rooms/room316.cpp
index 10b312ec810..1f0e91a701e 100644
--- a/engines/mads/nebular/rooms/room316.cpp
+++ b/engines/mads/nebular/rooms/room316.cpp
@@ -32,10 +32,10 @@ namespace RexNebular {
namespace Rooms {
static void handleRexInGrate() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 1);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
_scene->_sequences.addTimer(15, 1);
@@ -157,10 +157,10 @@ static void handleRoxInGrate() {
int temp;
int temp1;
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 1);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
_scene->_sequences.addTimer(15, 1);
@@ -270,50 +270,54 @@ static void handleRoxInGrate() {
static void room_316_init() {
if (_globals[kSexOfRex] == REX_MALE) {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('g', -1));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('g', -1));
_globals._spriteIndexes[4] = _scene->_sprites.addSprites("*RXCL_8");
_globals._spriteIndexes[6] = _scene->_sprites.addSprites("*RXCL_2");
} else {
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('g', 0));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('g', 0));
_globals._spriteIndexes[5] = _scene->_sprites.addSprites("*ROXCL_8");
}
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('v', 0));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('v', 0));
_globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 12);
if (_scene->_priorSceneId == 366) {
- _game._player._stepEnabled = false;
- _game._player._visible = false;
- _game._player._playerPos = Common::Point(78, 87);
- _game._player._facing = FACING_SOUTH;
+ player.commands_allowed = false;
+ player.walker_visible = false;
+ player.x = 78;
+ player.y = 87;
+ player.facing = FACING_SOUTH;
_scene->_sequences.addTimer(48, 70);
} else if (_scene->_priorSceneId == 321) {
- _game._player._playerPos = Common::Point(153, 102);
- _game._player._facing = FACING_SOUTH;
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.x = 153;
+ player.y = 102;
+ player.facing = FACING_SOUTH;
+ player.commands_allowed = false;
+ player.walker_visible = false;
g_engine->_soundManager->command(44, 0);
int spriteIdx = (_globals[kSexOfRex] == REX_MALE) ? 1 : 2;
_globals._sequenceIndexes[1] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[spriteIdx], false, 6, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 2);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(291, 126);
+ } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 291;
+ player.y = 126;
+ }
section_3_music();
- _game.loadQuoteSet(0xFD, 0);
+ kernel.quotes = quote_load(0xFD, 0);
}
static void room_316_daemon() {
- if (_game._trigger == 60) {
+ if (kernel.trigger == 60) {
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[1]);
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
}
- if (_game._trigger >= 70) {
- switch (_game._trigger) {
+ if (kernel.trigger >= 70) {
+ switch (kernel.trigger) {
case 70:
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
@@ -372,8 +376,8 @@ static void room_316_daemon() {
case 75:
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[6]);
- _game._player._stepEnabled = true;
- _game._player._visible = true;
+ player.commands_allowed = true;
+ player.walker_visible = true;
break;
default:
@@ -385,9 +389,9 @@ static void room_316_daemon() {
static void room_316_pre_parser() {
if (player_said_2(walk_down, corridor_to_east)) {
if (_globals[kAfterHavoc])
- _game._player._walkOffScreenSceneId = 354;
+ player.walk_off_edge_to_room = 354;
else
- _game._player._walkOffScreenSceneId = 304;
+ player.walk_off_edge_to_room = 304;
}
}
@@ -398,14 +402,14 @@ static void room_316_parser() {
else
handleRexInGrate();
} else if (player_said_2(walk_up, ramp) || player_said_2(walk_onto, platform)) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
if (_globals[kCityFlooded]) {
text_show(31623);
} else {
g_engine->_soundManager->command(45, 0);
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
if (_globals[kSexOfRex] == REX_MALE) {
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 7, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], -1, 7);
@@ -424,8 +428,8 @@ static void room_316_parser() {
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], 8, -2);
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 2);
_scene->_kernelMessages.reset();
- if (!_game._visitedScenes.exists(321))
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(253));
+ if (!player_has_been_in_room(321))
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 253));
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
@@ -454,7 +458,7 @@ static void room_316_parser() {
} else if (player_said_2(look, platform))
text_show(31610);
else if (player_said_2(look, strange_device)) {
- if (_game._visitedScenes.exists(321))
+ if (player_has_been_in_room(321))
text_show(31612);
else
text_show(31611);
@@ -472,7 +476,7 @@ static void room_316_parser() {
text_show(31618);
else if (player_said_2(look, corridor_to_east)) {
if (!_globals[kAfterHavoc]) {
- if (_game._difficulty != DIFFICULTY_EASY)
+ if (game.difficulty != DIFFICULTY_EASY)
text_show(31620);
else
text_show(31619);
diff --git a/engines/mads/nebular/rooms/room318.cpp b/engines/mads/nebular/rooms/room318.cpp
index 89b28d61a76..d2d83d375d9 100644
--- a/engines/mads/nebular/rooms/room318.cpp
+++ b/engines/mads/nebular/rooms/room318.cpp
@@ -56,10 +56,10 @@ static Scratch local;
static void handleRexDialogs(int quote) {
_scene->_kernelMessages.reset();
- const char *curQuote = _game.getQuote(quote);
+ const char *curQuote = quote_string(kernel.quotes, quote);
if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
static char subQuote1[34], subQuote2[34];
- _game.splitQuote(curQuote, subQuote1, subQuote2);
+ quote_split_string(curQuote, subQuote1, subQuote2);
_scene->_kernelMessages.add(Common::Point(138, 59), 0x1110, 32, 0, 240, subQuote1);
_scene->_kernelMessages.add(Common::Point(138, 73), 0x1110, 32, 1, 180, subQuote2);
@@ -79,7 +79,7 @@ static void handleInternDialog(int quoteId, int quoteNum, uint32 timeout) {
int maxWidth = 0;
for (int i = 0; i < quoteNum; i++) {
- maxWidth = MAX(maxWidth, _scene->_kernelMessages._talkFont->getWidth(_game.getQuote(curQuoteId), -1));
+ maxWidth = MAX(maxWidth, _scene->_kernelMessages._talkFont->getWidth(quote_string(kernel.quotes, curQuoteId), -1));
curQuoteId++;
}
@@ -96,19 +96,19 @@ static void handleInternDialog(int quoteId, int quoteNum, uint32 timeout) {
_scene->_sequences.remove(seqIndex);
for (int i = 0; i < quoteNum; i++) {
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(180, 63);
- _scene->_kernelMessages.add(Common::Point(posX, posY), 0xFDFC, 0, 0, timeout, _game.getQuote(curQuoteId));
+ _scene->_kernelMessages.add(Common::Point(posX, posY), 0xFDFC, 0, 0, timeout, quote_string(kernel.quotes, curQuoteId));
posY += 14;
curQuoteId++;
}
}
static void handleDialog() {
- if (!_game._trigger) {
- _game._player._stepEnabled = false;
+ if (!kernel.trigger) {
+ player.commands_allowed = false;
handleRexDialogs(_action._activeAction._verbId);
- } else if (_game._trigger == 2) {
+ } else if (kernel.trigger == 2) {
int synxIdx = _globals._sequenceIndexes[2];
_globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
@@ -116,7 +116,7 @@ static void handleDialog() {
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], synxIdx);
g_engine->_soundManager->command(3, 0);
_scene->_userInterface.setup(kInputBuildingSentences);
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
} else {
if (_action._activeAction._verbId < 0x19C)
local._dialog1.write(_action._activeAction._verbId, false);
@@ -201,18 +201,18 @@ static void handleDialog() {
if (_action._activeAction._verbId < 0x19C) {
local._dialog1.start();
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
}
}
}
static void room_318_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('x', 0));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('k', -1));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('k', -1));
if (_globals[kAfterHavoc]) {
- _scene->loadAnimation(formAnimName('f', -1));
+ _scene->loadAnimation(kernel_name('f', -1));
_scene->_animation[0]->_repeatFlag = true;
} else if (!_globals[kHasSeenProfPyro]) {
_scene->_hotspots.activate(words_professors_gurney, false);
@@ -220,29 +220,33 @@ static void room_318_init() {
_scene->_hotspots.activate(words_tape_player, false);
}
- if (_game._objects.isInRoom(OBJ_SCALPEL)) {
+ if (object_is_here(OBJ_SCALPEL)) {
_globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 0, 0, 120);
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 4);
_scene->_dynamicHotspots.add(words_scalpel, words_take, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
}
- if (_scene->_priorSceneId == 357)
- _game._player._playerPos = Common::Point(15, 110);
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(214, 152);
+ if (_scene->_priorSceneId == 357) {
+ player.x = 15;
+ player.y = 110;
+ }
+ else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 214;
+ player.y = 152;
+ }
local._dialog1.setup(0x47, 0x191, 0x192, 0x193, 0x194, 0x195, 0x196, 0x197, 0x198, 0x199, 0x19A, 0x19B, 0x19C, 0x19D, 0);
- if (!_game._visitedScenes._sceneRevisited) {
+ if (!player.been_here_before) {
local._dialog1.set(0x191, 0x198, 0x199, 0x19C, 0);
- if (_game._widepipeCtr >= 2)
+ if (kernel.cheating >= 2)
local._dialog1.write(0x19D, true);
}
if (_scene->_priorSceneId == 307) {
- _game._player._visible = false;
- _game._player._stepEnabled = false;
- _scene->loadAnimation(formAnimName('a', -1), 60);
+ player.walker_visible = false;
+ player.commands_allowed = false;
+ _scene->loadAnimation(kernel_name('a', -1), 60);
local._animMode = 1;
}
@@ -258,7 +262,7 @@ static void room_318_init() {
local._explosionFl = false;
}
- _game.loadQuoteSet(0x18C, 0x18D, 0x18E, 0x18F, 0x191, 0x192, 0x193, 0x194, 0x195, 0x196,
+ kernel.quotes = quote_load(0x18C, 0x18D, 0x18E, 0x18F, 0x191, 0x192, 0x193, 0x194, 0x195, 0x196,
0x197, 0x198, 0x199, 0x19A, 0x19B, 0x19C, 0x19E, 0x19F, 0x1A0, 0x1A1, 0x1A2, 0x1A3,
0x1A4, 0x1A5, 0x1A6, 0x1A7, 0x1A8, 0x1A9, 0x1AA, 0x1AB, 0x1AC, 0x1AD, 0x1AE, 0x1AF,
0x1B0, 0x1B1, 0x1B2, 0x1B3, 0x1B4, 0x1B5, 0x1B6, 0x1B7, 0x1B8, 0x1B9, 0x1BA, 0x1BB,
@@ -269,15 +273,15 @@ static void room_318_init() {
if ((_scene->_priorSceneId == RETURNING_FROM_DIALOG) || (((_scene->_priorSceneId == 318) ||
(_scene->_priorSceneId == RETURNING_FROM_LOADING)) && (!_globals[kAfterHavoc]))) {
if (!_globals[kAfterHavoc]) {
- _game._player._visible = false;
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('g', -1));
+ player.walker_visible = false;
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('g', -1));
local._animMode = 2;
- if (_game._visitedScenes.exists(319) || !local._internVisibleFl) {
+ if (player_has_been_in_room(319) || !local._internVisibleFl) {
local._internVisibleFl = false;
local._dialogFl = false;
} else {
- _scene->loadAnimation(formAnimName('b', -1), 61);
+ _scene->loadAnimation(kernel_name('b', -1), 61);
_scene->_hotspots.activate(words_intern, true);
}
@@ -293,14 +297,14 @@ static void room_318_init() {
}
if (_scene->_priorSceneId == 319) {
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
local._animMode = 4;
if (!_globals[kHasSeenProfPyro]) {
- _scene->loadAnimation(formAnimName('d', -1), 64);
+ _scene->loadAnimation(kernel_name('d', -1), 64);
_globals[kHasSeenProfPyro] = true;
} else {
- _scene->loadAnimation(formAnimName('e', -1), 64);
+ _scene->loadAnimation(kernel_name('e', -1), 64);
}
}
@@ -308,7 +312,7 @@ static void room_318_init() {
pal_change_color(252, 63, 63, 10);
pal_change_color(253, 45, 45, 05);
- local._dropTimer = _game->_scene._frameStartTime;
+ local._dropTimer = _scene._frameStartTime;
section_3_music();
if (local._dialogFl)
@@ -380,7 +384,7 @@ static void room_318_daemon() {
}
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 60:
g_engine->_soundManager->command(3, 0);
local._animMode = 2;
@@ -412,22 +416,22 @@ static void room_318_daemon() {
long diffFrame = tmpFrame - local._lastFrameCounter;
local._lastFrameCounter = tmpFrame;
- if ((local._animMode == 2) && !local._internVisibleFl && _game._player._stepEnabled) {
+ if ((local._animMode == 2) && !local._internVisibleFl && player.commands_allowed) {
if ((diffFrame >= 0) && (diffFrame <= 4))
local._counter += diffFrame;
else
local._counter++;
- int extraCounter = _game._objects.isInInventory(OBJ_SCALPEL) ? 900 : 0;
+ int extraCounter = player_has(OBJ_SCALPEL) ? 900 : 0;
if (local._counter + extraCounter >= 1800) {
_scene->freeAnimation();
- _game._player._stepEnabled = false;
- _scene->loadAnimation(formAnimName('c', -1), 62);
+ player.commands_allowed = false;
+ _scene->loadAnimation(kernel_name('c', -1), 62);
local._animMode = 3;
}
} else if ((local._animMode == 2) && local._explosionFl && local._internVisibleFl && !local._dialogFl
- && !local._internWalkingFl && (_game._screenObjects._inputMode != kInputConversation)) {
+ && !local._internWalkingFl && (inter_input_mode != kInputConversation)) {
if ((diffFrame >= 0) && (diffFrame <= 4))
local._internCounter += diffFrame;
else
@@ -440,36 +444,36 @@ static void room_318_daemon() {
}
}
- if ((_game->_scene._frameStartTime - local._dropTimer) > 600) {
+ if ((_scene._frameStartTime - local._dropTimer) > 600) {
g_engine->_soundManager->command(51, 0);
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 14, 1, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 10);
- local._dropTimer = _game->_scene._frameStartTime;
+ local._dropTimer = _scene._frameStartTime;
}
}
static void room_318_pre_parser() {
- if (_game._player._needToWalk)
- _game._player._needToWalk = _game._player._visible;
+ if (player.need_to_walk)
+ player.need_to_walk = player.walker_visible;
if (player_said_2(walk_down, corridor_to_west))
- _game._player._walkOffScreenSceneId = 357;
+ player.walk_off_edge_to_room = 357;
}
static void room_318_parser() {
- if (_game._screenObjects._inputMode == kInputConversation) {
+ if (inter_input_mode == kInputConversation) {
handleDialog();
_action._inProgress = false;
return;
}
if (player_said_2(talkto, intern)) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
{
local._dialogFl = true;
g_engine->_soundManager->command(15, 0);
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
handleRexDialogs(g_engine->getRandomNumber(0x18C, 0x18E));
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
@@ -482,7 +486,7 @@ static void room_318_parser() {
break;
case 1:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
handleInternDialog(0x18F, 1, INDEFINITE_TIMEOUT);
local._dialog1.start();
break;
@@ -504,10 +508,10 @@ static void room_318_parser() {
return;
}
- if (player_said_2(take, scalpel) && (_game._objects.isInRoom(OBJ_SCALPEL) || _game._trigger)) {
- switch (_game._trigger) {
+ if (player_said_2(take, scalpel) && (object_is_here(OBJ_SCALPEL) || kernel.trigger)) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
_globals._sequenceIndexes[2] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[2], false, 8, 2, 0, 80);
_scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
@@ -521,7 +525,7 @@ static void room_318_parser() {
if (local._internVisibleFl)
handleInternDialog(0x190, 1, 120);
else {
- _game._objects.addToInventory(OBJ_SCALPEL);
+ inter_give_to_player(OBJ_SCALPEL);
object_examine(OBJ_SCALPEL, 0x7C5D, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[3]);
}
@@ -539,7 +543,7 @@ static void room_318_parser() {
break;
case 3:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
break;
default:
@@ -549,7 +553,7 @@ static void room_318_parser() {
return;
}
- if (_game._player._visible) {
+ if (player.walker_visible) {
if (player_said_2(walk_down, corridor_to_south)) {
_scene->_nextSceneId = 407;
_action._inProgress = false;
@@ -557,9 +561,9 @@ static void room_318_parser() {
}
if (player_said_2(take, tape_player)) {
- if (_game._objects.isInRoom(OBJ_AUDIO_TAPE)) {
+ if (object_is_here(OBJ_AUDIO_TAPE)) {
object_examine(OBJ_AUDIO_TAPE, 0x7C5B, 0);
- _game._objects.addToInventory(OBJ_AUDIO_TAPE);
+ inter_give_to_player(OBJ_AUDIO_TAPE);
} else
text_show(31834);
@@ -568,7 +572,7 @@ static void room_318_parser() {
}
if (player_said_2(look, tape_player)) {
- if (_game._objects.isInRoom(OBJ_AUDIO_TAPE))
+ if (object_is_here(OBJ_AUDIO_TAPE))
text_show(31833);
else
text_show(31834);
@@ -641,7 +645,7 @@ static void room_318_parser() {
else if (player_said_2(look, professors_gurney))
text_show(31836);
else if (_action._lookFlag) {
- if (_game._player._visible || _game._objects.isInInventory(OBJ_SCALPEL))
+ if (player.walker_visible || player_has(OBJ_SCALPEL))
text_show(31828);
else if (local._internVisibleFl)
text_show(31826);
diff --git a/engines/mads/nebular/rooms/room319.cpp b/engines/mads/nebular/rooms/room319.cpp
index 81d39c687e1..05759cb1b87 100644
--- a/engines/mads/nebular/rooms/room319.cpp
+++ b/engines/mads/nebular/rooms/room319.cpp
@@ -58,10 +58,10 @@ static Scratch local;
static void handleRexDialogues(int quote) {
_scene->_kernelMessages.reset();
- const char *curQuote = _game.getQuote(quote);
+ const char *curQuote = quote_string(kernel.quotes, quote);
if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
static char subQuote1[34], subQuote2[34];
- _game.splitQuote(curQuote, subQuote1, subQuote2);
+ quote_split_string(curQuote, subQuote1, subQuote2);
Common::strcpy_s(local._subQuote2, subQuote2);
_scene->_kernelMessages.add(Common::Point(160, 106), 0x1110, 32, 0, 120, subQuote1);
@@ -75,20 +75,20 @@ static void handleSlacheDialogs(int quoteId, int counter, uint32 timer) {
int posY = 5 + (local._slachePosY * 14);
for (int count = 0; count < counter; count++, curQuote++) {
- _scene->_kernelMessages.add(Common::Point(8, posY), 0xFDFC, 0, 0, timer, _game.getQuote(curQuote));
+ _scene->_kernelMessages.add(Common::Point(8, posY), 0xFDFC, 0, 0, timer, quote_string(kernel.quotes, curQuote));
posY += 14;
}
}
static void room_319_init() {
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(formAnimName('e', 0));
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(formAnimName('a', 0));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('a', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('a', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('a', 3));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('k', -1));
-
- if (!_game._objects.isInInventory(OBJ_SCALPEL)) {
+ _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('e', 0));
+ _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('a', 2));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('a', 3));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('k', -1));
+
+ if (!player_has(OBJ_SCALPEL)) {
_globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[4], 1);
}
@@ -112,7 +112,7 @@ static void room_319_init() {
local._dialog3.set(0x17D, 0x17E, 0x17F, 0x180, 0);
}
- _game.loadQuoteSet(0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x16B, 0x16C, 0x16D,
+ kernel.quotes = quote_load(0x15F, 0x160, 0x161, 0x162, 0x163, 0x164, 0x16B, 0x16C, 0x16D,
0x16E, 0x16F, 0x170, 0x177, 0x178, 0x179, 0x17A, 0x17B, 0x17C, 0x165, 0x166,
0x167, 0x168, 0x169, 0x16A, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0x17D,
0x17E, 0x17F, 0x180, 0x181, 0x182, 0x183, 0x184, 0x185, 0x186, 0x187, 0x188,
@@ -127,7 +127,7 @@ static void room_319_init() {
local._slacheReady = false;
local._animFrame = 0;
- _scene->loadAnimation(formAnimName('b', 0));
+ _scene->loadAnimation(kernel_name('b', 0));
if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
local._animMode = 1;
@@ -206,7 +206,7 @@ static void room_319_daemon() {
nextFrame = 85;
local._slacheTalkingFl = true;
} else if (local._animFrame == 85) {
- if (!_game._player._stepEnabled)
+ if (!player.commands_allowed)
local._slacheTalkingFl = true;
nextFrame = 40;
}
@@ -219,7 +219,7 @@ static void room_319_daemon() {
case 129:
if (local._nextAction1 == 3) {
nextFrame = 115;
- if (!_game._player._stepEnabled)
+ if (!player.commands_allowed)
local._slacheTalkingFl = true;
}
break;
@@ -238,21 +238,21 @@ static void room_319_daemon() {
local._animFrame = 0;
_scene->freeAnimation();
local._animMode = 2;
- _scene->loadAnimation(formAnimName('b', 3), 70);
+ _scene->loadAnimation(kernel_name('b', 3), 70);
break;
case 5:
local._animFrame = 0;
_scene->freeAnimation();
local._animMode = 3;
- _scene->loadAnimation(formAnimName('b', 4), 71);
+ _scene->loadAnimation(kernel_name('b', 4), 71);
break;
case 6:
local._animFrame = 0;
_scene->freeAnimation();
local._animMode = 4;
- _scene->loadAnimation(formAnimName('b', 5), 72);
+ _scene->loadAnimation(kernel_name('b', 5), 72);
break;
default:
@@ -297,7 +297,7 @@ static void room_319_daemon() {
}
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 70:
case 71:
{
@@ -305,7 +305,7 @@ static void room_319_daemon() {
local._nextAction1 = local._nextAction2;
local._animFrame = 0;
_scene->freeAnimation();
- _scene->loadAnimation(formAnimName('b', 0));
+ _scene->loadAnimation(kernel_name('b', 0));
if (local._nextAction1 == 3)
_scene->_animation[0]->setCurrentFrame(85);
else if (local._nextAction1 == 1)
@@ -366,12 +366,12 @@ static void room_319_daemon() {
}
static void room_319_parser() {
- if (_game._trigger == 0) {
- _game._player._stepEnabled = false;
+ if (kernel.trigger == 0) {
+ player.commands_allowed = false;
handleRexDialogues(_action._activeAction._verbId);
} else {
if ((_action._activeAction._verbId == 0x165) || (_action._activeAction._verbId == 0x166)) {
- if (_game._trigger == 1) {
+ if (kernel.trigger == 1) {
local._nextAction1 = 3;
local._slacheTalkingFl = false;
local._slacheMode = 1;
@@ -383,12 +383,12 @@ static void room_319_parser() {
} else {
handleSlacheDialogs(0x16B, 2, INDEFINITE_TIMEOUT);
local._dialog2.start();
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
}
}
if ((_action._activeAction._verbId == 0x171) || (_action._activeAction._verbId == 0x172)) {
- if (_game._trigger == 1) {
+ if (kernel.trigger == 1) {
local._nextAction1 = 2;
local._slacheTalkingFl = false;
local._slacheMode = 1;
@@ -400,12 +400,12 @@ static void room_319_parser() {
} else {
handleSlacheDialogs(0x177, 2, INDEFINITE_TIMEOUT);
local._dialog3.start();
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
}
}
if ((_action._activeAction._verbId == 0x17D) || (_action._activeAction._verbId == 0x17E)) {
- if (_game._trigger == 1) {
+ if (kernel.trigger == 1) {
local._nextAction1 = 3;
local._slacheTalkingFl = false;
local._slacheReady = false;
@@ -416,7 +416,7 @@ static void room_319_parser() {
if (!local._slacheTalkingFl) {
_scene->_sequences.addTimer(4, 2);
} else {
- if (_game._trigger == 2)
+ if (kernel.trigger == 2)
handleSlacheDialogs(0x184, 2, 180);
if (!local._slacheReady) {
@@ -442,11 +442,11 @@ static void room_319_parser() {
(_action._activeAction._verbId == 0x183));
int addVerbId = _action._activeAction._verbId + 1;
- if ((addVerbId == 0x182) && (_game._storyMode != STORYMODE_NAUGHTY))
+ if ((addVerbId == 0x182) && (config_file.naughtiness != STORYMODE_NAUGHTY))
addVerbId = 0x183;
if (local._slacheMode == 1) {
- if (_game._trigger == 1) {
+ if (kernel.trigger == 1) {
local._nextAction2 = local._nextAction1;
local._nextAction1 = 4;
}
@@ -474,11 +474,11 @@ static void room_319_parser() {
}
curDialog->start();
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._slacheMode = 2;
}
} else if (local._slacheMode == 2) {
- if (_game._trigger == 1) {
+ if (kernel.trigger == 1) {
local._nextAction2 = local._nextAction1;
local._nextAction1 = 5;
}
@@ -506,7 +506,7 @@ static void room_319_parser() {
}
curDialog->start();
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._slacheMode = 3;
}
} else {
diff --git a/engines/mads/nebular/rooms/room320.cpp b/engines/mads/nebular/rooms/room320.cpp
index 819254c0868..59db8cceafa 100644
--- a/engines/mads/nebular/rooms/room320.cpp
+++ b/engines/mads/nebular/rooms/room320.cpp
@@ -175,13 +175,13 @@ static void room_320_init() {
local._lastFrame = 0;
for (int i = 0; i < 10; i++)
- _globals._spriteIndexes[i] = _scene->_sprites.addSprites(formAnimName('M', i));
+ _globals._spriteIndexes[i] = _scene->_sprites.addSprites(kernel_name('M', i));
for (int i = 0; i < 8; i++)
- _globals._spriteIndexes[10 + i] = _scene->_sprites.addSprites(formAnimName('N', i));
+ _globals._spriteIndexes[10 + i] = _scene->_sprites.addSprites(kernel_name('N', i));
_globals._spriteIndexes[18] = _scene->_sprites.addSprites("*REXHAND");
- _game._player._visible = false;
+ player.walker_visible = false;
setRightView(_globals[kRightView320]);
setLeftView(0);
@@ -209,7 +209,7 @@ static void room_320_daemon() {
break;
case 191:
- _scene->_kernelMessages.add(Common::Point(1, 1), 0xFDFC, 0, 0, 60, _game.getQuote(0xFE));
+ _scene->_kernelMessages.add(Common::Point(1, 1), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 0xFE));
break;
case 417:
@@ -229,7 +229,7 @@ static void room_320_daemon() {
}
}
- if (_game._trigger == 70) {
+ if (kernel.trigger == 70) {
_globals[kAfterHavoc] = true;
_globals[kTeleporterRoom + 1] = 351;
_scene->_nextSceneId = 361;
@@ -245,9 +245,9 @@ static void room_320_parser() {
player_said_1(right_3_key) || player_said_1(right_4_key) || player_said_1(right_5_key) || player_said_1(right_6_key) ||
player_said_1(right_7_key) || player_said_1(right_8_key)
)) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
handleButtons();
_globals._sequenceIndexes[18] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[18], local._flippedFl, 4, 2, 0, 0);
_scene->_sequences.setScale(_globals._sequenceIndexes[18], 60);
@@ -283,22 +283,22 @@ static void room_320_parser() {
break;
case 2:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
if (local._buttonId == 5) {
if (local._leftItemId == 2) {
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
setRightView(8);
setLeftView(10);
_scene->_kernelMessages.reset();
_scene->resetScene();
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('m', 2));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('m', 4));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(formAnimName('m', 9));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('m', 2));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('m', 4));
+ _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('m', 9));
local._blinkFl = false;
setLeftView(2);
- _game.loadQuoteSet(0xFE, 0);
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
- _scene->loadAnimation(formAnimName('a', -1), 70);
+ kernel.quotes = quote_load(0xFE, 0);
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->loadAnimation(kernel_name('a', -1), 70);
g_engine->_soundManager->command(17, 0);
}
}
diff --git a/engines/mads/nebular/rooms/room321.cpp b/engines/mads/nebular/rooms/room321.cpp
index ef325be0564..98119876831 100644
--- a/engines/mads/nebular/rooms/room321.cpp
+++ b/engines/mads/nebular/rooms/room321.cpp
@@ -32,8 +32,8 @@ namespace RexNebular {
namespace Rooms {
static void room_321_init() {
- _game._player._visible = false;
- _game._player._stepEnabled = false;
+ player.walker_visible = false;
+ player.commands_allowed = false;
_scene->_userInterface.emptyConversationList();
_scene->_userInterface.setup(kInputConversation);
@@ -44,20 +44,20 @@ static void room_321_init() {
suffixNum = 1;
} else {
_globals[kSexOfRex] = REX_FEMALE;
- suffixNum = _game._visitedScenes._sceneRevisited ? 2 : 0;
+ suffixNum = player.been_here_before ? 2 : 0;
}
- _scene->loadAnimation(formAnimName('g', suffixNum), 60);
+ _scene->loadAnimation(kernel_name('g', suffixNum), 60);
section_3_music();
}
static void room_321_daemon() {
if (_scene->_animation[0] != nullptr) {
- if ((_scene->_animation[0]->getCurrentFrame() >= 260) && (_globals[kSexOfRex] == REX_MALE) && (_game._storyMode >= STORYMODE_NICE))
+ if ((_scene->_animation[0]->getCurrentFrame() >= 260) && (_globals[kSexOfRex] == REX_MALE) && (config_file.naughtiness >= STORYMODE_NICE))
_scene->_nextSceneId = 316;
}
- if (_game._trigger == 60)
+ if (kernel.trigger == 60)
_scene->_nextSceneId = 316;
}
diff --git a/engines/mads/nebular/rooms/room351.cpp b/engines/mads/nebular/rooms/room351.cpp
index 8c14be527c4..bdcbc84256d 100644
--- a/engines/mads/nebular/rooms/room351.cpp
+++ b/engines/mads/nebular/rooms/room351.cpp
@@ -35,26 +35,29 @@ static void room_351_init() {
_globals[kAfterHavoc] = -1;
_globals[kTeleporterRoom + 1] = 351;
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('c', -1));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
_globals._spriteIndexes[2] = _scene->_sprites.addSprites("*ROXRC_7");
_globals._spriteIndexes[3] = _scene->_sprites.addSprites("*RXRD_7");
- if (_game._objects.isInRoom(OBJ_CREDIT_CHIP)) {
+ if (object_is_here(OBJ_CREDIT_CHIP)) {
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 6, 0, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 4);
} else
_scene->_hotspots.activate(words_credit_chip, false);
- if (_scene->_priorSceneId == 352)
- _game._player._playerPos = Common::Point(148, 152);
+ if (_scene->_priorSceneId == 352) {
+ player.x = 148;
+ player.y = 152;
+ }
else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(207, 81);
- _game._player._facing = FACING_NORTH;
+ player.x = 207;
+ player.y = 81;
+ player.facing = FACING_NORTH;
}
if (_globals[kTeleporterCommand]) {
- _game._player._visible = false;
- _game._player._stepEnabled = false;
+ player.walker_visible = false;
+ player.commands_allowed = false;
char sepChar = 'a';
if (_globals[kSexOfRex] != REX_MALE)
@@ -77,9 +80,9 @@ static void room_351_init() {
case 3:
case 4:
- _game._player._visible = true;
- _game._player._stepEnabled = true;
- _game._player._turnToFacing = FACING_SOUTH;
+ player.walker_visible = true;
+ player.commands_allowed = true;
+ player.turn_to_facing = FACING_SOUTH;
suffixNum = -1;
break;
@@ -90,21 +93,21 @@ static void room_351_init() {
_globals[kTeleporterCommand] = 0;
if (suffixNum >= 0)
- _scene->loadAnimation(formAnimName(sepChar, suffixNum), trigger);
+ _scene->loadAnimation(kernel_name(sepChar, suffixNum), trigger);
}
section_3_music();
}
static void room_351_daemon() {
- if (_game._trigger == 60) {
- _game._player._stepEnabled = true;
- _game._player._visible = true;
- _game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount;
- _game._player._turnToFacing = FACING_SOUTH;
+ if (kernel.trigger == 60) {
+ player.commands_allowed = true;
+ player.walker_visible = true;
+ player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.turn_to_facing = FACING_SOUTH;
}
- if (_game._trigger == 61) {
+ if (kernel.trigger == 61) {
_globals[kTeleporterCommand] = 1;
_scene->_nextSceneId = _globals[kTeleporterDestination];
_scene->_reloadSceneFlag = true;
@@ -119,11 +122,11 @@ static void room_351_parser() {
else if (player_said_2(walk_down, corridor_to_south))
_scene->_nextSceneId = 352;
else if (player_said_2(take, credit_chip)) {
- if (_game._trigger || !_game._objects.isInInventory(OBJ_CREDIT_CHIP)) {
- switch (_game._trigger) {
+ if (kernel.trigger || !player_has(OBJ_CREDIT_CHIP)) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
if (_globals[kSexOfRex] == REX_FEMALE) {
_globals._sequenceIndexes[2] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[2], false, 5, 2, 0, 0);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
@@ -140,12 +143,12 @@ static void room_351_parser() {
case 1:
_scene->_hotspots.activate(words_credit_chip, false);
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _game._objects.addToInventory(OBJ_CREDIT_CHIP);
+ inter_give_to_player(OBJ_CREDIT_CHIP);
break;
case 2:
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
object_examine(OBJ_CREDIT_CHIP, 0x32F, 0);
break;
@@ -160,7 +163,7 @@ static void room_351_parser() {
else if (player_said_2(look, fire_hydrant))
text_show(35112);
else if (player_said_2(look, guard)) {
- if (_game._objects[0xF]._roomNumber == 351)
+ if (object[0xF].location == 351)
text_show(35114);
else
text_show(35113);
diff --git a/engines/mads/nebular/rooms/room352.cpp b/engines/mads/nebular/rooms/room352.cpp
index 674ab031f37..fc50e57ee40 100644
--- a/engines/mads/nebular/rooms/room352.cpp
+++ b/engines/mads/nebular/rooms/room352.cpp
@@ -47,15 +47,15 @@ static Scratch local;
static void putArmDown(bool corridorExit, bool doorwayExit) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(0xFF));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0xFF));
_scene->_sequences.addTimer(48, 1);
break;
case 1:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
if (_globals[kSexOfRex] == REX_FEMALE) {
_globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 5, 2, 0, 0);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
@@ -80,21 +80,21 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
case 3:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(0x100));
- _game._objects.setRoom(OBJ_GUARDS_ARM, _scene->_currentSceneId);
- _game._player._visible = true;
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x100));
+ inter_move_object(OBJ_GUARDS_ARM, _scene->_currentSceneId);
+ player.walker_visible = true;
if (corridorExit)
_scene->_sequences.addTimer(48, 6);
else if (doorwayExit)
_scene->_sequences.addTimer(48, 4);
else {
local._mustPutArmDownFl = false;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
}
break;
case 4:
- _game._player.walk(Common::Point(116, 107), FACING_NORTH);
+ player_walk(116, 107, FACING_NORTH);
local._mustPutArmDownFl = false;
_scene->_sequences.addTimer(180, 5);
local._leaveRoomFl = true;
@@ -107,8 +107,8 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
break;
case 6:
- _game._player.walk(Common::Point(171, 152), FACING_SOUTH);
- _game._player._stepEnabled = true;
+ player_walk(171, 152, FACING_SOUTH);
+ player.commands_allowed = true;
local._mustPutArmDownFl = false;
_scene->_sequences.addTimer(180, 7);
local._leaveRoomFl = true;
@@ -129,27 +129,27 @@ static void room_352_init() {
_globals._spriteIndexes[1] = _scene->_sprites.addSprites("*RM302x0");
_globals._spriteIndexes[13] = _scene->_sprites.addSprites("*RM302x2");
_globals._spriteIndexes[12] = _scene->_sprites.addSprites("*RM302x3");
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('g', -1));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(formAnimName('b', -1));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('g', -1));
+ _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('b', -1));
if (_globals[kSexOfRex] == REX_FEMALE) {
_globals._spriteIndexes[3] = _scene->_sprites.addSprites("*ROXRC_7");
_globals._spriteIndexes[7] = _scene->_sprites.addSprites("*ROXRC_6");
_globals._spriteIndexes[15] = _scene->_sprites.addSprites("*ROXRC_9");
- _globals._spriteIndexes[11] = _scene->_sprites.addSprites(formAnimName('a', 3));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(formAnimName('a', 2));
+ _globals._spriteIndexes[11] = _scene->_sprites.addSprites(kernel_name('a', 3));
+ _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('a', 2));
} else {
_globals._spriteIndexes[4] = _scene->_sprites.addSprites("*RXRD_7");
_globals._spriteIndexes[6] = _scene->_sprites.addSprites("*RXRC_6");
_globals._spriteIndexes[14] = _scene->_sprites.addSprites("*RXMRC_9");
- _globals._spriteIndexes[10] = _scene->_sprites.addSprites(formAnimName('a', 1));
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(formAnimName('a', 0));
+ _globals._spriteIndexes[10] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('a', 0));
}
local._leaveRoomFl = false;
- if (_game._objects.isInRoom(OBJ_TAPE_PLAYER)) {
+ if (object_is_here(OBJ_TAPE_PLAYER)) {
_globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 12, 0, 0, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[5], 5);
int idx = _scene->_dynamicHotspots.add(words_tape_player, words_walkto, _globals._sequenceIndexes[5], Common::Rect(0, 0, 0, 0));
@@ -160,32 +160,36 @@ static void room_352_init() {
if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
local._mustPutArmDownFl = false;
- if (!_game._visitedScenes._sceneRevisited)
+ if (!player.been_here_before)
_globals[kHaveYourStuff] = false;
}
- if (_game._objects.isInRoom(OBJ_GUARDS_ARM)) {
+ if (object_is_here(OBJ_GUARDS_ARM)) {
_globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 6, 0, 0, 0);
int idx = _scene->_dynamicHotspots.add(words_guards_arm2, words_walkto, _globals._sequenceIndexes[2], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(230, 117), FACING_NORTHWEST);
} else
local._mustPutArmDownFl = true;
- if (_scene->_priorSceneId == 353)
- _game._player._playerPos = Common::Point(171, 155);
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(116, 107);
+ if (_scene->_priorSceneId == 353) {
+ player.x = 171;
+ player.y = 155;
+ }
+ else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 116;
+ player.y = 107;
+ }
section_3_music();
- _game.loadQuoteSet(0xFF, 0x100, 0x101, 0x102, 0x103, 0);
+ kernel.quotes = quote_load(0xFF, 0x100, 0x101, 0x102, 0x103, 0);
}
static void room_352_pre_parser() {
local._leaveRoomFl = false;
if (player_said_2(open, vault))
- _game._player.walk(Common::Point(266, 111), FACING_NORTHEAST);
+ player_walk(266, 111, FACING_NORTHEAST);
if (local._vaultOpenFl && !player_said_1(vault) && !player_said_1(lamp) && !player_said_1(other_stuff) && !player_said_1(your_stuff)) {
if (_globals[kHaveYourStuff]) {
@@ -196,10 +200,10 @@ static void room_352_pre_parser() {
local._commonSequenceIdx = _globals._sequenceIndexes[1];
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- if (_game._player._needToWalk) {
- _game._player._stepEnabled = false;
+ if (player.need_to_walk) {
+ player.commands_allowed = false;
_scene->_sequences.remove(local._commonSequenceIdx);
g_engine->_soundManager->command(20, 0);
local._commonSequenceIdx = _scene->_sequences.addReverseSpriteCycle(local._commonSpriteIndex, false, 6, 1, 0, 0);
@@ -215,7 +219,7 @@ static void room_352_pre_parser() {
_scene->_dynamicHotspots.remove(local._hotspot1Idx);
_scene->_dynamicHotspots.remove(local._lampHostpotIdx);
local._vaultOpenFl = false;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
break;
default:
@@ -225,14 +229,14 @@ static void room_352_pre_parser() {
if (player_said_3(put, guards_arm2, scanner)) {
if (_globals[kSexOfRex] == REX_MALE)
- _game._player.walk(Common::Point(269, 111), FACING_NORTHEAST);
+ player_walk(269, 111, FACING_NORTHEAST);
else
- _game._player.walk(Common::Point(271, 111), FACING_NORTHEAST);
+ player_walk(271, 111, FACING_NORTHEAST);
}
if (player_said_2(walk_through, doorway) || player_said_2(walk_down, corridor_to_south) || player_said_3(put, guards_arm2, floor)) {
- if (_game._objects.isInInventory(OBJ_GUARDS_ARM))
- _game._player.walk(Common::Point(230, 117), FACING_NORTHWEST);
+ if (player_has(OBJ_GUARDS_ARM))
+ player_walk(230, 117, FACING_NORTHWEST);
}
}
@@ -245,10 +249,10 @@ static void room_352_parser() {
if (player_said_2(open, vault)) {
if (!local._vaultOpenFl) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
if (_globals[kSexOfRex] == REX_FEMALE)
local._commonSpriteIndex = _globals._spriteIndexes[9];
else
@@ -281,13 +285,13 @@ static void room_352_parser() {
case 3:
_scene->_sequences.updateTimeout(-1, local._commonSequenceIdx);
- _game._player._visible = true;
+ player.walker_visible = true;
_scene->_sequences.addTimer(60, 4);
break;
case 4:
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(0x101));
- _game._player._stepEnabled = true;
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x101));
+ player.commands_allowed = true;
break;
default:
@@ -298,7 +302,7 @@ static void room_352_parser() {
return;
}
- if (_game._objects.isInInventory(OBJ_GUARDS_ARM)) {
+ if (player_has(OBJ_GUARDS_ARM)) {
local._mustPutArmDownFl = true;
}
@@ -326,11 +330,11 @@ static void room_352_parser() {
}
if (player_said_2(take, guards_arm2)) {
- if (_game._trigger || !_game._objects.isInInventory(OBJ_GUARDS_ARM)) {
- switch (_game._trigger) {
+ if (kernel.trigger || !player_has(OBJ_GUARDS_ARM)) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
if (_globals[kSexOfRex] == REX_FEMALE) {
_globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 5, 2, 0, 0);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
@@ -346,13 +350,13 @@ static void room_352_parser() {
case 1:
_scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _game._objects.addToInventory(OBJ_GUARDS_ARM);
+ inter_give_to_player(OBJ_GUARDS_ARM);
_scene->changeVariant(1);
break;
case 2:
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
object_examine(OBJ_GUARDS_ARM, 0x899C, 0);
break;
@@ -366,10 +370,10 @@ static void room_352_parser() {
if (player_said_3(put, guards_arm2, scanner)) {
if (!local._vaultOpenFl) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
if (_globals[kSexOfRex] == REX_FEMALE)
local._commonSpriteIndex = _globals._spriteIndexes[11];
else
@@ -403,7 +407,7 @@ static void room_352_parser() {
case 3:
_scene->_sequences.updateTimeout(-1, local._commonSequenceIdx);
- _game._player._visible = true;
+ player.walker_visible = true;
if (_globals[kHaveYourStuff])
local._commonSpriteIndex = _globals._spriteIndexes[13];
else
@@ -430,17 +434,17 @@ static void room_352_parser() {
idx = _scene->_dynamicHotspots.add(words_your_stuff, words_walkto, -1, Common::Rect(282, 87, 282 + 13, 87 + 7));
local._hotspot2Idx = _scene->_dynamicHotspots.setPosition(idx, Common::Point(280, 111), FACING_NORTHEAST);
_globals._sequenceIndexes[1] = local._commonSequenceIdx;
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(0x102));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x102));
} else {
_globals._sequenceIndexes[13] = local._commonSequenceIdx;
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(0x103));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x103));
}
idx = _scene->_dynamicHotspots.add(words_other_stuff, words_walkto, -1, Common::Rect(282, 48, 282 + 36, 48 + 27));
local._hotspot1Idx = _scene->_dynamicHotspots.setPosition(idx, Common::Point(287, 115), FACING_NORTHEAST);
idx = _scene->_dynamicHotspots.add(words_lamp, words_walkto, -1, Common::Rect(296, 76, 296 + 11, 76 + 17));
local._lampHostpotIdx = _scene->_dynamicHotspots.setPosition(idx, Common::Point(287, 115), FACING_NORTHEAST);
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
}
break;
@@ -449,10 +453,10 @@ static void room_352_parser() {
}
}
} else if (player_said_2(take, your_stuff)) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
if (_globals[kSexOfRex] == REX_MALE) {
_globals._sequenceIndexes[14] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[14], false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[14], 1, 2);
@@ -472,9 +476,9 @@ static void room_352_parser() {
_scene->_dynamicHotspots.remove(local._hotspot2Idx);
_globals[kHaveYourStuff] = true;
- for (uint16 i = 0; i < _game._objects.size(); i++) {
- if (_game._objects[i]._roomNumber == 50)
- _game._objects.addToInventory(i);
+ for (uint16 i = 0; i < num_objects; i++) {
+ if (object[i].location == 50)
+ inter_give_to_player(i);
}
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
@@ -488,18 +492,18 @@ static void room_352_parser() {
else
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[15]);
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
break;
default:
break;
}
- } else if (player_said_2(take, tape_player) && !_game._objects.isInInventory(OBJ_TAPE_PLAYER)) {
- switch (_game._trigger) {
+ } else if (player_said_2(take, tape_player) && !player_has(OBJ_TAPE_PLAYER)) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
if (_globals[kSexOfRex] == REX_MALE) {
_globals._sequenceIndexes[6] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[6], true, 6, 2, 0, 0);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[6]);
@@ -519,14 +523,14 @@ static void room_352_parser() {
break;
case 2:
- _game._objects.addToInventory(OBJ_TAPE_PLAYER);
+ inter_give_to_player(OBJ_TAPE_PLAYER);
if (_globals[kSexOfRex] == REX_MALE)
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[6]);
else
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[7]);
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
object_examine(OBJ_TAPE_PLAYER, 35227, 0);
break;
@@ -536,7 +540,7 @@ static void room_352_parser() {
} else if (player_said_2(look, scanner))
text_show(35210);
else if (player_said_2(look, monitor)) {
- if (_game._storyMode == STORYMODE_NAUGHTY)
+ if (config_file.naughtiness == STORYMODE_NAUGHTY)
text_show(35211);
else
text_show(35212);
diff --git a/engines/mads/nebular/rooms/room353.cpp b/engines/mads/nebular/rooms/room353.cpp
index 95df71379c7..d6d2f715393 100644
--- a/engines/mads/nebular/rooms/room353.cpp
+++ b/engines/mads/nebular/rooms/room353.cpp
@@ -39,14 +39,18 @@ static Scratch local;
static void room_353_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(Resources::formatName(303, 'B', 0, EXT_SS, ""));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_full_name(303, 'B', 0, "", EXT_SS));
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 5, 0, 5, 0);
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
- if (_scene->_priorSceneId == 352)
- _game._player._playerPos = Common::Point(144, 95);
- else
- _game._player._playerPos = Common::Point(139, 155);
+ if (_scene->_priorSceneId == 352) {
+ player.x = 144;
+ player.y = 95;
+ }
+ else {
+ player.x = 139;
+ player.y = 155;
+ }
section_3_music();
}
diff --git a/engines/mads/nebular/rooms/room354.cpp b/engines/mads/nebular/rooms/room354.cpp
index 651fcf41ee7..778e463ce20 100644
--- a/engines/mads/nebular/rooms/room354.cpp
+++ b/engines/mads/nebular/rooms/room354.cpp
@@ -41,30 +41,37 @@ static void room_354_init() {
_globals[kAfterHavoc] = true;
_globals[kTeleporterRoom + 1] = 351;
- if (_scene->_priorSceneId == 361)
- _game._player._playerPos = Common::Point(231, 110);
+ if (_scene->_priorSceneId == 361) {
+ player.x = 231;
+ player.y = 110;
+ }
else if (_scene->_priorSceneId == 401) {
- _game._player._playerPos = Common::Point(106, 152);
- _game._player._facing = FACING_NORTH;
- } else if (_scene->_priorSceneId == 316)
- _game._player._playerPos = Common::Point(71, 107);
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(167, 57);
+ player.x = 106;
+ player.y = 152;
+ player.facing = FACING_NORTH;
+ } else if (_scene->_priorSceneId == 316) {
+ player.x = 71;
+ player.y = 107;
+ }
+ else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 167;
+ player.y = 57;
+ }
section_3_music();
}
static void room_354_pre_parser() {
if (player_said_2(walk_down, corridor_to_south))
- _game._player._walkOffScreenSceneId = 401;
+ player.walk_off_edge_to_room = 401;
}
static void room_354_parser() {
if (_action._lookFlag)
text_show(35414);
else if (player_said_2(walk_down, corridor_to_north)) {
- _game._player.startWalking(Common::Point(208, 0), FACING_NORTHEAST);
- _game._player._walkOffScreenSceneId = 353;
+ player_start_walking(208, 0, FACING_NORTHEAST);
+ player.walk_off_edge_to_room = 353;
} else if (player_said_2(walk_down, corridor_to_east))
_scene->_nextSceneId = 361;
else if (player_said_2(walk_down, corridor_to_west))
diff --git a/engines/mads/nebular/rooms/room357.cpp b/engines/mads/nebular/rooms/room357.cpp
index ccd22bbf71d..5df6cc26b0c 100644
--- a/engines/mads/nebular/rooms/room357.cpp
+++ b/engines/mads/nebular/rooms/room357.cpp
@@ -33,27 +33,33 @@ namespace Rooms {
static void room_357_init() {
_globals[kAfterHavoc] = true;
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(Resources::formatName(307, 'X', 0, EXT_SS, ""));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
_globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
_scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(127, 78));
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
- if (_scene->_priorSceneId == 318)
- _game._player._playerPos = Common::Point(298, 142);
- else if (_scene->_priorSceneId == 313)
- _game._player._playerPos = Common::Point(127, 101);
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(15, 148);
+ if (_scene->_priorSceneId == 318) {
+ player.x = 298;
+ player.y = 142;
+ }
+ else if (_scene->_priorSceneId == 313) {
+ player.x = 127;
+ player.y = 101;
+ }
+ else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 15;
+ player.y = 148;
+ }
section_3_music();
}
static void room_357_pre_parser() {
if (player_said_2(walk_down, corridor_to_east))
- _game._player._walkOffScreenSceneId = 318;
+ player.walk_off_edge_to_room = 318;
if (player_said_2(walk_down, corridor_to_west))
- _game._player._walkOffScreenSceneId = 358;
+ player.walk_off_edge_to_room = 358;
}
static void room_357_parser() {
diff --git a/engines/mads/nebular/rooms/room358.cpp b/engines/mads/nebular/rooms/room358.cpp
index bd32329a506..abb3ee39c2d 100644
--- a/engines/mads/nebular/rooms/room358.cpp
+++ b/engines/mads/nebular/rooms/room358.cpp
@@ -32,25 +32,29 @@ namespace RexNebular {
namespace Rooms {
static void room_358_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(Resources::formatName(307, 'X', 0, EXT_SS, ""));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
_globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
_scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(127, 78));
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
- if (_scene->_priorSceneId == 357)
- _game._player._playerPos = Common::Point(305, 142);
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(12, 141);
+ if (_scene->_priorSceneId == 357) {
+ player.x = 305;
+ player.y = 142;
+ }
+ else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 12;
+ player.y = 141;
+ }
section_3_music();
}
static void room_358_pre_parser() {
if (player_said_2(walk_down, corridor_to_east))
- _game._player._walkOffScreenSceneId = 357;
+ player.walk_off_edge_to_room = 357;
if (player_said_2(walk_down, corridor_to_west))
- _game._player._walkOffScreenSceneId = 359;
+ player.walk_off_edge_to_room = 359;
}
static void room_358_parser() {
diff --git a/engines/mads/nebular/rooms/room359.cpp b/engines/mads/nebular/rooms/room359.cpp
index 722b5717f43..a597020bd73 100644
--- a/engines/mads/nebular/rooms/room359.cpp
+++ b/engines/mads/nebular/rooms/room359.cpp
@@ -39,8 +39,8 @@ static Scratch local;
static void room_359_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('b', -1));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(Resources::formatName(307, 'X', 0, EXT_SS, ""));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('b', -1));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
if (_globals[kSexOfRex] == REX_MALE)
_globals._spriteIndexes[2] = _scene->_sprites.addSprites("*RXMBD_2");
@@ -51,40 +51,44 @@ static void room_359_init() {
_scene->_sequences.setPosition(_globals._sequenceIndexes[3], Common::Point(127, 78));
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 15);
- if (_game._objects.isInRoom(OBJ_SECURITY_CARD)) {
+ if (object_is_here(OBJ_SECURITY_CARD)) {
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 9, 0, 0, 0);
local._cardHotspotId = _scene->_dynamicHotspots.add(words_security_card, words_walkto, _globals._sequenceIndexes[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(local._cardHotspotId, Common::Point(107, 107), FACING_SOUTH);
}
- if (_scene->_priorSceneId == 358)
- _game._player._playerPos = Common::Point(301, 141);
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(15, 148);
+ if (_scene->_priorSceneId == 358) {
+ player.x = 301;
+ player.y = 141;
+ }
+ else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 15;
+ player.y = 148;
+ }
section_3_music();
}
static void room_359_pre_parser() {
if (player_said_2(walk_down, corridor_to_east))
- _game._player._walkOffScreenSceneId = 358;
+ player.walk_off_edge_to_room = 358;
if (player_said_2(walk_down, corridor_to_west))
- _game._player._walkOffScreenSceneId = 360;
+ player.walk_off_edge_to_room = 360;
}
static void room_359_parser() {
if (_action._lookFlag) {
- if ((_game._difficulty != DIFFICULTY_HARD) && (_game._objects[OBJ_SECURITY_CARD]._roomNumber == 359))
+ if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_SECURITY_CARD].location == 359))
text_show(35914);
else
text_show(35915);
} else if (player_said_2(take, security_card)) {
- if (_game._trigger || !_game._objects.isInInventory(OBJ_SECURITY_CARD)) {
- switch (_game._trigger) {
+ if (kernel.trigger || !player_has(OBJ_SECURITY_CARD)) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
text_show(35920);
if (_globals[kSexOfRex] == REX_MALE) {
_globals._sequenceIndexes[2] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[2], false, 4, 2, 0, 0);
@@ -104,7 +108,7 @@ static void room_359_parser() {
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_scene->_dynamicHotspots.remove(local._cardHotspotId);
g_engine->_soundManager->command(57, 0);
- _game._objects.addToInventory(OBJ_SECURITY_CARD);
+ inter_give_to_player(OBJ_SECURITY_CARD);
object_examine(OBJ_SECURITY_CARD, 0x330, 0);
_scene->changeVariant(1);
break;
@@ -115,8 +119,8 @@ static void room_359_parser() {
else
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[4]);
- _game._player._visible = true;
- _game._player._stepEnabled = true;
+ player.walker_visible = true;
+ player.commands_allowed = true;
break;
default:
@@ -142,7 +146,7 @@ static void room_359_parser() {
else if (player_said_2(look, security_card) && (_action._mainObjectSource == CAT_HOTSPOT))
text_show(35921);
else if (player_said_2(look, blood_stain)) {
- if ((_game._difficulty != DIFFICULTY_HARD) && (_game._objects[OBJ_SECURITY_CARD]._roomNumber == 359))
+ if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_SECURITY_CARD].location == 359))
text_show(35922);
else
text_show(35923);
@@ -155,7 +159,7 @@ static void room_359_parser() {
else if (player_said_2(look, corridor))
text_show(35927);
else if (player_said_2(look, floor)) {
- if ((_game._difficulty != DIFFICULTY_HARD) && (_game._objects[OBJ_SECURITY_CARD]._roomNumber == 359))
+ if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_SECURITY_CARD].location == 359))
text_show(35928);
else
text_show(35929);
diff --git a/engines/mads/nebular/rooms/room360.cpp b/engines/mads/nebular/rooms/room360.cpp
index f5c75da9ed0..ecf74691f3b 100644
--- a/engines/mads/nebular/rooms/room360.cpp
+++ b/engines/mads/nebular/rooms/room360.cpp
@@ -32,25 +32,29 @@ namespace RexNebular {
namespace Rooms {
static void room_360_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(Resources::formatName(307, 'X', 0, EXT_SS, ""));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
_globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
_scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(127, 78));
_scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
- if (_scene->_priorSceneId == 359)
- _game._player._playerPos = Common::Point(304, 143);
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(13, 141);
+ if (_scene->_priorSceneId == 359) {
+ player.x = 304;
+ player.y = 143;
+ }
+ else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 13;
+ player.y = 141;
+ }
section_3_music();
}
static void room_360_pre_parser() {
if (player_said_2(walk_down, corridor_to_east))
- _game._player._walkOffScreenSceneId = 359;
+ player.walk_off_edge_to_room = 359;
if (player_said_2(walk_down, corridor_to_west))
- _game._player._walkOffScreenSceneId = 361;
+ player.walk_off_edge_to_room = 361;
}
static void room_360_parser() {
diff --git a/engines/mads/nebular/rooms/room361.cpp b/engines/mads/nebular/rooms/room361.cpp
index 517c20b5f9b..8705fe3a408 100644
--- a/engines/mads/nebular/rooms/room361.cpp
+++ b/engines/mads/nebular/rooms/room361.cpp
@@ -32,10 +32,10 @@ namespace RexNebular {
namespace Rooms {
static void handleRexAction() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 50, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], 3, -2);
@@ -130,10 +130,10 @@ static void handleRexAction() {
}
static void handleRoxAction() {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 18, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], 2, 4);
@@ -233,7 +233,7 @@ static void handleRoxAction() {
}
static void room_361_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(Resources::formatName(307, 'X', 0, EXT_SS, ""));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
if (_globals[kSexOfRex] == REX_MALE) {
_globals._spriteIndexes[2] = _scene->_sprites.addSprites("*RXCL_8");
@@ -247,20 +247,26 @@ static void room_361_init() {
if (_scene->_priorSceneId == 391) {
_globals[kSexOfRex] = REX_MALE;
- _game._player._stepEnabled = false;
- _game._player._visible = false;
- _game._player._facing = FACING_SOUTH;
- _game._player._playerPos = Common::Point(166, 101);
+ player.commands_allowed = false;
+ player.walker_visible = false;
+ player.facing = FACING_SOUTH;
+ player.x = 166;
+ player.y = 101;
_scene->_sequences.addTimer(120, 70);
- } else if (_scene->_priorSceneId == 360)
- _game._player._playerPos = Common::Point(302, 145);
+ } else if (_scene->_priorSceneId == 360) {
+ player.x = 302;
+ player.y = 145;
+ }
else if (_scene->_priorSceneId == 320) {
- _game._player._playerPos = Common::Point(129, 113);
- _game._player._facing = FACING_SOUTH;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
- _game._player._playerPos = Common::Point(13, 145);
+ player.x = 129;
+ player.y = 113;
+ player.facing = FACING_SOUTH;
+ } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ player.x = 13;
+ player.y = 145;
+ }
- _game.loadQuoteSet(0xFB, 0xFC, 0);
+ kernel.quotes = quote_load(0xFB, 0xFC, 0);
if (_scene->_priorSceneId == 320)
_scene->_kernelMessages.setQuoted(_scene->_kernelMessages.addQuote(0xFB, 0, 0x78), 4, true);
@@ -269,8 +275,8 @@ static void room_361_init() {
}
static void room_361_daemon() {
- if (_game._trigger >= 70) {
- switch (_game._trigger) {
+ if (kernel.trigger >= 70) {
+ switch (kernel.trigger) {
case 70:
_scene->_sequences.remove(_globals._sequenceIndexes[1]);
_globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 2);
@@ -360,8 +366,8 @@ static void room_361_daemon() {
case 79:
_scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[3]);
- _game._player._stepEnabled = true;
- _game._player._visible = true;
+ player.commands_allowed = true;
+ player.walker_visible = true;
break;
default:
@@ -372,10 +378,10 @@ static void room_361_daemon() {
static void room_361_pre_parser() {
if (player_said_2(walk_down, corridor_to_east))
- _game._player._walkOffScreenSceneId = 360;
+ player.walk_off_edge_to_room = 360;
if (player_said_2(walk_down, corridor_to_west))
- _game._player._walkOffScreenSceneId = 354;
+ player.walk_off_edge_to_room = 354;
}
static void room_361_parser() {
diff --git a/engines/mads/nebular/rooms/room366.cpp b/engines/mads/nebular/rooms/room366.cpp
index 5d182ffcdc1..fd729f34636 100644
--- a/engines/mads/nebular/rooms/room366.cpp
+++ b/engines/mads/nebular/rooms/room366.cpp
@@ -33,7 +33,7 @@ namespace Rooms {
static void room_366_init() {
_scene->_userInterface.setup(kInputLimitedSentences);
- _game._player._visible = false;
+ player.walker_visible = false;
section_3_music();
}
@@ -41,13 +41,13 @@ static void room_366_parser() {
if (player_said_2(return_to, air_shaft))
_scene->_nextSceneId = 302;
else if (player_said_2(open, grate)) {
- if (_game._visitedScenes.exists(316))
+ if (player_has_been_in_room(316))
text_show(36612);
else
text_show(36613);
_scene->_nextSceneId = 316;
} else if (player_said_2(look_through, grate)) {
- if (_game._visitedScenes.exists(321))
+ if (player_has_been_in_room(321))
text_show(36611);
else
text_show(36610);
diff --git a/engines/mads/nebular/rooms/room387.cpp b/engines/mads/nebular/rooms/room387.cpp
index 9159bd84389..77c5d3f3c61 100644
--- a/engines/mads/nebular/rooms/room387.cpp
+++ b/engines/mads/nebular/rooms/room387.cpp
@@ -33,7 +33,7 @@ namespace Rooms {
static void room_387_init() {
_scene->_userInterface.setup(kInputLimitedSentences);
- _game._player._visible = false;
+ player.walker_visible = false;
section_3_music();
}
diff --git a/engines/mads/nebular/rooms/room388.cpp b/engines/mads/nebular/rooms/room388.cpp
index 7fb02f3613c..6eb34dab8e4 100644
--- a/engines/mads/nebular/rooms/room388.cpp
+++ b/engines/mads/nebular/rooms/room388.cpp
@@ -38,14 +38,14 @@ static void room_388_init() {
if (_globals[kAfterHavoc])
_scene->_hotspots.activate(words_sauropod, false);
else {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(formAnimName('b', 0));
+ _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('b', 0));
_globals._sequenceIndexes[0] = _scene->_sequences.startCycle(_globals._spriteIndexes[0], false, 1);
}
- _game._player._visible = false;
+ player.walker_visible = false;
pal_change_color(252, 63, 30, 20);
pal_change_color(253, 45, 15, 12);
- _game.loadQuoteSet(0x154, 0x155, 0x156, 0x157, 0x158, 0);
+ kernel.quotes = quote_load(0x154, 0x155, 0x156, 0x157, 0x158, 0);
section_3_music();
}
@@ -54,22 +54,22 @@ static void room_388_parser() {
if (player_said_2(return_to, air_shaft))
_scene->_nextSceneId = 313;
else if (player_said_2(talkto, sauropod)) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(160, 136), 0x1110, 32, 1, 120, _game.getQuote(0x154));
+ _scene->_kernelMessages.add(Common::Point(160, 136), 0x1110, 32, 1, 120, quote_string(kernel.quotes, 0x154));
break;
case 1:
- _scene->_kernelMessages.add(Common::Point(82, 38), 0xFDFC, 0, 0, 300, _game.getQuote(0x156));
- _scene->_kernelMessages.add(Common::Point(82, 52), 0xFDFC, 0, 0, 300, _game.getQuote(0x157));
- _scene->_kernelMessages.add(Common::Point(82, 66), 0xFDFC, 0, 2, 300, _game.getQuote(0x158));
+ _scene->_kernelMessages.add(Common::Point(82, 38), 0xFDFC, 0, 0, 300, quote_string(kernel.quotes, 0x156));
+ _scene->_kernelMessages.add(Common::Point(82, 52), 0xFDFC, 0, 0, 300, quote_string(kernel.quotes, 0x157));
+ _scene->_kernelMessages.add(Common::Point(82, 66), 0xFDFC, 0, 2, 300, quote_string(kernel.quotes, 0x158));
break;
case 2:
- _game._player._stepEnabled = true;
- _scene->_kernelMessages.add(Common::Point(160, 136), 0x1110, 32, 0, 120, _game.getQuote(0x155));
+ player.commands_allowed = true;
+ _scene->_kernelMessages.add(Common::Point(160, 136), 0x1110, 32, 0, 120, quote_string(kernel.quotes, 0x155));
break;
default:
diff --git a/engines/mads/nebular/rooms/room389.cpp b/engines/mads/nebular/rooms/room389.cpp
index dba79a715f8..2cfa15ca7b2 100644
--- a/engines/mads/nebular/rooms/room389.cpp
+++ b/engines/mads/nebular/rooms/room389.cpp
@@ -49,7 +49,7 @@ static void room_389_init() {
if (_globals[kAfterHavoc])
_scene->_hotspots.activate(words_monster, false);
else {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(formAnimName('m', -1));
+ _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('m', -1));
_globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 6, 0, 0, 0);
_scene->_kernelMessages.initRandomMessages(1,
Common::Rect(88, 19, 177, 77), 13, 2, 0xFDFC, 60,
@@ -58,8 +58,8 @@ static void room_389_init() {
pal_change_color(252, 63, 37, 26);
pal_change_color(253, 45, 24, 17);
- _game._player._visible = false;
- _game.loadQuoteSet(0xF7, 0xF8, 0xF9, 0x159, 0x15A, 0x15B, 0);
+ player.walker_visible = false;
+ kernel.quotes = quote_load(0xF7, 0xF8, 0xF9, 0x159, 0x15A, 0x15B, 0);
section_3_music();
}
@@ -77,10 +77,10 @@ static void room_389_parser() {
if (player_said_2(return_to, air_shaft))
_scene->_nextSceneId = 313;
else if (player_said_2(talkto, monster)) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
- _game._player._stepEnabled = false;
- _scene->_kernelMessages.add(Common::Point(160, 136), 0x1110, 32, 1, 120, _game.getQuote(local._circularQuoteId));
+ player.commands_allowed = false;
+ _scene->_kernelMessages.add(Common::Point(160, 136), 0x1110, 32, 1, 120, quote_string(kernel.quotes, local._circularQuoteId));
local._circularQuoteId++;
if (local._circularQuoteId > 0x15B)
local._circularQuoteId = 0x159;
@@ -88,7 +88,7 @@ static void room_389_parser() {
break;
case 1:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
break;
default:
@@ -96,7 +96,7 @@ static void room_389_parser() {
}
} else if (player_said_2(look_through, grate)) {
if (_globals[kAfterHavoc]) {
- if ((_game._difficulty != DIFFICULTY_HARD) && (_game._objects[OBJ_SECURITY_CARD]._roomNumber == 359))
+ if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_SECURITY_CARD].location == 359))
text_show(38911);
else
text_show(38912);
diff --git a/engines/mads/nebular/rooms/room390.cpp b/engines/mads/nebular/rooms/room390.cpp
index 74f3e155f8b..56d66a90978 100644
--- a/engines/mads/nebular/rooms/room390.cpp
+++ b/engines/mads/nebular/rooms/room390.cpp
@@ -33,7 +33,7 @@ namespace Rooms {
static void room_390_init() {
_scene->_userInterface.setup(kInputLimitedSentences);
- _game._player._visible = false;
+ player.walker_visible = false;
section_3_music();
}
diff --git a/engines/mads/nebular/rooms/room391.cpp b/engines/mads/nebular/rooms/room391.cpp
index ca5ed752fbe..af39ec20e96 100644
--- a/engines/mads/nebular/rooms/room391.cpp
+++ b/engines/mads/nebular/rooms/room391.cpp
@@ -33,7 +33,7 @@ namespace Rooms {
static void room_391_init() {
_scene->_userInterface.setup(kInputLimitedSentences);
- _game._player._visible = false;
+ player.walker_visible = false;
section_3_music();
}
diff --git a/engines/mads/nebular/rooms/room399.cpp b/engines/mads/nebular/rooms/room399.cpp
index 6a12cf8f772..4f01c616a12 100644
--- a/engines/mads/nebular/rooms/room399.cpp
+++ b/engines/mads/nebular/rooms/room399.cpp
@@ -33,7 +33,7 @@ namespace Rooms {
static void room_399_init() {
_scene->_userInterface.setup(kInputLimitedSentences);
- _game._player._visible = false;
+ player.walker_visible = false;
section_3_music();
}
@@ -42,7 +42,7 @@ static void room_399_parser() {
_scene->_nextSceneId = 313;
else if (player_said_2(look_through, grate)) {
if (_globals[kAfterHavoc]) {
- if ((_game._difficulty != DIFFICULTY_HARD) && (_game._objects[OBJ_SECURITY_CARD]._roomNumber == 359))
+ if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_SECURITY_CARD].location == 359))
text_show(38911);
else
text_show(38912);
diff --git a/engines/mads/nebular/rooms/room401.cpp b/engines/mads/nebular/rooms/room401.cpp
index 912f800666e..b77d426a5c6 100644
--- a/engines/mads/nebular/rooms/room401.cpp
+++ b/engines/mads/nebular/rooms/room401.cpp
@@ -49,37 +49,40 @@ static void room_401_init() {
local._timer = 0;
if (_scene->_priorSceneId == 402) {
- _game._player._playerPos = Common::Point(203, 115);
- _game._player._facing = FACING_WEST;
+ player.x = 203;
+ player.y = 115;
+ player.facing = FACING_WEST;
} else if (_scene->_priorSceneId == 354) {
- _game._player._playerPos = Common::Point(149, 90);
- _game._player._facing = FACING_SOUTH;
+ player.x = 149;
+ player.y = 90;
+ player.facing = FACING_SOUTH;
local._northFl = true;
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(142, 131);
- _game._player._facing = FACING_NORTH;
+ player.x = 142;
+ player.y = 131;
+ player.facing = FACING_NORTH;
}
- _game.loadQuoteSet(0x1D4, 0);
+ kernel.quotes = quote_load(0x1D4, 0);
section_4_music();
}
static void room_401_daemon() {
- if (_game._trigger == 70) {
+ if (kernel.trigger == 70) {
_scene->_nextSceneId = 354;
_scene->_reloadSceneFlag = true;
}
- if (_game._trigger == 80) {
- _game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount;
- _game._player._stepEnabled = true;
- _game._player._visible = true;
+ if (kernel.trigger == 80) {
+ player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.commands_allowed = true;
+ player.walker_visible = true;
local._northFl = false;
- _game._player.walk(Common::Point(149, 110), FACING_SOUTH);
+ player_walk(149, 110, FACING_SOUTH);
}
if (_scene->_frameStartTime >= local._timer) {
- int dist = 64 - ((Math::hypotenuse(_game._player._playerPos.x - 219, _game._player._playerPos.y - 115) * 64) / 120);
+ int dist = 64 - ((Math::hypotenuse(player.x - 219, player.y - 115) * 64) / 120);
if (dist > 64)
dist = 64;
@@ -87,24 +90,24 @@ static void room_401_daemon() {
dist = 1;
g_engine->_soundManager->command(12, dist);
- local._timer = _scene->_frameStartTime + _game._player._ticksAmount;
+ local._timer = _scene->_frameStartTime + player.frame_delay;
}
}
static void room_401_pre_parser() {
if (player_said_2(walk_down, corridor_to_north)) {
- _game._player.walk(Common::Point(149, 89), FACING_NORTH);
+ player_walk(149, 89, FACING_NORTH);
local._northFl = false;
}
if (player_said_2(walk_down, corridor_to_south) && !local._northFl)
- _game._player._walkOffScreenSceneId = 405;
+ player.walk_off_edge_to_room = 405;
if (player_said_1(take))
- _game._player._needToWalk = false;
+ player.need_to_walk = false;
- if (_game._player._needToWalk && local._northFl) {
+ if (player.need_to_walk && local._northFl) {
if (_globals[kSexOfRex] == REX_MALE) {
local._dest_x = 148;
local._dest_y = 94;
@@ -113,30 +116,30 @@ static void room_401_pre_parser() {
local._dest_y = 99;
}
- _game._player.walk(Common::Point(local._dest_x, local._dest_y), FACING_SOUTH);
+ player_walk(local._dest_x, local._dest_y, FACING_SOUTH);
}
}
static void room_401_parser() {
- if (_game._player._playerPos.x == local._dest_x && _game._player._playerPos.y && local._northFl) {
+ if (player.x == local._dest_x && player.y && local._northFl) {
if (_globals[kSexOfRex] == REX_MALE) {
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ player.commands_allowed = false;
+ player.walker_visible = false;
g_engine->_soundManager->command(21, 0);
- _scene->loadAnimation(formAnimName('s', 1), 70);
+ _scene->loadAnimation(kernel_name('s', 1), 70);
_globals[kHasBeenScanned] = true;
g_engine->_soundManager->command(22, 0);
- int idx = _scene->_kernelMessages.add(Common::Point(153, 46), 0x1110, 32, 0, 60, _game.getQuote(0x1D4));
+ int idx = _scene->_kernelMessages.add(Common::Point(153, 46), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 0x1D4));
_scene->_kernelMessages.setQuoted(idx, 4, true);
}
if (_globals[kSexOfRex] == REX_FEMALE) {
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ player.commands_allowed = false;
+ player.walker_visible = false;
g_engine->_soundManager->command(21, 0);
- _scene->loadAnimation(formAnimName('s', 2), 80);
+ _scene->loadAnimation(kernel_name('s', 2), 80);
g_engine->_soundManager->command(23, 0);
_globals[kHasBeenScanned] = true;
}
diff --git a/engines/mads/nebular/rooms/room402.cpp b/engines/mads/nebular/rooms/room402.cpp
index 5e29c78eadd..fb0eaf58fb4 100644
--- a/engines/mads/nebular/rooms/room402.cpp
+++ b/engines/mads/nebular/rooms/room402.cpp
@@ -83,7 +83,7 @@ static void setDialogNode(int node) {
if (node > 0)
local._bartenderDialogNode = node;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
switch (node) {
case 0:
@@ -146,8 +146,8 @@ static void handleConversation1() {
break;
}
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(quotePosX, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(quoteId));
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->_kernelMessages.add(Common::Point(quotePosX, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, quoteId));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 120;
setDialogNode(2);
@@ -156,8 +156,8 @@ static void handleConversation1() {
case 0x215:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(260, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1EC));
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->_kernelMessages.add(Common::Point(260, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EC));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 120;
local._bartenderCurrentQuestion = 1;
@@ -166,9 +166,9 @@ static void handleConversation1() {
case 0x237:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(208, 41), 0xFDFC, 0, 0, 100, _game.getQuote(0x1FD));
+ _scene->_kernelMessages.add(Common::Point(208, 41), 0xFDFC, 0, 0, 100, quote_string(kernel.quotes, 0x1FD));
setDialogNode(0);
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 1120;
break;
@@ -248,31 +248,31 @@ static void handleConversation2() {
if (_action._activeAction._verbId != 0x21C) {
switch (g_engine->getRandomNumber(1, 3)) {
case 1:
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 180;
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(198, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1E7));
- _scene->_kernelMessages.add(Common::Point(201, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1E8));
+ _scene->_kernelMessages.add(Common::Point(198, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E7));
+ _scene->_kernelMessages.add(Common::Point(201, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E8));
local._bartenderCurrentQuestion = 7;
break;
case 2:
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 180;
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(220, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1E9));
- _scene->_kernelMessages.add(Common::Point(190, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1EA));
+ _scene->_kernelMessages.add(Common::Point(220, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E9));
+ _scene->_kernelMessages.add(Common::Point(190, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EA));
local._bartenderCurrentQuestion = 8;
break;
case 3:
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 150;
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(196, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1EB));
+ _scene->_kernelMessages.add(Common::Point(196, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EB));
local._bartenderCurrentQuestion = 9;
break;
@@ -282,8 +282,8 @@ static void handleConversation2() {
local._dialog2.start();
} else {
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(208, 41), 0xFDFC, 0, 0, 100, _game.getQuote(0x1FD));
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->_kernelMessages.add(Common::Point(208, 41), 0xFDFC, 0, 0, 100, quote_string(kernel.quotes, 0x1FD));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 1120;
}
@@ -295,19 +295,19 @@ static void handleConversation3() {
case 0x234:
case 0x235:
case 0x236:
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 86);
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(188, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1ED));
- _scene->_kernelMessages.add(Common::Point(199, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1EE));
+ _scene->_kernelMessages.add(Common::Point(188, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1ED));
+ _scene->_kernelMessages.add(Common::Point(199, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EE));
setDialogNode(4);
local._bartenderCurrentQuestion = 2;
break;
case 0x237:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(208, 41), 0xFDFC, 0, 0, 100, _game.getQuote(0x1FD));
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->_kernelMessages.add(Common::Point(208, 41), 0xFDFC, 0, 0, 100, quote_string(kernel.quotes, 0x1FD));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 1120;
setDialogNode(0);
@@ -323,24 +323,24 @@ static void handleConversation4() {
case 0x238:
_scene->_kernelMessages.reset();
setDialogNode(0);
- _game._player._stepEnabled = false;
- _scene->_kernelMessages.add(Common::Point(196, 13), 0xFDFC, 0, 0, 180, _game.getQuote(0x1F0));
- _scene->_kernelMessages.add(Common::Point(184, 27), 0xFDFC, 0, 0, 180, _game.getQuote(0x1F1));
- _scene->_kernelMessages.add(Common::Point(200, 41), 0xFDFC, 0, 0, 180, _game.getQuote(0x1F2));
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ player.commands_allowed = false;
+ _scene->_kernelMessages.add(Common::Point(196, 13), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1F0));
+ _scene->_kernelMessages.add(Common::Point(184, 27), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1F1));
+ _scene->_kernelMessages.add(Common::Point(200, 41), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1F2));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 1100;
local._dialog4.write(0x238, false);
local._bartenderMode = 22;
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(100, 95);
local._refuseAlienLiquor = true;
break;
case 0x239:
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
local._roxMode = 21;
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 92);
_scene->_userInterface.setup(kInputBuildingSentences);
local._conversationFl = false;
@@ -348,32 +348,32 @@ static void handleConversation4() {
case 0x23A:
setDialogNode(0);
- _game._player._stepEnabled = false;
- _scene->_kernelMessages.add(Common::Point(193, 27), 0xFDFC, 0, 0, 150, _game.getQuote(0x1F4));
- _scene->_kernelMessages.add(Common::Point(230, 41), 0xFDFC, 0, 0, 150, _game.getQuote(0x1F5));
+ player.commands_allowed = false;
+ _scene->_kernelMessages.add(Common::Point(193, 27), 0xFDFC, 0, 0, 150, quote_string(kernel.quotes, 0x1F4));
+ _scene->_kernelMessages.add(Common::Point(230, 41), 0xFDFC, 0, 0, 150, quote_string(kernel.quotes, 0x1F5));
local._dialog4.write(0x23A, false);
_globals[kHasSaidTimer] = true;
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 1100;
local._bartenderMode = 22;
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(100, 95);
local._refuseAlienLiquor = true;
break;
case 0x23D:
setDialogNode(0);
- _game._player._stepEnabled = false;
- _scene->_kernelMessages.add(Common::Point(153, 27), 0xFDFC, 0, 0, 150, _game.getQuote(0x1F6));
- _scene->_kernelMessages.add(Common::Point(230, 41), 0xFDFC, 0, 0, 150, _game.getQuote(0x1F7));
+ player.commands_allowed = false;
+ _scene->_kernelMessages.add(Common::Point(153, 27), 0xFDFC, 0, 0, 150, quote_string(kernel.quotes, 0x1F6));
+ _scene->_kernelMessages.add(Common::Point(230, 41), 0xFDFC, 0, 0, 150, quote_string(kernel.quotes, 0x1F7));
local._dialog4.write(0x23D, false);
_globals[kHasSaidBinocs] = true;
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 1100;
local._bartenderMode = 22;
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(100, 95);
local._refuseAlienLiquor = true;
break;
@@ -381,13 +381,13 @@ static void handleConversation4() {
case 0x23E:
_scene->_kernelMessages.reset();
setDialogNode(0);
- _game._player._stepEnabled = false;
- _scene->_kernelMessages.add(Common::Point(205, 41), 0xFDFC, 0, 0, 100, _game.getQuote(0x1F8));
+ player.commands_allowed = false;
+ _scene->_kernelMessages.add(Common::Point(205, 41), 0xFDFC, 0, 0, 100, quote_string(kernel.quotes, 0x1F8));
local._bartenderMode = 22;
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 1050;
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(50, 95);
local._refuseAlienLiquor = true;
break;
@@ -398,13 +398,13 @@ static void handleConversation4() {
}
static void handleDialogs() {
- if (_game._trigger == 0) {
+ if (kernel.trigger == 0) {
_scene->_kernelMessages.reset();
- _game._player._stepEnabled = false;
- const char *curQuote = _game.getQuote(_action._activeAction._verbId);
+ player.commands_allowed = false;
+ const char *curQuote = quote_string(kernel.quotes, _action._activeAction._verbId);
if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
static char subQuote1[34], subQuote2[34];
- _game.splitQuote(curQuote, subQuote1, subQuote2);
+ quote_split_string(curQuote, subQuote1, subQuote2);
_scene->_kernelMessages.add(Common::Point(230, 42), 0x1110, 32, 0, 140, subQuote1);
_scene->_kernelMessages.add(Common::Point(230, 56), 0x1110, 32, 0, 140, subQuote2);
_scene->_sequences.addTimer(160, 120);
@@ -412,8 +412,8 @@ static void handleDialogs() {
_scene->_kernelMessages.add(Common::Point(230, 56), 0x1110, 32, 1, 140, curQuote);
_scene->_sequences.addTimer(160, 120);
}
- } else if (_game._trigger == 120) {
- _game._player._stepEnabled = true;
+ } else if (kernel.trigger == 120) {
+ player.commands_allowed = true;
switch (local._bartenderDialogNode) {
case 1:
handleConversation1();
@@ -438,48 +438,50 @@ static void handleDialogs() {
}
static void room_402_init() {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(formAnimName('n', -1));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(formAnimName('x', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(formAnimName('x', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(formAnimName('x', 1));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(formAnimName('g', 0));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(formAnimName('g', 1));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(formAnimName('a', 0));
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites(formAnimName('a', 1));
- _globals._spriteIndexes[15] = _scene->_sprites.addSprites(formAnimName('x', 5));
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(formAnimName('x', 4));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(formAnimName('b', 0));
- _globals._spriteIndexes[10] = _scene->_sprites.addSprites(formAnimName('b', 1));
- _globals._spriteIndexes[11] = _scene->_sprites.addSprites(formAnimName('b', 2));
- _globals._spriteIndexes[12] = _scene->_sprites.addSprites(formAnimName('b', 3));
- _globals._spriteIndexes[13] = _scene->_sprites.addSprites(formAnimName('c', 0));
- _globals._spriteIndexes[14] = _scene->_sprites.addSprites(formAnimName('l', 0));
- _globals._spriteIndexes[16] = _scene->_sprites.addSprites(formAnimName('h', 0));
- _globals._spriteIndexes[17] = _scene->_sprites.addSprites(formAnimName('z', 0));
- _globals._spriteIndexes[18] = _scene->_sprites.addSprites(formAnimName('z', 1));
- _globals._spriteIndexes[19] = _scene->_sprites.addSprites(formAnimName('z', 2));
- _globals._spriteIndexes[20] = _scene->_sprites.addSprites(formAnimName('x', 6));
+ _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('n', -1));
+ _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 2));
+ _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('g', 0));
+ _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('g', 1));
+ _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ _globals._spriteIndexes[7] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ _globals._spriteIndexes[15] = _scene->_sprites.addSprites(kernel_name('x', 5));
+ _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('x', 4));
+ _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ _globals._spriteIndexes[10] = _scene->_sprites.addSprites(kernel_name('b', 1));
+ _globals._spriteIndexes[11] = _scene->_sprites.addSprites(kernel_name('b', 2));
+ _globals._spriteIndexes[12] = _scene->_sprites.addSprites(kernel_name('b', 3));
+ _globals._spriteIndexes[13] = _scene->_sprites.addSprites(kernel_name('c', 0));
+ _globals._spriteIndexes[14] = _scene->_sprites.addSprites(kernel_name('l', 0));
+ _globals._spriteIndexes[16] = _scene->_sprites.addSprites(kernel_name('h', 0));
+ _globals._spriteIndexes[17] = _scene->_sprites.addSprites(kernel_name('z', 0));
+ _globals._spriteIndexes[18] = _scene->_sprites.addSprites(kernel_name('z', 1));
+ _globals._spriteIndexes[19] = _scene->_sprites.addSprites(kernel_name('z', 2));
+ _globals._spriteIndexes[20] = _scene->_sprites.addSprites(kernel_name('x', 6));
_globals._spriteIndexes[21] = _scene->_sprites.addSprites("*ROXRC_9");
_globals._spriteIndexes[22] = _scene->_sprites.addSprites("*ROXCL_8");
if (_scene->_priorSceneId == 401) {
- _game._player._playerPos = Common::Point(160, 150);
- _game._player._facing = FACING_NORTH;
+ player.x = 160;
+ player.y = 150;
+ player.facing = FACING_NORTH;
local._roxOnStool = false;
local._bartenderDialogNode = 1;
local._conversationFl = false;
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- _game._player._playerPos = Common::Point(160, 150);
- _game._player._facing = FACING_NORTH;
- _game._objects.addToInventory(OBJ_CREDIT_CHIP);
- _game._objects.addToInventory(OBJ_BINOCULARS);
- _game._objects.addToInventory(OBJ_TIMER_MODULE);
+ player.x = 160;
+ player.y = 150;
+ player.facing = FACING_NORTH;
+ inter_give_to_player(OBJ_CREDIT_CHIP);
+ inter_give_to_player(OBJ_BINOCULARS);
+ inter_give_to_player(OBJ_TIMER_MODULE);
local._roxOnStool = false;
local._bartenderDialogNode = 1;
local._conversationFl = false;
}
- _game.loadQuoteSet(0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x1DE, 0x1DF, 0x1E2, 0x1E3, 0x1E6, 0x1E5, 0x1E7,
+ kernel.quotes = quote_load(0x1D7, 0x1D8, 0x1D9, 0x1DA, 0x1DB, 0x1DC, 0x1DD, 0x1DE, 0x1DF, 0x1E2, 0x1E3, 0x1E6, 0x1E5, 0x1E7,
0x1E8, 0x1E9, 0x1EA, 0x1EF, 0x1F0, 0x1F1, 0x1F2, 0x1F3, 0x1F4, 0x1F5, 0x1F6, 0x1F7, 0x1F8, 0x1F9, 0x1FA, 0x1FB,
0x1FC, 0x1EB, 0x1EC, 0x1ED, 0x1EE, 0x1E4, 0x1FD, 0x1E0, 0x1E1, 0x1FE, 0x1FF, 0x200, 0x201, 0x202, 0x203, 0x204,
0x205, 0x206, 0x207, 0x208, 0x209, 0x20A, 0x20B, 0x20C, 0x20F, 0x20D, 0x20E, 0x210, 0x211, 0x212, 0x213, 0x214,
@@ -496,23 +498,23 @@ static void room_402_init() {
local._dialog3.setup(0x62, 0x233, 0x234, 0x235, 0x236, 0x237, -1);
local._dialog4.setup(0x63, 0x238, 0x239, 0x23A, 0x23D, 0x23E, 0);
- if (!_game._visitedScenes._sceneRevisited) {
+ if (!player.been_here_before) {
local._dialog2.set(0x61, 0x216, 0x219, 0x21A, 0x21B, 0x21C, 0);
local._dialog4.set(0x63, 0x238, 0x23E, 0);
local._dialog1.set(0x60, 0x214, 0x215, 0x237, 0);
}
- if (_game._objects.isInInventory(OBJ_CREDIT_CHIP))
+ if (player_has(OBJ_CREDIT_CHIP))
local._dialog4.write(0x239, true);
else
local._dialog4.write(0x239, false);
- if (_game._objects.isInInventory(OBJ_BINOCULARS) && !_globals[kHasSaidBinocs])
+ if (player_has(OBJ_BINOCULARS) && !_globals[kHasSaidBinocs])
local._dialog4.write(0x23D, true);
else
local._dialog4.write(0x23D, false);
- if (_game._objects.isInInventory(OBJ_TIMER_MODULE) && !_globals[kHasSaidTimer])
+ if (player_has(OBJ_TIMER_MODULE) && !_globals[kHasSaidTimer])
local._dialog4.write(0x23A, true);
else
local._dialog4.write(0x23A, false);
@@ -549,47 +551,47 @@ static void room_402_init() {
switch (local._bartenderCurrentQuestion) {
case 1:
- _scene->_kernelMessages.add(Common::Point(260, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1EC));
+ _scene->_kernelMessages.add(Common::Point(260, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EC));
break;
case 2:
- _scene->_kernelMessages.add(Common::Point(188, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1ED));
- _scene->_kernelMessages.add(Common::Point(199, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1EE));
+ _scene->_kernelMessages.add(Common::Point(188, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1ED));
+ _scene->_kernelMessages.add(Common::Point(199, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EE));
break;
case 3:
- _scene->_kernelMessages.add(Common::Point(177, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1EF));
+ _scene->_kernelMessages.add(Common::Point(177, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EF));
break;
case 4:
- _scene->_kernelMessages.add(Common::Point(205, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1E4));
+ _scene->_kernelMessages.add(Common::Point(205, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E4));
break;
case 5:
- _scene->_kernelMessages.add(Common::Point(203, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1E5));
+ _scene->_kernelMessages.add(Common::Point(203, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E5));
break;
case 6:
- _scene->_kernelMessages.add(Common::Point(260, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1E6));
+ _scene->_kernelMessages.add(Common::Point(260, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E6));
break;
case 7:
- _scene->_kernelMessages.add(Common::Point(198, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1E7));
- _scene->_kernelMessages.add(Common::Point(201, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1E8));
+ _scene->_kernelMessages.add(Common::Point(198, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E7));
+ _scene->_kernelMessages.add(Common::Point(201, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E8));
break;
case 8:
- _scene->_kernelMessages.add(Common::Point(220, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1E9));
- _scene->_kernelMessages.add(Common::Point(190, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1EA));
+ _scene->_kernelMessages.add(Common::Point(220, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E9));
+ _scene->_kernelMessages.add(Common::Point(190, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EA));
break;
case 9:
- _scene->_kernelMessages.add(Common::Point(196, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1EB));
+ _scene->_kernelMessages.add(Common::Point(196, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EB));
break;
case 10:
- _scene->_kernelMessages.add(Common::Point(198, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1E2));
- _scene->_kernelMessages.add(Common::Point(199, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1E3));
+ _scene->_kernelMessages.add(Common::Point(198, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E2));
+ _scene->_kernelMessages.add(Common::Point(199, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E3));
break;
default:
@@ -625,7 +627,7 @@ static void room_402_init() {
local._rexMode = 0;
local._refuseAlienLiquor = false;
- _scene->loadAnimation(Resources::formatName(402, 'd', 1, EXT_AA, ""));
+ _scene->loadAnimation(kernel_full_name(402, 'd', 1, "", EXT_AA));
_scene->_animation[0]->_repeatFlag = true;
_globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 1);
@@ -634,7 +636,7 @@ static void room_402_init() {
_globals._sequenceIndexes[13] = _scene->_sequences.startCycle(_globals._spriteIndexes[13], false, 2);
_scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- if (!_game._objects.isInInventory(OBJ_REPAIR_LIST)) {
+ if (!player_has(OBJ_REPAIR_LIST)) {
_globals._sequenceIndexes[14] = _scene->_sequences.startCycle(_globals._spriteIndexes[14], false, 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[14], 7);
_scene->_sequences.setPosition(_globals._sequenceIndexes[14], Common::Point(210, 80));
@@ -649,7 +651,7 @@ static void room_402_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
}
- if (!_game._objects.isInRoom(OBJ_ALIEN_LIQUOR) && !_game._objects.isInInventory(OBJ_CREDIT_CHIP)) {
+ if (!object_is_here(OBJ_ALIEN_LIQUOR) && !player_has(OBJ_CREDIT_CHIP)) {
_globals._sequenceIndexes[15] = _scene->_sequences.startCycle(_globals._spriteIndexes[15], false, 1);
_scene->_sequences.setDepth(_globals._sequenceIndexes[15], 8);
_scene->_sequences.setPosition(_globals._sequenceIndexes[15], Common::Point(250, 80));
@@ -669,23 +671,23 @@ static void room_402_init() {
if (local._roxOnStool) {
_globals._sequenceIndexes[6] = _scene->_sequences.startCycle(_globals._spriteIndexes[6], false, 11);
_scene->_sequences.setDepth(_globals._sequenceIndexes[6], 5);
- _game._player._visible = false;
+ player.walker_visible = false;
}
section_4_music();
}
static void room_402_daemon() {
- if (_game._trigger == 104) {
- _game._player._priorTimer = _scene->_frameStartTime + _game._player._ticksAmount;
- _game._player._visible = true;
+ if (kernel.trigger == 104) {
+ player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.walker_visible = true;
_scene->_sequences.remove(_globals._sequenceIndexes[15]);
- _game._objects.addToInventory(OBJ_CREDIT_CHIP);
+ inter_give_to_player(OBJ_CREDIT_CHIP);
object_examine(OBJ_CREDIT_CHIP, 40242, 0);
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
}
- if ((g_engine->getRandomNumber(1, 1500) == 1) && (!local._activeTeleporter) && (_game._player._playerPos.x < 150)) {
+ if ((g_engine->getRandomNumber(1, 1500) == 1) && (!local._activeTeleporter) && (player.x < 150)) {
g_engine->_soundManager->command(30, 0);
_globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 13, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 1, 11);
@@ -695,10 +697,10 @@ static void room_402_daemon() {
_globals[kSomeoneHasExploded] = true;
}
- if (_game._trigger == 48)
+ if (kernel.trigger == 48)
local._activeTeleporter = false;
- if (_game._trigger == 100) {
+ if (kernel.trigger == 100) {
local._bartenderReady = false;
if (local._bartenderHandsHips) {
_scene->_sequences.remove(_globals._sequenceIndexes[10]);
@@ -725,7 +727,7 @@ static void room_402_daemon() {
}
}
- if ((_game._trigger == 101) && local._bartenderTalking) {
+ if ((kernel.trigger == 101) && local._bartenderTalking) {
_scene->_sequences.remove(_globals._sequenceIndexes[10]);
_globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 1);
int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, _globals._sequenceIndexes[9], Common::Rect(0, 0, 0, 0));
@@ -737,12 +739,12 @@ static void room_402_daemon() {
local._bartenderReady = true;
}
- if (_game._trigger == 28)
- _game._player._stepEnabled = true;
+ if (kernel.trigger == 28)
+ player.commands_allowed = true;
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 92:
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
_scene->_sequences.remove(_globals._sequenceIndexes[6]);
_globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 10, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], 1, 2);
@@ -757,14 +759,14 @@ static void room_402_daemon() {
case 20:
g_engine->_soundManager->command(57, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[15]);
- _game._objects.addToInventory(OBJ_CREDIT_CHIP);
+ inter_give_to_player(OBJ_CREDIT_CHIP);
object_examine(OBJ_CREDIT_CHIP, 40242, 0);
break;
case 22:
g_engine->_soundManager->command(57, 0);
_scene->_sequences.remove(_globals._sequenceIndexes[8]);
- _game._objects.addToInventory(OBJ_ALIEN_LIQUOR);
+ inter_give_to_player(OBJ_ALIEN_LIQUOR);
_globals[kBottleDisplayed] = false;
object_examine(OBJ_ALIEN_LIQUOR, 40241, 0);
break;
@@ -785,8 +787,8 @@ static void room_402_daemon() {
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 94);
if (local._roxMode == 21) {
- if (_game._objects.isInInventory(OBJ_CREDIT_CHIP))
- _game._objects.setRoom(OBJ_CREDIT_CHIP, NOWHERE);
+ if (player_has(OBJ_CREDIT_CHIP))
+ inter_move_object(OBJ_CREDIT_CHIP, NOWHERE);
local._bartenderMode = 20;
_scene->_sequences.addTimer(60, 95);
@@ -802,12 +804,12 @@ static void room_402_daemon() {
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[6], seqIdx);
if (local._roxMode == 22) {
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(230, 56), 0x1110, 32, 0, 120, _game.getQuote(0x23F));
+ _scene->_kernelMessages.add(Common::Point(230, 56), 0x1110, 32, 0, 120, quote_string(kernel.quotes, 0x23F));
local._bartenderMode = 21;
_globals[kHasPurchased] = true;
_scene->_sequences.addTimer(140, 95);
} else if (local._roxMode == 20)
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
}
break;
@@ -816,10 +818,10 @@ static void room_402_daemon() {
break;
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 95:
local._bartenderReady = false;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
if (local._bartenderHandsHips || local._bartenderTalking) {
_scene->_sequences.remove(_globals._sequenceIndexes[10]);
local._bartenderHandsHips = false;
@@ -905,13 +907,13 @@ static void room_402_daemon() {
_scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
if (local._bartenderMode == 20) {
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(210, 41), 0xFDFC, 0, 0, 100, _game.getQuote(0x1F3));
+ _scene->_kernelMessages.add(Common::Point(210, 41), 0xFDFC, 0, 0, 100, quote_string(kernel.quotes, 0x1F3));
_scene->_sequences.addTimer(5, 100);
local._talkTimer = 180;
local._roxMode = 22;
_scene->_sequences.addTimer(65, 92);
} else if ((local._bartenderMode == 21) || (local._bartenderMode == 22)) {
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._bartenderReady = true;
}
@@ -922,10 +924,10 @@ static void room_402_daemon() {
break;
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 86:
local._bartenderReady = false;
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
if ((local._bartenderHandsHips) || (local._bartenderTalking)) {
_scene->_sequences.remove(_globals._sequenceIndexes[10]);
local._bartenderHandsHips = false;
@@ -986,7 +988,7 @@ static void room_402_daemon() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
_scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
local._bartenderSteady = true;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._bartenderReady = true;
}
break;
@@ -1007,7 +1009,7 @@ static void room_402_daemon() {
}
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 75:
_scene->_sequences.remove(_globals._sequenceIndexes[5]);
local._bigBeatFl = !local._bigBeatFl;
@@ -1048,7 +1050,7 @@ static void room_402_daemon() {
break;
}
- if ((_game._trigger == 54) && local._ginnyLooking) {
+ if ((kernel.trigger == 54) && local._ginnyLooking) {
++local._beatCounter;
if (local._beatCounter >= 10) {
local._ginnyLooking = false;
@@ -1113,23 +1115,23 @@ static void room_402_daemon() {
}
}
- if (_game._trigger == 76) {
+ if (kernel.trigger == 76) {
int seqIdx = _globals._sequenceIndexes[6];
_globals._sequenceIndexes[6] = _scene->_sequences.startCycle(_globals._spriteIndexes[6], false, 11);
_scene->_sequences.setDepth(_globals._sequenceIndexes[6], 5);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[6], seqIdx);
if (!_globals[kBeenThruHelgaScene]) {
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
local._cutSceneNeeded = true;
} else {
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
}
local._roxOnStool = true;
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 77:
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
_scene->_sequences.remove(_globals._sequenceIndexes[6]);
_globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 10, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], 10, 12);
@@ -1141,7 +1143,7 @@ static void room_402_daemon() {
{
g_engine->_soundManager->command(57, 0);
int seqIdx = _globals._sequenceIndexes[7];
- _game._objects.addToInventory(OBJ_REPAIR_LIST);
+ inter_give_to_player(OBJ_REPAIR_LIST);
_scene->_sequences.remove(_globals._sequenceIndexes[14]);
_globals._sequenceIndexes[7] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[7], false, 10, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], 10, 12);
@@ -1163,7 +1165,7 @@ static void room_402_daemon() {
case 180:
object_examine(OBJ_REPAIR_LIST, 40240, 0);
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
break;
default:
@@ -1195,7 +1197,7 @@ static void room_402_daemon() {
local._blowingSmoke = true;
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 30:
_globals._sequenceIndexes[1] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[1], false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], 1, 5);
@@ -1233,7 +1235,7 @@ static void room_402_daemon() {
}
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 33:
{
int seqIdx = _globals._sequenceIndexes[2];
@@ -1312,7 +1314,7 @@ static void room_402_daemon() {
}
}
- if (_game._trigger == 32)
+ if (kernel.trigger == 32)
local._rightWomanMoving = false;
if (_scene->_animation[0]->getCurrentFrame() == 1) {
@@ -1358,43 +1360,43 @@ static void room_402_daemon() {
break;
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 39:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, _game.getQuote(0x1D8));
+ _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, quote_string(kernel.quotes, 0x1D8));
_scene->_sequences.addTimer(150, 40);
break;
case 40:
- _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, _game.getQuote(0x1D9));
+ _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, quote_string(kernel.quotes, 0x1D9));
_scene->_sequences.addTimer(150, 41);
break;
case 41:
- _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, _game.getQuote(0x1DA));
- _game._player._stepEnabled = true;
+ _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, quote_string(kernel.quotes, 0x1DA));
+ player.commands_allowed = true;
break;
case 42:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, _game.getQuote(0x1DC));
+ _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, quote_string(kernel.quotes, 0x1DC));
_scene->_sequences.addTimer(150, 43);
break;
case 43:
- _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, _game.getQuote(0x1DD));
- _game._player._stepEnabled = true;
+ _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, quote_string(kernel.quotes, 0x1DD));
+ player.commands_allowed = true;
break;
case 44:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
break;
default:
break;
}
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 55:
if (local._bartenderHandsHips) {
_scene->_sequences.remove(_globals._sequenceIndexes[10]);
@@ -1413,9 +1415,9 @@ static void room_402_daemon() {
local._bartenderSteady = true;
_scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
}
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(180, 47), 0xFBFA, 0, 0, 100, _game.getQuote(0x1FE));
+ _scene->_kernelMessages.add(Common::Point(180, 47), 0xFBFA, 0, 0, 100, quote_string(kernel.quotes, 0x1FE));
_scene->_sequences.addTimer(120, 56);
break;
@@ -1476,8 +1478,8 @@ static void room_402_daemon() {
case 61:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(181, 33), 0xFBFA, 0, 0, 130, _game.getQuote(0x1FF));
- _scene->_kernelMessages.add(Common::Point(171, 47), 0xFBFA, 0, 0, 130, _game.getQuote(0x200));
+ _scene->_kernelMessages.add(Common::Point(181, 33), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x1FF));
+ _scene->_kernelMessages.add(Common::Point(171, 47), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x200));
_scene->_sequences.addTimer(150, 63);
_scene->_sequences.remove(_globals._sequenceIndexes[13]);
_globals._sequenceIndexes[13] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[13], false, 30, 4, 0, 0);
@@ -1497,15 +1499,15 @@ static void room_402_daemon() {
case 63:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(160, 33), 0xFBFA, 0, 0, 130, _game.getQuote(0x201));
- _scene->_kernelMessages.add(Common::Point(165, 47), 0xFBFA, 0, 0, 130, _game.getQuote(0x202));
+ _scene->_kernelMessages.add(Common::Point(160, 33), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x201));
+ _scene->_kernelMessages.add(Common::Point(165, 47), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x202));
_scene->_sequences.addTimer(150, 64);
break;
case 64:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(210, 27), 0xFDFC, 0, 0, 130, _game.getQuote(0x1E0));
- _scene->_kernelMessages.add(Common::Point(198, 41), 0xFDFC, 0, 0, 130, _game.getQuote(0x1E1));
+ _scene->_kernelMessages.add(Common::Point(210, 27), 0xFDFC, 0, 0, 130, quote_string(kernel.quotes, 0x1E0));
+ _scene->_kernelMessages.add(Common::Point(198, 41), 0xFDFC, 0, 0, 130, quote_string(kernel.quotes, 0x1E1));
_scene->_sequences.addTimer(150, 65);
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 1130;
@@ -1562,8 +1564,8 @@ static void room_402_daemon() {
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(179, 33), 0xFBFA, 0, 0, 130, _game.getQuote(0x203));
- _scene->_kernelMessages.add(Common::Point(167, 47), 0xFBFA, 0, 0, 130, _game.getQuote(0x204));
+ _scene->_kernelMessages.add(Common::Point(179, 33), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x203));
+ _scene->_kernelMessages.add(Common::Point(167, 47), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x204));
_scene->_sequences.addTimer(150, 71);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
}
@@ -1579,9 +1581,9 @@ static void room_402_daemon() {
case 71:
_scene->_sequences.addTimer(210, 73);
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(168, 33), 0xFBFA, 0, 0, 180, _game.getQuote(0x205));
- _scene->_kernelMessages.add(Common::Point(151, 47), 0xFBFA, 0, 0, 180, _game.getQuote(0x206));
- if (!_game._objects.isInInventory(OBJ_REPAIR_LIST))
+ _scene->_kernelMessages.add(Common::Point(168, 33), 0xFBFA, 0, 0, 180, quote_string(kernel.quotes, 0x205));
+ _scene->_kernelMessages.add(Common::Point(151, 47), 0xFBFA, 0, 0, 180, quote_string(kernel.quotes, 0x206));
+ if (!player_has(OBJ_REPAIR_LIST))
local._activeArrows = true;
break;
@@ -1596,10 +1598,10 @@ static void room_402_daemon() {
case 73:
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(177, 33), 0xFBFA, 0, 0, 150, _game.getQuote(0x207));
- _scene->_kernelMessages.add(Common::Point(172, 47), 0xFBFA, 0, 0, 150, _game.getQuote(0x208));
+ _scene->_kernelMessages.add(Common::Point(177, 33), 0xFBFA, 0, 0, 150, quote_string(kernel.quotes, 0x207));
+ _scene->_kernelMessages.add(Common::Point(172, 47), 0xFBFA, 0, 0, 150, quote_string(kernel.quotes, 0x208));
local._bartenderSteady = true;
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
local._helgaReady = true;
local._bartenderReady = true;
_globals[kBeenThruHelgaScene] = true;
@@ -1669,7 +1671,7 @@ static void room_402_daemon() {
}
}
- if (_game._trigger == 80) {
+ if (kernel.trigger == 80) {
int seqIdx = _globals._sequenceIndexes[13];
_globals._sequenceIndexes[13] = _scene->_sequences.startCycle(_globals._spriteIndexes[13], false, 19);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
@@ -1677,7 +1679,7 @@ static void room_402_daemon() {
_scene->_sequences.addTimer(g_engine->getRandomNumber(60, 120), 81);
}
- if (_game._trigger == 81) {
+ if (kernel.trigger == 81) {
_scene->_sequences.remove(_globals._sequenceIndexes[13]);
_globals._sequenceIndexes[13] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 16, 19);
@@ -1685,7 +1687,7 @@ static void room_402_daemon() {
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
}
- if (_game._trigger == 26) {
+ if (kernel.trigger == 26) {
int seqIdx = _globals._sequenceIndexes[13];
_globals._sequenceIndexes[13] = _scene->_sequences.startCycle(_globals._spriteIndexes[13], false, 2);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
@@ -1696,7 +1698,7 @@ static void room_402_daemon() {
local._helgaReady = true;
}
- if (_game._trigger == 82) {
+ if (kernel.trigger == 82) {
_scene->_sequences.remove(_globals._sequenceIndexes[20]);
int seqIdx = _globals._sequenceIndexes[13];
_globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
@@ -1706,7 +1708,7 @@ static void room_402_daemon() {
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 83);
}
- if (_game._trigger == 83) {
+ if (kernel.trigger == 83) {
int seqIdx = _globals._sequenceIndexes[13];
_globals._sequenceIndexes[13] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 5, 9);
@@ -1715,7 +1717,7 @@ static void room_402_daemon() {
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 84);
}
- if (_game._trigger == 84) {
+ if (kernel.trigger == 84) {
int seqIdx = _globals._sequenceIndexes[13];
_globals._sequenceIndexes[13] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 1, 4);
@@ -1728,7 +1730,7 @@ static void room_402_daemon() {
_scene->_sequences.setPosition(_globals._sequenceIndexes[20], Common::Point(234, 72));
}
- if (_game._trigger == 85) {
+ if (kernel.trigger == 85) {
int seqIdx = _globals._sequenceIndexes[13];
_globals._sequenceIndexes[13] = _scene->_sequences.startCycle(_globals._spriteIndexes[13], false, 2);
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
@@ -1738,21 +1740,21 @@ static void room_402_daemon() {
local._helgaReady = true;
}
- if (_game._trigger == 102) {
+ if (kernel.trigger == 102) {
_scene->_sequences.remove(_globals._sequenceIndexes[6]);
- _game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount;
+ player.clock = _scene->_frameStartTime - player.frame_delay;
_globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], 14, 18);
_scene->_sequences.setDepth(_globals._sequenceIndexes[7], 5);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 103);
- } else if (_game._trigger == 103) {
- _game._player._priorTimer = _scene->_frameStartTime + _game._player._ticksAmount;
+ } else if (kernel.trigger == 103) {
+ player.clock = _scene->_frameStartTime + player.frame_delay;
local._roxOnStool = false;
- _game._player._facing = FACING_SOUTH;
- _game._player.selectSeries();
- _game._player._visible = true;
- _game._player._stepEnabled = true;
- _game._player._readyToWalk = true;
+ player.facing = FACING_SOUTH;
+ player_select_series();
+ player.walker_visible = true;
+ player.commands_allowed = true;
+ player.ready_to_walk = true;
}
if (local._activeArrows) {
@@ -1778,112 +1780,112 @@ static void room_402_daemon() {
}
}
- if (_game._trigger == 49) {
+ if (kernel.trigger == 49) {
_scene->_sequences.remove(_globals._sequenceIndexes[17]);
_scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 45);
}
- if (_game._trigger == 45)
+ if (kernel.trigger == 45)
local._activeArrow1 = false;
- if (_game._trigger == 50) {
+ if (kernel.trigger == 50) {
_scene->_sequences.remove(_globals._sequenceIndexes[18]);
_scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 46);
}
- if (_game._trigger == 46)
+ if (kernel.trigger == 46)
local._activeArrow2 = false;
- if (_game._trigger == 51) {
+ if (kernel.trigger == 51) {
_scene->_sequences.remove(_globals._sequenceIndexes[19]);
_scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 47);
}
- if (_game._trigger == 47)
+ if (kernel.trigger == 47)
local._activeArrow3 = false;
}
static void room_402_pre_parser() {
- if (player_said_2(sit_on, bar_stool) && (_game._player._prepareWalkPos.x != 248))
- _game._player.walk(Common::Point(232, 112), FACING_EAST);
+ if (player_said_2(sit_on, bar_stool) && (player.prepare_walk_x != 248))
+ player_walk(232, 112, FACING_EAST);
if (player_said_2(walkto, woman_on_balcony))
- _game._player._needToWalk = _game._player._readyToWalk;
+ player.need_to_walk = player.ready_to_walk;
- if (!local._roxOnStool && player_said_2(take, credit_chip) && !_game._objects.isInInventory(OBJ_CREDIT_CHIP))
- _game._player.walk(Common::Point(246, 108), FACING_NORTH);
+ if (!local._roxOnStool && player_said_2(take, credit_chip) && !player_has(OBJ_CREDIT_CHIP))
+ player_walk(246, 108, FACING_NORTH);
if (player_said_1(take))
- _game._player._needToWalk = false;
+ player.need_to_walk = false;
if (player_said_2(take, credit_chip) && !local._roxOnStool)
- _game._player._needToWalk = true;
+ player.need_to_walk = true;
if (local._roxOnStool) {
if (player_said_1(look) || player_said_1(bar_stool) || player_said_1(talkto))
- _game._player._needToWalk = false;
+ player.need_to_walk = false;
if (player_said_2(take, repair_list) || player_said_2(take, credit_chip))
- _game._player._needToWalk = false;
+ player.need_to_walk = false;
if (player_said_2(talkto, woman_in_chair) || player_said_2(talkto, woman_in_alcove))
- _game._player._needToWalk = _game._player._readyToWalk;
+ player.need_to_walk = player.ready_to_walk;
- if (_game._player._needToWalk) {
- _game._player._facing = FACING_SOUTH;
- _game._player._readyToWalk = false;
- _game._player._stepEnabled = false;
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ if (player.need_to_walk) {
+ player.facing = FACING_SOUTH;
+ player.ready_to_walk = false;
+ player.commands_allowed = false;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 102);
}
}
- if (player_said_2(take, repair_list) && !local._roxOnStool && !_game._objects.isInInventory(OBJ_REPAIR_LIST))
- _game._player.walk(Common::Point(191, 99), FACING_NORTHEAST);
+ if (player_said_2(take, repair_list) && !local._roxOnStool && !player_has(OBJ_REPAIR_LIST))
+ player_walk(191, 99, FACING_NORTHEAST);
if (player_said_2(talkto, bartender) && !local._roxOnStool)
- _game._player.walk(Common::Point(228, 83), FACING_SOUTH);
+ player_walk(228, 83, FACING_SOUTH);
if (player_said_2(talkto, repair_woman) && !local._roxOnStool)
- _game._player.walk(Common::Point(208, 102), FACING_NORTHEAST);
+ player_walk(208, 102, FACING_NORTHEAST);
}
static void room_402_parser() {
- if (player_said_2(take, repair_list) && _game._objects.isInRoom(OBJ_REPAIR_LIST) && local._roxOnStool) {
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ if (player_said_2(take, repair_list) && object_is_here(OBJ_REPAIR_LIST) && local._roxOnStool) {
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 77);
- _game._player._needToWalk = false;
- } else if (player_said_2(take, repair_list) && _game._objects.isInRoom(OBJ_REPAIR_LIST) && !local._roxOnStool) {
- if (_game._trigger == 0) {
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ player.need_to_walk = false;
+ } else if (player_said_2(take, repair_list) && object_is_here(OBJ_REPAIR_LIST) && !local._roxOnStool) {
+ if (kernel.trigger == 0) {
+ player.commands_allowed = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[21] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[21], false, 7, 2, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[21], 1, 2);
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[21]);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[21], SEQUENCE_TRIGGER_SPRITE, 2, 165);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[21], SEQUENCE_TRIGGER_EXPIRE, 0, 166);
- } else if (_game._trigger == 165) {
+ } else if (kernel.trigger == 165) {
_scene->_sequences.remove(_globals._sequenceIndexes[14]);
- _game._objects.addToInventory(OBJ_REPAIR_LIST);
+ inter_give_to_player(OBJ_REPAIR_LIST);
}
- } else if (_game._trigger == 166) {
- _game._player._priorTimer = _scene->_frameStartTime + _game._player._ticksAmount;
- _game._player._visible = true;
+ } else if (kernel.trigger == 166) {
+ player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.walker_visible = true;
_scene->_sequences.addTimer(20, 167);
- } else if (_game._trigger == 167) {
+ } else if (kernel.trigger == 167) {
object_examine(OBJ_REPAIR_LIST, 40240, 0);
- _game._player._stepEnabled = true;
- } else if (_game._screenObjects._inputMode == kInputConversation)
+ player.commands_allowed = true;
+ } else if (inter_input_mode == kInputConversation)
handleDialogs();
else if (player_said_2(walk_into, corridor_to_south))
_scene->_nextSceneId = 401;
else if (player_said_2(walk_onto, dance_floor))
; // just... nothing
else if (player_said_2(talkto, repair_woman)) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
{
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
int random = g_engine->getRandomNumber(1, 3);
if (local._helgaTalkMode == 0)
random = 1;
@@ -1900,17 +1902,17 @@ static void room_402_parser() {
switch (random) {
case 1:
- _scene->_kernelMessages.add(centerPos, 0x1110, 32 | centerFlag, 0, 90, _game.getQuote(0x211));
+ _scene->_kernelMessages.add(centerPos, 0x1110, 32 | centerFlag, 0, 90, quote_string(kernel.quotes, 0x211));
_scene->_sequences.addTimer(110, 25);
break;
case 2:
- _scene->_kernelMessages.add(centerPos, 0x1110, 32 | centerFlag, 0, 90, _game.getQuote(0x212));
+ _scene->_kernelMessages.add(centerPos, 0x1110, 32 | centerFlag, 0, 90, quote_string(kernel.quotes, 0x212));
_scene->_sequences.addTimer(110, 25);
break;
case 3:
- _scene->_kernelMessages.add(centerPos, 0x1110, 32 | centerFlag, 0, 90, _game.getQuote(0x213));
+ _scene->_kernelMessages.add(centerPos, 0x1110, 32 | centerFlag, 0, 90, quote_string(kernel.quotes, 0x213));
_scene->_sequences.addTimer(110, 25);
break;
@@ -1923,32 +1925,32 @@ static void room_402_parser() {
case 25:
switch (local._helgaTalkMode) {
case 0:
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
local._helgaTalkMode = 1;
- _scene->_kernelMessages.add(Common::Point(177, 33), 0xFBFA, 0, 0, 130, _game.getQuote(0x209));
- _scene->_kernelMessages.add(Common::Point(182, 47), 0xFBFA, 0, 0, 130, _game.getQuote(0x20A));
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->_kernelMessages.add(Common::Point(177, 33), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x209));
+ _scene->_kernelMessages.add(Common::Point(182, 47), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x20A));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(130, 28);
break;
case 1:
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
local._helgaTalkMode = 2;
- _scene->_kernelMessages.add(Common::Point(157, 47), 0xFBFA, 0, 0, 100, _game.getQuote(0x20B));
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->_kernelMessages.add(Common::Point(157, 47), 0xFBFA, 0, 0, 100, quote_string(kernel.quotes, 0x20B));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(100, 28);
break;
case 2:
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
local._helgaTalkMode = 3;
- _scene->_kernelMessages.add(Common::Point(172, 47), 0xFBFA, 0, 0, 100, _game.getQuote(0x20C));
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->_kernelMessages.add(Common::Point(172, 47), 0xFBFA, 0, 0, 100, quote_string(kernel.quotes, 0x20C));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(100, 28);
break;
case 3:
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
break;
default:
@@ -1960,49 +1962,49 @@ static void room_402_parser() {
break;
}
} else if (player_said_2(talkto, woman_in_chair) && !local._firstTalkToGirlInChair) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(0x1D7));
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x1D7));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(150, 39);
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
local._firstTalkToGirlInChair = true;
} else if (player_said_2(talkto, woman_in_chair) && local._firstTalkToGirlInChair) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(0x1DB));
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x1DB));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(150, 42);
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
} else if (player_said_2(talkto, woman_in_alcove) || player_said_2(walkto, woman_in_alcove)) {
- _scene->_kernelMessages.add(Common::Point(102, 48), 0xFBFA, 0, 0, 120, _game.getQuote(0x1DE));
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->_kernelMessages.add(Common::Point(102, 48), 0xFBFA, 0, 0, 120, quote_string(kernel.quotes, 0x1DE));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(120, 44);
- _game._player._stepEnabled = false;
- } else if (player_said_2(sit_on, bar_stool) && (_game._player._targetPos.x == 248)) {
- _scene->_kernelMessages.add(Common::Point(0, -14), 0x1110, 34, 0, 120, _game.getQuote(0x20D));
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, _game.getQuote(0x20E));
- } else if (player_said_2(sit_on, bar_stool) && !local._roxOnStool && (_game._player._targetPos.x != 248)) {
- _game._player._visible = false;
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ player.commands_allowed = false;
+ } else if (player_said_2(sit_on, bar_stool) && (player.target_x == 248)) {
+ _scene->_kernelMessages.add(Common::Point(0, -14), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x20D));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x20E));
+ } else if (player_said_2(sit_on, bar_stool) && !local._roxOnStool && (player.target_x != 248)) {
+ player.walker_visible = false;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 7, 1, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], 1, 11);
_scene->_sequences.setDepth(_globals._sequenceIndexes[6], 5);
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
- _game._player._stepEnabled = false;
- } else if (player_said_2(take, credit_chip) && !_game._objects.isInInventory(OBJ_CREDIT_CHIP) && local._roxOnStool) {
+ player.commands_allowed = false;
+ } else if (player_said_2(take, credit_chip) && !player_has(OBJ_CREDIT_CHIP) && local._roxOnStool) {
local._roxMode = 20;
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 92);
- } else if (player_said_2(take, credit_chip) && !_game._objects.isInInventory(OBJ_CREDIT_CHIP) && !local._roxOnStool) {
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
- _game._player._stepEnabled = false;
- _game._player._visible = false;
+ } else if (player_said_2(take, credit_chip) && !player_has(OBJ_CREDIT_CHIP) && !local._roxOnStool) {
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ player.commands_allowed = false;
+ player.walker_visible = false;
_globals._sequenceIndexes[22] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[22], false, 7, 2, 0, 0);
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[22], 1, 2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[22], Common::Point(_game._player._playerPos.x, _game._player._playerPos.y + 1));
+ _scene->_sequences.setPosition(_globals._sequenceIndexes[22], Common::Point(player.x, player.y + 1));
_scene->_sequences.setDepth(_globals._sequenceIndexes[22], 5);
_scene->_sequences.setScale(_globals._sequenceIndexes[22], 88);
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[22], SEQUENCE_TRIGGER_EXPIRE, 0, 104);
} else if (player_said_2(talkto, bartender)) {
- switch (_game._trigger) {
+ switch (kernel.trigger) {
case 0:
{
int centerFlag;
@@ -2015,7 +2017,7 @@ static void room_402_parser() {
centerPos = Common::Point(0, 0);
}
- _game._player._stepEnabled = false;
+ player.commands_allowed = false;
int quoteId;
if (local._bartenderCalled) {
quoteId = 0x210;
@@ -2024,9 +2026,9 @@ static void room_402_parser() {
local._bartenderCalled = true;
}
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(centerPos, 0x1110, 32 | centerFlag, 0, 90, _game.getQuote(quoteId));
+ _scene->_kernelMessages.add(centerPos, 0x1110, 32 | centerFlag, 0, 90, quote_string(kernel.quotes, quoteId));
_scene->_sequences.addTimer(110, 29);
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(90, 28);
}
break;
@@ -2034,37 +2036,37 @@ static void room_402_parser() {
case 29:
_scene->_kernelMessages.reset();
if (!local._roxOnStool) {
- if (_game._objects.isInRoom(OBJ_ALIEN_LIQUOR)) {
- _scene->_kernelMessages.add(Common::Point(177, 41), 0xFDFC, 0, 0, 120, _game.getQuote(0x1DF));
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ if (object_is_here(OBJ_ALIEN_LIQUOR)) {
+ _scene->_kernelMessages.add(Common::Point(177, 41), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 0x1DF));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 120;
} else if (local._rexMode == 0) {
- _scene->_kernelMessages.add(Common::Point(175, 13), 0xFDFC, 0, 0, 180, _game.getQuote(0x1F9));
- _scene->_kernelMessages.add(Common::Point(184, 27), 0xFDFC, 0, 0, 180, _game.getQuote(0x1FA));
- _scene->_kernelMessages.add(Common::Point(200, 41), 0xFDFC, 0, 0, 180, _game.getQuote(0x1FB));
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->_kernelMessages.add(Common::Point(175, 13), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1F9));
+ _scene->_kernelMessages.add(Common::Point(184, 27), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1FA));
+ _scene->_kernelMessages.add(Common::Point(200, 41), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1FB));
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 180;
local._rexMode = 1;
} else if (local._rexMode == 1) {
- _scene->_kernelMessages.add(Common::Point(205, 41), 0xFDFC, 0, 0, 120, _game.getQuote(0x1FC));
- _game._player._stepEnabled = true;
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ _scene->_kernelMessages.add(Common::Point(205, 41), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 0x1FC));
+ player.commands_allowed = true;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 120;
local._rexMode = 3;
} else {
- _game._player._stepEnabled = true;
+ player.commands_allowed = true;
}
} else {
- if (_game._objects.isInRoom(OBJ_ALIEN_LIQUOR)) {
+ if (object_is_here(OBJ_ALIEN_LIQUOR)) {
if (!local._refuseAlienLiquor) {
_scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(198, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1E2));
- _scene->_kernelMessages.add(Common::Point(199, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, _game.getQuote(0x1E3));
+ _scene->_kernelMessages.add(Common::Point(198, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E2));
+ _scene->_kernelMessages.add(Common::Point(199, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E3));
local._bartenderCurrentQuestion = 10;
- _game._triggerSetupMode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 120;
local._conversationFl = true;
@@ -2074,8 +2076,8 @@ static void room_402_parser() {
Commit: a3bcab39f433e015484343bb79dd9cbe67876e8c
https://github.com/scummvm/scummvm/commit/a3bcab39f433e015484343bb79dd9cbe67876e8c
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:53+10:00
Commit Message:
MADS: NEBULAR: Refactor Action out of thunks
Changed paths:
engines/mads/nebular/rooms/room101.cpp
engines/mads/nebular/rooms/room102.cpp
engines/mads/nebular/rooms/room103.cpp
engines/mads/nebular/rooms/room104.cpp
engines/mads/nebular/rooms/room105.cpp
engines/mads/nebular/rooms/room106.cpp
engines/mads/nebular/rooms/room107.cpp
engines/mads/nebular/rooms/room108.cpp
engines/mads/nebular/rooms/room109.cpp
engines/mads/nebular/rooms/room110.cpp
engines/mads/nebular/rooms/room111.cpp
engines/mads/nebular/rooms/room201.cpp
engines/mads/nebular/rooms/room202.cpp
engines/mads/nebular/rooms/room203.cpp
engines/mads/nebular/rooms/room205.cpp
engines/mads/nebular/rooms/room207.cpp
engines/mads/nebular/rooms/room208.cpp
engines/mads/nebular/rooms/room209.cpp
engines/mads/nebular/rooms/room210.cpp
engines/mads/nebular/rooms/room211.cpp
engines/mads/nebular/rooms/room212.cpp
engines/mads/nebular/rooms/room213.cpp
engines/mads/nebular/rooms/room214.cpp
engines/mads/nebular/rooms/room215.cpp
engines/mads/nebular/rooms/room307.cpp
engines/mads/nebular/rooms/room311.cpp
engines/mads/nebular/rooms/room313.cpp
engines/mads/nebular/rooms/room316.cpp
engines/mads/nebular/rooms/room318.cpp
engines/mads/nebular/rooms/room319.cpp
engines/mads/nebular/rooms/room320.cpp
engines/mads/nebular/rooms/room322.cpp
engines/mads/nebular/rooms/room351.cpp
engines/mads/nebular/rooms/room352.cpp
engines/mads/nebular/rooms/room353.cpp
engines/mads/nebular/rooms/room354.cpp
engines/mads/nebular/rooms/room357.cpp
engines/mads/nebular/rooms/room358.cpp
engines/mads/nebular/rooms/room359.cpp
engines/mads/nebular/rooms/room360.cpp
engines/mads/nebular/rooms/room361.cpp
engines/mads/nebular/rooms/room366.cpp
engines/mads/nebular/rooms/room387.cpp
engines/mads/nebular/rooms/room388.cpp
engines/mads/nebular/rooms/room389.cpp
engines/mads/nebular/rooms/room390.cpp
engines/mads/nebular/rooms/room391.cpp
engines/mads/nebular/rooms/room399.cpp
engines/mads/nebular/rooms/room401.cpp
engines/mads/nebular/rooms/room402.cpp
engines/mads/nebular/rooms/room405.cpp
engines/mads/nebular/rooms/room406.cpp
engines/mads/nebular/rooms/room407.cpp
engines/mads/nebular/rooms/room408.cpp
engines/mads/nebular/rooms/room409.cpp
engines/mads/nebular/rooms/room410.cpp
engines/mads/nebular/rooms/room411.cpp
engines/mads/nebular/rooms/room413.cpp
engines/mads/nebular/rooms/room501.cpp
engines/mads/nebular/rooms/room502.cpp
engines/mads/nebular/rooms/room503.cpp
engines/mads/nebular/rooms/room504.cpp
engines/mads/nebular/rooms/room505.cpp
engines/mads/nebular/rooms/room506.cpp
engines/mads/nebular/rooms/room507.cpp
engines/mads/nebular/rooms/room508.cpp
engines/mads/nebular/rooms/room511.cpp
engines/mads/nebular/rooms/room512.cpp
engines/mads/nebular/rooms/room513.cpp
engines/mads/nebular/rooms/room551.cpp
engines/mads/nebular/rooms/room601.cpp
engines/mads/nebular/rooms/room602.cpp
engines/mads/nebular/rooms/room603.cpp
engines/mads/nebular/rooms/room604.cpp
engines/mads/nebular/rooms/room607.cpp
engines/mads/nebular/rooms/room608.cpp
engines/mads/nebular/rooms/room609.cpp
engines/mads/nebular/rooms/room610.cpp
engines/mads/nebular/rooms/room611.cpp
engines/mads/nebular/rooms/room612.cpp
engines/mads/nebular/rooms/room701.cpp
engines/mads/nebular/rooms/room702.cpp
engines/mads/nebular/rooms/room703.cpp
engines/mads/nebular/rooms/room704.cpp
engines/mads/nebular/rooms/room705.cpp
engines/mads/nebular/rooms/room706.cpp
engines/mads/nebular/rooms/room707.cpp
engines/mads/nebular/rooms/room710.cpp
engines/mads/nebular/rooms/room711.cpp
engines/mads/nebular/rooms/room751.cpp
engines/mads/nebular/rooms/room752.cpp
engines/mads/nebular/rooms/room801.cpp
engines/mads/nebular/rooms/room802.cpp
engines/mads/nebular/rooms/room803.cpp
engines/mads/nebular/rooms/room804.cpp
engines/mads/nebular/rooms/room805.cpp
engines/mads/nebular/rooms/room807.cpp
engines/mads/nebular/rooms/room808.cpp
engines/mads/nebular/rooms/teleporter.cpp
engines/mads/nebular/rooms/thunks.cpp
engines/mads/nebular/rooms/thunks.h
diff --git a/engines/mads/nebular/rooms/room101.cpp b/engines/mads/nebular/rooms/room101.cpp
index 2ac673e7325..3857417981e 100644
--- a/engines/mads/nebular/rooms/room101.cpp
+++ b/engines/mads/nebular/rooms/room101.cpp
@@ -275,15 +275,15 @@ static void room_101_pre_parser() {
}
static void room_101_parser() {
- if (_action._lookFlag) {
+ if (player.look_around) {
text_show(10125);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(walkto, life_support_section)) {
_scene->_nextSceneId = 102;
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -298,7 +298,7 @@ static void room_101_parser() {
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
player.commands_allowed = false;
player.walker_visible = false;
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 1:
@@ -313,7 +313,7 @@ static void room_101_parser() {
_scene->_hotspots.activate(71, false);
local._chairHotspotId = _scene->_dynamicHotspots.add(words_chair, words_sit_in, -1, Common::Rect(159, 84, 159 + 33, 84 + 36));
if (!player_said_2(look, view_screen)) {
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
kernel.trigger = 0;
@@ -324,7 +324,7 @@ static void room_101_parser() {
}
} else {
text_show(10131);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
}
@@ -352,7 +352,7 @@ static void room_101_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -364,7 +364,7 @@ static void room_101_parser() {
_scene->_hotspots.activate(words_shield_modulator, false);
object_examine(OBJ_SHIELD_MODULATOR, 10120, 0);
g_engine->_soundManager->command(22, 0);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -377,13 +377,13 @@ static void room_101_parser() {
} else
text_show(10127);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(open, shield_access_panel) && local._panelOpened) {
text_show(10130);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -425,139 +425,139 @@ static void room_101_parser() {
break;
}
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, chair)) {
text_show(10101);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if ((player_said_1(look) || player_said_1(peer_through)) && (player_said_1(front_window) || player_said_1(outside))) {
text_show(10102);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, hull) || player_said_2(look, outer_hull) || player_said_2(examine, hull) || player_said_2(examine, outer_hull)) {
text_show(10103);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, fuzzy_dice)) {
text_show(10104);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, mirror) || player_said_2(look_in, mirror)) {
text_show(10105);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, curtains)) {
text_show(10106);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, plastic_jesus)) {
text_show(10107);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, escape_hatch) || (player_said_2(open, escape_hatch) && !player_has(OBJ_REBREATHER))) {
text_show(10109);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(open, escape_hatch)) {
text_show(10110);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, target_computer)) {
text_show(10111);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, library_computer)) {
text_show(10126);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, damage_control_panel)) {
text_show(10112);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, navigation_controls)) {
text_show(10113);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, engineering_controls)) {
text_show(10114);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, weapons_display)) {
text_show(10115);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, shield_status_panel)) {
text_show(10116);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(take, plastic_jesus)) {
text_show(10118);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(take, fuzzy_dice)) {
text_show(10119);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(open, damage_control_panel)) {
text_show(10121);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(open, curtains)) {
text_show(10122);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(close, curtains)) {
text_show(10123);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if ((player_said_1(look) || player_said_1(play)) && player_said_1(video_game)) {
text_show(10124);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
}
diff --git a/engines/mads/nebular/rooms/room102.cpp b/engines/mads/nebular/rooms/room102.cpp
index c29ddd73de3..1b12dda2d65 100644
--- a/engines/mads/nebular/rooms/room102.cpp
+++ b/engines/mads/nebular/rooms/room102.cpp
@@ -217,9 +217,9 @@ static void room_102_pre_parser() {
}
static void room_102_parser() {
- if (_action._lookFlag) {
+ if (player.look_around) {
text_show(10234);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -236,7 +236,7 @@ static void room_102_parser() {
}
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 1:
@@ -249,7 +249,7 @@ static void room_102_parser() {
else
delay = 48;
_scene->_sequences.addTimer(delay, 2);
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 2:
@@ -274,7 +274,7 @@ static void room_102_parser() {
text_show(10229);
local._fridgeFirstOpenFl = false;
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -288,19 +288,19 @@ static void room_102_parser() {
_scene->_kernelMessages.add(Common::Point(210, 60), 0x1110, 0, 73, 120, curQuote);
_scene->_kernelMessages.add(Common::Point(214 + width, 60), 0x1110, 0, 73, 120, quote_string(kernel.quotes, 64));
local._activeMsgFl = true;
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(close, refrigerator)) {
text_show(10213);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(take, refrigerator)) {
text_show(8);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -320,85 +320,85 @@ static void room_102_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(walkto, engineering_section)) {
_scene->_nextSceneId = 103;
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(walkto, poster) || player_said_2(look, poster) || player_said_2(walkto, binoculars)) {
addRandomMessage();
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, weight_machine)) {
text_show(10212);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, engineering_section)) {
text_show(10205);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, door)) {
text_show(10204);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(stare_at, ceiling) || player_said_2(look, ceiling)) {
text_show(10203);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(stare_at, overhead_lamp) || player_said_2(look, overhead_lamp)) {
text_show(10202);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, robo_kitchen)) {
text_show(10215);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_3(put, burger, robo_kitchen) && player_has(OBJ_BURGER)) {
text_show(10216);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
- if (player_said_2(put, refrigerator) && player_has(object_named(_action._activeAction._objectNameId))) {
+ if (player_said_2(put, refrigerator) && player_has(object_named(player2.words[1]))) {
text_show(10217);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_3(put, dead_fish, robo_kitchen) || player_said_3(put, stuffed_fish, robo_kitchen)) {
text_show(10230);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(open, robo_kitchen)) {
text_show(10218);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, closet)) {
text_show(10219);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -406,12 +406,12 @@ static void room_102_parser() {
if (player_has(OBJ_REBREATHER)) {
if (!player_said_1(climb_up) && !player_said_1(climb_through)) {
text_show(10231);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
} else if (player_said_1(look) || (game.difficulty != DIFFICULTY_HARD)) {
text_show(10222);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
}
@@ -450,57 +450,57 @@ static void room_102_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, power_status_panel)) {
text_show(10226);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, window) || player_said_2(look_through, window)) {
text_show(10227);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, doorway) || player_said_2(walkto, doorway)) {
text_show(10228);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, drawer) || ((player_said_2(close, drawer) || player_said_2(push, drawer)) && !local._drawerDescrFl)) {
text_show(10220);
local._drawerDescrFl = true;
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(close, drawer) || player_said_2(push, drawer)) {
text_show(10221);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(open, drawer)) {
text_show(10236);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, chair) || (player_said_2(sit_in, chair) && !local._chairDescrFl)) {
local._chairDescrFl = true;
text_show(10210);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(sit_in, chair)) {
text_show(10211);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -510,7 +510,7 @@ static void room_102_parser() {
else
text_show(10206);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -537,7 +537,7 @@ static void room_102_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -570,7 +570,7 @@ static void room_102_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -597,7 +597,7 @@ static void room_102_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -611,44 +611,44 @@ static void room_102_parser() {
player.walker_visible = true;
player.commands_allowed = true;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(take, poster)) {
text_show(10224);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if ((player_said_1(push) || player_said_1(pull)) && player_said_1(weight_machine)) {
text_show(10225);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, floor)) {
text_show(10232);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, binoculars) && !player_has(OBJ_BINOCULARS)) {
text_show(10233);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
- if (player_said_2(look, burger) && (_action._mainObjectSource == CAT_HOTSPOT)) {
+ if (player_said_2(look, burger) && (player.main_object_source == CAT_HOTSPOT)) {
text_show(801);
- _action._inProgress = false;
+ player.command_ready = false;
}
}
static void room_102_error() {
- if (player_said_2(put, robo_kitchen) && player_has(object_named(_action._activeAction._objectNameId))) {
+ if (player_said_2(put, robo_kitchen) && player_has(object_named(player2.words[1]))) {
text_show(10217);
- _action._inProgress = false;
+ player.command_ready = false;
}
}
diff --git a/engines/mads/nebular/rooms/room103.cpp b/engines/mads/nebular/rooms/room103.cpp
index 6ee2032d5d6..f4061c885d2 100644
--- a/engines/mads/nebular/rooms/room103.cpp
+++ b/engines/mads/nebular/rooms/room103.cpp
@@ -163,7 +163,7 @@ static void room_103_pre_parser() {
}
static void room_103_parser() {
- if (_action._savedFields._lookFlag)
+ if (player.look_around)
text_show(10322);
else if (player_said_2(walk_through, door)) {
switch (kernel.trigger) {
@@ -339,17 +339,17 @@ static void room_103_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_103_error() {
if (player_said_1(auxiliary_power) && !player_said_1(walkto)) {
text_show(10305);
- _action._inProgress = false;
+ player.command_ready = false;
} else if (player_said_3(put, coal, furnace)) {
const char *msg = quote_string(kernel.quotes, 73);
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, msg);
- _action._inProgress = false;
+ player.command_ready = false;
}
}
diff --git a/engines/mads/nebular/rooms/room104.cpp b/engines/mads/nebular/rooms/room104.cpp
index 020f0d2dc6e..cb590e5cf6f 100644
--- a/engines/mads/nebular/rooms/room104.cpp
+++ b/engines/mads/nebular/rooms/room104.cpp
@@ -222,7 +222,7 @@ static void room_104_pre_parser() {
}
static void room_104_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(10405);
else if (player_said_2(look, curious_weed_patch))
text_show(10404);
@@ -235,7 +235,7 @@ static void room_104_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_104_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room105.cpp b/engines/mads/nebular/rooms/room105.cpp
index 4b4a2b432b0..07ff7f5739a 100644
--- a/engines/mads/nebular/rooms/room105.cpp
+++ b/engines/mads/nebular/rooms/room105.cpp
@@ -145,7 +145,7 @@ static void room_105_pre_parser() {
}
static void room_105_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(10512);
else if (player_said_2(take, dead_fish) && _globals[kFishIn105]) {
if (player_has(OBJ_DEAD_FISH)) {
@@ -181,7 +181,7 @@ static void room_105_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_105_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room106.cpp b/engines/mads/nebular/rooms/room106.cpp
index b197000de7e..dbeb83c2c9c 100644
--- a/engines/mads/nebular/rooms/room106.cpp
+++ b/engines/mads/nebular/rooms/room106.cpp
@@ -199,7 +199,7 @@ static void room_106_pre_parser() {
}
static void room_106_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(10614);
else if (player_said_2(swim_to, main_airlock)) {
player.commands_allowed = false;
@@ -239,7 +239,7 @@ static void room_106_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_106_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room107.cpp b/engines/mads/nebular/rooms/room107.cpp
index 9600754a545..d557a59aa64 100644
--- a/engines/mads/nebular/rooms/room107.cpp
+++ b/engines/mads/nebular/rooms/room107.cpp
@@ -108,7 +108,7 @@ static void room_107_pre_parser() {
}
static void room_107_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(10708);
else if (player_said_2(take, dead_fish) && _globals[kFishIn107]) {
if (player_has(OBJ_DEAD_FISH)) {
@@ -125,7 +125,7 @@ static void room_107_parser() {
_scene->_nextSceneId = 105;
else if (player_said_2(look, northern_sea_cliff))
text_show(10701);
- else if (player_said_2(look, dead_fish) && (_action._mainObjectSource == CAT_HOTSPOT))
+ else if (player_said_2(look, dead_fish) && (player.main_object_source == CAT_HOTSPOT))
text_show(10702);
else if (player_said_2(look, bush_like_formation))
text_show(10703);
@@ -144,7 +144,7 @@ static void room_107_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_107_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room108.cpp b/engines/mads/nebular/rooms/room108.cpp
index ed1044d6ae0..a603679e10b 100644
--- a/engines/mads/nebular/rooms/room108.cpp
+++ b/engines/mads/nebular/rooms/room108.cpp
@@ -79,7 +79,7 @@ static void room_108_pre_parser() {
}
static void room_108_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(10812);
else if (player_said_2(take, dead_fish) && _globals[kFishIn108]) {
if (player_has(OBJ_DEAD_FISH)) {
@@ -117,7 +117,7 @@ static void room_108_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_108_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room109.cpp b/engines/mads/nebular/rooms/room109.cpp
index 84b0fe80e4e..7a0f47c0b7e 100644
--- a/engines/mads/nebular/rooms/room109.cpp
+++ b/engines/mads/nebular/rooms/room109.cpp
@@ -204,7 +204,7 @@ static void room_109_pre_parser() {
if ((player_said_1(throw) || player_said_1(give) || player_said_1(put))
&& (player_said_1(small_hole) || player_said_1(tunnel))
&& (player_said_1(dead_fish) || player_said_1(stuffed_fish) || player_said_1(burger))) {
- int idx = object_named(_action._activeAction._objectNameId);
+ int idx = object_named(player2.words[1]);
if ((idx >= 0) && player_has(idx)) {
player.prepare_walk_x = 106;
player.prepare_walk_y = 38;
@@ -222,15 +222,15 @@ static void room_109_pre_parser() {
}
static void room_109_parser() {
- if (_action._lookFlag) {
+ if (player.look_around) {
text_show(10912);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if ((player_said_1(throw) || player_said_1(give)) && (player_said_1(small_hole) || player_said_1(tunnel))) {
if (player_said_1(dead_fish) || player_said_1(stuffed_fish) || player_said_1(burger)) {
- local._throwingObjectId = object_named(_action._activeAction._objectNameId);
+ local._throwingObjectId = object_named(player2.words[1]);
if (local._throwingObjectId >= 0) {
if ((player_has(local._throwingObjectId) && _globals[kHoovicAlive]) || local._rexThrowingObject) {
switch (kernel.trigger) {
@@ -401,7 +401,7 @@ static void room_109_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
} else if (player_has(local._throwingObjectId)) {
// Nothing.
@@ -441,7 +441,7 @@ static void room_109_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_109_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room110.cpp b/engines/mads/nebular/rooms/room110.cpp
index eaa065cc40e..251882b5179 100644
--- a/engines/mads/nebular/rooms/room110.cpp
+++ b/engines/mads/nebular/rooms/room110.cpp
@@ -134,7 +134,7 @@ static void room_110_parser() {
default:
break;
}
- } else if ((_action._lookFlag) || player_said_2(look, cave))
+ } else if ((player.look_around) || player_said_2(look, cave))
text_show(11001);
else if (player_said_2(look, cave_ceiling) || player_said_2(look_at, cave_ceiling))
text_show(11002);
@@ -153,7 +153,7 @@ static void room_110_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_110_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room111.cpp b/engines/mads/nebular/rooms/room111.cpp
index 652f4fb5cde..197531c8a84 100644
--- a/engines/mads/nebular/rooms/room111.cpp
+++ b/engines/mads/nebular/rooms/room111.cpp
@@ -176,7 +176,7 @@ static void room_111_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_111_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room201.cpp b/engines/mads/nebular/rooms/room201.cpp
index 2b38b1b91e0..c8d4cdf83d8 100644
--- a/engines/mads/nebular/rooms/room201.cpp
+++ b/engines/mads/nebular/rooms/room201.cpp
@@ -196,7 +196,7 @@ static void room_201_daemon() {
}
static void room_201_parser() {
- if (_action._lookFlag == false) {
+ if (player.look_around == false) {
if (player_said_2(walk_towards, field_to_south))
_scene->_nextSceneId = 202;
else if (player_said_2(climb_up, steps) || (player_said_2(walk_inside, teleporter)) || (player_said_2(walk_inside, strange_device))) {
@@ -238,7 +238,7 @@ static void room_201_parser() {
} else {
text_show(20111);
}
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_201_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room202.cpp b/engines/mads/nebular/rooms/room202.cpp
index b41a72ae474..aa235a00dcd 100644
--- a/engines/mads/nebular/rooms/room202.cpp
+++ b/engines/mads/nebular/rooms/room202.cpp
@@ -259,9 +259,9 @@ static void room_202_daemon() {
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
if (_globals[kMeteorologistWatch] == METEOROLOGIST_GROUND) {
- _action._activeAction._verbId = words_look;
- _action._activeAction._objectNameId = words_binoculars;
- _action._activeAction._indirectObjectId = words_strange_device;
+ player2.words[0] = words_look;
+ player2.words[1] = words_binoculars;
+ player2.words[2] = words_strange_device;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_PARSER;
_scene->_sequences.addTimer(2 * 60, 2);
local._meteorologistSpecial = true;
@@ -448,7 +448,7 @@ static void room_202_pre_parser() {
}
}
- if (player_said_2(look, binoculars) && (_action._activeAction._indirectObjectId > 0)) {
+ if (player_said_2(look, binoculars) && (player2.words[2] > 0)) {
if (!player.ready_to_walk || local._ladderTopFl)
player.need_to_walk = false;
else
@@ -460,13 +460,13 @@ static void room_202_pre_parser() {
}
static void room_202_parser() {
- if (_action._lookFlag) {
+ if (player.look_around) {
text_show(20219);
return;
}
if (player_said_2(climb_down, ladder)) {
- _action._inProgress = false;
+ player.command_ready = false;
return;
} else if (player_said_2(walk_towards, field_to_south)) {
_scene->_nextSceneId = 203;
@@ -478,7 +478,7 @@ static void room_202_parser() {
_globals[kMeteorologistStatus] = METEOROLOGIST_ABSENT;
}
_scene->_nextSceneId = 201;
- } else if (player_said_2(take, bone) && (_action._savedFields._mainObjectSource == 4)) {
+ } else if (player_said_2(take, bone) && (player.main_object_source == 4)) {
switch (kernel.trigger) {
case 0:
if (player_has(OBJ_BONES)) {
@@ -518,7 +518,7 @@ static void room_202_parser() {
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
} else if (player_said_2(climb_up, ladder) && !_globals[kLadderBroken]) {
switch (kernel.trigger) {
case 0:
@@ -546,7 +546,7 @@ static void room_202_parser() {
}
break;
default:
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
} else if ((player_said_3(look, binoculars, field_to_north) || (player_said_3(look, binoculars, strange_device))) && (_globals[kSexOfRex] == SEX_MALE)) {
@@ -591,7 +591,7 @@ static void room_202_parser() {
player.walker_visible = true;
break;
default:
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
} else {
@@ -620,7 +620,7 @@ static void room_202_parser() {
int msgIndex = _scene->_kernelMessages.add(Common::Point(248, 15), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 100));
_scene->_kernelMessages.setQuoted(msgIndex, 4, false);
} else {
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
}
@@ -645,7 +645,7 @@ static void room_202_parser() {
player.commands_allowed = true;
break;
default:
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
}
@@ -685,13 +685,13 @@ static void room_202_parser() {
text_show(20215);
} else if (player_said_2(take, skull)) {
text_show(20216);
- } else if (player_said_2(look, bones) && _action._commandSource == 4) {
+ } else if (player_said_2(look, bones) && player.command_source == 4) {
text_show(20217);
} else {
return;
}
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_202_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room203.cpp b/engines/mads/nebular/rooms/room203.cpp
index a1470aa98ea..8157f2955b5 100644
--- a/engines/mads/nebular/rooms/room203.cpp
+++ b/engines/mads/nebular/rooms/room203.cpp
@@ -116,7 +116,7 @@ static void room_203_daemon() {
static void room_203_pre_parser() {
if (local._rhotundaEatFl && !player_said_2(walk_towards, field_to_south)) {
player_walk(158, 136, FACING_SOUTH);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -125,7 +125,7 @@ static void room_203_pre_parser() {
}
static void room_203_parser() {
- if (_action._savedFields._lookFlag) {
+ if (player.look_around) {
text_show(20307);
} else if (player_said_2(walk_towards, field_to_south)) {
_scene->_nextSceneId = 208;
@@ -146,7 +146,7 @@ static void room_203_parser() {
} else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_203_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room205.cpp b/engines/mads/nebular/rooms/room205.cpp
index 5ac2ecef7ad..d4a523f9281 100644
--- a/engines/mads/nebular/rooms/room205.cpp
+++ b/engines/mads/nebular/rooms/room205.cpp
@@ -176,12 +176,12 @@ static void room_205_parser() {
if (kernel.trigger == 0) {
player.commands_allowed = false;
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 18, 1, 120, quote_string(kernel.quotes, _action._activeAction._verbId));
+ _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 18, 1, 120, quote_string(kernel.quotes, player2.words[0]));
} else {
- if ((kernel.trigger > 1) || (_action._activeAction._verbId != 0x76))
+ if ((kernel.trigger > 1) || (player2.words[0] != 0x76))
player.commands_allowed = true;
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 0x5A:
handleWomanSpeech(0x7A);
local._dialog1.write(0x78, true);
@@ -197,7 +197,7 @@ static void room_205_parser() {
case 0x75:
case 0x78:
handleWomanSpeech(0x7B);
- local._dialog1.write(_action._activeAction._verbId, false);
+ local._dialog1.write(player2.words[0], false);
text_show(20501);
break;
@@ -221,10 +221,10 @@ static void room_205_parser() {
break;
}
- if (_action._activeAction._verbId != 0x77)
+ if (player2.words[0] != 0x77)
local._dialog1.start();
}
- } else if (_action._lookFlag)
+ } else if (player.look_around)
text_show(20502);
else if (player_said_3(look, binoculars, opposite_bank))
text_show(20518);
@@ -239,7 +239,7 @@ static void room_205_parser() {
local._dialog1.write(0x75, true);
local._dialog1.start();
}
- } else if (player_said_2(give, native_woman) && player_has(object_named(_action._activeAction._objectNameId))) {
+ } else if (player_said_2(give, native_woman) && player_has(object_named(player2.words[1]))) {
if (kernel.trigger == 0) {
player.commands_allowed = false;
int rndVal = g_engine->getRandomNumber(0xAC, 0xAE);
@@ -286,9 +286,9 @@ static void room_205_parser() {
text_show(20503);
else if (player_said_2(look, hut))
text_show(20504);
- else if (player_said_2(look, chicken) && (_action._mainObjectSource == CAT_HOTSPOT))
+ else if (player_said_2(look, chicken) && (player.main_object_source == CAT_HOTSPOT))
text_show(20505);
- else if (player_said_2(take, chicken) && (_action._mainObjectSource == CAT_HOTSPOT))
+ else if (player_said_2(take, chicken) && (player.main_object_source == CAT_HOTSPOT))
text_show(20506);
else if (player_said_2(look, chicken_on_spit))
text_show(20507);
@@ -300,7 +300,7 @@ static void room_205_parser() {
text_show(20510);
else if (player_said_2(look, opposite_bank))
text_show(20511);
- else if (player_has(object_named(_action._activeAction._objectNameId))
+ else if (player_has(object_named(player2.words[1]))
&& (player_said_2(give, stream) || player_said_2(throw, stream)
|| player_said_2(give, piranha) || player_said_2(throw, piranha)))
text_show(20512);
@@ -316,7 +316,7 @@ static void room_205_parser() {
return;
}
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_205_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room207.cpp b/engines/mads/nebular/rooms/room207.cpp
index 3faeecb7345..53d84de1eaf 100644
--- a/engines/mads/nebular/rooms/room207.cpp
+++ b/engines/mads/nebular/rooms/room207.cpp
@@ -172,7 +172,7 @@ static void room_207_pre_parser() {
}
static void room_207_parser() {
- if (_action._savedFields._lookFlag)
+ if (player.look_around)
text_show(20711);
else if (player_said_2(walk_through, doorway))
_scene->_nextSceneId = 214;
@@ -224,7 +224,7 @@ static void room_207_parser() {
return;
}
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_207_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room208.cpp b/engines/mads/nebular/rooms/room208.cpp
index 5af742d2e8b..0eeb445f1f6 100644
--- a/engines/mads/nebular/rooms/room208.cpp
+++ b/engines/mads/nebular/rooms/room208.cpp
@@ -320,16 +320,16 @@ static void room_208_parser() {
text_show(20815);
else if (player_said_2(take, huge_legs) || player_said_2(pull, huge_legs))
text_show(20816);
- else if (_action._savedFields._lookFlag && (_globals[kRhotundaStatus] == 1))
+ else if (player.look_around && (_globals[kRhotundaStatus] == 1))
text_show(20819);
- else if (_action._savedFields._lookFlag && (_globals[kLeavesStatus] == 2))
+ else if (player.look_around && (_globals[kLeavesStatus] == 2))
text_show(20818);
- else if (_action._savedFields._lookFlag)
+ else if (player.look_around)
text_show(20817);
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_208_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room209.cpp b/engines/mads/nebular/rooms/room209.cpp
index 1d60f0b8834..17466b2da64 100644
--- a/engines/mads/nebular/rooms/room209.cpp
+++ b/engines/mads/nebular/rooms/room209.cpp
@@ -1437,15 +1437,15 @@ static void room_209_pre_parser() {
}
static void room_209_parser() {
- if (_action._lookFlag) {
+ if (player.look_around) {
text_show(20912);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(walk_towards, rocky_area_to_north)) {
_scene->_nextSceneId = 203;
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -1453,7 +1453,7 @@ static void room_209_parser() {
_scene->_sequences.addTimer(1, local._dialogAbortVal);
local._playingDialogFl = true;
player.commands_allowed = false;
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -1461,88 +1461,88 @@ static void room_209_parser() {
case 130:
player.commands_allowed = true;
local._playingDialogFl = false;
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 5:
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 6, 180, quote_string(kernel.quotes, 139));
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 6:
_scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 151));
_scene->_sequences.addTimer(60, 130);
local._dialogAbortVal = 7;
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 7:
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 8, 180, quote_string(kernel.quotes, 140));
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 8:
_scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 149));
_scene->_sequences.addTimer(60, 130);
local._dialogAbortVal = 9;
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 9:
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 180, quote_string(kernel.quotes, 141));
_scene->_sequences.addTimer(200, 10);
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 10:
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 11, 180, quote_string(kernel.quotes, 142));
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 11:
_scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 152));
_scene->_sequences.addTimer(60, 130);
local._dialogAbortVal = 12;
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 12:
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 130, quote_string(kernel.quotes, 143));
_scene->_sequences.addTimer(150, 13);
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 13:
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 14, 180, quote_string(kernel.quotes, 145));
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 14:
_scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 151));
_scene->_sequences.addTimer(60, 130);
local._dialogAbortVal = 15;
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 15:
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 16, 180, quote_string(kernel.quotes, 146));
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 16:
_scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 17, 60, quote_string(kernel.quotes, 154));
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 17:
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 130, 60, quote_string(kernel.quotes, 147));
local._dialogAbortVal = 18;
- _action._inProgress = false;
+ player.command_ready = false;
return;
case 18:
@@ -1551,7 +1551,7 @@ static void room_209_parser() {
local._pitchFl = true;
local._playingDialogFl = false;
local._dialogAbortVal = 5;
- _action._inProgress = false;
+ player.command_ready = false;
return;
default:
@@ -1567,7 +1567,7 @@ static void room_209_parser() {
local._startShootingInTimerFl = true;
player.commands_allowed = false;
local._dodgeFl = true;
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -1577,7 +1577,7 @@ static void room_209_parser() {
player.commands_allowed = false;
local._fallFl = true;
local._startShootingInTimerFl = true;
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
}
@@ -1586,7 +1586,7 @@ static void room_209_parser() {
local._pitchFl = true;
player.commands_allowed = false;
text_show(20914);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
}
@@ -1620,7 +1620,7 @@ static void room_209_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -1656,75 +1656,75 @@ static void room_209_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, sky)) {
text_show(20901);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, bamboo_like_plant)) {
text_show(20902);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, mountainside)) {
text_show(20903);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, grassy_field)) {
text_show(20904);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, field_to_west)) {
text_show(20905);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, rocky_area_to_north)) {
text_show(20906);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
- if (player_said_2(look, plant_stalk) && (_action._savedFields._mainObjectSource == 4)) {
+ if (player_said_2(look, plant_stalk) && (player.main_object_source == 4)) {
text_show(20907);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_3(give, twinkifruit, monkey) || player_said_3(throw, twinkifruit, monkey)) {
text_show(20909);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, trees)) {
text_show(20913);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
- if (player_said_2(throw, monkey) && player_has(object_named(_action._activeAction._objectNameId))) {
+ if (player_said_2(throw, monkey) && player_has(object_named(player2.words[1]))) {
if (!player_said_1(poison_darts)) {
text_show(20915);
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_3(throw, poison_darts, monkey)) {
text_show(20916);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -1740,19 +1740,19 @@ static void room_209_parser() {
else
text_show(20919);
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, melon_mush)) {
text_show(20920);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(take, melon_mush)) {
text_show(20921);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
}
diff --git a/engines/mads/nebular/rooms/room210.cpp b/engines/mads/nebular/rooms/room210.cpp
index 5c65309875b..147f403e3dd 100644
--- a/engines/mads/nebular/rooms/room210.cpp
+++ b/engines/mads/nebular/rooms/room210.cpp
@@ -395,7 +395,7 @@ static void setDialogNode(int node) {
}
static void handleConversation1() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 180:
setDialogNode(2);
break;
@@ -422,7 +422,7 @@ static void handleConversation1() {
}
static void handleConversation2() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 187:
setDialogNode(3);
break;
@@ -441,7 +441,7 @@ static void handleConversation2() {
}
static void handleConversation3() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 193:
setDialogNode(6);
break;
@@ -464,7 +464,7 @@ static void handleConversation3() {
}
static void handleConversation5() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 204:
setDialogNode(6);
break;
@@ -484,7 +484,7 @@ static void handleConversation5() {
}
static void handleConversation6() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 211:
setDialogNode(7);
break;
@@ -503,7 +503,7 @@ static void handleConversation6() {
}
static void handleConversation7() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 216:
case 217:
case 219:
@@ -524,7 +524,7 @@ static void handleConversation7() {
}
static void handleConversation8() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 223:
case 224:
setDialogNode(4);
@@ -548,7 +548,7 @@ static void handleConversations() {
if (kernel.trigger == 0) {
_scene->_kernelMessages.reset();
player.commands_allowed = false;
- const char *curQuote = quote_string(kernel.quotes, _action._activeAction._verbId);
+ const char *curQuote = quote_string(kernel.quotes, player2.words[0]);
if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
static char line1[40], line2[40];
quote_split_string(curQuote, line1, line2);
@@ -967,7 +967,7 @@ static void room_210_parser() {
default:
break;
}
- } else if (player_said_2(give, native_woman) && player_has(object_named(_action._activeAction._objectNameId))) {
+ } else if (player_said_2(give, native_woman) && player_has(object_named(player2.words[1]))) {
switch (kernel.trigger) {
case 0:
{
@@ -1076,7 +1076,7 @@ static void room_210_parser() {
return;
}
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_210_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room211.cpp b/engines/mads/nebular/rooms/room211.cpp
index daf4c035065..bb0c117ea36 100644
--- a/engines/mads/nebular/rooms/room211.cpp
+++ b/engines/mads/nebular/rooms/room211.cpp
@@ -286,7 +286,7 @@ static void room_211_pre_parser() {
}
static void room_211_parser() {
- if (_action._lookFlag && (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY))
+ if (player.look_around && (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY))
text_show(21111);
else if (player_said_3(look, binoculars, palm_tree))
text_show(21116);
@@ -323,7 +323,7 @@ static void room_211_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_211_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room212.cpp b/engines/mads/nebular/rooms/room212.cpp
index 2a2979c61e0..e1e8cdc085f 100644
--- a/engines/mads/nebular/rooms/room212.cpp
+++ b/engines/mads/nebular/rooms/room212.cpp
@@ -55,7 +55,7 @@ static void room_212_pre_parser() {
}
static void room_212_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(21209);
else if (player_said_1(walk_towards) && (player_said_1(field_to_north) || player_said_1(mountains)))
_scene->_nextSceneId = 208;
@@ -80,7 +80,7 @@ static void room_212_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_212_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room213.cpp b/engines/mads/nebular/rooms/room213.cpp
index f9bef821789..727ea3a8ab7 100644
--- a/engines/mads/nebular/rooms/room213.cpp
+++ b/engines/mads/nebular/rooms/room213.cpp
@@ -51,7 +51,7 @@ static void room_213_daemon() {
static void room_213_parser() {
if (teleporter_parser()) {
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -76,7 +76,7 @@ static void room_213_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_213_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room214.cpp b/engines/mads/nebular/rooms/room214.cpp
index 2bdc2c18501..350728636dd 100644
--- a/engines/mads/nebular/rooms/room214.cpp
+++ b/engines/mads/nebular/rooms/room214.cpp
@@ -116,7 +116,7 @@ static void room_214_daemon() {
}
static void room_214_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(21427);
else if (player_said_2(walk_outside, hut))
_scene->_nextSceneId = 207;
@@ -210,7 +210,7 @@ static void room_214_parser() {
text_show(21411);
else if (player_said_2(look, large_heads))
text_show(21428);
- else if (player_said_2(look, poison_darts) && (_action._savedFields._mainObjectSource == 4))
+ else if (player_said_2(look, poison_darts) && (player.main_object_source == 4))
text_show(21412);
else if (player_said_2(open, experiment_cage))
text_show(21414);
@@ -243,7 +243,7 @@ static void room_214_parser() {
} else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_214_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room215.cpp b/engines/mads/nebular/rooms/room215.cpp
index 95f1a135c2d..19ab9e6b943 100644
--- a/engines/mads/nebular/rooms/room215.cpp
+++ b/engines/mads/nebular/rooms/room215.cpp
@@ -77,7 +77,7 @@ static void room_215_daemon() {
}
static void room_215_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(21509);
else if (player_said_2(take, twinkifruit)) {
if (!player_has(OBJ_TWINKIFRUIT) || kernel.trigger) {
@@ -132,7 +132,7 @@ static void room_215_parser() {
text_show(21505);
else if (player_said_2(look, picture))
text_show(21506);
- else if (player_said_2(look, twinkifruit) && (_action._savedFields._mainObjectSource == 4))
+ else if (player_said_2(look, twinkifruit) && (player.main_object_source == 4))
text_show(21507);
else if (player_said_2(take, bear_rug))
text_show(21510);
@@ -147,7 +147,7 @@ static void room_215_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_215_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room307.cpp b/engines/mads/nebular/rooms/room307.cpp
index d3e86abd66a..dc891ef34d4 100644
--- a/engines/mads/nebular/rooms/room307.cpp
+++ b/engines/mads/nebular/rooms/room307.cpp
@@ -197,7 +197,7 @@ static void setDialogNode(int node) {
}
static void handlePrisonerEncounter() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 275:
setDialogNode(5);
break;
@@ -216,7 +216,7 @@ static void handlePrisonerEncounter() {
}
static void handlePrisonerDialog() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 0x11A:
setDialogNode(7);
break;
@@ -262,7 +262,7 @@ static void handleDialog() {
if (kernel.trigger == 0) {
_scene->_kernelMessages.reset();
player.commands_allowed = false;
- handleRexDialog(_action._activeAction._verbId);
+ handleRexDialog(player2.words[0]);
} else {
player.commands_allowed = true;
@@ -452,7 +452,7 @@ static void room_307_daemon() {
}
static void room_307_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(30715);
else if (inter_input_mode == kInputConversation)
handleDialog();
@@ -740,7 +740,7 @@ static void room_307_parser() {
} else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_307_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room311.cpp b/engines/mads/nebular/rooms/room311.cpp
index 464e9ac3b9a..f94a47f8c79 100644
--- a/engines/mads/nebular/rooms/room311.cpp
+++ b/engines/mads/nebular/rooms/room311.cpp
@@ -192,7 +192,7 @@ static void room_311_daemon() {
}
static void room_311_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(31119);
else if (local._checkGuardFl) {
local._checkGuardFl = false;
@@ -319,7 +319,7 @@ static void room_311_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_311_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room313.cpp b/engines/mads/nebular/rooms/room313.cpp
index c18168e9ee4..2a341d7f0e2 100644
--- a/engines/mads/nebular/rooms/room313.cpp
+++ b/engines/mads/nebular/rooms/room313.cpp
@@ -101,7 +101,7 @@ static void room_313_parser() {
} else if (!player_said_2(crawl_down, air_shaft))
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_313_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room316.cpp b/engines/mads/nebular/rooms/room316.cpp
index 1f0e91a701e..1999942e867 100644
--- a/engines/mads/nebular/rooms/room316.cpp
+++ b/engines/mads/nebular/rooms/room316.cpp
@@ -488,7 +488,7 @@ static void room_316_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_316_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room318.cpp b/engines/mads/nebular/rooms/room318.cpp
index d2d83d375d9..f50437b4432 100644
--- a/engines/mads/nebular/rooms/room318.cpp
+++ b/engines/mads/nebular/rooms/room318.cpp
@@ -107,7 +107,7 @@ static void handleInternDialog(int quoteId, int quoteNum, uint32 timeout) {
static void handleDialog() {
if (!kernel.trigger) {
player.commands_allowed = false;
- handleRexDialogs(_action._activeAction._verbId);
+ handleRexDialogs(player2.words[0]);
} else if (kernel.trigger == 2) {
int synxIdx = _globals._sequenceIndexes[2];
_globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 1);
@@ -118,10 +118,10 @@ static void handleDialog() {
_scene->_userInterface.setup(kInputBuildingSentences);
player.commands_allowed = true;
} else {
- if (_action._activeAction._verbId < 0x19C)
- local._dialog1.write(_action._activeAction._verbId, false);
+ if (player2.words[0] < 0x19C)
+ local._dialog1.write(player2.words[0], false);
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 0x191:
handleInternDialog(0x19E, 2, INDEFINITE_TIMEOUT);
local._dialog1.write(0x192, true);
@@ -189,7 +189,7 @@ static void handleDialog() {
local._dialogFl = false;
handleInternDialog(0x1D0, 1, 120);
- if (local._dialog1.read(0) || (_action._activeAction._verbId == 0x19D)) {
+ if (local._dialog1.read(0) || (player2.words[0] == 0x19D)) {
local._explosionFl = true;
local._internCounter = 3420;
}
@@ -199,7 +199,7 @@ static void handleDialog() {
break;
}
- if (_action._activeAction._verbId < 0x19C) {
+ if (player2.words[0] < 0x19C) {
local._dialog1.start();
player.commands_allowed = true;
}
@@ -463,7 +463,7 @@ static void room_318_pre_parser() {
static void room_318_parser() {
if (inter_input_mode == kInputConversation) {
handleDialog();
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -504,7 +504,7 @@ static void room_318_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -549,14 +549,14 @@ static void room_318_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player.walker_visible) {
if (player_said_2(walk_down, corridor_to_south)) {
_scene->_nextSceneId = 407;
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -567,7 +567,7 @@ static void room_318_parser() {
} else
text_show(31834);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -577,37 +577,37 @@ static void room_318_parser() {
else
text_show(31834);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(walk_into, doctors_office)) {
text_show(31831);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, gurney)) {
text_show(31823);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, instrument_table)) {
text_show(31825);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
} else { // Not visible
if (player_said_2(look, gurney)) {
text_show(31822);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(look, instrument_table)) {
text_show(31824);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
}
@@ -644,7 +644,7 @@ static void room_318_parser() {
text_show(31832);
else if (player_said_2(look, professors_gurney))
text_show(31836);
- else if (_action._lookFlag) {
+ else if (player.look_around) {
if (player.walker_visible || player_has(OBJ_SCALPEL))
text_show(31828);
else if (local._internVisibleFl)
@@ -654,7 +654,7 @@ static void room_318_parser() {
} else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_318_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room319.cpp b/engines/mads/nebular/rooms/room319.cpp
index 05759cb1b87..fa93b5643d3 100644
--- a/engines/mads/nebular/rooms/room319.cpp
+++ b/engines/mads/nebular/rooms/room319.cpp
@@ -368,9 +368,9 @@ static void room_319_daemon() {
static void room_319_parser() {
if (kernel.trigger == 0) {
player.commands_allowed = false;
- handleRexDialogues(_action._activeAction._verbId);
+ handleRexDialogues(player2.words[0]);
} else {
- if ((_action._activeAction._verbId == 0x165) || (_action._activeAction._verbId == 0x166)) {
+ if ((player2.words[0] == 0x165) || (player2.words[0] == 0x166)) {
if (kernel.trigger == 1) {
local._nextAction1 = 3;
local._slacheTalkingFl = false;
@@ -387,7 +387,7 @@ static void room_319_parser() {
}
}
- if ((_action._activeAction._verbId == 0x171) || (_action._activeAction._verbId == 0x172)) {
+ if ((player2.words[0] == 0x171) || (player2.words[0] == 0x172)) {
if (kernel.trigger == 1) {
local._nextAction1 = 2;
local._slacheTalkingFl = false;
@@ -404,7 +404,7 @@ static void room_319_parser() {
}
}
- if ((_action._activeAction._verbId == 0x17D) || (_action._activeAction._verbId == 0x17E)) {
+ if ((player2.words[0] == 0x17D) || (player2.words[0] == 0x17E)) {
if (kernel.trigger == 1) {
local._nextAction1 = 3;
local._slacheTalkingFl = false;
@@ -428,20 +428,20 @@ static void room_319_parser() {
}
}
- if ((_action._activeAction._verbId == 0x168) || (_action._activeAction._verbId == 0x174) ||
- (_action._activeAction._verbId == 0x180) || (_action._activeAction._verbId == 0x169) ||
- (_action._activeAction._verbId == 0x175) || (_action._activeAction._verbId == 0x181) ||
- (_action._activeAction._verbId == 0x16A) || (_action._activeAction._verbId == 0x176) ||
- (_action._activeAction._verbId == 0x182) || (_action._activeAction._verbId == 0x183) ||
- (_action._activeAction._verbId == 0x167) || (_action._activeAction._verbId == 0x173) ||
- (_action._activeAction._verbId == 0x17F)) {
+ if ((player2.words[0] == 0x168) || (player2.words[0] == 0x174) ||
+ (player2.words[0] == 0x180) || (player2.words[0] == 0x169) ||
+ (player2.words[0] == 0x175) || (player2.words[0] == 0x181) ||
+ (player2.words[0] == 0x16A) || (player2.words[0] == 0x176) ||
+ (player2.words[0] == 0x182) || (player2.words[0] == 0x183) ||
+ (player2.words[0] == 0x167) || (player2.words[0] == 0x173) ||
+ (player2.words[0] == 0x17F)) {
- bool addDialogLine = !((_action._activeAction._verbId == 0x167) || (_action._activeAction._verbId == 0x173) ||
- (_action._activeAction._verbId == 0x17F) || (_action._activeAction._verbId == 0x16A) ||
- (_action._activeAction._verbId == 0x176) || (_action._activeAction._verbId == 0x182) ||
- (_action._activeAction._verbId == 0x183));
+ bool addDialogLine = !((player2.words[0] == 0x167) || (player2.words[0] == 0x173) ||
+ (player2.words[0] == 0x17F) || (player2.words[0] == 0x16A) ||
+ (player2.words[0] == 0x176) || (player2.words[0] == 0x182) ||
+ (player2.words[0] == 0x183));
- int addVerbId = _action._activeAction._verbId + 1;
+ int addVerbId = player2.words[0] + 1;
if ((addVerbId == 0x182) && (config_file.naughtiness != STORYMODE_NAUGHTY))
addVerbId = 0x183;
@@ -456,10 +456,10 @@ static void room_319_parser() {
} else {
Dialog *curDialog;
int nextDocQuote;
- if ((_action._activeAction._verbId == 0x168) || (_action._activeAction._verbId == 0x167)) {
+ if ((player2.words[0] == 0x168) || (player2.words[0] == 0x167)) {
curDialog = &local._dialog1;
nextDocQuote = 0x161;
- } else if ((_action._activeAction._verbId == 0x174) || (_action._activeAction._verbId == 0x1753)) {
+ } else if ((player2.words[0] == 0x174) || (player2.words[0] == 0x1753)) {
nextDocQuote = 0x16D;
curDialog = &local._dialog2;
} else {
@@ -469,7 +469,7 @@ static void room_319_parser() {
handleSlacheDialogs(nextDocQuote, 2, INDEFINITE_TIMEOUT);
if (addDialogLine) {
- curDialog->write(_action._activeAction._verbId, false);
+ curDialog->write(player2.words[0], false);
curDialog->write(addVerbId, true);
}
@@ -488,10 +488,10 @@ static void room_319_parser() {
} else {
Dialog *curDialog;
int nextDocQuote;
- if ((_action._activeAction._verbId == 0x168) || (_action._activeAction._verbId == 0x169) || (_action._activeAction._verbId == 0x167)) {
+ if ((player2.words[0] == 0x168) || (player2.words[0] == 0x169) || (player2.words[0] == 0x167)) {
curDialog = &local._dialog1;
nextDocQuote = 0x163;
- } else if ((_action._activeAction._verbId == 0x174) || (_action._activeAction._verbId == 0x175) || (_action._activeAction._verbId == 0x173)) {
+ } else if ((player2.words[0] == 0x174) || (player2.words[0] == 0x175) || (player2.words[0] == 0x173)) {
nextDocQuote = 0x16F;
curDialog = &local._dialog2;
} else {
@@ -501,7 +501,7 @@ static void room_319_parser() {
handleSlacheDialogs(nextDocQuote, 2, INDEFINITE_TIMEOUT);
if (addDialogLine) {
- curDialog->write(_action._activeAction._verbId, false);
+ curDialog->write(player2.words[0], false);
curDialog->write(addVerbId, true);
}
@@ -516,7 +516,7 @@ static void room_319_parser() {
}
}
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_319_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room320.cpp b/engines/mads/nebular/rooms/room320.cpp
index 59db8cceafa..f812ad347f8 100644
--- a/engines/mads/nebular/rooms/room320.cpp
+++ b/engines/mads/nebular/rooms/room320.cpp
@@ -95,7 +95,7 @@ static void setLeftView(int view) {
}
static void handleButtons() {
- switch (_action._activeAction._objectNameId) {
+ switch (player2.words[1]) {
case 0x2DD:
local._buttonId = 5;
break;
@@ -237,7 +237,7 @@ static void room_320_daemon() {
}
static void room_320_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(32011);
else if ((player_said_1(press) || player_said_1(push)) &&
(player_said_1(left_1_key) || player_said_1(left_2_key) || player_said_1(left_3_key) || player_said_1(left_4_key) ||
@@ -344,7 +344,7 @@ static void room_320_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_320_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room322.cpp b/engines/mads/nebular/rooms/room322.cpp
index 2efcd372e5d..30ab74a093a 100644
--- a/engines/mads/nebular/rooms/room322.cpp
+++ b/engines/mads/nebular/rooms/room322.cpp
@@ -52,14 +52,14 @@ static void room_322_daemon() {
}
static void room_322_parser() {
- if (_action._lookFlag) {
+ if (player.look_around) {
text_show(32214);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (teleporter_parser()) {
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -82,7 +82,7 @@ static void room_322_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_322_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room351.cpp b/engines/mads/nebular/rooms/room351.cpp
index bdcbc84256d..347141cceb9 100644
--- a/engines/mads/nebular/rooms/room351.cpp
+++ b/engines/mads/nebular/rooms/room351.cpp
@@ -115,7 +115,7 @@ static void room_351_daemon() {
}
static void room_351_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(35121);
else if (player_said_2(step_into, teleporter))
_scene->_nextSceneId = 322;
@@ -184,7 +184,7 @@ static void room_351_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_351_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room352.cpp b/engines/mads/nebular/rooms/room352.cpp
index fc50e57ee40..eb16668ef8a 100644
--- a/engines/mads/nebular/rooms/room352.cpp
+++ b/engines/mads/nebular/rooms/room352.cpp
@@ -241,9 +241,9 @@ static void room_352_pre_parser() {
}
static void room_352_parser() {
- if (_action._lookFlag) {
+ if (player.look_around) {
text_show(35225);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -298,7 +298,7 @@ static void room_352_parser() {
break;
}
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -325,7 +325,7 @@ static void room_352_parser() {
else
_scene->_nextSceneId = 351;
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -363,7 +363,7 @@ static void room_352_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
}
@@ -548,11 +548,11 @@ static void room_352_parser() {
text_show(35213);
else if (player_said_2(look, statue))
text_show(35214);
- else if (player_said_2(look, tape_player) && (_action._savedFields._mainObjectSource == 4))
+ else if (player_said_2(look, tape_player) && (player.main_object_source == 4))
text_show(35215);
else if (player_said_2(look, air_vent))
text_show(35216);
- else if (player_said_2(look, guards_arm2) && (_action._savedFields._mainObjectSource == 4))
+ else if (player_said_2(look, guards_arm2) && (player.main_object_source == 4))
text_show(35217);
else if (player_said_2(look, ironing_board))
text_show(35218);
@@ -588,7 +588,7 @@ static void room_352_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_352_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room353.cpp b/engines/mads/nebular/rooms/room353.cpp
index d6d2f715393..b1243560e22 100644
--- a/engines/mads/nebular/rooms/room353.cpp
+++ b/engines/mads/nebular/rooms/room353.cpp
@@ -56,7 +56,7 @@ static void room_353_init() {
}
static void room_353_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(35315);
else if (player_said_2(walk_through, doorway))
_scene->_nextSceneId = 352;
@@ -81,7 +81,7 @@ static void room_353_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_353_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room354.cpp b/engines/mads/nebular/rooms/room354.cpp
index 778e463ce20..86bab53ebf9 100644
--- a/engines/mads/nebular/rooms/room354.cpp
+++ b/engines/mads/nebular/rooms/room354.cpp
@@ -67,7 +67,7 @@ static void room_354_pre_parser() {
}
static void room_354_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(35414);
else if (player_said_2(walk_down, corridor_to_north)) {
player_start_walking(208, 0, FACING_NORTHEAST);
@@ -101,7 +101,7 @@ static void room_354_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_354_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room357.cpp b/engines/mads/nebular/rooms/room357.cpp
index 5df6cc26b0c..b2ce2be74a4 100644
--- a/engines/mads/nebular/rooms/room357.cpp
+++ b/engines/mads/nebular/rooms/room357.cpp
@@ -63,7 +63,7 @@ static void room_357_pre_parser() {
}
static void room_357_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(35715);
else if (player_said_2(look, air_vent))
text_show(35710);
@@ -94,7 +94,7 @@ static void room_357_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_357_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room358.cpp b/engines/mads/nebular/rooms/room358.cpp
index abb3ee39c2d..4cf16565b70 100644
--- a/engines/mads/nebular/rooms/room358.cpp
+++ b/engines/mads/nebular/rooms/room358.cpp
@@ -58,7 +58,7 @@ static void room_358_pre_parser() {
}
static void room_358_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(35815);
else if (player_said_2(look, corridor_to_west))
text_show(35810);
@@ -77,7 +77,7 @@ static void room_358_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_358_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room359.cpp b/engines/mads/nebular/rooms/room359.cpp
index a597020bd73..cf207a8bc32 100644
--- a/engines/mads/nebular/rooms/room359.cpp
+++ b/engines/mads/nebular/rooms/room359.cpp
@@ -78,7 +78,7 @@ static void room_359_pre_parser() {
}
static void room_359_parser() {
- if (_action._lookFlag) {
+ if (player.look_around) {
if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_SECURITY_CARD].location == 359))
text_show(35914);
else
@@ -143,7 +143,7 @@ static void room_359_parser() {
text_show(35918);
else if (player_said_2(take, limb))
text_show(35919);
- else if (player_said_2(look, security_card) && (_action._mainObjectSource == CAT_HOTSPOT))
+ else if (player_said_2(look, security_card) && (player.main_object_source == CAT_HOTSPOT))
text_show(35921);
else if (player_said_2(look, blood_stain)) {
if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_SECURITY_CARD].location == 359))
@@ -168,7 +168,7 @@ static void room_359_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_359_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room360.cpp b/engines/mads/nebular/rooms/room360.cpp
index ecf74691f3b..4668fe8867a 100644
--- a/engines/mads/nebular/rooms/room360.cpp
+++ b/engines/mads/nebular/rooms/room360.cpp
@@ -58,7 +58,7 @@ static void room_360_pre_parser() {
}
static void room_360_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(36015);
else if (player_said_2(look, corridor_to_west))
text_show(36010);
@@ -79,7 +79,7 @@ static void room_360_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_360_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room361.cpp b/engines/mads/nebular/rooms/room361.cpp
index 8705fe3a408..29b06959f1c 100644
--- a/engines/mads/nebular/rooms/room361.cpp
+++ b/engines/mads/nebular/rooms/room361.cpp
@@ -385,7 +385,7 @@ static void room_361_pre_parser() {
}
static void room_361_parser() {
- if (_action._lookFlag)
+ if (player.look_around)
text_show(36119);
else if (player_said_2(sit_at, desk)) {
_scene->_kernelMessages.reset();
@@ -418,7 +418,7 @@ static void room_361_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_361_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room366.cpp b/engines/mads/nebular/rooms/room366.cpp
index fd729f34636..4408980accf 100644
--- a/engines/mads/nebular/rooms/room366.cpp
+++ b/engines/mads/nebular/rooms/room366.cpp
@@ -55,7 +55,7 @@ static void room_366_parser() {
return;
}
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_366_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room387.cpp b/engines/mads/nebular/rooms/room387.cpp
index 77c5d3f3c61..d2e208a2fbb 100644
--- a/engines/mads/nebular/rooms/room387.cpp
+++ b/engines/mads/nebular/rooms/room387.cpp
@@ -48,7 +48,7 @@ static void room_387_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_387_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room388.cpp b/engines/mads/nebular/rooms/room388.cpp
index 6eb34dab8e4..3d37e230469 100644
--- a/engines/mads/nebular/rooms/room388.cpp
+++ b/engines/mads/nebular/rooms/room388.cpp
@@ -85,7 +85,7 @@ static void room_388_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_388_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room389.cpp b/engines/mads/nebular/rooms/room389.cpp
index 2cfa15ca7b2..3565466e68c 100644
--- a/engines/mads/nebular/rooms/room389.cpp
+++ b/engines/mads/nebular/rooms/room389.cpp
@@ -110,7 +110,7 @@ static void room_389_parser() {
} else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_389_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room390.cpp b/engines/mads/nebular/rooms/room390.cpp
index 56d66a90978..81e78a40a59 100644
--- a/engines/mads/nebular/rooms/room390.cpp
+++ b/engines/mads/nebular/rooms/room390.cpp
@@ -48,7 +48,7 @@ static void room_390_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_390_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room391.cpp b/engines/mads/nebular/rooms/room391.cpp
index af39ec20e96..ba13e0b0052 100644
--- a/engines/mads/nebular/rooms/room391.cpp
+++ b/engines/mads/nebular/rooms/room391.cpp
@@ -60,7 +60,7 @@ static void room_391_parser() {
} else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_391_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room399.cpp b/engines/mads/nebular/rooms/room399.cpp
index 4f01c616a12..90109d90f41 100644
--- a/engines/mads/nebular/rooms/room399.cpp
+++ b/engines/mads/nebular/rooms/room399.cpp
@@ -56,7 +56,7 @@ static void room_399_parser() {
} else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_399_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room401.cpp b/engines/mads/nebular/rooms/room401.cpp
index b77d426a5c6..8f4016f9a09 100644
--- a/engines/mads/nebular/rooms/room401.cpp
+++ b/engines/mads/nebular/rooms/room401.cpp
@@ -163,12 +163,12 @@ static void room_401_parser() {
text_show(40114);
else if (player_said_2(look, corridor_to_north))
text_show(40115);
- else if (_action._lookFlag)
+ else if (player.look_around)
text_show(40116);
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_401_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room402.cpp b/engines/mads/nebular/rooms/room402.cpp
index fb0eaf58fb4..4bd453b40da 100644
--- a/engines/mads/nebular/rooms/room402.cpp
+++ b/engines/mads/nebular/rooms/room402.cpp
@@ -118,7 +118,7 @@ static void setDialogNode(int node) {
}
static void handleConversation1() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 0x214:
{
int quoteId = 0;
@@ -179,7 +179,7 @@ static void handleConversation1() {
}
static void handleConversation2() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 0x216:
local._dialog2.write(0x216, false);
local._dialog2.write(0x21D, true);
@@ -245,7 +245,7 @@ static void handleConversation2() {
}
- if (_action._activeAction._verbId != 0x21C) {
+ if (player2.words[0] != 0x21C) {
switch (g_engine->getRandomNumber(1, 3)) {
case 1:
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
@@ -290,7 +290,7 @@ static void handleConversation2() {
}
static void handleConversation3() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 0x233:
case 0x234:
case 0x235:
@@ -319,7 +319,7 @@ static void handleConversation3() {
}
static void handleConversation4() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 0x238:
_scene->_kernelMessages.reset();
setDialogNode(0);
@@ -401,7 +401,7 @@ static void handleDialogs() {
if (kernel.trigger == 0) {
_scene->_kernelMessages.reset();
player.commands_allowed = false;
- const char *curQuote = quote_string(kernel.quotes, _action._activeAction._verbId);
+ const char *curQuote = quote_string(kernel.quotes, player2.words[0]);
if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
static char subQuote1[34], subQuote2[34];
quote_split_string(curQuote, subQuote1, subQuote2);
@@ -2136,7 +2136,7 @@ static void room_402_parser() {
text_show(40218);
else if (player_said_2(look, corridor_to_south))
text_show(40219);
- else if (_action._lookFlag)
+ else if (player.look_around)
text_show(40220);
else if (player_said_2(look, women))
text_show(40221);
@@ -2179,7 +2179,7 @@ static void room_402_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_402_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room405.cpp b/engines/mads/nebular/rooms/room405.cpp
index 145a748f279..c0aa47e5c72 100644
--- a/engines/mads/nebular/rooms/room405.cpp
+++ b/engines/mads/nebular/rooms/room405.cpp
@@ -179,7 +179,7 @@ static void room_405_parser() {
text_show(40517);
else if (player_said_2(look, monitor))
text_show(40518);
- else if (player_said_2(look, corridor) || _action._lookFlag)
+ else if (player_said_2(look, corridor) || player.look_around)
text_show(40519);
else if (player_said_2(look, wide_door)) {
if (_globals[kArmoryDoorOpen])
@@ -195,7 +195,7 @@ static void room_405_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_405_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room406.cpp b/engines/mads/nebular/rooms/room406.cpp
index a11c9e8f1ea..e93ad6a1597 100644
--- a/engines/mads/nebular/rooms/room406.cpp
+++ b/engines/mads/nebular/rooms/room406.cpp
@@ -212,7 +212,7 @@ static void room_406_parser() {
text_show(40616);
else if (player_said_2(look, corridor_to_west))
text_show(40617);
- else if (player_said_2(look, corridor) || _action._lookFlag)
+ else if (player_said_2(look, corridor) || player.look_around)
text_show(40618);
else if (player_said_2(look, wall))
text_show(40619);
@@ -238,7 +238,7 @@ static void room_406_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_406_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room407.cpp b/engines/mads/nebular/rooms/room407.cpp
index a9f73bf547e..c01a05389af 100644
--- a/engines/mads/nebular/rooms/room407.cpp
+++ b/engines/mads/nebular/rooms/room407.cpp
@@ -137,12 +137,12 @@ static void room_407_parser() {
text_show(40713);
else if (player_said_2(look, corridor_to_north))
text_show(40714);
- else if (_action._lookFlag)
+ else if (player.look_around)
text_show(40715);
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_407_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room408.cpp b/engines/mads/nebular/rooms/room408.cpp
index 13aed599792..999d0c58d70 100644
--- a/engines/mads/nebular/rooms/room408.cpp
+++ b/engines/mads/nebular/rooms/room408.cpp
@@ -163,7 +163,7 @@ static void room_408_parser() {
text_show(40843);
else if (player_said_2(look, corridor_to_south))
text_show(40844);
- else if (_action._lookFlag)
+ else if (player.look_around)
text_show(40845);
else if (player_said_2(look, target_module) && object_is_here(OBJ_TARGET_MODULE))
text_show(40846);
@@ -174,7 +174,7 @@ static void room_408_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_408_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room409.cpp b/engines/mads/nebular/rooms/room409.cpp
index e14b8fc3a71..78bf611b6e2 100644
--- a/engines/mads/nebular/rooms/room409.cpp
+++ b/engines/mads/nebular/rooms/room409.cpp
@@ -44,7 +44,7 @@ static void room_409_daemon() {
static void room_409_parser() {
if (teleporter_parser()) {
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -67,12 +67,12 @@ static void room_409_parser() {
text_show(40913);
else if (player_said_2(look, device))
text_show(40914);
- else if (_action._lookFlag)
+ else if (player.look_around)
text_show(40914);
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_409_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room410.cpp b/engines/mads/nebular/rooms/room410.cpp
index a04ded9bad6..58ef6128e69 100644
--- a/engines/mads/nebular/rooms/room410.cpp
+++ b/engines/mads/nebular/rooms/room410.cpp
@@ -179,12 +179,12 @@ static void room_410_parser() {
text_show(41030);
else if (player_said_2(throw, rat))
text_show(41031);
- else if (_action._lookFlag)
+ else if (player.look_around)
text_show(41033);
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_410_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room411.cpp b/engines/mads/nebular/rooms/room411.cpp
index 7225e1d6a75..f91463d190d 100644
--- a/engines/mads/nebular/rooms/room411.cpp
+++ b/engines/mads/nebular/rooms/room411.cpp
@@ -115,7 +115,7 @@ static int computeQuoteAndQuantity() {
int quoteId;
int quantity;
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 0x252:
quoteId = 0x26F;
quantity = 0;
@@ -229,7 +229,7 @@ static void handleKettleAction() {
}
static void handleDialog() {
- if ((_action._activeAction._verbId != 0x262) && (kernel.trigger == 0)) {
+ if ((player2.words[0] != 0x262) && (kernel.trigger == 0)) {
if (player_has(local._newIngredient)) {
switch (local._newIngredient) {
case OBJ_FORMALDEHYDE:
@@ -266,7 +266,7 @@ static void handleDialog() {
local._killRox = true;
_scene->_userInterface.setup(kInputBuildingSentences);
- } else if (_action._activeAction._verbId == 0x262)
+ } else if (player2.words[0] == 0x262)
_scene->_userInterface.setup(kInputBuildingSentences);
}
@@ -523,14 +523,14 @@ static void room_411_pre_parser() {
static void room_411_parser() {
if (inter_input_mode == kInputConversation) {
handleDialog();
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(walk_into, corridor_to_south)) {
_scene->_nextSceneId = 406;
g_engine->_soundManager->command(10, 0);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -584,11 +584,11 @@ static void room_411_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
} else if (!player_has(OBJ_CHARGE_CASES) && player_said_2(take, explosives)) {
text_show(41143);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -625,7 +625,7 @@ static void room_411_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -661,7 +661,7 @@ static void room_411_parser() {
default:
break;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -674,7 +674,7 @@ static void room_411_parser() {
_scene->_sequences.addTimer(20, 100);
_scene->_sequences.remove(_globals._sequenceIndexes[7]);
inter_give_to_player(OBJ_FORMALDEHYDE);
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -694,7 +694,7 @@ static void room_411_parser() {
player_said_1(formaldehyde) ||
player_said_1(lecithin) ||
player_said_1(alien_liquor)) {
- local._newIngredient = object_named(_action._activeAction._objectNameId);
+ local._newIngredient = object_named(player2.words[1]);
switch (local._newIngredient) {
case OBJ_ALIEN_LIQUOR:
local._dialog1.start();
@@ -761,7 +761,7 @@ static void room_411_parser() {
text_show(41130);
else if (player_said_2(look, corridor_to_south))
text_show(41131);
- else if (_action._lookFlag)
+ else if (player.look_around)
text_show(41132);
else if (player_said_2(look, air_horn))
text_show(41133);
@@ -784,7 +784,7 @@ static void room_411_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_411_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room413.cpp b/engines/mads/nebular/rooms/room413.cpp
index 840136fab3b..3ff9c9da457 100644
--- a/engines/mads/nebular/rooms/room413.cpp
+++ b/engines/mads/nebular/rooms/room413.cpp
@@ -173,12 +173,12 @@ static void room_413_parser() {
text_show(41318);
else if (player_said_2(take, plant))
text_show(41319);
- else if (_action._lookFlag)
+ else if (player.look_around)
text_show(41320);
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_413_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room501.cpp b/engines/mads/nebular/rooms/room501.cpp
index 3c71e61212e..989181148c7 100644
--- a/engines/mads/nebular/rooms/room501.cpp
+++ b/engines/mads/nebular/rooms/room501.cpp
@@ -368,7 +368,7 @@ static void room_501_parser() {
default:
break;
}
- } else if (_action._lookFlag || player_said_2(look, street))
+ } else if (player.look_around || player_said_2(look, street))
text_show(50121);
else if (player_said_2(look, door))
text_show(50110);
@@ -403,7 +403,7 @@ static void room_501_parser() {
} else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_501_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room502.cpp b/engines/mads/nebular/rooms/room502.cpp
index 802b3d00e61..118f2cc7c4d 100644
--- a/engines/mads/nebular/rooms/room502.cpp
+++ b/engines/mads/nebular/rooms/room502.cpp
@@ -56,7 +56,7 @@ static void room_502_daemon() {
static void room_502_parser() {
if (teleporter_parser()) {
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -74,12 +74,12 @@ static void room_502_parser() {
|| player_said_2(look, smile_key) || player_said_2(look, enter_key)
|| player_said_2(look, frown_key))
text_show(50213);
- else if (player_said_2(look, device) || _action._lookFlag)
+ else if (player_said_2(look, device) || player.look_around)
text_show(50214);
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_502_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room503.cpp b/engines/mads/nebular/rooms/room503.cpp
index c407b3eedfb..001c5e68c80 100644
--- a/engines/mads/nebular/rooms/room503.cpp
+++ b/engines/mads/nebular/rooms/room503.cpp
@@ -108,7 +108,7 @@ static void room_503_parser() {
break;
}
}
- } else if (_action._lookFlag)
+ } else if (player.look_around)
text_show(50328);
else if (player_said_2(look, monitoring_equipment))
text_show(50310);
@@ -139,18 +139,18 @@ static void room_503_parser() {
text_show(50323);
else
text_show(50324);
- } else if (player_said_2(look, detonators) && (_action._savedFields._mainObjectSource == 4))
+ } else if (player_said_2(look, detonators) && (player.main_object_source == 4))
text_show(50325);
else if (player_said_2(look, windows))
text_show(50327);
else if (player_said_2(open, display_case))
text_show(50329);
- else if (player_said_2(throw, display_case) && player_has(object_named(_action._activeAction._objectNameId)))
+ else if (player_said_2(throw, display_case) && player_has(object_named(player2.words[1])))
text_show(50330);
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_503_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room504.cpp b/engines/mads/nebular/rooms/room504.cpp
index 0fa486dd3dc..da6ae420672 100644
--- a/engines/mads/nebular/rooms/room504.cpp
+++ b/engines/mads/nebular/rooms/room504.cpp
@@ -203,7 +203,7 @@ static void room_504_parser() {
default:
break;
}
- } else if (_action._lookFlag || player_said_2(look, interior_of_car))
+ } else if (player.look_around || player_said_2(look, interior_of_car))
text_show(50412);
else if (player_said_2(look, glove_compartment))
text_show(50410);
@@ -228,7 +228,7 @@ static void room_504_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_504_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room505.cpp b/engines/mads/nebular/rooms/room505.cpp
index 39974469da3..87c539e084c 100644
--- a/engines/mads/nebular/rooms/room505.cpp
+++ b/engines/mads/nebular/rooms/room505.cpp
@@ -280,7 +280,7 @@ static void room_505_daemon() {
static void room_505_parser() {
if (player_said_1(press))
- local._nextButtonId = _action._activeAction._objectNameId;
+ local._nextButtonId = player2.words[1];
else if (player_said_2(return_to, inside_of_car))
_scene->_nextSceneId = 504;
else if (player_said_2(look, view_screen))
@@ -290,7 +290,7 @@ static void room_505_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_505_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room506.cpp b/engines/mads/nebular/rooms/room506.cpp
index bd5afee3aae..d2a47ca4e99 100644
--- a/engines/mads/nebular/rooms/room506.cpp
+++ b/engines/mads/nebular/rooms/room506.cpp
@@ -287,7 +287,7 @@ static void room_506_parser() {
default:
break;
}
- } else if (_action._lookFlag || player_said_2(look, street))
+ } else if (player.look_around || player_said_2(look, street))
text_show(50618);
else if (player_said_2(look, restaurant))
text_show(50610);
@@ -314,7 +314,7 @@ static void room_506_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_506_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room507.cpp b/engines/mads/nebular/rooms/room507.cpp
index d34f562ba32..feed7e9aec1 100644
--- a/engines/mads/nebular/rooms/room507.cpp
+++ b/engines/mads/nebular/rooms/room507.cpp
@@ -92,7 +92,7 @@ static void room_507_parser() {
break;
}
}
- } else if (_action._lookFlag)
+ } else if (player.look_around)
text_show(50722);
else if (player_said_2(look, swirling_light))
text_show(50710);
@@ -142,7 +142,7 @@ static void room_507_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_507_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room508.cpp b/engines/mads/nebular/rooms/room508.cpp
index fe7aa5132e3..3ccc5f971ae 100644
--- a/engines/mads/nebular/rooms/room508.cpp
+++ b/engines/mads/nebular/rooms/room508.cpp
@@ -231,7 +231,7 @@ static void room_508_parser() {
} else if (player_said_3(put, compact_case, pedestal) || player_said_3(put, compact_case, laser_beam) || player_said_3(reflect, compact_case, laser_beam)) {
local._chosenObject = 2;
handlePedestral();
- } else if (_action._lookFlag)
+ } else if (player.look_around)
text_show(50822);
else if (player_said_2(look, target_area))
text_show(50810);
@@ -288,7 +288,7 @@ static void room_508_parser() {
} else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_508_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room511.cpp b/engines/mads/nebular/rooms/room511.cpp
index 7e31860b09d..0677b5b3f9b 100644
--- a/engines/mads/nebular/rooms/room511.cpp
+++ b/engines/mads/nebular/rooms/room511.cpp
@@ -305,7 +305,7 @@ static void room_511_parser() {
}
}
}
- } else if (player_said_2(look, street) || _action._lookFlag) {
+ } else if (player_said_2(look, street) || player.look_around) {
if (_globals[kLineStatus] == 2)
text_show(51110);
else {
@@ -339,9 +339,9 @@ static void room_511_parser() {
text_show(51128);
} else if (player_said_2(look, porthole))
text_show(51122);
- else if (player_said_2(look, fishing_line) && (_action._mainObjectSource == CAT_HOTSPOT) && (_globals[kLineStatus] == 2))
+ else if (player_said_2(look, fishing_line) && (player.main_object_source == CAT_HOTSPOT) && (_globals[kLineStatus] == 2))
text_show(51126);
- else if (player_said_2(look, fishing_line) && (_action._mainObjectSource == CAT_HOTSPOT) && (_globals[kLineStatus] == 3))
+ else if (player_said_2(look, fishing_line) && (player.main_object_source == CAT_HOTSPOT) && (_globals[kLineStatus] == 3))
text_show(51133);
else if (player_said_2(look, statue))
text_show(51127);
@@ -357,7 +357,7 @@ static void room_511_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_511_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room512.cpp b/engines/mads/nebular/rooms/room512.cpp
index 3070df56745..5f0ec67baf6 100644
--- a/engines/mads/nebular/rooms/room512.cpp
+++ b/engines/mads/nebular/rooms/room512.cpp
@@ -268,7 +268,7 @@ static void room_512_parser() {
break;
}
}
- } else if (_action._lookFlag)
+ } else if (player.look_around)
text_show(51225);
else if (player_said_2(look, padlock_key) && object_is_here(OBJ_PADLOCK_KEY))
text_show(51215);
@@ -324,7 +324,7 @@ static void room_512_parser() {
} else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_512_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room513.cpp b/engines/mads/nebular/rooms/room513.cpp
index 194e3b3c7ff..fe86b1383fc 100644
--- a/engines/mads/nebular/rooms/room513.cpp
+++ b/engines/mads/nebular/rooms/room513.cpp
@@ -218,7 +218,7 @@ static void room_513_parser() {
default:
break;
}
- } else if ((_action._lookFlag) || player_said_2(look, street))
+ } else if ((player.look_around) || player_said_2(look, street))
text_show(51318);
else if (player_said_2(look, elevator))
text_show(51310);
@@ -247,7 +247,7 @@ static void room_513_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_513_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room551.cpp b/engines/mads/nebular/rooms/room551.cpp
index 555d62cdf8c..f3dcf843d95 100644
--- a/engines/mads/nebular/rooms/room551.cpp
+++ b/engines/mads/nebular/rooms/room551.cpp
@@ -139,7 +139,7 @@ static void room_551_pre_parser() {
static void room_551_parser() {
if (player_said_2(step_into, teleporter))
_scene->_nextSceneId = 502;
- else if ((_action._lookFlag))
+ else if ((player.look_around))
text_show(55117);
else if (player_said_2(look, skeleton))
text_show(55110);
@@ -165,7 +165,7 @@ static void room_551_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_551_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room601.cpp b/engines/mads/nebular/rooms/room601.cpp
index b6178a45993..5c0defbe720 100644
--- a/engines/mads/nebular/rooms/room601.cpp
+++ b/engines/mads/nebular/rooms/room601.cpp
@@ -131,7 +131,7 @@ static void room_601_parser() {
default:
break;
}
- } else if (_action._lookFlag || player_said_2(look, street)) {
+ } else if (player.look_around || player_said_2(look, street)) {
if (!_globals[kLaserHoleIsThere])
text_show(60110);
else
@@ -157,7 +157,7 @@ static void room_601_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_601_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room602.cpp b/engines/mads/nebular/rooms/room602.cpp
index e67734b9989..16675ec58e8 100644
--- a/engines/mads/nebular/rooms/room602.cpp
+++ b/engines/mads/nebular/rooms/room602.cpp
@@ -288,7 +288,7 @@ static void room_602_parser() {
default:
break;
}
- } else if (_action._lookFlag)
+ } else if (player.look_around)
text_show(60210);
else if (player_said_2(look, floor))
text_show(60211);
@@ -330,7 +330,7 @@ static void room_602_parser() {
text_show(60225);
else if (player_said_2(pull, safe))
text_show(60226);
- else if (player_said_2(put, fireplace) && player_has(object_named(_action._activeAction._objectNameId)))
+ else if (player_said_2(put, fireplace) && player_has(object_named(player2.words[1])))
text_show(60227);
else if (player_said_2(look, hole))
text_show(60228);
@@ -345,7 +345,7 @@ static void room_602_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_602_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room603.cpp b/engines/mads/nebular/rooms/room603.cpp
index 38da4891c32..553d8c2630f 100644
--- a/engines/mads/nebular/rooms/room603.cpp
+++ b/engines/mads/nebular/rooms/room603.cpp
@@ -120,7 +120,7 @@ static void room_603_parser() {
}
} else
text_show(60323);
- } else if (_action._lookFlag)
+ } else if (player.look_around)
text_show(60310);
else if (player_said_2(look, bed))
text_show(60311);
@@ -159,7 +159,7 @@ static void room_603_parser() {
text_show(60327);
else
text_show(60328);
- } else if (player_said_2(look, compact_case) && (_action._mainObjectSource == CAT_HOTSPOT))
+ } else if (player_said_2(look, compact_case) && (player.main_object_source == CAT_HOTSPOT))
text_show(60329);
// For the next two checks, the second part of the check wasn't surrounded par parenthesis, which was obviously wrong
else if (player_said_1(look) && (player_said_1(bra) || player_said_1(boa) || player_said_1(slip)))
@@ -169,7 +169,7 @@ static void room_603_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_603_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room604.cpp b/engines/mads/nebular/rooms/room604.cpp
index 5931db9f756..ece3c1fca98 100644
--- a/engines/mads/nebular/rooms/room604.cpp
+++ b/engines/mads/nebular/rooms/room604.cpp
@@ -285,7 +285,7 @@ static void room_604_parser() {
local._bombMode = 2;
handleBombActions();
}
- } else if (_action._lookFlag)
+ } else if (player.look_around)
text_show(60411);
else if (player_said_2(look, viewport)) {
if (local._monsterActive) {
@@ -308,7 +308,7 @@ static void room_604_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_604_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room607.cpp b/engines/mads/nebular/rooms/room607.cpp
index 659b94a093d..5cc284940b4 100644
--- a/engines/mads/nebular/rooms/room607.cpp
+++ b/engines/mads/nebular/rooms/room607.cpp
@@ -428,7 +428,7 @@ static void room_607_parser() {
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x2F6));
}
handleThrowingBone();
- } else if (_action._lookFlag || player_said_2(look, street)) {
+ } else if (player.look_around || player_said_2(look, street)) {
if ((_globals[kDogStatus] == DOG_PRESENT) || (game.difficulty == DIFFICULTY_EASY))
text_show(60710);
else
@@ -476,7 +476,7 @@ static void room_607_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_607_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room608.cpp b/engines/mads/nebular/rooms/room608.cpp
index 97e073312f2..c76dc22ab35 100644
--- a/engines/mads/nebular/rooms/room608.cpp
+++ b/engines/mads/nebular/rooms/room608.cpp
@@ -927,7 +927,7 @@ static void room_608_parser() {
default:
break;
}
- } else if (_action._lookFlag) {
+ } else if (player.look_around) {
if (game.difficulty != DIFFICULTY_HARD)
text_show(60810);
else if (_globals[kDogStatus] == DOG_DEAD)
@@ -967,7 +967,7 @@ static void room_608_parser() {
text_show(60824);
} else if (player_said_2(open, storage_box))
text_show(60826);
- else if (player_said_2(look, rearview_mirror) && (_action._mainObjectSource == CAT_HOTSPOT))
+ else if (player_said_2(look, rearview_mirror) && (player.main_object_source == CAT_HOTSPOT))
text_show(60828);
else if (player_said_2(look, tool_box)) {
if (object[OBJ_POLYCEMENT].location == _scene->_currentSceneId)
@@ -989,7 +989,7 @@ static void room_608_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_608_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room609.cpp b/engines/mads/nebular/rooms/room609.cpp
index e9c7673a8bf..553fa894c3f 100644
--- a/engines/mads/nebular/rooms/room609.cpp
+++ b/engines/mads/nebular/rooms/room609.cpp
@@ -330,7 +330,7 @@ static void room_609_parser() {
default:
break;
}
- } else if (_action._lookFlag)
+ } else if (player.look_around)
text_show(60910);
else if (player_said_2(look, street))
text_show(60911);
@@ -356,7 +356,7 @@ static void room_609_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_609_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room610.cpp b/engines/mads/nebular/rooms/room610.cpp
index cfedfccee38..94195094e1c 100644
--- a/engines/mads/nebular/rooms/room610.cpp
+++ b/engines/mads/nebular/rooms/room610.cpp
@@ -173,7 +173,7 @@ static void room_610_parser() {
text_show(61013);
else if (player_said_2(look, video_store))
text_show(61014);
- else if (_action._lookFlag)
+ else if (player.look_around)
text_show(61015);
else if (player_said_2(look, logo))
text_show(61018);
@@ -192,14 +192,14 @@ static void room_610_parser() {
text_show(61024);
else if (player_said_2(look, spotlight))
text_show(61025);
- else if (player_said_2(look, phone_handset) && (_action._mainObjectSource == CAT_HOTSPOT))
+ else if (player_said_2(look, phone_handset) && (player.main_object_source == CAT_HOTSPOT))
text_show(61026);
else if (player_said_2(look, phone_cradle))
text_show(61027);
else if (player_said_2(look, return_slot))
text_show(61028);
else if (player_said_2(put, return_slot)
- && player_has(object_named(_action._activeAction._objectNameId)))
+ && player_has(object_named(player2.words[1])))
text_show(61029);
else if (player_said_1(classic_videos) || player_said_1(more_classic_videos) || player_said_1(drama_videos)
|| player_said_1(new_release_videos) || player_said_1(porno_videos) || player_said_1(educational_videos)
@@ -214,7 +214,7 @@ static void room_610_parser() {
} else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_610_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room611.cpp b/engines/mads/nebular/rooms/room611.cpp
index 40d3c0ee570..cdc0fcd0920 100644
--- a/engines/mads/nebular/rooms/room611.cpp
+++ b/engines/mads/nebular/rooms/room611.cpp
@@ -619,7 +619,7 @@ static void displayHermitQuestions(int question) {
}
static void handleSubDialog1() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 0x287:
local._stickFingerFl = true;
local._nextFrame = 34;
@@ -833,7 +833,7 @@ static void handleSubDialog1() {
}
static void handleSubDialog2() {
- switch (_action._activeAction._verbId) {
+ switch (player2.words[0]) {
case 0x29C:
displayHermitQuestions(7);
setDialogNode(1);
@@ -874,7 +874,7 @@ static void handleDialog() {
_scene->_kernelMessages.reset();
player.commands_allowed = false;
- const char *curQuote = quote_string(kernel.quotes, _action._activeAction._verbId);
+ const char *curQuote = quote_string(kernel.quotes, player2.words[0]);
int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
if (width > 200) {
@@ -882,9 +882,9 @@ static void handleDialog() {
quote_split_string(curQuote, subQuote1, subQuote2);
_scene->_kernelMessages.add(Common::Point(0, -14), 0x1110, 34, 0, 150, subQuote1);
- if (_action._activeAction._verbId == 0x29D)
+ if (player2.words[0] == 0x29D)
_scene->_kernelMessages.add(Common::Point(-18, 0), 0x1110, 34, 1, 150, subQuote2);
- else if (_action._activeAction._verbId == 0x28A)
+ else if (player2.words[0] == 0x28A)
_scene->_kernelMessages.add(Common::Point(-10, 0), 0x1110, 34, 1, 150, subQuote2);
else
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 1, 150, subQuote2);
@@ -1344,7 +1344,7 @@ static void room_611_parser() {
if (inter_input_mode == kInputConversation)
handleDialog();
else if ((player_said_3(give, phone_cells, hermit)) || (player_said_3(give, durafail_cells, hermit))) {
- _action._activeAction._verbId = 0x294;
+ player2.words[0] = 0x294;
local._giveBatteriesFl = true;
handleSubDialog1();
} else if (player_said_2(give, hermit)) {
@@ -1428,7 +1428,7 @@ static void room_611_parser() {
default:
break;
}
- } else if (_action._lookFlag) {
+ } else if (player.look_around) {
if (_globals[kHasTalkedToHermit])
text_show(61111);
else
@@ -1460,7 +1460,7 @@ static void room_611_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_611_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room612.cpp b/engines/mads/nebular/rooms/room612.cpp
index b282d128bf7..04978080167 100644
--- a/engines/mads/nebular/rooms/room612.cpp
+++ b/engines/mads/nebular/rooms/room612.cpp
@@ -205,7 +205,7 @@ static void room_612_parser() {
local._cycleIndex = -2;
local._actionMode = 1;
handleWinchMovement();
- } else if (_action._lookFlag || player_said_2(look, expressway))
+ } else if (player.look_around || player_said_2(look, expressway))
text_show(61210);
else if (player_said_2(look, rope) || player_said_2(look, armature)) {
if (_globals[kBoatRaised])
@@ -240,7 +240,7 @@ static void room_612_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_612_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room701.cpp b/engines/mads/nebular/rooms/room701.cpp
index c5d12d14726..55412ba84c8 100644
--- a/engines/mads/nebular/rooms/room701.cpp
+++ b/engines/mads/nebular/rooms/room701.cpp
@@ -343,7 +343,7 @@ static void room_701_parser() {
default:
break;
}
- } else if (_action._lookFlag) {
+ } else if (player.look_around) {
if (_globals[kBoatStatus] != BOAT_GONE) {
if (_globals[kBoatStatus] == BOAT_TIED)
text_show(70128);
@@ -382,7 +382,7 @@ static void room_701_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_701_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room702.cpp b/engines/mads/nebular/rooms/room702.cpp
index 4243ef7f670..1aeed6ceca6 100644
--- a/engines/mads/nebular/rooms/room702.cpp
+++ b/engines/mads/nebular/rooms/room702.cpp
@@ -76,7 +76,7 @@ static void room_702_parser() {
player.commands_allowed = false;
player.walker_visible = false;
_scene->_nextSceneId = 711;
- } else if (player_said_2(take, bones) && (_action._mainObjectSource == CAT_HOTSPOT) && (!player_has(OBJ_BONES) || kernel.trigger)) {
+ } else if (player_said_2(take, bones) && (player.main_object_source == CAT_HOTSPOT) && (!player_has(OBJ_BONES) || kernel.trigger)) {
switch (kernel.trigger) {
case 0:
player.commands_allowed = false;
@@ -101,7 +101,7 @@ static void room_702_parser() {
default:
break;
}
- } else if (_action._lookFlag)
+ } else if (player.look_around)
text_show(70210);
else if (player_said_2(look, platform))
text_show(70211);
@@ -115,9 +115,9 @@ static void room_702_parser() {
text_show(70215);
else if (player_said_2(look, teleporter))
text_show(70216);
- else if (player_said_2(look, bones) && (_action._mainObjectSource == CAT_HOTSPOT))
+ else if (player_said_2(look, bones) && (player.main_object_source == CAT_HOTSPOT))
text_show(70217);
- else if (player_said_2(take, bones) && (_action._mainObjectSource == CAT_HOTSPOT)) {
+ else if (player_said_2(take, bones) && (player.main_object_source == CAT_HOTSPOT)) {
if (player_has(OBJ_BONES))
text_show(70219);
} else if (player_said_2(look, submerged_city))
@@ -125,7 +125,7 @@ static void room_702_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_702_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room703.cpp b/engines/mads/nebular/rooms/room703.cpp
index e413787d22b..f0f4864a804 100644
--- a/engines/mads/nebular/rooms/room703.cpp
+++ b/engines/mads/nebular/rooms/room703.cpp
@@ -491,7 +491,7 @@ static void room_703_daemon() {
static void room_703_parser() {
if (inter_input_mode == kInputConversation)
- handleFillBottle(_action._activeAction._verbId);
+ handleFillBottle(player2.words[0]);
else if (player_said_2(steer_towards, dock_to_south)) {
player.commands_allowed = false;
if (_globals[kMonsterAlive])
@@ -548,7 +548,7 @@ static void room_703_parser() {
local._dialog1.start();
} else
text_show(70323);
- } else if (_action._lookFlag || player_said_2(look, sea_monster)) {
+ } else if (player.look_around || player_said_2(look, sea_monster)) {
if (_globals[kMonsterAlive])
text_show(70310);
} else if (player_said_2(look, water)) {
@@ -568,7 +568,7 @@ static void room_703_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_703_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room704.cpp b/engines/mads/nebular/rooms/room704.cpp
index 80e3e2894ef..51a32f0d3f9 100644
--- a/engines/mads/nebular/rooms/room704.cpp
+++ b/engines/mads/nebular/rooms/room704.cpp
@@ -321,7 +321,7 @@ static void room_704_daemon() {
static void room_704_parser() {
if (inter_input_mode == kInputConversation)
- handleFillBottle(_action._activeAction._verbId);
+ handleFillBottle(player2.words[0]);
else if (player_said_2(steer_towards, open_water_to_south)) {
player.commands_allowed = false;
if (local._boatDirection == 1)
@@ -353,7 +353,7 @@ static void room_704_parser() {
} else
text_show(70323);
}
- } else if (_action._lookFlag || player_said_2(look, water))
+ } else if (player.look_around || player_said_2(look, water))
text_show(70410);
else if (player_said_2(look, building_to_north)) {
if (player_has_been_in_room(710))
@@ -362,7 +362,7 @@ static void room_704_parser() {
text_show(70412);
} else if (player_said_2(look, volcano_rim))
text_show(70413);
- else if (player_said_2(look, bottle) && (_action._mainObjectSource == CAT_HOTSPOT))
+ else if (player_said_2(look, bottle) && (player.main_object_source == CAT_HOTSPOT))
text_show(70414);
else if (player_said_2(look, open_water_to_south))
text_show(70416);
@@ -371,7 +371,7 @@ static void room_704_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_704_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room705.cpp b/engines/mads/nebular/rooms/room705.cpp
index db2ac487421..4807556868e 100644
--- a/engines/mads/nebular/rooms/room705.cpp
+++ b/engines/mads/nebular/rooms/room705.cpp
@@ -227,7 +227,7 @@ static void room_705_daemon() {
static void room_705_parser() {
if (inter_input_mode == kInputConversation)
- handleFillBottle(_action._activeAction._verbId);
+ handleFillBottle(player2.words[0]);
else if (player_said_2(steer_towards, open_water_to_south)) {
switch (kernel.trigger) {
case 0:
@@ -282,7 +282,7 @@ static void room_705_parser() {
local._dialog1.start();
} else
text_show(70323);
- } else if (_action._lookFlag || player_said_2(look, water))
+ } else if (player.look_around || player_said_2(look, water))
text_show(70511);
else if (player_said_2(look, volcano_rim))
text_show(70512);
@@ -297,7 +297,7 @@ static void room_705_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_705_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room706.cpp b/engines/mads/nebular/rooms/room706.cpp
index 21b3cae7072..6c84bf7093a 100644
--- a/engines/mads/nebular/rooms/room706.cpp
+++ b/engines/mads/nebular/rooms/room706.cpp
@@ -219,13 +219,13 @@ static void room_706_parser() {
player.commands_allowed = false;
player.walker_visible = false;
_scene->_nextSceneId = 707;
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
if (player_said_2(exit, room)) {
_scene->_nextSceneId = 705;
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -237,7 +237,7 @@ static void room_706_parser() {
handleTakeVase();
local._emptyPedestral = true;
}
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -247,26 +247,26 @@ static void room_706_parser() {
if (!player_has(OBJ_VASE) || kernel.trigger) {
local._vaseMode = 1;
handleTakeVase();
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
} else if (object_is_here(OBJ_VASE) || kernel.trigger) {
local._animationMode = 2;
handleRexDeath();
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
}
- if (player_said_2(put, pedestal) && player_has(object_named(_action._activeAction._objectNameId))) {
- int objectId = object_named(_action._activeAction._objectNameId);
+ if (player_said_2(put, pedestal) && player_has(object_named(player2.words[1]))) {
+ int objectId = object_named(player2.words[1]);
if (object_has_quality(objectId, 10))
text_show(70626);
else
text_show(70627);
} else if (player_said_2(take, bottle) && player_has(OBJ_VASE))
text_show(70631);
- else if (_action._lookFlag) {
+ else if (player.look_around) {
if (object[OBJ_VASE].location == _scene->_currentSceneId)
text_show(70610);
else
@@ -298,12 +298,12 @@ static void room_706_parser() {
text_show(70623);
else if (player_said_2(look, vase) && (object[OBJ_VASE].location == _scene->_currentSceneId))
text_show(70624);
- else if (player_said_2(look, bottle) && (_action._mainObjectSource == CAT_HOTSPOT))
+ else if (player_said_2(look, bottle) && (player.main_object_source == CAT_HOTSPOT))
text_show(70632);
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_706_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room707.cpp b/engines/mads/nebular/rooms/room707.cpp
index acc08ea7d45..40fb1c0b24a 100644
--- a/engines/mads/nebular/rooms/room707.cpp
+++ b/engines/mads/nebular/rooms/room707.cpp
@@ -49,7 +49,7 @@ static void room_707_daemon() {
static void room_707_parser() {
if (teleporter_parser()) {
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -67,12 +67,12 @@ static void room_707_parser() {
|| player_said_2(look, smile_key) || player_said_2(look, enter_key)
|| player_said_2(look, frown_key))
text_show(70713);
- else if (player_said_2(look, device) || _action._lookFlag)
+ else if (player_said_2(look, device) || player.look_around)
text_show(70714);
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_707_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room710.cpp b/engines/mads/nebular/rooms/room710.cpp
index 064d68e3738..0f4715f4417 100644
--- a/engines/mads/nebular/rooms/room710.cpp
+++ b/engines/mads/nebular/rooms/room710.cpp
@@ -63,7 +63,7 @@ static void room_710_parser() {
else
_scene->_nextSceneId = 751;
- _action._inProgress = false;
+ player.command_ready = false;
}
}
diff --git a/engines/mads/nebular/rooms/room711.cpp b/engines/mads/nebular/rooms/room711.cpp
index b87215d5169..0053ed2b3e5 100644
--- a/engines/mads/nebular/rooms/room711.cpp
+++ b/engines/mads/nebular/rooms/room711.cpp
@@ -53,7 +53,7 @@ static void room_711_daemon() {
static void room_711_parser() {
if (teleporter_parser())
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_711_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room751.cpp b/engines/mads/nebular/rooms/room751.cpp
index 5caa5e4c67e..08efbc7357c 100644
--- a/engines/mads/nebular/rooms/room751.cpp
+++ b/engines/mads/nebular/rooms/room751.cpp
@@ -330,7 +330,7 @@ static void room_751_parser() {
break;
}
}
- } else if (_action._lookFlag || player_said_2(look, city))
+ } else if (player.look_around || player_said_2(look, city))
text_show(75110);
else if (player_said_2(look, elevator))
text_show(75112);
@@ -358,7 +358,7 @@ static void room_751_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_751_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room752.cpp b/engines/mads/nebular/rooms/room752.cpp
index 199d106a129..18e0827cab1 100644
--- a/engines/mads/nebular/rooms/room752.cpp
+++ b/engines/mads/nebular/rooms/room752.cpp
@@ -141,7 +141,7 @@ static void room_752_parser() {
default:
break;
}
- } else if (player_said_2(take, bones) && (_action._savedFields._mainObjectSource == CAT_HOTSPOT) &&
+ } else if (player_said_2(take, bones) && (player.main_object_source == CAT_HOTSPOT) &&
(!player_has(OBJ_BONES) || kernel.trigger)) {
switch (kernel.trigger) {
case 0:
@@ -167,7 +167,7 @@ static void room_752_parser() {
default:
break;
}
- } else if (_action._lookFlag || player_said_2(look, city)) {
+ } else if (player.look_around || player_said_2(look, city)) {
if (_globals[kLaserHoleIsThere])
text_show(75212);
else
@@ -184,18 +184,18 @@ static void room_752_parser() {
text_show(75217);
else if (player_said_2(look, teleporter))
text_show(75218);
- else if ((player_said_2(look, bones) || player_said_2(look, id_card)) && (_action._mainObjectSource == CAT_HOTSPOT)) {
+ else if ((player_said_2(look, bones) || player_said_2(look, id_card)) && (player.main_object_source == CAT_HOTSPOT)) {
if (object[OBJ_ID_CARD].location == 752)
text_show(75219);
else
text_show(75220);
- } else if (player_said_2(take, bones) && (_action._savedFields._mainObjectSource == CAT_HOTSPOT)) {
+ } else if (player_said_2(take, bones) && (player.main_object_source == CAT_HOTSPOT)) {
if (player_has(OBJ_BONES))
text_show(75222);
} else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_752_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room801.cpp b/engines/mads/nebular/rooms/room801.cpp
index ac98521a6e1..3cbb3d5555d 100644
--- a/engines/mads/nebular/rooms/room801.cpp
+++ b/engines/mads/nebular/rooms/room801.cpp
@@ -247,7 +247,7 @@ static void room_801_parser() {
text_show(80111);
else if (player_said_2(look, teleporter))
text_show(80112);
- else if (player_said_2(look, equipment) || _action._lookFlag)
+ else if (player_said_2(look, equipment) || player.look_around)
text_show(80113);
else if (player_said_2(look, speaker))
text_show(80114);
@@ -260,7 +260,7 @@ static void room_801_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_801_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room802.cpp b/engines/mads/nebular/rooms/room802.cpp
index c7cefafd0f9..a89cde29050 100644
--- a/engines/mads/nebular/rooms/room802.cpp
+++ b/engines/mads/nebular/rooms/room802.cpp
@@ -194,16 +194,16 @@ static void room_802_parser() {
break;
}
} else if (!_globals[kRemoteOnGround] && (player_has(OBJ_SHIELD_MODULATOR) || _globals[kShieldModInstalled])
- && (player_said_2(look, launch_pad) || _action._lookFlag))
+ && (player_said_2(look, launch_pad) || player.look_around))
text_show(80210);
else if (!_globals[kRemoteOnGround] && !player_has(OBJ_SHIELD_MODULATOR) && !_globals[kShieldModInstalled]
- && (player_said_2(look, launch_pad) || _action._lookFlag))
+ && (player_said_2(look, launch_pad) || player.look_around))
text_show(80211);
else if (_globals[kRemoteOnGround] && !player_has(OBJ_SHIELD_MODULATOR) && !_globals[kShieldModInstalled]
- && (player_said_2(look, launch_pad) || _action._lookFlag))
+ && (player_said_2(look, launch_pad) || player.look_around))
text_show(80213);
else if (_globals[kRemoteOnGround] && (player_has(OBJ_SHIELD_MODULATOR) || _globals[kShieldModInstalled])
- && (player_said_2(look, launch_pad) || _action._lookFlag))
+ && (player_said_2(look, launch_pad) || player.look_around))
text_show(80212);
else if (!player_has(OBJ_SHIELD_MODULATOR) && !_globals[kShieldModInstalled] && player_said_2(look, shield_modulator))
text_show(80214);
@@ -229,7 +229,7 @@ static void room_802_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_802_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room803.cpp b/engines/mads/nebular/rooms/room803.cpp
index 10ec1f5e86d..867d972eff7 100644
--- a/engines/mads/nebular/rooms/room803.cpp
+++ b/engines/mads/nebular/rooms/room803.cpp
@@ -307,7 +307,7 @@ static void room_803_parser() {
_globals[kBeamIsUp] = false;
} else if (player_said_2(look, launch_pad))
text_show(80310);
- else if (_action._lookFlag)
+ else if (player.look_around)
text_show(80310);
else if (player_said_2(look, pad_to_west))
text_show(80311);
@@ -331,7 +331,7 @@ static void room_803_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_803_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room804.cpp b/engines/mads/nebular/rooms/room804.cpp
index 92b9ae4d515..014db273ea6 100644
--- a/engines/mads/nebular/rooms/room804.cpp
+++ b/engines/mads/nebular/rooms/room804.cpp
@@ -306,7 +306,7 @@ static void room_804_parser() {
text_show(80423);
player.commands_allowed = true;
} else {
- _action._inProgress = false;
+ player.command_ready = false;
text_show(80424);
local._pullThrottleReally = true;
@@ -333,7 +333,7 @@ static void room_804_parser() {
}
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(2, 90);
- } else if (_action._lookFlag) {
+ } else if (player.look_around) {
text_show(80410);
} else if ((player_said_2(look, window)) ||
(player_said_2(look_out, window))) {
@@ -367,7 +367,7 @@ static void room_804_parser() {
} else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_804_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room805.cpp b/engines/mads/nebular/rooms/room805.cpp
index 170af8486f0..e814b1096cd 100644
--- a/engines/mads/nebular/rooms/room805.cpp
+++ b/engines/mads/nebular/rooms/room805.cpp
@@ -139,7 +139,7 @@ static void room_805_parser() {
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_805_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room807.cpp b/engines/mads/nebular/rooms/room807.cpp
index eb0f8771fae..de25e85ee79 100644
--- a/engines/mads/nebular/rooms/room807.cpp
+++ b/engines/mads/nebular/rooms/room807.cpp
@@ -48,7 +48,7 @@ static void room_807_daemon() {
static void room_807_parser() {
if (teleporter_parser()) {
- _action._inProgress = false;
+ player.command_ready = false;
return;
}
@@ -67,12 +67,12 @@ static void room_807_parser() {
|| player_said_2(look, 9_key) || player_said_2(look, 0_key)
|| player_said_2(look, smile_key) || player_said_2(look, frown_key))
text_show(80713);
- else if (player_said_2(look, device) && _action._lookFlag)
+ else if (player_said_2(look, device) && player.look_around)
text_show(80714);
else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_807_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room808.cpp b/engines/mads/nebular/rooms/room808.cpp
index 48fd4b36e91..e6da81ce4c3 100644
--- a/engines/mads/nebular/rooms/room808.cpp
+++ b/engines/mads/nebular/rooms/room808.cpp
@@ -234,7 +234,7 @@ static void room_808_parser() {
} else
return;
- _action._inProgress = false;
+ player.command_ready = false;
}
void room_808_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/teleporter.cpp b/engines/mads/nebular/rooms/teleporter.cpp
index 31aa47731d9..b6a9cf28425 100644
--- a/engines/mads/nebular/rooms/teleporter.cpp
+++ b/engines/mads/nebular/rooms/teleporter.cpp
@@ -276,7 +276,7 @@ bool teleporter_parser() {
if (player_said_1(press) || player_said_1(push)) {
static int _buttonList[12] = { words_0_key, words_1_key, words_2_key, words_3_key, words_4_key, words_5_key, words_6_key, words_7_key, words_8_key, words_9_key, words_smile_key, words_frown_key };
for (int i = 0; i < 12; i++) {
- if (_action._activeAction._objectNameId == _buttonList[i])
+ if (player2.words[1] == _buttonList[i])
_buttonTyped = i;
}
teleporter_handle_key();
diff --git a/engines/mads/nebular/rooms/thunks.cpp b/engines/mads/nebular/rooms/thunks.cpp
index 2a6ee593be6..5a31a2551d2 100644
--- a/engines/mads/nebular/rooms/thunks.cpp
+++ b/engines/mads/nebular/rooms/thunks.cpp
@@ -30,7 +30,6 @@ namespace MADS {
namespace RexNebular {
namespace Rooms {
-Action _action;
Globals _globals;
Scene _scene;
diff --git a/engines/mads/nebular/rooms/thunks.h b/engines/mads/nebular/rooms/thunks.h
index ef36bf7d8ed..46ba3540f19 100644
--- a/engines/mads/nebular/rooms/thunks.h
+++ b/engines/mads/nebular/rooms/thunks.h
@@ -122,27 +122,6 @@ enum StoryMode {
#define kernel_animation_next_clock kernel_anim[0].next_clock
#endif
-struct Action {
- struct ActiveAction {
- int &_verbId = player2.words[0];
- int &_objectNameId = player2.words[1];
- int &_indirectObjectId = player2.words[2];
- };
- ActiveAction _activeAction;
-
- struct SavedFields {
- int &_lookFlag = player.look_around;
- int &_mainObjectSource = player.main_object_source;
- };
- SavedFields _savedFields;
-
- int &_mainObjectSource = player.main_object_source;
- int &_lookFlag = player.look_around;
- int &_inProgress = player.command_ready;
- int &_commandSource = player.command_source;
-};
-extern Action _action;
-
struct Globals {
int16 _spriteIndexes[30];
int16 _sequenceIndexes[30];
Commit: 32b83e620696e13c5016b3518f0eaa5f14042c4a
https://github.com/scummvm/scummvm/commit/32b83e620696e13c5016b3518f0eaa5f14042c4a
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:53+10:00
Commit Message:
MADS: NEBULAR: Refactor Globals thunk
Changed paths:
engines/mads/nebular/global.cpp
engines/mads/nebular/global.h
engines/mads/nebular/rooms/room101.cpp
engines/mads/nebular/rooms/room102.cpp
engines/mads/nebular/rooms/room103.cpp
engines/mads/nebular/rooms/room104.cpp
engines/mads/nebular/rooms/room105.cpp
engines/mads/nebular/rooms/room106.cpp
engines/mads/nebular/rooms/room107.cpp
engines/mads/nebular/rooms/room108.cpp
engines/mads/nebular/rooms/room109.cpp
engines/mads/nebular/rooms/room110.cpp
engines/mads/nebular/rooms/room111.cpp
engines/mads/nebular/rooms/room112.cpp
engines/mads/nebular/rooms/room201.cpp
engines/mads/nebular/rooms/room202.cpp
engines/mads/nebular/rooms/room203.cpp
engines/mads/nebular/rooms/room205.cpp
engines/mads/nebular/rooms/room207.cpp
engines/mads/nebular/rooms/room208.cpp
engines/mads/nebular/rooms/room209.cpp
engines/mads/nebular/rooms/room210.cpp
engines/mads/nebular/rooms/room211.cpp
engines/mads/nebular/rooms/room213.cpp
engines/mads/nebular/rooms/room214.cpp
engines/mads/nebular/rooms/room215.cpp
engines/mads/nebular/rooms/room301.cpp
engines/mads/nebular/rooms/room303.cpp
engines/mads/nebular/rooms/room304.cpp
engines/mads/nebular/rooms/room307.cpp
engines/mads/nebular/rooms/room308.cpp
engines/mads/nebular/rooms/room309.cpp
engines/mads/nebular/rooms/room310.cpp
engines/mads/nebular/rooms/room311.cpp
engines/mads/nebular/rooms/room313.cpp
engines/mads/nebular/rooms/room316.cpp
engines/mads/nebular/rooms/room318.cpp
engines/mads/nebular/rooms/room319.cpp
engines/mads/nebular/rooms/room320.cpp
engines/mads/nebular/rooms/room321.cpp
engines/mads/nebular/rooms/room322.cpp
engines/mads/nebular/rooms/room351.cpp
engines/mads/nebular/rooms/room352.cpp
engines/mads/nebular/rooms/room353.cpp
engines/mads/nebular/rooms/room354.cpp
engines/mads/nebular/rooms/room357.cpp
engines/mads/nebular/rooms/room358.cpp
engines/mads/nebular/rooms/room359.cpp
engines/mads/nebular/rooms/room360.cpp
engines/mads/nebular/rooms/room361.cpp
engines/mads/nebular/rooms/room388.cpp
engines/mads/nebular/rooms/room389.cpp
engines/mads/nebular/rooms/room391.cpp
engines/mads/nebular/rooms/room399.cpp
engines/mads/nebular/rooms/room401.cpp
engines/mads/nebular/rooms/room402.cpp
engines/mads/nebular/rooms/room405.cpp
engines/mads/nebular/rooms/room406.cpp
engines/mads/nebular/rooms/room407.cpp
engines/mads/nebular/rooms/room408.cpp
engines/mads/nebular/rooms/room409.cpp
engines/mads/nebular/rooms/room410.cpp
engines/mads/nebular/rooms/room411.cpp
engines/mads/nebular/rooms/room413.cpp
engines/mads/nebular/rooms/room501.cpp
engines/mads/nebular/rooms/room502.cpp
engines/mads/nebular/rooms/room503.cpp
engines/mads/nebular/rooms/room504.cpp
engines/mads/nebular/rooms/room505.cpp
engines/mads/nebular/rooms/room506.cpp
engines/mads/nebular/rooms/room507.cpp
engines/mads/nebular/rooms/room508.cpp
engines/mads/nebular/rooms/room511.cpp
engines/mads/nebular/rooms/room512.cpp
engines/mads/nebular/rooms/room513.cpp
engines/mads/nebular/rooms/room551.cpp
engines/mads/nebular/rooms/room601.cpp
engines/mads/nebular/rooms/room602.cpp
engines/mads/nebular/rooms/room603.cpp
engines/mads/nebular/rooms/room604.cpp
engines/mads/nebular/rooms/room605.cpp
engines/mads/nebular/rooms/room607.cpp
engines/mads/nebular/rooms/room608.cpp
engines/mads/nebular/rooms/room609.cpp
engines/mads/nebular/rooms/room610.cpp
engines/mads/nebular/rooms/room611.cpp
engines/mads/nebular/rooms/room612.cpp
engines/mads/nebular/rooms/room620.cpp
engines/mads/nebular/rooms/room701.cpp
engines/mads/nebular/rooms/room702.cpp
engines/mads/nebular/rooms/room703.cpp
engines/mads/nebular/rooms/room704.cpp
engines/mads/nebular/rooms/room705.cpp
engines/mads/nebular/rooms/room706.cpp
engines/mads/nebular/rooms/room707.cpp
engines/mads/nebular/rooms/room710.cpp
engines/mads/nebular/rooms/room711.cpp
engines/mads/nebular/rooms/room751.cpp
engines/mads/nebular/rooms/room752.cpp
engines/mads/nebular/rooms/room801.cpp
engines/mads/nebular/rooms/room802.cpp
engines/mads/nebular/rooms/room803.cpp
engines/mads/nebular/rooms/room804.cpp
engines/mads/nebular/rooms/room805.cpp
engines/mads/nebular/rooms/room807.cpp
engines/mads/nebular/rooms/room808.cpp
engines/mads/nebular/rooms/section1.cpp
engines/mads/nebular/rooms/section2.cpp
engines/mads/nebular/rooms/teleporter.cpp
engines/mads/nebular/rooms/thunks.cpp
engines/mads/nebular/rooms/thunks.h
diff --git a/engines/mads/nebular/global.cpp b/engines/mads/nebular/global.cpp
index 3f27835a1e7..ef2cdd11cbc 100644
--- a/engines/mads/nebular/global.cpp
+++ b/engines/mads/nebular/global.cpp
@@ -35,6 +35,9 @@ namespace MADS {
namespace RexNebular {
namespace Rooms {
+int16 g_sprite_ids[30];
+int16 g_sequence_ids[30];
+
// Section preloads
extern void section_1_preload();
extern void section_2_preload();
diff --git a/engines/mads/nebular/global.h b/engines/mads/nebular/global.h
index 3eea86078e2..b590fd8ad07 100644
--- a/engines/mads/nebular/global.h
+++ b/engines/mads/nebular/global.h
@@ -28,6 +28,11 @@
namespace MADS {
namespace RexNebular {
+namespace Rooms {
+extern int16 g_sprite_ids[30];
+extern int16 g_sequence_ids[30];
+} // namespace Rooms
+
enum GlobalId {
kSexOfRex = 0,
kOldSexOfRex = 1,
diff --git a/engines/mads/nebular/rooms/room101.cpp b/engines/mads/nebular/rooms/room101.cpp
index 3857417981e..84216582efd 100644
--- a/engines/mads/nebular/rooms/room101.cpp
+++ b/engines/mads/nebular/rooms/room101.cpp
@@ -50,17 +50,17 @@ static void room_101_say_dang() {
switch (kernel.trigger) {
case 0:
- _scene->_sequences.remove(_globals._sequenceIndexes[11]);
- _globals._sequenceIndexes[11] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[11], false, 3, 6, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 17, 21);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ _scene->_sequences.remove(g_sequence_ids[11]);
+ g_sequence_ids[11] = _scene->_sequences.startPingPongCycle(g_sprite_ids[11], false, 3, 6, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 21);
+ _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
g_engine->_soundManager->command(17, 0);
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 3, 2, 0, 0);
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 3, 2, 0, 0);
break;
case 72:
- _globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 17, 17);
+ g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 6, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 17);
_scene->_kernelMessages.add(Common::Point(143, 61), 0x1110, 0, 0, 60, quote_string(kernel.quotes, 57));
_scene->_sequences.addTimer(120, 73);
break;
@@ -76,37 +76,37 @@ static void room_101_say_dang() {
}
static void room_101_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('x', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 3));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('x', 4));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('x', 5));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('x', 6));
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites(kernel_name('x', 7));
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('m', -1));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('b', 1));
- _globals._spriteIndexes[10] = _scene->_sprites.addSprites(kernel_name('b', 2));
- _globals._spriteIndexes[11] = _scene->_sprites.addSprites(kernel_name('a', 0));
- _globals._spriteIndexes[12] = _scene->_sprites.addSprites(kernel_name('a', 1));
- _globals._spriteIndexes[13] = _scene->_sprites.addSprites(kernel_name('x', 8));
- _globals._spriteIndexes[14] = _scene->_sprites.addSprites(kernel_name('x', 0));
-
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 5, 0, 0, 25);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 4, 0, 1, 0);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 0, 2, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_SPRITE, 7, 70);
- _globals._sequenceIndexes[4] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[4], false, 10, 0, 0, 60);
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 5, 0, 1, 0);
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 10, 0, 2, 0);
- _globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 6, 0, 0, 0);
- _globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6, 0, 10, 4);
- _globals._sequenceIndexes[10] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[10], false, 6, 0, 32, 47);
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 2));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 3));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('x', 4));
+ g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('x', 5));
+ g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('x', 6));
+ g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('x', 7));
+ g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('m', -1));
+ g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('b', 1));
+ g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_name('b', 2));
+ g_sprite_ids[11] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[12] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[13] = _scene->_sprites.addSprites(kernel_name('x', 8));
+ g_sprite_ids[14] = _scene->_sprites.addSprites(kernel_name('x', 0));
+
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 5, 0, 0, 25);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 4, 0, 1, 0);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 2, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 7, 70);
+ g_sequence_ids[4] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[4], false, 10, 0, 0, 60);
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 5, 0, 1, 0);
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 10, 0, 2, 0);
+ g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 6, 0, 0, 0);
+ g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 6, 0, 10, 4);
+ g_sequence_ids[10] = _scene->_sequences.addSpriteCycle(g_sprite_ids[10], false, 6, 0, 32, 47);
_scene->_hotspots.activate(words_shield_modulator, false);
local._panelOpened = false;
if (_scene->_priorSceneId != RETURNING_FROM_LOADING)
- _globals[kNeedToStandUp] = false;
+ global[kNeedToStandUp] = false;
if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
player.x = 100;
@@ -119,20 +119,20 @@ static void room_101_init() {
player.x = 161;
player.y = 123;
player.facing = FACING_NORTHEAST;
- _globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 3, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 17, 17);
+ g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 3, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 17);
_scene->_hotspots.activate(words_chair, false);
local._chairHotspotId = _scene->_dynamicHotspots.add(words_chair, words_sit_in, -1, Common::Rect(159, 84, 159 + 33, 84 + 36));
if (_scene->_priorSceneId == 112)
room_101_say_dang();
} else {
- _globals._sequenceIndexes[12] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[12], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[12], 4);
+ g_sequence_ids[12] = _scene->_sequences.addSpriteCycle(g_sprite_ids[12], false, 6, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[12], 4);
}
kernel.quotes = quote_load(0x31, 0x32, 0x39, 0x36, 0x37, 0x38, 0);
- if (_globals[kNeedToStandUp]) {
+ if (global[kNeedToStandUp]) {
_scene->loadAnimation(kernel_full_name(101, 'S', -1, "", EXT_AA), 71);
player.walker_visible = false;
player.commands_allowed = false;
@@ -164,7 +164,7 @@ static void room_101_daemon() {
break;
case 71:
- _globals[kNeedToStandUp] = false;
+ global[kNeedToStandUp] = false;
player.walker_visible = true;
player.commands_allowed = true;
player.clock = _scene->_frameStartTime - player.frame_delay;
@@ -225,10 +225,10 @@ static void room_101_pre_parser() {
case 0:
player.ready_to_walk = false;
player.commands_allowed = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[11]);
- _globals._sequenceIndexes[11] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[11], false, 3, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 1, 17);
+ _scene->_sequences.remove(g_sequence_ids[11]);
+ g_sequence_ids[11] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[11], false, 3, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ _scene->_sequences.setAnimRange(g_sequence_ids[11], 1, 17);
g_engine->_soundManager->command(16, 0);
break;
@@ -239,8 +239,8 @@ static void room_101_pre_parser() {
player.ready_to_walk = true;
_scene->_hotspots.activate(71, true);
_scene->_dynamicHotspots.remove(local._chairHotspotId);
- _globals._sequenceIndexes[12] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[12], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[12], 4);
+ g_sequence_ids[12] = _scene->_sequences.addSpriteCycle(g_sprite_ids[12], false, 6, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[12], 4);
break;
default:
@@ -253,10 +253,10 @@ static void room_101_pre_parser() {
switch (kernel.trigger) {
case 0:
if (player.need_to_walk) {
- _scene->_sequences.remove(_globals._sequenceIndexes[13]);
+ _scene->_sequences.remove(g_sequence_ids[13]);
local._shieldSpriteIdx = object_is_here(OBJ_SHIELD_MODULATOR) ? 13 : 14;
- _globals._sequenceIndexes[13] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[local._shieldSpriteIdx], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[13] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[local._shieldSpriteIdx], false, 6, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
}
@@ -291,11 +291,11 @@ static void room_101_parser() {
if (!local._sittingFl) {
switch (kernel.trigger) {
case 0:
- _scene->_sequences.remove(_globals._sequenceIndexes[12]);
- _globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 3, 1);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 1, 17);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_SPRITE, 10, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.remove(g_sequence_ids[12]);
+ g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 3, 1);
+ _scene->_sequences.setAnimRange(g_sequence_ids[11], 1, 17);
+ _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_SPRITE, 10, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
player.commands_allowed = false;
player.walker_visible = false;
player.command_ready = false;
@@ -306,8 +306,8 @@ static void room_101_parser() {
break;
case 2:
- _globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 3, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 17, 17);
+ g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 3, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 17);
player.commands_allowed = true;
local._sittingFl = true;
_scene->_hotspots.activate(71, false);
@@ -333,16 +333,16 @@ static void room_101_parser() {
switch (kernel.trigger) {
case 0:
local._shieldSpriteIdx = object_is_here(OBJ_SHIELD_MODULATOR) ? 13 : 14;
- _globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[local._shieldSpriteIdx], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[local._shieldSpriteIdx], false, 6, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
break;
case 1:
- _scene->_sequences.remove(_globals._sequenceIndexes[13]);
- _globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[local._shieldSpriteIdx], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], -2, -2);
+ _scene->_sequences.remove(g_sequence_ids[13]);
+ g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[local._shieldSpriteIdx], false, 6, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], -2, -2);
player.commands_allowed = true;
local._panelOpened = true;
if (object_is_here(OBJ_SHIELD_MODULATOR))
@@ -358,9 +358,9 @@ static void room_101_parser() {
if ((player_said_2(take, shield_modulator) || player_said_2(pull, shield_modulator)) && object_is_here(OBJ_SHIELD_MODULATOR)) {
inter_give_to_player(OBJ_SHIELD_MODULATOR);
- _scene->_sequences.remove(_globals._sequenceIndexes[13]);
- _globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[14], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], -2, -2);
+ _scene->_sequences.remove(g_sequence_ids[13]);
+ g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[14], false, 6, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], -2, -2);
_scene->_hotspots.activate(words_shield_modulator, false);
object_examine(OBJ_SHIELD_MODULATOR, 10120, 0);
g_engine->_soundManager->command(22, 0);
@@ -388,35 +388,35 @@ static void room_101_parser() {
}
if (player_said_2(look, view_screen) && local._sittingFl) {
- if (_globals[kWatchedViewScreen])
+ if (global[kWatchedViewScreen])
room_101_say_dang();
else {
switch (kernel.trigger) {
case 0:
player.commands_allowed = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[11]);
- _globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 3, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 17, 21);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ _scene->_sequences.remove(g_sequence_ids[11]);
+ g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 3, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 21);
+ _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
g_engine->_soundManager->command(17, 0);
break;
case 1:
- _globals._sequenceIndexes[11] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[11], false, 3, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 17, 21);
+ g_sequence_ids[11] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[11], false, 3, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 21);
break;
case 2:
- _globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 3, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[11], 17, 17);
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 3, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 3, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 17);
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 3, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
player.commands_allowed = true;
- _globals[kWatchedViewScreen] = true;
+ global[kWatchedViewScreen] = true;
local._sittingFl = true;
_scene->_nextSceneId = 112;
break;
diff --git a/engines/mads/nebular/rooms/room102.cpp b/engines/mads/nebular/rooms/room102.cpp
index 1b12dda2d65..61adec505fe 100644
--- a/engines/mads/nebular/rooms/room102.cpp
+++ b/engines/mads/nebular/rooms/room102.cpp
@@ -55,43 +55,43 @@ static void addRandomMessage() {
static void room_102_init() {
section_1_music();
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('x', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 3));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('x', 4));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('x', 5));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('b', -1));
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites(kernel_name('c', -1));
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('e', -1));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('n', -1));
- _globals._spriteIndexes[10] = _scene->_sprites.addSprites(kernel_name('g', -1));
- _globals._spriteIndexes[11] = _scene->_sprites.addSprites("*RXMRC_8");
- _globals._spriteIndexes[13] = _scene->_sprites.addSprites(kernel_name('x', 0));
-
- _globals._sequenceIndexes[1] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[1], false, 8, 0, 0, 0);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 170, 0, 1, 6);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 11, 0, 2, 3);
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 4, 0, 1, 0);
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 3, 0, 0, 5);
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 2));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 3));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('x', 4));
+ g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('x', 5));
+ g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('b', -1));
+ g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('e', -1));
+ g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('n', -1));
+ g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_name('g', -1));
+ g_sprite_ids[11] = _scene->_sprites.addSprites("*RXMRC_8");
+ g_sprite_ids[13] = _scene->_sprites.addSprites(kernel_name('x', 0));
+
+ g_sequence_ids[1] = _scene->_sequences.startPingPongCycle(g_sprite_ids[1], false, 8, 0, 0, 0);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 170, 0, 1, 6);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 11, 0, 2, 3);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 4, 0, 1, 0);
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 3, 0, 0, 5);
if (object_is_here(OBJ_BINOCULARS))
- _globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 24, 0, 0, 24);
+ g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 24, 0, 0, 24);
else
_scene->_hotspots.activate(words_binoculars, false);
_scene->_hotspots.activate(words_burger, false);
- if (_globals[kMedicineCabinetOpen]) {
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 6, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[8], -2, -2);
+ if (global[kMedicineCabinetOpen]) {
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 6, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[8], -2, -2);
}
if (_scene->_priorSceneId == 101) {
player.x = 229;
player.y = 109;
player.commands_allowed = false;
- _globals._sequenceIndexes[6] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[6], false, 6, 1, 2, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ g_sequence_ids[6] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[6], false, 6, 1, 2, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
} else if (_scene->_priorSceneId == 103) {
player.x = 47;
player.y = 152;
@@ -103,17 +103,17 @@ static void room_102_init() {
}
if (_scene->_priorSceneId != 106) {
- if (_globals[kWaterInAPuddle]) {
- _globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], -2, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 5);
+ if (global[kWaterInAPuddle]) {
+ g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 6, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], -2, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 5);
}
} else {
player.commands_allowed = false;
player.walker_visible = false;
- _globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 5);
+ g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 6, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 5);
g_engine->_soundManager->command(24, 0);
g_engine->_soundManager->command(28, 0);
}
@@ -136,9 +136,9 @@ static void room_102_daemon() {
player.commands_allowed = true;
if (kernel.trigger == 72) {
- _globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], -2, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 5);
+ g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 6, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], -2, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 5);
_scene->_sequences.addTimer(48, 90);
}
@@ -148,7 +148,7 @@ static void room_102_daemon() {
player.commands_allowed = false;
player.walker_visible = false;
- _globals[kWaterInAPuddle] = true;
+ global[kWaterInAPuddle] = true;
g_engine->_soundManager->command(24, 0);
} else {
g_engine->_soundManager->command(23, 0);
@@ -189,10 +189,10 @@ static void room_102_pre_parser() {
switch (kernel.trigger) {
case 0:
if (player.need_to_walk) {
- _scene->_sequences.remove(_globals._sequenceIndexes[7]);
- _globals._sequenceIndexes[7] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[7], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[7], 15);
+ _scene->_sequences.remove(g_sequence_ids[7]);
+ g_sequence_ids[7] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[7], false, 6, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[7], 15);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
}
@@ -200,7 +200,7 @@ static void room_102_pre_parser() {
case 1:
if (object_is_here(OBJ_BURGER)) {
- _scene->_sequences.remove(_globals._sequenceIndexes[10]);
+ _scene->_sequences.remove(g_sequence_ids[10]);
_scene->_hotspots.activate(words_burger, false);
}
local._fridgeOpenedFl = false;
@@ -227,12 +227,12 @@ static void room_102_parser() {
if (player_said_1(refrigerator) && !local._fridgeOpenedFl) {
switch (kernel.trigger) {
case 0:
- _globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[7], 15);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 6, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[7], 15);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
if (object_is_here(OBJ_BURGER)) {
- _globals._sequenceIndexes[10] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[10], false, 7, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[10], 14);
+ g_sequence_ids[10] = _scene->_sequences.addSpriteCycle(g_sprite_ids[10], false, 7, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[10], 14);
}
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
@@ -240,9 +240,9 @@ static void room_102_parser() {
return;
case 1:
- _globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], -2, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[7], 15);
+ g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 6, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[7], -2, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[7], 15);
int delay;
if (player_said_1(walkto) && !local._fridgeFirstOpenFl)
delay = 0;
@@ -307,8 +307,8 @@ static void room_102_parser() {
if (player_said_2(walk_through, door)) {
switch (kernel.trigger) {
case 0:
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 6, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
break;
@@ -505,7 +505,7 @@ static void room_102_parser() {
}
if (player_said_2(look, medicine_cabinet)) {
- if (_globals[kMedicineCabinetOpen])
+ if (global[kMedicineCabinetOpen])
text_show(10207);
else
text_show(10206);
@@ -514,12 +514,12 @@ static void room_102_parser() {
return;
}
- if (player_said_2(close, medicine_cabinet) && _globals[kMedicineCabinetOpen]) {
+ if (player_said_2(close, medicine_cabinet) && global[kMedicineCabinetOpen]) {
switch (kernel.trigger) {
case 0:
- _scene->_sequences.remove(_globals._sequenceIndexes[8]);
- _globals._sequenceIndexes[8] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[8], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ _scene->_sequences.remove(g_sequence_ids[8]);
+ g_sequence_ids[8] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[8], false, 6, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(21, 0);
break;
@@ -530,7 +530,7 @@ static void room_102_parser() {
case 2:
player.commands_allowed = true;
- _globals[kMedicineCabinetOpen] = false;
+ global[kMedicineCabinetOpen] = false;
text_show(10209);
break;
@@ -541,30 +541,30 @@ static void room_102_parser() {
return;
}
- if (player_said_2(open, medicine_cabinet) && !_globals[kMedicineCabinetOpen]) {
+ if (player_said_2(open, medicine_cabinet) && !global[kMedicineCabinetOpen]) {
switch (kernel.trigger) {
case 0:
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 6, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(21, 0);
break;
case 1:
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[8], -2, -2);
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 6, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[8], -2, -2);
_scene->_sequences.addTimer(48, 2);
break;
case 2:
player.commands_allowed = true;
- _globals[kMedicineCabinetOpen] = true;
- if (_globals[kMedicineCabinetVirgin]) {
+ global[kMedicineCabinetOpen] = true;
+ if (global[kMedicineCabinetVirgin]) {
text_show(10208);
} else {
text_show(10207);
}
- _globals[kMedicineCabinetVirgin] = false;
+ global[kMedicineCabinetVirgin] = false;
break;
default:
@@ -577,16 +577,16 @@ static void room_102_parser() {
if (player_said_2(take, binoculars) && object_is_here(OBJ_BINOCULARS)) {
switch (kernel.trigger) {
case 0:
- _globals._sequenceIndexes[11] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[11], false, 3, 1, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[11]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[11] = _scene->_sequences.startPingPongCycle(g_sprite_ids[11], false, 3, 1, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[11]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.walker_visible = false;
player.commands_allowed = false;
break;
case 1:
inter_give_to_player(OBJ_BINOCULARS);
- _scene->_sequences.remove(_globals._sequenceIndexes[9]);
+ _scene->_sequences.remove(g_sequence_ids[9]);
_scene->_hotspots.activate(words_binoculars, false);
player.walker_visible = true;
player.commands_allowed = true;
@@ -604,7 +604,7 @@ static void room_102_parser() {
if (player_said_2(take, burger) && object_is_here(OBJ_BURGER)) {
if (kernel.trigger == 0) {
object_examine(OBJ_BURGER, 10235, 0);
- _scene->_sequences.remove(_globals._sequenceIndexes[10]);
+ _scene->_sequences.remove(g_sequence_ids[10]);
inter_give_to_player(OBJ_BURGER);
_scene->_hotspots.activate(words_burger, false);
g_engine->_soundManager->command(22, 0);
diff --git a/engines/mads/nebular/rooms/room103.cpp b/engines/mads/nebular/rooms/room103.cpp
index f4061c885d2..32ddc789367 100644
--- a/engines/mads/nebular/rooms/room103.cpp
+++ b/engines/mads/nebular/rooms/room103.cpp
@@ -41,49 +41,49 @@ static Scratch local;
static void room_103_init() {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('x', 0));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('x', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 3));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('x', 4));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('x', 5));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('b', -1));
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites(kernel_name('h', -1));
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('m', -1));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('t', -1));
- _globals._spriteIndexes[10] = _scene->_sprites.addSprites(kernel_name('r', -1));
- _globals._spriteIndexes[11] = _scene->_sprites.addSprites(kernel_name('c', -1));
- _globals._spriteIndexes[12] = _scene->_sprites.addSprites("*RXMBD_2");
- _globals._spriteIndexes[13] = _scene->_sprites.addSprites("*RXMRD_3");
- _globals._spriteIndexes[15] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 7, 0, 1, 0);
-
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 6, 0, 2, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 0);
-
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 6, 0, 0, 25);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_SPRITE, 2, 72);
-
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 0, 1, 37);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_SPRITE, 2, 73);
-
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 8);
- _globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 6);
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 6);
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 6);
+ g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 2));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 3));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('x', 4));
+ g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('x', 5));
+ g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('b', -1));
+ g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('h', -1));
+ g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('m', -1));
+ g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('t', -1));
+ g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_name('r', -1));
+ g_sprite_ids[11] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ g_sprite_ids[12] = _scene->_sprites.addSprites("*RXMBD_2");
+ g_sprite_ids[13] = _scene->_sprites.addSprites("*RXMRD_3");
+ g_sprite_ids[15] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 7, 0, 1, 0);
+
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 2, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 0);
+
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 0, 25);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 2, 72);
+
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 1, 37);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 2, 73);
+
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8);
+ g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 6);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6);
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 6);
if (object_is_here(OBJ_TIMER_MODULE))
- _globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 6);
+ g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 6);
else
_scene._hotspots.activate(371, false);
if (object_is_here(OBJ_REBREATHER))
- _globals._sequenceIndexes[10] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[10], false, 6);
+ g_sequence_ids[10] = _scene->_sequences.addSpriteCycle(g_sprite_ids[10], false, 6);
else
_scene._hotspots.activate(289, false);
- if (_globals[kTurkeyExploded]) {
- _globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[9], -2, -2);
+ if (global[kTurkeyExploded]) {
+ g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 6);
+ _scene->_sequences.setAnimRange(g_sequence_ids[9], -2, -2);
_scene->_hotspots.activate(362, false);
}
@@ -94,8 +94,8 @@ static void room_103_init() {
if (_scene->_priorSceneId == 102) {
player.commands_allowed = false;
- _globals._sequenceIndexes[6] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[6], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ g_sequence_ids[6] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[6], false, 6, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
}
section_1_music();
@@ -168,8 +168,8 @@ static void room_103_parser() {
else if (player_said_2(walk_through, door)) {
switch (kernel.trigger) {
case 0:
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 6, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 6, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
break;
@@ -187,16 +187,16 @@ static void room_103_parser() {
switch (kernel.trigger) {
case 0:
_scene->changeVariant(1);
- _globals._sequenceIndexes[13] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[13], false, 3, 2);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[13]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_SPRITE, 7, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[13] = _scene->_sequences.startPingPongCycle(g_sprite_ids[13], false, 3, 2);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[13]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_SPRITE, 7, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
player.walker_visible = false;
player.commands_allowed = false;
break;
case 1:
- _scene->_sequences.remove(_globals._sequenceIndexes[11]);
+ _scene->_sequences.remove(g_sequence_ids[11]);
break;
case 2:
@@ -216,16 +216,16 @@ static void room_103_parser() {
} else if (player_said_2(take, rebreather) && object_is_here(OBJ_REBREATHER)) {
switch (kernel.trigger) {
case 0:
- _globals._sequenceIndexes[12] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[12], false, 3, 2);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[12]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[12], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[12] = _scene->_sequences.startPingPongCycle(g_sprite_ids[12], false, 3, 2);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[12]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
player.walker_visible = false;
player.commands_allowed = false;
break;
case 1:
- _scene->_sequences.remove(_globals._sequenceIndexes[10]);
+ _scene->_sequences.remove(g_sequence_ids[10]);
break;
case 2:
@@ -248,10 +248,10 @@ static void room_103_parser() {
g_engine->_soundManager->command(31, 0);
if (kernel.trigger < 2) {
- _globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6, kernel.trigger < 1 ? 1 : 0);
+ g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 6, kernel.trigger < 1 ? 1 : 0);
if (kernel.trigger) {
// Lock the turkey into a permanent "exploded" frame
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[9], -2, -2);
+ _scene->_sequences.setAnimRange(g_sequence_ids[9], -2, -2);
// Rex says "Gads.."
const char *msg = quote_string(kernel.quotes, 51);
@@ -259,13 +259,13 @@ static void room_103_parser() {
_scene->_sequences.addTimer(120, kernel.trigger + 1);
} else {
// Initial turky explosion
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
}
}
// Re-enable player if sequence is ended, and set global flag
player.commands_allowed = kernel.trigger == 2;
- _globals[kTurkeyExploded] = -1;
+ global[kTurkeyExploded] = -1;
if (kernel.trigger == 2) {
// Show exposition dialog at end of sequence
@@ -273,7 +273,7 @@ static void room_103_parser() {
_scene->_hotspots.activate(362, false);
}
} else if (player_said_2(look, oven))
- text_show(!_globals[kTurkeyExploded] ? 10323 : 10303);
+ text_show(!global[kTurkeyExploded] ? 10323 : 10303);
else if (player_said_2(talkto, auxiliary_power)) {
switch (kernel.trigger) {
case 0:
diff --git a/engines/mads/nebular/rooms/room104.cpp b/engines/mads/nebular/rooms/room104.cpp
index cb590e5cf6f..953c8946f7b 100644
--- a/engines/mads/nebular/rooms/room104.cpp
+++ b/engines/mads/nebular/rooms/room104.cpp
@@ -40,9 +40,9 @@ struct Scratch {
static Scratch local;
static void room_104_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('h', -1));
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 14, 0, 0, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 8);
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('h', -1));
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 14, 0, 0, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 8);
if (_scene->_priorSceneId == 105) {
player.x = 302;
@@ -89,18 +89,18 @@ static void room_104_daemon() {
_scene->resetScene();
player.commands_allowed = false;
player.walker_visible = false;
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('a', 0));
kernel_new_palette();
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], mirrorFl, 7, 1, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(198, 143));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 4);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], mirrorFl, 7, 1, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(198, 143));
+ _scene->_sequences.setDepth(g_sequence_ids[2], 4);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], mirrorFl, 7, 0, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(198, 143));
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], -2, -2);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], mirrorFl, 7, 0, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(198, 143));
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], -2, -2);
_scene->_sequences.addTimer(90, 2);
break;
@@ -122,27 +122,27 @@ static void room_104_daemon() {
_scene->resetScene();
player.commands_allowed = false;
player.walker_visible = false;
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('a', 1));
kernel_new_palette();
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 1, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[3], Common::Point(198, 143));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 4);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 1, 14);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 1, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(198, 143));
+ _scene->_sequences.setDepth(g_sequence_ids[3], 4);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 14);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 5, 1, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[3], Common::Point(198, 143));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 4);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 15, 32);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 5, 1, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(198, 143));
+ _scene->_sequences.setDepth(g_sequence_ids[3], 4);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 15, 32);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 3, 0, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[3], Common::Point(198, 143));
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], -2, -2);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 3, 0, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(198, 143));
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], -2, -2);
_scene->_sequences.addTimer(90, 3);
break;
@@ -164,20 +164,20 @@ static void room_104_daemon() {
_scene->resetScene();
player.commands_allowed = false;
player.walker_visible = false;
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('a', 2));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('a', 2));
kernel_new_palette();
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 8, 1, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(198, 143));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 4);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 8, 1, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(198, 143));
+ _scene->_sequences.setDepth(g_sequence_ids[4], 4);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
if (config_file.naughtiness >= STORYMODE_NICE)
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_SPRITE, 15, 2);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 15, 2);
break;
case 1:
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 8, 0, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(198, 143));
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], -2, -2);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 8, 0, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(198, 143));
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], -2, -2);
_scene->_sequences.addTimer(90, 2);
break;
diff --git a/engines/mads/nebular/rooms/room105.cpp b/engines/mads/nebular/rooms/room105.cpp
index 07ff7f5739a..0f46efe2a01 100644
--- a/engines/mads/nebular/rooms/room105.cpp
+++ b/engines/mads/nebular/rooms/room105.cpp
@@ -39,15 +39,15 @@ static Scratch local;
static void room_105_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('m', 1));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('f', 4));
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 8, 0, 0, 0);
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('m', 1));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('f', 4));
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 8, 0, 0, 0);
- if (_globals[kFishIn105]) {
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(48, 144));
+ if (global[kFishIn105]) {
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 0, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(48, 144));
- int idx = _scene->_dynamicHotspots.add(words_dead_fish, words_swim_to, _globals._sequenceIndexes[4], Common::Rect(0, 0, 0, 0));
+ int idx = _scene->_dynamicHotspots.add(words_dead_fish, words_swim_to, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(56, 141), FACING_NORTHWEST);
}
@@ -76,38 +76,38 @@ static void room_105_daemon() {
player.commands_allowed = false;
player.walker_visible = false;
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('m', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('m', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('m', 3));
+ g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('m', 0));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('m', 2));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('m', 3));
g_engine->_soundManager->command(33, 0);
_scene->clearSequenceList();
kernel_new_palette();
- _globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[0], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[0], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
if (config_file.naughtiness >= STORYMODE_NICE)
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_SPRITE, 8, 3);
+ _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, 8, 3);
break;
case 1:
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 8);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], -2, -2);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 9, 1, 0, 0);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], _globals._sequenceIndexes[0]);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 8);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 5, 7);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 8);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], -2, -2);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 9, 1, 0, 0);
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], g_sequence_ids[0]);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 8);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 5, 7);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
{
- int oldIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 9, 0, 0, 0);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], oldIdx);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 8);
+ int oldIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 9, 0, 0, 0);
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 8);
_scene->_sequences.addTimer(90, 3);
}
break;
@@ -147,15 +147,15 @@ static void room_105_pre_parser() {
static void room_105_parser() {
if (player.look_around)
text_show(10512);
- else if (player_said_2(take, dead_fish) && _globals[kFishIn105]) {
+ else if (player_said_2(take, dead_fish) && global[kFishIn105]) {
if (player_has(OBJ_DEAD_FISH)) {
int randVal = g_engine->getRandomNumber(74, 76);
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, randVal));
} else {
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
+ _scene->_sequences.remove(g_sequence_ids[4]);
inter_give_to_player(OBJ_DEAD_FISH);
- _globals[kFishIn105] = false;
+ global[kFishIn105] = false;
object_examine(OBJ_DEAD_FISH, 802, 0);
}
} else if (player_said_2(look, western_cliff_face))
diff --git a/engines/mads/nebular/rooms/room106.cpp b/engines/mads/nebular/rooms/room106.cpp
index dbeb83c2c9c..bce9e73298a 100644
--- a/engines/mads/nebular/rooms/room106.cpp
+++ b/engines/mads/nebular/rooms/room106.cpp
@@ -42,21 +42,21 @@ static Scratch local;
static void room_106_init() {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('H', -1));
+ g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('H', -1));
if (player_has(OBJ_REBREATHER) || (_scene->_priorSceneId != 102) || _scene->_roomChanged) {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('A', 0));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('A', 1));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('A', 0));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('A', 1));
}
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('G', -1));
- _globals._sequenceIndexes[2] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[2], false, 21, 0, 0, 0);
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('I', -1));
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 6, 0, 32, 47);
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('G', -1));
+ g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 21, 0, 0, 0);
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('I', -1));
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 0, 32, 47);
if (_scene->_priorSceneId == 102) {
- _globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 6, 1, 4, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 1, 4, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
player.walker_visible = false;
player.commands_allowed = false;
player.facing = FACING_EAST;
@@ -81,9 +81,9 @@ static void room_106_init() {
}
if (_scene->_priorSceneId != 102) {
- _globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[0], -2, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[0], 14);
+ g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[0], -2, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[0], 14);
}
local._backToShipFl = false;
@@ -96,15 +96,15 @@ static void room_106_init() {
static void room_106_daemon() {
if (kernel.trigger == 70) {
- _globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[0], -2, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[0], 14);
+ g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[0], -2, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[0], 14);
if (!player_has(OBJ_REBREATHER) && !_scene->_roomChanged) {
_scene->loadAnimation(kernel_full_name(106, 'A', -1, "", EXT_AA), 75);
} else {
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 4, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_SPRITE, 28, 71);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 4, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 28, 71);
}
}
@@ -169,9 +169,9 @@ static void room_106_daemon() {
if (!local._shadowFl) {
if (player.x < 204) {
local._shadowFl = true;
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 4, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_SPRITE, 44, 73);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 4, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 44, 73);
}
} else if (kernel.trigger == 73)
player.walker_visible = false;
diff --git a/engines/mads/nebular/rooms/room107.cpp b/engines/mads/nebular/rooms/room107.cpp
index d557a59aa64..b90d3c1f1b4 100644
--- a/engines/mads/nebular/rooms/room107.cpp
+++ b/engines/mads/nebular/rooms/room107.cpp
@@ -40,22 +40,22 @@ static Scratch local;
static void room_107_init() {
for (int i = 0; i < 3; i++)
- _globals._spriteIndexes[i + 1] = _scene->_sprites.addSprites(kernel_name('G', i));
+ g_sprite_ids[i + 1] = _scene->_sprites.addSprites(kernel_name('G', i));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_full_name(105, 'f', 4, "", EXT_SS));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_full_name(105, 'f', 4, "", EXT_SS));
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 14, 0, 0, 7);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 17, 0, 0, 13);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 19, 0, 0, 9);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 14, 0, 0, 7);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 17, 0, 0, 13);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 19, 0, 0, 9);
for (int i = 1; i < 4; i++)
- _scene->_sequences.setDepth(_globals._sequenceIndexes[i], 0);
+ _scene->_sequences.setDepth(g_sequence_ids[i], 0);
- if (_globals[kFishIn107]) {
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(68, 151));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 1);
- int idx = _scene->_dynamicHotspots.add(words_dead_fish, words_swim_to, _globals._sequenceIndexes[4], Common::Rect(0, 0, 0, 0));
+ if (global[kFishIn107]) {
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 0, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(68, 151));
+ _scene->_sequences.setDepth(g_sequence_ids[4], 1);
+ int idx = _scene->_dynamicHotspots.add(words_dead_fish, words_swim_to, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(78, 135), FACING_SOUTHWEST);
}
@@ -73,12 +73,12 @@ static void room_107_init() {
}
if (((_scene->_priorSceneId == 105) || (_scene->_priorSceneId == 106)) && (g_engine->getRandomNumber(1, 3) == 1)) {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_full_name(105, 'R', 1, "", EXT_SS));
- _globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], true, 4, 0, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[0], Common::Point(270, 150));
- _scene->_sequences.setMotion(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_SPRITE, -200, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[0], 2);
- _scene->_dynamicHotspots.add(words_manta_ray, words_swim_to, _globals._sequenceIndexes[0], Common::Rect(0, 0, 0, 0));
+ g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_full_name(105, 'R', 1, "", EXT_SS));
+ g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], true, 4, 0, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[0], Common::Point(270, 150));
+ _scene->_sequences.setMotion(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, -200, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[0], 2);
+ _scene->_dynamicHotspots.add(words_manta_ray, words_swim_to, g_sequence_ids[0], Common::Rect(0, 0, 0, 0));
}
kernel.quotes = quote_load(0x4A, 0x4B, 0x4C, 0x35, 0x34, 0);
@@ -110,15 +110,15 @@ static void room_107_pre_parser() {
static void room_107_parser() {
if (player.look_around)
text_show(10708);
- else if (player_said_2(take, dead_fish) && _globals[kFishIn107]) {
+ else if (player_said_2(take, dead_fish) && global[kFishIn107]) {
if (player_has(OBJ_DEAD_FISH)) {
int randVal = g_engine->getRandomNumber(74, 76);
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, randVal));
} else {
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
+ _scene->_sequences.remove(g_sequence_ids[4]);
inter_give_to_player(OBJ_DEAD_FISH);
- _globals[kFishIn107] = false;
+ global[kFishIn107] = false;
object_examine(OBJ_DEAD_FISH, 802, 0);
}
} else if (player_said_2(swim_towards, northern_sea_cliff))
diff --git a/engines/mads/nebular/rooms/room108.cpp b/engines/mads/nebular/rooms/room108.cpp
index a603679e10b..3799f5ad84c 100644
--- a/engines/mads/nebular/rooms/room108.cpp
+++ b/engines/mads/nebular/rooms/room108.cpp
@@ -32,27 +32,27 @@ namespace RexNebular {
namespace Rooms {
static void room_108_init() {
- if (_globals[kHoovicSated] == 2)
- _globals[kHoovicSated] = 0;
+ if (global[kHoovicSated] == 2)
+ global[kHoovicSated] = 0;
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('X', 3));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_full_name(105, 'f', 4, "", EXT_SS));
+ g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('X', 3));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_full_name(105, 'f', 4, "", EXT_SS));
- _globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 13, 0, 0, 7);
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 16, 0, 0, 9);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 17, 0, 0, 3);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 14, 0, 0, 13);
+ g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 13, 0, 0, 7);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 16, 0, 0, 9);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 17, 0, 0, 3);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 14, 0, 0, 13);
for (int i = 0; i <= 3; i++)
- _scene->_sequences.setDepth(_globals._sequenceIndexes[i], 0);
+ _scene->_sequences.setDepth(g_sequence_ids[i], 0);
- if (_globals[kFishIn108]) {
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(41, 109));
- int idx = _scene->_dynamicHotspots.add(words_dead_fish, words_swim_to, _globals._sequenceIndexes[4], Common::Rect(0, 0, 0, 0));
+ if (global[kFishIn108]) {
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 0, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(41, 109));
+ int idx = _scene->_dynamicHotspots.add(words_dead_fish, words_swim_to, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(41, 109), FACING_NORTHWEST);
}
@@ -81,15 +81,15 @@ static void room_108_pre_parser() {
static void room_108_parser() {
if (player.look_around)
text_show(10812);
- else if (player_said_2(take, dead_fish) && _globals[kFishIn108]) {
+ else if (player_said_2(take, dead_fish) && global[kFishIn108]) {
if (player_has(OBJ_DEAD_FISH)) {
int randVal = g_engine->getRandomNumber(74, 76);
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, randVal));
} else {
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
+ _scene->_sequences.remove(g_sequence_ids[4]);
inter_give_to_player(OBJ_DEAD_FISH);
- _globals[kFishIn108] = false;
+ global[kFishIn108] = false;
object_examine(OBJ_DEAD_FISH, 10808, 0);
}
} else if (player_said_2(swim_towards, open_area_to_north))
diff --git a/engines/mads/nebular/rooms/room109.cpp b/engines/mads/nebular/rooms/room109.cpp
index 7a0f47c0b7e..acd60bfc072 100644
--- a/engines/mads/nebular/rooms/room109.cpp
+++ b/engines/mads/nebular/rooms/room109.cpp
@@ -49,13 +49,13 @@ static Scratch local;
static void room_109_init() {
- _globals[kFishIn105] = true;
+ global[kFishIn105] = true;
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites("*RXSWRC_6");
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('O', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('O', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('O', 0));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('H', 4));
+ g_sprite_ids[0] = _scene->_sprites.addSprites("*RXSWRC_6");
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('O', 1));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('O', 2));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('O', 0));
+ g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('H', 4));
local._rexThrowingObject = false;
local._throwingObjectId = 0;
@@ -66,17 +66,17 @@ static void room_109_init() {
if (_scene->_priorSceneId == 110) {
player.x = 248;
player.y = 38;
- _globals[kHoovicSated] = 2;
+ global[kHoovicSated] = 2;
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
player.x = 20;
player.y = 68;
player.facing = FACING_EAST;
}
- if (!_globals[kHoovicAlive]) {
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[6], 4);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], -2, -2);
+ if (!global[kHoovicAlive]) {
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 6, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[6], 4);
+ _scene->_sequences.setAnimRange(g_sequence_ids[6], -2, -2);
int idx = _scene->_dynamicHotspots.add(words_dead_purple_monster, words_swim_to, -1, Common::Rect(256, 57, 267, 87));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(241, 91), FACING_NORTHEAST);
@@ -86,13 +86,13 @@ static void room_109_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(241, 91), FACING_NORTHEAST);
}
- if (!_globals[kHoovicAlive] || _globals[kHoovicSated])
+ if (!global[kHoovicAlive] || global[kHoovicSated])
_scene->changeVariant(1);
if (object_is_here(OBJ_BURGER)) {
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], -2, -2);
- int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], -2, -2);
+ int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
} else if (_scene->_roomChanged)
inter_give_to_player(OBJ_BURGER);
@@ -109,14 +109,14 @@ static void room_109_init() {
local._eatingFirstFish = (!player.been_here_before) && (_scene->_priorSceneId < 110);
if (local._eatingFirstFish) {
- _globals._spriteIndexes[10] = _scene->_sprites.addSprites(kernel_full_name(105, 'F', 1, "", EXT_SS));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('H', 1));
-
- _globals._sequenceIndexes[10] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[10], true, 4, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[10], 5);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[10], Common::Point(126, 39));
- _scene->_sequences.setMotion(_globals._sequenceIndexes[10], 0, 200, 0);
- _scene->_sequences.setScale(_globals._sequenceIndexes[10], 80);
+ g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_full_name(105, 'F', 1, "", EXT_SS));
+ g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('H', 1));
+
+ g_sequence_ids[10] = _scene->_sequences.startPingPongCycle(g_sprite_ids[10], true, 4, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[10], 5);
+ _scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(126, 39));
+ _scene->_sequences.setMotion(g_sequence_ids[10], 0, 200, 0);
+ _scene->_sequences.setScale(g_sequence_ids[10], 80);
player.commands_allowed = false;
}
@@ -127,10 +127,10 @@ static void room_109_daemon() {
if (local._beforeEatingRex) {
if (!local._eatingRex) {
if (player.x > 205) {
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 4);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_SPRITE, 6, 70);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[4], 4);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 70);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
local._eatingRex = true;
g_engine->_soundManager->command(34, 0);
@@ -156,36 +156,36 @@ static void room_109_daemon() {
player.commands_allowed = false;
local._hungryFl = false;
local._beforeEatingRex = true;
- _scene->_sprites.remove(_globals._spriteIndexes[6]);
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('H', 0));
+ _scene->_sprites.remove(g_sprite_ids[6]);
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('H', 0));
kernel_new_palette();
}
- if (player.walking && (_scene->_rails.getNext() > 0) && _globals[kHoovicAlive] && !_globals[kHoovicSated] && !local._hungryFl && !local._beforeEatingRex) {
+ if (player.walking && (_scene->_rails.getNext() > 0) && global[kHoovicAlive] && !global[kHoovicSated] && !local._hungryFl && !local._beforeEatingRex) {
player_cancel_command();
player_start_walking(160, 32, FACING_EAST);
_scene->_rails.resetNext();
local._hungryFl = true;
}
- if (local._eatingFirstFish && (_scene->_sequences[_globals._sequenceIndexes[10]]._position.x >= 178)) {
- _globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 4, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 4);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[9], SEQUENCE_TRIGGER_SPRITE, 29, 72);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[9], SEQUENCE_TRIGGER_EXPIRE, 29, 73);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[10], _globals._sequenceIndexes[9]);
+ if (local._eatingFirstFish && (_scene->_sequences[g_sequence_ids[10]]._position.x >= 178)) {
+ g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 4, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[9], 4);
+ _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_SPRITE, 29, 72);
+ _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 29, 73);
+ _scene->_sequences.updateTimeout(g_sequence_ids[10], g_sequence_ids[9]);
local._eatingFirstFish = false;
player.commands_allowed = true;
g_engine->_soundManager->command(34, 0);
}
if (kernel.trigger == 72)
- _scene->_sequences.remove(_globals._sequenceIndexes[10]);
+ _scene->_sequences.remove(g_sequence_ids[10]);
if (kernel.trigger == 73) {
- _scene->_sequences.remove(_globals._sequenceIndexes[9]);
- _scene->_sprites.remove(_globals._spriteIndexes[9]);
- _scene->_sprites.remove(_globals._spriteIndexes[10]);
+ _scene->_sequences.remove(g_sequence_ids[9]);
+ _scene->_sprites.remove(g_sprite_ids[9]);
+ _scene->_sprites.remove(g_sprite_ids[10]);
_scene->_spriteSlots.clear();
_scene->_spriteSlots.fullRefresh();
@@ -215,7 +215,7 @@ static void room_109_pre_parser() {
}
if ((player_said_2(swim_into, tunnel) || player_said_2(swim_to, small_hole))
- && (!_globals[kHoovicAlive] || _globals[kHoovicSated]) && (player_said_1(tunnel)))
+ && (!global[kHoovicAlive] || global[kHoovicSated]) && (player_said_1(tunnel)))
player.walk_off_edge_to_room = 110;
local._hungryFl = false;
@@ -232,27 +232,27 @@ static void room_109_parser() {
if (player_said_1(dead_fish) || player_said_1(stuffed_fish) || player_said_1(burger)) {
local._throwingObjectId = object_named(player2.words[1]);
if (local._throwingObjectId >= 0) {
- if ((player_has(local._throwingObjectId) && _globals[kHoovicAlive]) || local._rexThrowingObject) {
+ if ((player_has(local._throwingObjectId) && global[kHoovicAlive]) || local._rexThrowingObject) {
switch (kernel.trigger) {
case 0:
local._rexThrowingObject = true;
local._hoovicDifficultFl = false;
inter_move_object(local._throwingObjectId, NOWHERE);
- _globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 4, 1, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[0]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 4, 1, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[0]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.walker_visible = false;
player.commands_allowed = false;
switch (local._throwingObjectId) {
case OBJ_DEAD_FISH:
case OBJ_STUFFED_FISH:
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('H', 1));
+ g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('H', 1));
break;
case OBJ_BURGER:
local._hoovicDifficultFl = (game.difficulty == DIFFICULTY_HARD);
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('H', (local._hoovicDifficultFl ? 3 : 1)));
+ g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('H', (local._hoovicDifficultFl ? 3 : 1)));
break;
default:
@@ -267,24 +267,24 @@ static void room_109_parser() {
local._hoovicTrigger = 4;
switch (local._throwingObjectId) {
case OBJ_BURGER:
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, (local._hoovicDifficultFl ? 4 : 6), 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_SPRITE, 2, 2);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, (local._hoovicDifficultFl ? 4 : 6), 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 2, 2);
if (local._hoovicDifficultFl) {
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 1, 30);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 30);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
} else {
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 1, 4);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 4);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
local._hoovicTrigger = 3;
}
break;
case OBJ_DEAD_FISH:
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 4, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_SPRITE, 2, 2);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 4, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 2, 2);
break;
case OBJ_STUFFED_FISH:
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 4, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_SPRITE, 2, 2);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 4, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 2, 2);
local._hoovicTrigger = 3;
break;
default:
@@ -294,26 +294,26 @@ static void room_109_parser() {
case 2:
if (local._hoovicDifficultFl)
- _globals._sequenceIndexes[8] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[8], false, 4, 2, 0, 0);
+ g_sequence_ids[8] = _scene->_sequences.startPingPongCycle(g_sprite_ids[8], false, 4, 2, 0, 0);
else
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 4, 1, 0, 0);
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 4, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[8], 4);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, local._hoovicTrigger);
+ _scene->_sequences.setDepth(g_sequence_ids[8], 4);
+ _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, local._hoovicTrigger);
g_engine->_soundManager->command(34, 0);
break;
case 3:
_scene->loadAnimation(kernel_full_name(109, 'H', 2, "", EXT_AA), 4);
g_engine->_soundManager->command(35, 0);
- _globals[kHoovicAlive] = false;
+ global[kHoovicAlive] = false;
break;
case 4:
- if (!_globals[kHoovicAlive]) {
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[6], 4);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], -2, -2);
+ if (!global[kHoovicAlive]) {
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 6, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[6], 4);
+ _scene->_sequences.setAnimRange(g_sequence_ids[6], -2, -2);
int idx = _scene->_dynamicHotspots.add(words_dead_purple_monster, words_swim_to, -1, Common::Rect(256, 57, 256 + 12, 57 + 31));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(241, 91), FACING_NORTHEAST);
idx = _scene->_dynamicHotspots.add(words_dead_purple_monster, words_swim_to, -1, Common::Rect(242, 79, 242 + 24, 79 + 12));
@@ -323,7 +323,7 @@ static void room_109_parser() {
_scene->changeVariant(1);
} else {
if (local._throwingObjectId == OBJ_DEAD_FISH) {
- ++_globals[kHoovicFishEaten];
+ ++global[kHoovicFishEaten];
int threshold;
switch (game.difficulty) {
case DIFFICULTY_HARD:
@@ -337,18 +337,18 @@ static void room_109_parser() {
break;
}
- if (_globals[kHoovicFishEaten] >= threshold) {
+ if (global[kHoovicFishEaten] >= threshold) {
int randVal = g_engine->getRandomNumber(83, 84);
_scene->_kernelMessages.add(Common::Point(230, 24), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, randVal));
- _globals[kHoovicFishEaten] = 0;
- _globals[kHoovicSated] = 1;
+ global[kHoovicFishEaten] = 0;
+ global[kHoovicSated] = 1;
_scene->changeVariant(1);
}
}
}
_scene->freeAnimation();
- _scene->_sequences.remove(_globals._sequenceIndexes[8]);
- _scene->_sprites.remove(_globals._spriteIndexes[8]);
+ _scene->_sequences.remove(g_sequence_ids[8]);
+ _scene->_sprites.remove(g_sprite_ids[8]);
_scene->_spriteSlots.clear();
_scene->_spriteSlots.fullRefresh();
_scene->_sequences.scan();
@@ -364,9 +364,9 @@ static void room_109_parser() {
case 5:
{
inter_move_object(OBJ_BURGER, _scene->_currentSceneId);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 30, 30);
- int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 30, 30);
+ int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
_scene->_sequences.addTimer(65, 6);
}
@@ -374,28 +374,28 @@ static void room_109_parser() {
case 6:
{
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 31, 46);
- int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 31, 46);
+ int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
}
break;
case 7:
{
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, -2);
- int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, -2);
+ int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
text_show(10915);
}
break;
case 8:
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 5, 16);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 7, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 5, 16);
break;
default:
@@ -411,7 +411,7 @@ static void room_109_parser() {
}
if (player_said_2(take, burger) && object_is_here(OBJ_BURGER)) {
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
+ _scene->_sequences.remove(g_sequence_ids[3]);
inter_give_to_player(OBJ_BURGER);
} else if (player_said_2(look, ocean_floor))
text_show(10901);
@@ -426,7 +426,7 @@ static void room_109_parser() {
else if (player_said_2(look, cave_wall))
text_show(10906);
else if (player_said_2(look, tunnel)) {
- if (_globals[kHoovicAlive])
+ if (global[kHoovicAlive])
text_show(10907);
else
text_show(10913);
diff --git a/engines/mads/nebular/rooms/room110.cpp b/engines/mads/nebular/rooms/room110.cpp
index 251882b5179..12353de5442 100644
--- a/engines/mads/nebular/rooms/room110.cpp
+++ b/engines/mads/nebular/rooms/room110.cpp
@@ -39,10 +39,10 @@ static Scratch local;
static void room_110_init() {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('X', 3));
+ g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('X', 3));
local._crabsFl = false;
@@ -51,20 +51,20 @@ static void room_110_init() {
player.y = 71;
player.facing = FACING_EAST;
- _globals._sequenceIndexes[0] = _scene->_sequences.startCycle(_globals._spriteIndexes[0], false, 1);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 1);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
+ g_sequence_ids[0] = _scene->_sequences.startCycle(g_sprite_ids[0], false, 1);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
local._crabsFl = true;
- int idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, _globals._sequenceIndexes[0], Common::Rect(0, 0, 0, 0));
+ int idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[0], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, _globals._sequenceIndexes[1], Common::Rect(0, 0, 0, 0));
+ idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, _globals._sequenceIndexes[2], Common::Rect(0, 0, 0, 0));
+ idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
+ idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
player.x = 194;
@@ -96,23 +96,23 @@ static void room_110_pre_parser() {
if (local._crabsFl) {
local._crabsFl = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[0]);
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
+ _scene->_sequences.remove(g_sequence_ids[0]);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ _scene->_sequences.remove(g_sequence_ids[2]);
+ _scene->_sequences.remove(g_sequence_ids[3]);
- _globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 16, 1, 0, 0);
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 16, 1, 0, 0);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 16, 1, 0, 0);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 16, 1, 0, 0);
+ g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 16, 1, 0, 0);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 16, 1, 0, 0);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 16, 1, 0, 0);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 16, 1, 0, 0);
- int idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, _globals._sequenceIndexes[0], Common::Rect(0, 0, 0, 0));
+ int idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[0], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, _globals._sequenceIndexes[1], Common::Rect(0, 0, 0, 0));
+ idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, _globals._sequenceIndexes[2], Common::Rect(0, 0, 0, 0));
+ idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
+ idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
}
}
diff --git a/engines/mads/nebular/rooms/room111.cpp b/engines/mads/nebular/rooms/room111.cpp
index 197531c8a84..dcc1cb9f1e8 100644
--- a/engines/mads/nebular/rooms/room111.cpp
+++ b/engines/mads/nebular/rooms/room111.cpp
@@ -42,30 +42,30 @@ static Scratch local;
static void room_111_init() {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
+ g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('B', 0));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('B', 1));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('B', 2));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('B', 0));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('B', 1));
+ g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('B', 2));
- _globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 8, 0, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_SPRITE, 9, 73);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_SPRITE, 13, 73);
+ g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 8, 0, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, 9, 73);
+ _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, 13, 73);
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 5, 0, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_SPRITE, 71, 71);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 5, 0, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 71, 71);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 0, 0, 0);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 1);
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 1);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 0, 0, 0);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
+ int idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, _globals._sequenceIndexes[4], Common::Rect(0, 0, 0, 0));
+ idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, _globals._sequenceIndexes[5], Common::Rect(0, 0, 0, 0));
+ idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
local._launch1Fl = false;
@@ -105,27 +105,27 @@ static void room_111_daemon() {
if ((kernel.trigger == 71) && !local._stampedFl) {
local._stampedFl = true;
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 18, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 18, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
}
if (kernel.trigger == 72) {
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 20);
+ _scene->_sequences.remove(g_sequence_ids[2]);
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 20);
}
if (!local._launch1Fl && (g_engine->getRandomNumber(1, 5000) == 1)) {
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 5, 1, 0, 0);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 5, 1, 0, 0);
local._launch1Fl = true;
- int idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, _globals._sequenceIndexes[4], Common::Rect(0, 0, 0, 0));
+ int idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
}
if (!local._launched2Fl && (g_engine->getRandomNumber(1, 30000) == 1)) {
- _scene->_sequences.remove(_globals._sequenceIndexes[5]);
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 5, 1, 0, 0);
- int idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, _globals._sequenceIndexes[5], Common::Rect(0, 0, 0, 0));
+ _scene->_sequences.remove(g_sequence_ids[5]);
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 5, 1, 0, 0);
+ int idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
local._launched2Fl = true;
}
diff --git a/engines/mads/nebular/rooms/room112.cpp b/engines/mads/nebular/rooms/room112.cpp
index 6a2adaed8b6..95263d3414c 100644
--- a/engines/mads/nebular/rooms/room112.cpp
+++ b/engines/mads/nebular/rooms/room112.cpp
@@ -34,14 +34,14 @@ namespace Rooms {
static void room_112_init() {
section_1_music();
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('X', 5));
+ g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('X', 5));
- _globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 10, 0, 17, 20);
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 4, 0, 0, 0);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 6, 0, 3, 0);
+ g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 10, 0, 17, 20);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 4, 0, 0, 0);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 3, 0);
player.commands_allowed = false;
player.walker_visible = false;
@@ -61,9 +61,9 @@ static void room_112_daemon() {
}
if (kernel.trigger == 70) {
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 7, 3, 0, 11);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 7, 3, 0, 11);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
if (kernel.trigger == 71) {
diff --git a/engines/mads/nebular/rooms/room201.cpp b/engines/mads/nebular/rooms/room201.cpp
index c8d4cdf83d8..87dba1671b6 100644
--- a/engines/mads/nebular/rooms/room201.cpp
+++ b/engines/mads/nebular/rooms/room201.cpp
@@ -40,19 +40,19 @@ static Scratch local;
static void room_201_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('m', -1));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('b', -1));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites("*SC002Z1");
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 6, 0, 1, 0);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 15, 0, 0, 50);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 4, 0, 0, 0);
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 8);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(185, 46));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('m', -1));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('b', -1));
+ g_sprite_ids[5] = _scene->_sprites.addSprites("*SC002Z1");
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 1, 0);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 15, 0, 0, 50);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 4, 0, 0, 0);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[4], 8);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(185, 46));
- int idx = _scene->_dynamicHotspots.add(words_birds, words_look_at, _globals._sequenceIndexes[4], Common::Rect(0, 0, 0, 0));
+ int idx = _scene->_dynamicHotspots.add(words_birds, words_look_at, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(186, 81), FACING_NORTH);
if ((_scene->_priorSceneId == 202) || (_scene->_priorSceneId == RETURNING_FROM_LOADING)) {
@@ -64,18 +64,18 @@ static void room_201_init() {
player.facing = FACING_SOUTH;
}
- if (_globals[kTeleporterCommand]) {
+ if (global[kTeleporterCommand]) {
player.walker_visible = false;
player.commands_allowed = false;
- int sepChar = (_globals[kSexOfRex] == SEX_MALE) ? 't' : 'u';
+ int sepChar = (global[kSexOfRex] == SEX_MALE) ? 't' : 'u';
// Guess values. What is the default value used by the compiler?
int suffixNum = -1;
int endTrigger = -1;
- switch (_globals[kTeleporterCommand]) {
+ switch (global[kTeleporterCommand]) {
case 1:
suffixNum = 3;
endTrigger = 76;
- _globals[kTeleporterUnderstood] = true;
+ global[kTeleporterUnderstood] = true;
break;
case 2:
suffixNum = 1;
@@ -93,20 +93,20 @@ static void room_201_init() {
default:
break;
}
- _globals[kTeleporterCommand] = 0;
+ global[kTeleporterCommand] = 0;
if (suffixNum >= 0)
_scene->loadAnimation(kernel_name(sepChar, suffixNum), endTrigger);
}
- if ((_scene->_priorSceneId == 202) && (_globals[kMeteorologistStatus] == METEOROLOGIST_PRESENT) && !_scene->_roomChanged) {
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('a', 0));
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ if ((_scene->_priorSceneId == 202) && (global[kMeteorologistStatus] == METEOROLOGIST_PRESENT) && !_scene->_roomChanged) {
+ g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('a', 1));
kernel.quotes = quote_load(90, 91, 0);
player.commands_allowed = false;
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], -1, 12);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_SPRITE, 12, 70);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[6], 1);
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 7, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[6], -1, 12);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_SPRITE, 12, 70);
+ _scene->_sequences.setDepth(g_sequence_ids[6], 1);
local._pterodactylFlag = false;
player_walk(157, 143, FACING_NORTH);
pal_change_color(252, 45, 63, 45);
@@ -115,7 +115,7 @@ static void room_201_init() {
} else
local._pterodactylFlag = true;
- if (_globals[kTeleporterUnderstood])
+ if (global[kTeleporterUnderstood])
_scene->_hotspots.activate(words_strange_device, false);
section_2_music();
@@ -123,25 +123,25 @@ static void room_201_init() {
static void room_201_daemon() {
if (local._pterodactylFlag && (g_engine->getRandomNumber(5000) == 9)) {
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 5, 1, 6, 0);
- int idx = _scene->_dynamicHotspots.add(words_swooping_creature, words_walkto, _globals._sequenceIndexes[5], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 5, 1, 6, 0);
+ int idx = _scene->_dynamicHotspots.add(words_swooping_creature, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(270, 80), FACING_EAST);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[5], 8);
+ _scene->_sequences.setDepth(g_sequence_ids[5], 8);
g_engine->_soundManager->command(14, 0);
local._pterodactylFlag = false;
}
if (kernel.trigger == 70) {
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 9, 1, 0, 0);
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 9, 1, 0, 0);
player.walker_visible = false;
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], 12, 16);
- _globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 9, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[6], 12, 16);
+ g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 9, 1, 0, 0);
g_engine->_soundManager->command(42, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[6], 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[7], 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_SPRITE, 3, 81);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ _scene->_sequences.setDepth(g_sequence_ids[6], 1);
+ _scene->_sequences.setDepth(g_sequence_ids[7], 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_SPRITE, 3, 81);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
}
if (kernel.trigger == 81) {
@@ -149,30 +149,30 @@ static void room_201_daemon() {
}
if (kernel.trigger == 71) {
- _globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 9, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], -2, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[7], 1);
+ g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 9, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[7], -2, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[7], 1);
}
if (kernel.trigger == 73) {
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 9, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], 17, -2);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[6], 1);
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 9, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[6], 17, -2);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ _scene->_sequences.setDepth(g_sequence_ids[6], 1);
}
if (kernel.trigger == 74) {
g_engine->_soundManager->command(40, 0);
_scene->_kernelMessages.add(Common::Point(125, 56), 0xFDFC, 32, 82, 180, quote_string(kernel.quotes, 91));
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 9, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[6], 1);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], -2, -2);
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 9, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[6], 1);
+ _scene->_sequences.setAnimRange(g_sequence_ids[6], -2, -2);
_scene->_sequences.addTimer(180, 75);
}
if (kernel.trigger == 75) {
- _globals[kMeteorologistEverSeen] = 0;
+ global[kMeteorologistEverSeen] = 0;
_scene->_nextSceneId = 202;
}
@@ -183,8 +183,8 @@ static void room_201_daemon() {
}
if (kernel.trigger == 77) {
- _globals[kTeleporterCommand] = 1;
- _scene->_nextSceneId = _globals[kTeleporterDestination];
+ global[kTeleporterCommand] = 1;
+ _scene->_nextSceneId = global[kTeleporterDestination];
_scene->_reloadSceneFlag = true;
}
@@ -203,7 +203,7 @@ static void room_201_parser() {
if (kernel.trigger == 0) {
player.commands_allowed = false;
player.walker_visible = false;
- int sepChar = (_globals[kSexOfRex] == SEX_MALE) ? 't' : 'u';
+ int sepChar = (global[kSexOfRex] == SEX_MALE) ? 't' : 'u';
_scene->loadAnimation(kernel_name(sepChar, 0), 1);
} else if (kernel.trigger == 1) {
_scene->_nextSceneId = 213;
@@ -227,7 +227,7 @@ static void room_201_parser() {
} else if (player_said_2(look, field_to_south)) {
text_show(20110);
} else if (player_said_2(look, strange_device)) {
- if (_globals[kMeteorologistEverSeen])
+ if (global[kMeteorologistEverSeen])
text_show(20112);
else
text_show(20109);
diff --git a/engines/mads/nebular/rooms/room202.cpp b/engines/mads/nebular/rooms/room202.cpp
index aa235a00dcd..6655d38b460 100644
--- a/engines/mads/nebular/rooms/room202.cpp
+++ b/engines/mads/nebular/rooms/room202.cpp
@@ -52,45 +52,45 @@ static Scratch local;
static void room_202_init() {
player.walker_been_visible = true;
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('b', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('b', 1));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('b', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('l', -1));
- if (_globals[kSexOfRex] != SEX_MALE) {
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites("*ROXBD_2");
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('b', 1));
+ g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('b', 2));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('l', -1));
+ if (global[kSexOfRex] != SEX_MALE) {
+ g_sprite_ids[7] = _scene->_sprites.addSprites("*ROXBD_2");
} else {
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites("*RXMBD_2");
+ g_sprite_ids[7] = _scene->_sprites.addSprites("*RXMBD_2");
}
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('a', 0));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('a', 1));
- _globals._spriteIndexes[11] = _scene->_sprites.addSprites(kernel_name('a', 2));
-
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 0, 0, 0);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(149, 113));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 10);
- int idx = _scene->_dynamicHotspots.add(words_skull, words_walkto, _globals._sequenceIndexes[2], Common::Rect(0, 0, 0, 0));
+ g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[11] = _scene->_sprites.addSprites(kernel_name('a', 2));
+
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 0, 0);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(149, 113));
+ _scene->_sequences.setDepth(g_sequence_ids[2], 10);
+ int idx = _scene->_dynamicHotspots.add(words_skull, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(153, 97), FACING_SOUTH);
- if (!(_globals[kBone202Status] & 1)) {
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(130, 108));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 10);
- idx = _scene->_dynamicHotspots.add(words_bone, words_walkto, _globals._sequenceIndexes[1], Common::Rect(0, 0, 0, 0));
+ if (!(global[kBone202Status] & 1)) {
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(130, 108));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 10);
+ idx = _scene->_dynamicHotspots.add(words_bone, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(132, 97), FACING_SOUTH);
}
- if (!(_globals[kBone202Status] & 2)) {
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[6], Common::Point(166, 110));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[6], 10);
- idx = _scene->_dynamicHotspots.add(words_bone, words_walkto, _globals._sequenceIndexes[6], Common::Rect(0, 0, 0, 0));
+ if (!(global[kBone202Status] & 2)) {
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 6, 0, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[6], Common::Point(166, 110));
+ _scene->_sequences.setDepth(g_sequence_ids[6], 10);
+ idx = _scene->_dynamicHotspots.add(words_bone, words_walkto, g_sequence_ids[6], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(165, 99), FACING_SOUTH);
}
- if (_globals[kBone202Status])
- _scene->changeVariant(_globals[kBone202Status]);
+ if (global[kBone202Status])
+ _scene->changeVariant(global[kBone202Status]);
if (_scene->_priorSceneId == 201) {
player.x = 190;
@@ -102,11 +102,11 @@ static void room_202_init() {
player.facing = FACING_NORTH;
}
- if (_globals[kLadderBroken]) {
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[5], 6);
+ if (global[kLadderBroken]) {
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 6, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[5], 6);
_scene->_hotspots.activate(words_ladder, false);
- idx = _scene->_dynamicHotspots.add(words_broken_ladder, words_walkto, _globals._sequenceIndexes[5], Common::Rect(0, 0, 0, 0));
+ idx = _scene->_dynamicHotspots.add(words_broken_ladder, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(246, 124), FACING_NORTH);
}
@@ -115,7 +115,7 @@ static void room_202_init() {
if (_scene->_priorSceneId == RETURNING_FROM_DIALOG) {
if (local._waitingMeteoFl) {
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 1);
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
player.walker_visible = false;
}
} else {
@@ -128,25 +128,25 @@ static void room_202_init() {
if (_scene->_roomChanged)
inter_give_to_player(OBJ_BINOCULARS);
- if (_globals[kMeteorologistWatch] != METEOROLOGIST_NORMAL) {
+ if (global[kMeteorologistWatch] != METEOROLOGIST_NORMAL) {
player.walker_visible = false;
player.commands_allowed = false;
- local._ladderTopFl = (_globals[kMeteorologistWatch] == METEOROLOGIST_TOWER);
+ local._ladderTopFl = (global[kMeteorologistWatch] == METEOROLOGIST_TOWER);
if (local._ladderTopFl) {
- _globals._sequenceIndexes[10] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], true, 8);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[10], 1);
+ g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[9], true, 8);
+ _scene->_sequences.setDepth(g_sequence_ids[10], 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[10], Common::Point(247, 82));
+ _scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(247, 82));
player.x = 246;
player.y = 124;
player.facing = FACING_NORTH;
- _globals[kTeleporterUnderstood] = true;
+ global[kTeleporterUnderstood] = true;
} else {
- _globals._sequenceIndexes[10] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 6);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[10], 1);
+ g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 6);
+ _scene->_sequences.setDepth(g_sequence_ids[10], 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[10], Common::Point(172, 123));
+ _scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(172, 123));
player.x = 171;
player.y = 122;
player.facing = FACING_NORTH;
@@ -157,9 +157,9 @@ static void room_202_init() {
} else {
if (local._ladderTopFl) {
player.walker_visible = false;
- _scene->_sequences.startCycle(_globals._sequenceIndexes[9], true, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[9], Common::Point(247, 82));
+ _scene->_sequences.startCycle(g_sequence_ids[9], true, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[9], 1);
+ _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(247, 82));
player.x = 246;
player.y = 124;
player.facing = FACING_NORTH;
@@ -245,7 +245,7 @@ static void room_202_daemon() {
local._meteoClock1 = _scene->_frameStartTime + 15 * 60;
- if (_globals[kMeteorologistWatch] != METEOROLOGIST_NORMAL) {
+ if (global[kMeteorologistWatch] != METEOROLOGIST_NORMAL) {
Common::Point msgPos;
int msgFlag;
if (!local._ladderTopFl) {
@@ -258,56 +258,56 @@ static void room_202_daemon() {
int msgIndex = _scene->_kernelMessages.add(msgPos, 0x1110, msgFlag | 32, 0, 120, quote_string(kernel.quotes, 102));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
- if (_globals[kMeteorologistWatch] == METEOROLOGIST_GROUND) {
+ if (global[kMeteorologistWatch] == METEOROLOGIST_GROUND) {
player2.words[0] = words_look;
player2.words[1] = words_binoculars;
player2.words[2] = words_strange_device;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_PARSER;
_scene->_sequences.addTimer(2 * 60, 2);
local._meteorologistSpecial = true;
- } else if (_globals[kMeteorologistWatch] == METEOROLOGIST_TOWER) {
+ } else if (global[kMeteorologistWatch] == METEOROLOGIST_TOWER) {
_scene->_sequences.addTimer(2 * 60, 90);
}
}
- _globals[kMeteorologistWatch] = METEOROLOGIST_NORMAL;
+ global[kMeteorologistWatch] = METEOROLOGIST_NORMAL;
}
switch (kernel.trigger) {
case 90:
g_engine->_soundManager->command(41, 0);
- _scene->_sequences.remove(_globals._sequenceIndexes[10]);
- _globals._sequenceIndexes[9] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[9], true, 6, 1, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[9], Common::Point(247, 82));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[9], SEQUENCE_TRIGGER_EXPIRE, 0, 91);
+ _scene->_sequences.remove(g_sequence_ids[10]);
+ g_sequence_ids[9] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[9], true, 6, 1, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(247, 82));
+ _scene->_sequences.setDepth(g_sequence_ids[9], 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 91);
break;
case 91:
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], true, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[9], Common::Point(247, 82));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 1);
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], true, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(247, 82));
+ _scene->_sequences.setDepth(g_sequence_ids[9], 1);
_scene->_sequences.addTimer(60, 92);
break;
case 92:
{
- _scene->_sequences.remove(_globals._sequenceIndexes[9]);
- _globals._sequenceIndexes[11] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[11], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[11], 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 93);
+ _scene->_sequences.remove(g_sequence_ids[9]);
+ g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 6, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[11], 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 93);
_scene->_kernelMessages.reset();
int msgIndex = _scene->_kernelMessages.add(Common::Point(0, -65), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 98));
- _scene->_kernelMessages.setSeqIndex(msgIndex, _globals._sequenceIndexes[11]);
+ _scene->_kernelMessages.setSeqIndex(msgIndex, g_sequence_ids[11]);
}
break;
case 93:
{
- _globals[kLadderBroken] = false;
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 6, 0, 0, 0);
+ global[kLadderBroken] = false;
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 6, 0, 0, 0);
_scene->_hotspots.activate(words_ladder, false);
- int idx = _scene->_dynamicHotspots.add(words_broken_ladder, words_walkto, _globals._sequenceIndexes[5], Common::Rect(0, 0, 0, 0));
+ int idx = _scene->_dynamicHotspots.add(words_broken_ladder, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(246, 124), FACING_NORTH);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[11], _globals._sequenceIndexes[5]);
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[11]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[11], g_sequence_ids[5]);
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[11]);
player.commands_allowed = true;
player.walker_visible = true;
local._ladderTopFl = false;
@@ -319,19 +319,19 @@ static void room_202_daemon() {
break;
}
- if (!_scene->_animation[0] && (_globals[kMeteorologistStatus] != METEOROLOGIST_GONE) && (local._meteoClock2 <= _scene->_frameStartTime) && (local._meteoClock1 <= _scene->_frameStartTime)) {
+ if (!_scene->_animation[0] && (global[kMeteorologistStatus] != METEOROLOGIST_GONE) && (local._meteoClock2 <= _scene->_frameStartTime) && (local._meteoClock1 <= _scene->_frameStartTime)) {
int randVal = g_engine->getRandomNumber(1, 500);
int threshold = 1;
if (local._ladderTopFl)
threshold += 25;
- if (!_globals[kMeteorologistEverSeen])
+ if (!global[kMeteorologistEverSeen])
threshold += 25;
if (threshold >= randVal) {
g_engine->_soundManager->command(17, 0);
_scene->loadAnimation(kernel_name('M', -1), 71);
local._toStationFl = true;
local._toTeleportFl = false;
- _globals[kMeteorologistEverSeen] = true;
+ global[kMeteorologistEverSeen] = true;
local._lastRoute = 0;
local._stationCounter = 0;
local._meteoClock2 = _scene->_frameStartTime + 2;
@@ -343,7 +343,7 @@ static void room_202_daemon() {
if (local._waitingMeteoFl) {
if (_scene->_animation[0]->getCurrentFrame() >= 200) {
- if ((_globals[kMeteorologistWatch] == METEOROLOGIST_TOWER) || _globals[kLadderBroken]) {
+ if ((global[kMeteorologistWatch] == METEOROLOGIST_TOWER) || global[kLadderBroken]) {
_scene->_nextSceneId = 213;
} else {
text_show(20201);
@@ -434,12 +434,12 @@ static void room_202_pre_parser() {
g_engine->_soundManager->command(29, 0);
player.ready_to_walk = false;
player.commands_allowed = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[9]);
- _globals._sequenceIndexes[8] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[8], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[8], 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ _scene->_sequences.remove(g_sequence_ids[9]);
+ g_sequence_ids[8] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[8], false, 6, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[8], 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
} else if (kernel.trigger == 1) {
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[8]);
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[8]);
_scene->_dynamicHotspots.remove(local._ladderHotspotId);
player.walker_visible = true;
player.ready_to_walk = true;
@@ -471,11 +471,11 @@ static void room_202_parser() {
} else if (player_said_2(walk_towards, field_to_south)) {
_scene->_nextSceneId = 203;
} else if (player_said_2(walk_towards, field_to_north)) {
- if (_globals[kMeteorologistStatus] != METEOROLOGIST_GONE) {
+ if (global[kMeteorologistStatus] != METEOROLOGIST_GONE) {
if (_scene->_animation[0])
- _globals[kMeteorologistStatus] = METEOROLOGIST_PRESENT;
+ global[kMeteorologistStatus] = METEOROLOGIST_PRESENT;
else
- _globals[kMeteorologistStatus] = METEOROLOGIST_ABSENT;
+ global[kMeteorologistStatus] = METEOROLOGIST_ABSENT;
}
_scene->_nextSceneId = 201;
} else if (player_said_2(take, bone) && (player.main_object_source == 4)) {
@@ -486,19 +486,19 @@ static void room_202_parser() {
} else {
player.commands_allowed = false;
player.walker_visible = false;
- _globals._sequenceIndexes[7] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[7], false, 3, 2, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[7]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[7] = _scene->_sequences.startPingPongCycle(g_sprite_ids[7], false, 3, 2, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[7]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
case 1:
if (Common::Point(player.x, player.y) == Common::Point(132, 97)) {
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals[kBone202Status] |= BONE_202_LEFT_GONE;
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ global[kBone202Status] |= BONE_202_LEFT_GONE;
} else {
- _scene->_sequences.remove(_globals._sequenceIndexes[6]);
- _globals[kBone202Status] |= BONE_202_RIGHT_GONE;
+ _scene->_sequences.remove(g_sequence_ids[6]);
+ global[kBone202Status] |= BONE_202_RIGHT_GONE;
}
break;
case 2:
@@ -510,7 +510,7 @@ static void room_202_parser() {
inter_give_to_player(OBJ_BONE);
object_examine(OBJ_BONE, 20218, 0);
}
- _scene->changeVariant(_globals[kBone202Status]);
+ _scene->changeVariant(global[kBone202Status]);
player.commands_allowed = true;
player.walker_visible = true;
break;
@@ -519,7 +519,7 @@ static void room_202_parser() {
}
player.command_ready = false;
- } else if (player_said_2(climb_up, ladder) && !_globals[kLadderBroken]) {
+ } else if (player_said_2(climb_up, ladder) && !global[kLadderBroken]) {
switch (kernel.trigger) {
case 0:
g_engine->_soundManager->command(29, 0);
@@ -529,16 +529,16 @@ static void room_202_parser() {
local._ladderHotspotId = _scene->_dynamicHotspots.add(words_ladder, words_climb_down, -1, Common::Rect(241, 68, 241 + 12, 68 + 54));
_scene->_dynamicHotspots.setPosition(local._ladderHotspotId, Common::Point(246, 124), FACING_NORTH);
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[8], 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 6, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[8], 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
{
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], true, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[9], Common::Point(247, 82));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 1);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[8], _globals._sequenceIndexes[9]);
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], true, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(247, 82));
+ _scene->_sequences.setDepth(g_sequence_ids[9], 1);
+ _scene->_sequences.updateTimeout(g_sequence_ids[8], g_sequence_ids[9]);
local._ladderTopFl = true;
player.commands_allowed = true;
int msgIndex = _scene->_kernelMessages.add(Common::Point(248, 15), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 97));
@@ -549,27 +549,27 @@ static void room_202_parser() {
player.command_ready = false;
return;
}
- } else if ((player_said_3(look, binoculars, field_to_north) || (player_said_3(look, binoculars, strange_device))) && (_globals[kSexOfRex] == SEX_MALE)) {
+ } else if ((player_said_3(look, binoculars, field_to_north) || (player_said_3(look, binoculars, strange_device))) && (global[kSexOfRex] == SEX_MALE)) {
if (!local._ladderTopFl) {
switch (kernel.trigger) {
case 0:
local._toTeleportFl = true;
player.commands_allowed = false;
player.walker_visible = false;
- _globals._sequenceIndexes[10] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[10], 1, 6);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[10], Common::Point(172, 123));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[10], 1);
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[10]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[10], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[10] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 6, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[10], 1, 6);
+ _scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(172, 123));
+ _scene->_sequences.setDepth(g_sequence_ids[10], 1);
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[10]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
- _globals._sequenceIndexes[10] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 6);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[10], 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[10], Common::Point(172, 123));
+ g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 6);
+ _scene->_sequences.setDepth(g_sequence_ids[10], 1);
+ _scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(172, 123));
if (_scene->_animation[0]) {
local._waitingMeteoFl = true;
- _globals[kMeteorologistWatch] = METEOROLOGIST_GROUND;
+ global[kMeteorologistWatch] = METEOROLOGIST_GROUND;
} else {
_scene->_sequences.addTimer(120, 2);
}
@@ -578,15 +578,15 @@ static void room_202_parser() {
if (!_scene->_animation[0] && !local._meteorologistSpecial) {
text_show(20222);
}
- _scene->_sequences.remove(_globals._sequenceIndexes[10]);
- _globals._sequenceIndexes[10] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[9], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[10], 1);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[10], 1, 6);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[10], Common::Point(172, 123));
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[10], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ _scene->_sequences.remove(g_sequence_ids[10]);
+ g_sequence_ids[10] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[9], false, 6, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[10], 1);
+ _scene->_sequences.setAnimRange(g_sequence_ids[10], 1, 6);
+ _scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(172, 123));
+ _scene->_sequences.addSubEntry(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[10]);
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[10]);
player.commands_allowed = true;
player.walker_visible = true;
break;
@@ -599,22 +599,22 @@ static void room_202_parser() {
case 0:
local._toTeleportFl = true;
player.commands_allowed = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[9]);
- _globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], true, 6, 1, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[9], Common::Point(247, 82));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ _scene->_sequences.remove(g_sequence_ids[9]);
+ g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], true, 6, 1, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(247, 82));
+ _scene->_sequences.setDepth(g_sequence_ids[9], 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
- _globals._sequenceIndexes[10] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], true, -2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[10], Common::Point(247, 82));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[10], 1);
+ g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[9], true, -2);
+ _scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(247, 82));
+ _scene->_sequences.setDepth(g_sequence_ids[10], 1);
if (_scene->_animation[0]) {
if (_scene->_animation[0]->getCurrentFrame() > 200) {
_scene->_sequences.addTimer(120, 2);
} else {
local._waitingMeteoFl = true;
- _globals[kMeteorologistWatch] = METEOROLOGIST_GONE;
+ global[kMeteorologistWatch] = METEOROLOGIST_GONE;
if ((_scene->_animation[0]->getCurrentFrame() >= 44) && (_scene->_animation[0]->getCurrentFrame() <= 75)) {
_scene->_kernelMessages.reset();
int msgIndex = _scene->_kernelMessages.add(Common::Point(248, 15), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 100));
@@ -632,16 +632,16 @@ static void room_202_parser() {
if (!_scene->_animation[0])
text_show(20222);
local._meteorologistSpecial = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[10]);
- _globals._sequenceIndexes[9] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[9], false, 6, 1, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[9], Common::Point(247, 82));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[9], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ _scene->_sequences.remove(g_sequence_ids[10]);
+ g_sequence_ids[9] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[9], false, 6, 1, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(247, 82));
+ _scene->_sequences.setDepth(g_sequence_ids[9], 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], true, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[9], Common::Point(247, 82));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 1);
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], true, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(247, 82));
+ _scene->_sequences.setDepth(g_sequence_ids[9], 1);
player.commands_allowed = true;
break;
default:
@@ -658,9 +658,9 @@ static void room_202_parser() {
} else if (player_said_2(look, grass)) {
text_show(20204);
} else if (player_said_2(look, field_to_north)) {
- if ((_globals[kMeteorologistStatus] == METEOROLOGIST_ABSENT) || (_globals[kMeteorologistStatus] == METEOROLOGIST_GONE))
+ if ((global[kMeteorologistStatus] == METEOROLOGIST_ABSENT) || (global[kMeteorologistStatus] == METEOROLOGIST_GONE))
text_show(20205);
- else if (_globals[kMeteorologistStatus] == METEOROLOGIST_PRESENT)
+ else if (global[kMeteorologistStatus] == METEOROLOGIST_PRESENT)
text_show(20220);
} else if (player_said_2(look, watch_tower)) {
text_show(20206);
diff --git a/engines/mads/nebular/rooms/room203.cpp b/engines/mads/nebular/rooms/room203.cpp
index 8157f2955b5..3a84de6a405 100644
--- a/engines/mads/nebular/rooms/room203.cpp
+++ b/engines/mads/nebular/rooms/room203.cpp
@@ -59,7 +59,7 @@ static void room_203_init() {
local._rhotundaEatFl = false;
local._rhotundaEat2Fl = false;
- if ((_globals[kRhotundaStatus] == 0) && (!_scene->_roomChanged)) {
+ if ((global[kRhotundaStatus] == 0) && (!_scene->_roomChanged)) {
local._rhotundaEatFl = true;
player_walk(158, 135, FACING_SOUTH);
int idx = _scene->_dynamicHotspots.add(words_field_to_south, words_walk_towards, 0, Common::Rect(0, 0, 320, 156));
@@ -68,10 +68,10 @@ static void room_203_init() {
}
if (!local._rhotundaEatFl) {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('b', -1));
+ g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('b', -1));
if (g_engine->getRandomNumber(1, 3) == 2) {
- _globals._spriteIndexes[15] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 9, 1, 0, 0);
- int idx = _scene->_dynamicHotspots.add(words_yellow_bird, words_look_at, _globals._spriteIndexes[15], Common::Rect(0, 0, 0, 0));
+ g_sprite_ids[15] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 9, 1, 0, 0);
+ int idx = _scene->_dynamicHotspots.add(words_yellow_bird, words_look_at, g_sprite_ids[15], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
g_engine->_soundManager->command(14, 0);
}
diff --git a/engines/mads/nebular/rooms/room205.cpp b/engines/mads/nebular/rooms/room205.cpp
index d4a523f9281..b507a7ad53c 100644
--- a/engines/mads/nebular/rooms/room205.cpp
+++ b/engines/mads/nebular/rooms/room205.cpp
@@ -45,37 +45,37 @@ static Scratch local;
static void room_205_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 2));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('f', -1));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('c', -1));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('p', -1));
-
- if (_globals[kSexOfRex] == SEX_MALE)
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('a', 1));
-
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 10, 0, 0, 3);
- int idx = _scene->_dynamicHotspots.add(words_chicken, words_walkto, _globals._sequenceIndexes[1], Common::Rect(0, 0, 0, 0));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 2));
+ g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('f', -1));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('p', -1));
+
+ if (global[kSexOfRex] == SEX_MALE)
+ g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('a', 1));
+
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 10, 0, 0, 3);
+ int idx = _scene->_dynamicHotspots.add(words_chicken, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(162, 120), FACING_NORTHEAST);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 15, 0, 0, 0);
- idx = _scene->_dynamicHotspots.add(words_chicken, words_walkto, _globals._sequenceIndexes[1], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 15, 0, 0, 0);
+ idx = _scene->_dynamicHotspots.add(words_chicken, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(162, 120), FACING_NORTHEAST);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 9, 0, 0, 0);
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[5], 11);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 9, 0, 0, 0);
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 6, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[5], 11);
if (!player.been_here_before) {
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 7, 1, 0, 0);
- idx = _scene->_dynamicHotspots.add(words_piranha, words_walkto, _globals._sequenceIndexes[6], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 7, 1, 0, 0);
+ idx = _scene->_dynamicHotspots.add(words_piranha, words_walkto, g_sequence_ids[6], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(49, 86), FACING_NORTH);
}
if (object[12].location == 205) {
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 7, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 11);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 7, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[4], 11);
} else {
_scene->_hotspots.activate(450, false);
}
@@ -95,7 +95,7 @@ static void room_205_init() {
local._chickenTime = _scene._frameStartTime;
- if (_globals[kSexOfRex] == SEX_FEMALE)
+ if (global[kSexOfRex] == SEX_FEMALE)
_scene->_kernelMessages.initRandomMessages(3,
Common::Rect(195, 99, 264, 134), 13, 2, 0xFDFC, 60,
108, 108, 109, 109, 110, 110, 111, 108, 0);
@@ -105,25 +105,25 @@ static void room_205_init() {
player.y = 152;
}
- if (_globals[kSexOfRex] != SEX_MALE) {
+ if (global[kSexOfRex] != SEX_MALE) {
_scene->loadAnimation(kernel_name('a', -1));
_scene->_animation[0]->_repeatFlag = true;
} else {
local._beingKicked = true;
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 8, 1, 0, 0);
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 1, 0, 0);
player.walker_visible = false;
player.commands_allowed = false;
- _scene->_sequences.setDepth(_globals._sequenceIndexes[8], 2);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_SPRITE, 6, 73);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_SPRITE, 11, 74);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ _scene->_sequences.setDepth(g_sequence_ids[8], 2);
+ _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_SPRITE, 6, 73);
+ _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_SPRITE, 11, 74);
+ _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
section_2_music();
}
static void room_205_daemon() {
- if (_globals[kSexOfRex] == SEX_FEMALE) {
+ if (global[kSexOfRex] == SEX_FEMALE) {
_scene->_kernelMessages.randomServer();
if (_scene._frameStartTime >= local._chickenTime) {
@@ -136,9 +136,9 @@ static void room_205_daemon() {
}
if (_scene._frameStartTime - local._lastFishTime > 1300) {
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(
- _globals._spriteIndexes[6], false, 5, 1, 0, 0);
- int idx = _scene->_dynamicHotspots.add(words_piranha, words_walkto, _globals._sequenceIndexes[6],
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(
+ g_sprite_ids[6], false, 5, 1, 0, 0);
+ int idx = _scene->_dynamicHotspots.add(words_piranha, words_walkto, g_sequence_ids[6],
Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(49, 86), FACING_NORTH);
local._lastFishTime = _scene._frameStartTime;
@@ -153,9 +153,9 @@ static void room_205_daemon() {
}
if (kernel.trigger == 71) {
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[8], 2);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[8], -2, -2);
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 6, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[8], 2);
+ _scene->_sequences.setAnimRange(g_sequence_ids[8], -2, -2);
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(160, 68), 0xFBFA, 32, 72, 180, quote_string(kernel.quotes, 114));
}
@@ -208,7 +208,7 @@ static void room_205_parser() {
} else if (kernel.trigger == 2) {
handleWomanSpeech(0x7E);
local._dialog1.write(0x76, false);
- _globals[kChickenPermitted] = true;
+ global[kChickenPermitted] = true;
}
break;
@@ -253,11 +253,11 @@ static void room_205_parser() {
pal_lock();
_scene->_kernelMessages.reset();
kernel_dump_walker_only();
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('a', 0));
kernel_new_palette();
- _globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[9], -1);
+ g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 6, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ _scene->_sequences.updateTimeout(g_sequence_ids[9], -1);
g_engine->_soundManager->command(27, 0);
} else if (kernel.trigger == 1) {
if (_scene->_animation[0] != nullptr)
@@ -275,12 +275,12 @@ static void room_205_parser() {
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x6B));
}
- } else if (player_said_2(take, chicken_on_spit) && _globals[kChickenPermitted] && object_is_here(OBJ_CHICKEN)) {
+ } else if (player_said_2(take, chicken_on_spit) && global[kChickenPermitted] && object_is_here(OBJ_CHICKEN)) {
inter_give_to_player(OBJ_CHICKEN);
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
+ _scene->_sequences.remove(g_sequence_ids[4]);
_scene->_hotspots.activate(words_chicken_on_spit, false);
object_examine(OBJ_CHICKEN, 812, 0);
- } else if (player_said_2(take, chicken_on_spit) && (!_globals[kChickenPermitted]))
+ } else if (player_said_2(take, chicken_on_spit) && (!global[kChickenPermitted]))
_scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 32, 0, 120, quote_string(kernel.quotes, 0x80));
else if (player_said_2(look, native_woman))
text_show(20503);
diff --git a/engines/mads/nebular/rooms/room207.cpp b/engines/mads/nebular/rooms/room207.cpp
index 53d84de1eaf..bd15f4cc315 100644
--- a/engines/mads/nebular/rooms/room207.cpp
+++ b/engines/mads/nebular/rooms/room207.cpp
@@ -45,15 +45,15 @@ static Scratch local;
static void room_207_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('h', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('h', 1));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('c', -1));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('e', 0));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('e', 1));
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites(kernel_name('g', 1));
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('g', 0));
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 7, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[5], 7);
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('h', 0));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('h', 1));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('e', 0));
+ g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('e', 1));
+ g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('g', 1));
+ g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('g', 0));
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 7, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[5], 7);
int var2;
if (!player.been_here_before) {
@@ -70,15 +70,15 @@ static void room_207_init() {
local._spiderFl = (var2 & 1);
if (local._vultureFl) {
- _globals._sequenceIndexes[1] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[1], false, 30, 0, 0, 400);
- local._vultureHotspotId = _scene->_dynamicHotspots.add(words_vulture, words_walkto, _globals._sequenceIndexes[1], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[1] = _scene->_sequences.startPingPongCycle(g_sprite_ids[1], false, 30, 0, 0, 400);
+ local._vultureHotspotId = _scene->_dynamicHotspots.add(words_vulture, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(local._vultureHotspotId, Common::Point(254, 94), FACING_WEST);
}
if (local._spiderFl) {
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], -1, -1);
- local._spiderHotspotId = _scene->_dynamicHotspots.add(words_spider, words_walkto, _globals._sequenceIndexes[4], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 7, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], -1, -1);
+ local._spiderHotspotId = _scene->_dynamicHotspots.add(words_spider, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(local._spiderHotspotId, Common::Point(59, 132), FACING_SOUTH);
}
@@ -98,15 +98,15 @@ static void room_207_init() {
section_2_music();
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], 1, 22);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[6], 6);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[6], 1, 22);
+ _scene->_sequences.setDepth(g_sequence_ids[6], 6);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
}
static void moveVulture() {
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 7, 1, 0, 0);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 7, 1, 0, 0);
g_engine->_soundManager->command(43, 0);
local._vultureFl = false;
local._vultureTime = player.clock;
@@ -114,8 +114,8 @@ static void moveVulture() {
}
static void moveSpider() {
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 5, 1, 0, 0);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 5, 1, 0, 0);
local._spiderFl = false;
local._spiderTime = player.clock;
_scene->_dynamicHotspots.remove(local._spiderHotspotId);
@@ -134,9 +134,9 @@ static void room_207_daemon() {
}
if (kernel.trigger == 70) {
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 10, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], 23, 34);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[6], 6);
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 10, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[6], 23, 34);
+ _scene->_sequences.setDepth(g_sequence_ids[6], 6);
}
if (kernel.trigger == 71)
@@ -146,11 +146,11 @@ static void room_207_daemon() {
return;
if ((player.x >= 124) && (player.x <= 201)) {
- _globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 10, 1, 0, 0);
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 8, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[7], 6);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[8], 6);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 10, 1, 0, 0);
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[7], 6);
+ _scene->_sequences.setDepth(g_sequence_ids[8], 6);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
local._eyeFl = true;
}
}
@@ -181,14 +181,14 @@ static void room_207_parser() {
(player.y > 111) && (player.y < 130)) {
if ((player.x <= 162) || (player.x >= 181) ||
(player.y <= 115) || (player.y >= 126)) {
- _globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 10, 2, 0, 0);
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 8, 2, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[7], 6);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[8], 6);
+ g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 10, 2, 0, 0);
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 2, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[7], 6);
+ _scene->_sequences.setDepth(g_sequence_ids[8], 6);
}
} else if (local._eyeFl) {
- _scene->_sequences.remove(_globals._sequenceIndexes[7]);
- _scene->_sequences.remove(_globals._sequenceIndexes[8]);
+ _scene->_sequences.remove(g_sequence_ids[7]);
+ _scene->_sequences.remove(g_sequence_ids[8]);
local._eyeFl = false;
}
diff --git a/engines/mads/nebular/rooms/room208.cpp b/engines/mads/nebular/rooms/room208.cpp
index 0eeb445f1f6..bd96b1cf18b 100644
--- a/engines/mads/nebular/rooms/room208.cpp
+++ b/engines/mads/nebular/rooms/room208.cpp
@@ -42,30 +42,30 @@ static Scratch local;
static void updateTrap() {
- if (_globals[kRhotundaStatus] == 1) {
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 8, 0, 0, 24);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 5);
- int idx = _scene->_dynamicHotspots.add(words_huge_legs, words_walkto, _globals._sequenceIndexes[1], Common::Rect(0, 0, 0, 0));
+ if (global[kRhotundaStatus] == 1) {
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 8, 0, 0, 24);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 5);
+ int idx = _scene->_dynamicHotspots.add(words_huge_legs, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(100, 146), FACING_NORTH);
_scene->_hotspots.activate(414, false);
return;
}
- switch (_globals[kLeavesStatus]) {
+ switch (global[kLeavesStatus]) {
case LEAVES_ON_GROUND:
{
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 15);
- int idx = _scene->_dynamicHotspots.add(words_pile_of_leaves, words_walkto, _globals._sequenceIndexes[2], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 15);
+ int idx = _scene->_dynamicHotspots.add(words_pile_of_leaves, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(60, 152), FACING_NORTH);
}
break;
case LEAVES_ON_TRAP:
{
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 15);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 15);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
_scene->_hotspots.activate(words_deep_pit, false);
- int idx = _scene->_dynamicHotspots.add(words_leaf_covered_pit, words_walkto, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
+ int idx = _scene->_dynamicHotspots.add(words_leaf_covered_pit, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(100, 146), FACING_NORTH);
_scene->_dynamicHotspots[idx]._articleNumber = PREP_ON;
}
@@ -76,11 +76,11 @@ static void updateTrap() {
}
static void room_208_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('a', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('x', 0));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 1));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('x', 2));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites("*RXMBD_8");
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('x', 2));
+ g_sprite_ids[5] = _scene->_sprites.addSprites("*RXMBD_8");
updateTrap();
@@ -109,7 +109,7 @@ static void room_208_init() {
kernel.quotes = quote_load(0x81, 0x46, 0);
- if ((_scene->_priorSceneId == 207) && (_globals[kMonkeyStatus] == MONKEY_HAS_BINOCULARS)) {
+ if ((_scene->_priorSceneId == 207) && (global[kMonkeyStatus] == MONKEY_HAS_BINOCULARS)) {
int msgIndex = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 129));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
}
@@ -126,7 +126,7 @@ static void room_208_daemon() {
local._rhotundaTime = _scene->_animation[0]->getCurrentFrame();
if (local._rhotundaTime == 125)
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
+ _scene->_sequences.remove(g_sequence_ids[4]);
}
if (!local._rhotundaTurnFl)
@@ -146,8 +146,8 @@ static void room_208_daemon() {
local._rhotundaTime = 0;
break;
case 81:
- _scene->_sequences.remove(_globals._spriteIndexes[15]);
- _globals[kRhotundaStatus] = 1;
+ _scene->_sequences.remove(g_sprite_ids[15]);
+ global[kRhotundaStatus] = 1;
updateTrap();
_scene->_sequences.addTimer(90, 82);
break;
@@ -177,8 +177,8 @@ static void subAction(int mode) {
{
player.commands_allowed = false;
player.walker_visible = false;
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 6, 1, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 6, 1, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
int endTrigger;
if ((mode == 1) || (mode == 2))
@@ -186,17 +186,17 @@ static void subAction(int mode) {
else
endTrigger = 2;
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, endTrigger);
+ _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, endTrigger);
}
break;
case 1:
{
- int oldSeq = _globals._sequenceIndexes[5];
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 12, 3, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[5], 3, 4);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[5], oldSeq);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ int oldSeq = g_sequence_ids[5];
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 12, 3, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[5], 3, 4);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[5], oldSeq);
+ _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
g_engine->_soundManager->command(20, 0);
}
break;
@@ -206,19 +206,19 @@ static void subAction(int mode) {
switch (mode) {
case 1:
inter_give_to_player(OBJ_BIG_LEAVES);
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _globals[kLeavesStatus] = 1;
+ _scene->_sequences.remove(g_sequence_ids[2]);
+ global[kLeavesStatus] = 1;
break;
case 2:
inter_move_object(OBJ_BIG_LEAVES, 1);
- _globals[kLeavesStatus] = 2;
+ global[kLeavesStatus] = 2;
updateTrap();
break;
case 3:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 1);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
inter_take_from_player(OBJ_TWINKIFRUIT, 1);
g_engine->_soundManager->command(34, 0);
break;
@@ -237,12 +237,12 @@ static void subAction(int mode) {
break;
}
- int oldVal = _globals._sequenceIndexes[5];
- _globals._sequenceIndexes[5] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[5], false, 6, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[5], 1, 3);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[5], oldVal);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ int oldVal = g_sequence_ids[5];
+ g_sequence_ids[5] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[5], false, 6, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[5], 1, 3);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[5], oldVal);
+ _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
break;
@@ -258,7 +258,7 @@ static void subAction(int mode) {
static void room_208_parser() {
if (player_said_2(walk_towards, lowlands_to_north)) {
- if (_globals[kRhotundaStatus])
+ if (global[kRhotundaStatus])
_scene->_nextSceneId = 203;
else if (kernel.trigger == 0) {
player.commands_allowed = false;
@@ -268,11 +268,11 @@ static void room_208_parser() {
_scene->_nextSceneId = 203;
} else if (player_said_2(walk_towards, field_to_south))
_scene->_nextSceneId = 212;
- else if (player_said_2(take, pile_of_leaves) && (!_globals[kLeavesStatus] || kernel.trigger)) {
+ else if (player_said_2(take, pile_of_leaves) && (!global[kLeavesStatus] || kernel.trigger)) {
subAction(1);
if (player.commands_allowed)
object_examine(OBJ_BIG_LEAVES, 0x326, 0);
- } else if (player_said_3(put, big_leaves, deep_pit) && (_globals[kLeavesStatus] == 1 || kernel.trigger))
+ } else if (player_said_3(put, big_leaves, deep_pit) && (global[kLeavesStatus] == 1 || kernel.trigger))
subAction(2);
else if (player_said_3(put, twinkifruit, leaf_covered_pit)) {
subAction(3);
@@ -320,9 +320,9 @@ static void room_208_parser() {
text_show(20815);
else if (player_said_2(take, huge_legs) || player_said_2(pull, huge_legs))
text_show(20816);
- else if (player.look_around && (_globals[kRhotundaStatus] == 1))
+ else if (player.look_around && (global[kRhotundaStatus] == 1))
text_show(20819);
- else if (player.look_around && (_globals[kLeavesStatus] == 2))
+ else if (player.look_around && (global[kLeavesStatus] == 2))
text_show(20818);
else if (player.look_around)
text_show(20817);
diff --git a/engines/mads/nebular/rooms/room209.cpp b/engines/mads/nebular/rooms/room209.cpp
index 17466b2da64..26755d090ed 100644
--- a/engines/mads/nebular/rooms/room209.cpp
+++ b/engines/mads/nebular/rooms/room209.cpp
@@ -88,37 +88,37 @@ static void handlePeek() {
switch (kernel.trigger) {
case 133:
g_engine->_soundManager->command(18, 0);
- _globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 51, 52);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 134);
+ g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 51, 52);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 134);
break;
case 134:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 6);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
_scene->_sequences.addTimer(60, 135);
}
break;
case 135:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 7);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 7);
_scene->_sequences.addTimer(10, 136);
break;
case 136:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 6);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
_scene->_sequences.addTimer(50, 137);
break;
case 137:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 51, 52);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 138);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 51, 52);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 138);
break;
case 138:
@@ -135,26 +135,26 @@ static void handlePeek() {
static void handleVerticalMove() {
switch (kernel.trigger) {
case 140:
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 8, 8, 0, 1);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 1, 5);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 141);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 8, 8, 0, 1);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 5);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 141);
break;
case 141:
{
g_engine->_soundManager->command(18, 0);
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 5);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 5);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
_scene->_sequences.addTimer(60, 142);
}
break;
case 142:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 1, 5);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 143);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 5);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 143);
break;
case 143:
@@ -173,29 +173,29 @@ static void handleLookStay() {
case 145:
g_engine->_soundManager->command(18, 0);
local._monkeyPosition = 2;
- _globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 51, 52);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 146);
+ g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 51, 52);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 146);
break;
case 146:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 6);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
_scene->_sequences.addTimer(15, 147);
}
break;
case 147:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 7);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 7);
_scene->_sequences.addTimer(8, 148);
break;
case 148:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 6);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
if (!local._dodgeFl) {
_scene->_sequences.addTimer(90, 149);
@@ -217,17 +217,17 @@ static void handleLookStay() {
static void handleLookRight() {
switch (kernel.trigger) {
case 151:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 8, 2, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 8, 14);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 152);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 8, 2, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 8, 14);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 152);
break;
case 152:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 6);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
_scene->_sequences.addTimer(60, 153);
}
break;
@@ -246,20 +246,20 @@ static void handleLookRight() {
static void handleBlink() {
switch (kernel.trigger) {
case 155:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 6);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
_scene->_sequences.addTimer(50, 156);
break;
case 156:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 7);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 7);
_scene->_sequences.addTimer(10, 157);
break;
case 157:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 6);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
_scene->_sequences.addTimer(50, 158);
break;
@@ -279,33 +279,33 @@ static void handleGetBinoculars() {
case 161:
g_engine->_soundManager->command(18, 0);
local._monkeyPosition = 3;
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 8, 24);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_SPRITE, 20, 165);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 8, 24);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 20, 165);
if (!local._fallFl && !local._dodgeFl) {
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 162);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 162);
} else {
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 163);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 163);
}
break;
case 162:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 8, 6, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 23, 25);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 163);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 8, 6, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 23, 25);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 163);
}
break;
case 163:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 8, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 23, 24);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 8, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 23, 24);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
_scene->_sequences.addTimer(8, 164);
}
break;
@@ -329,21 +329,21 @@ static void handleBinocularBlink() {
switch (kernel.trigger) {
case 167:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 8, 2, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 23, 25);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 168);
+ int oldIdx = g_sequence_ids[3];
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 8, 2, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 23, 25);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 168);
}
break;
case 168:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 8, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 23, 24);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 8, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 23, 24);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
_scene->_sequences.addTimer(30, 169);
}
break;
@@ -363,51 +363,51 @@ static void handleBinocularScan() {
switch (kernel.trigger) {
case 171:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 12, 2, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 43, 45);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 172);
+ int oldIdx = g_sequence_ids[3];
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 12, 2, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 43, 45);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 172);
}
break;
case 172:
{
- int oldIdx = _globals._sequenceIndexes[3];
+ int oldIdx = g_sequence_ids[3];
int randAction = g_engine->getRandomNumber(1, 2);
switch (randAction) {
case 1:
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 12, 2, 0, 0);
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 12, 2, 0, 0);
break;
case 2:
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 12, 4, 0, 0);
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 12, 4, 0, 0);
break;
default:
break;
}
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 23, 25);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 173);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 23, 25);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 173);
}
break;
case 173:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 12, 2, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 26, 30);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 174);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 12, 2, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 26, 30);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 174);
}
break;
case 174:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 12, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 23, 24);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 12, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 23, 24);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
_scene->_sequences.addTimer(60, 175);
}
break;
@@ -430,27 +430,27 @@ static void handleJumpInTree() {
int oldIdx = 0;
local._monkeyPosition = 1;
if (local._removeMonkeyFl)
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
+ _scene->_sequences.remove(g_sequence_ids[3]);
else
- oldIdx = _globals._sequenceIndexes[3];
+ oldIdx = g_sequence_ids[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 46, 49);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 46, 49);
if (!local._removeMonkeyFl)
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 179);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 179);
}
break;
case 179:
{
g_engine->_soundManager->command(18, 0);
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 53, 61);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 180);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 53, 61);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 180);
}
break;
@@ -470,53 +470,53 @@ static void handleTongue() {
switch (kernel.trigger) {
case 182:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 26, 30);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 183);
+ int oldIdx = g_sequence_ids[3];
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 26, 30);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 183);
}
break;
case 183:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 31, 33);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 184);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 31, 33);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 184);
}
break;
case 184:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 36, 37);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 185);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 36, 37);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 185);
}
break;
case 185:
{
g_engine->_soundManager->command(18, 0);
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 6, 20, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 38, 39);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 186);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 6, 20, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 38, 39);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 186);
}
break;
case 186:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 40, 41);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 178);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 40, 41);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 178);
local._removeMonkeyFl = false;
}
break;
@@ -530,37 +530,37 @@ static void handleStandFromPeek() {
switch (kernel.trigger) {
case 189:
local._monkeyPosition = 4;
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 50);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 50);
_scene->_sequences.addTimer(8, 190);
break;
case 190:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 6);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
_scene->_sequences.addTimer(8, 191);
break;
case 191:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], 1, 5);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 192);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[6], 1, 5);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 192);
break;
case 192:
{
g_engine->_soundManager->command(18, 0);
- int oldIdx = _globals._sequenceIndexes[6];
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 1);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[5], oldIdx);
+ int oldIdx = g_sequence_ids[6];
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
+ _scene->_sequences.updateTimeout(g_sequence_ids[5], oldIdx);
_scene->_sequences.addTimer(8, 193);
}
break;
case 193:
- _scene->_sequences.remove(_globals._sequenceIndexes[5]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 22);
+ _scene->_sequences.remove(g_sequence_ids[5]);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 22);
_scene->_sequences.addTimer(5, 194);
break;
@@ -577,20 +577,20 @@ static void handleStandFromPeek() {
static void handleStandBlink() {
switch (kernel.trigger) {
case 246:
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 22);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 22);
_scene->_sequences.addTimer(10, 247);
break;
case 247:
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 23);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 23);
_scene->_sequences.addTimer(8, 248);
break;
case 248:
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 22);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 22);
_scene->_sequences.addTimer(10, 249);
break;
@@ -608,10 +608,10 @@ static void handleJumpAndHide() {
case 196:
g_engine->_soundManager->command(18, 0);
local._monkeyPosition = 1;
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[5], 1, 16);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, 197);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[5], 1, 16);
+ _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 197);
break;
case 197:
@@ -629,70 +629,70 @@ static void handleMonkeyEating() {
switch (kernel.trigger) {
case 199:
g_engine->_soundManager->command(18, 0);
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 1, 14);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 200);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 1, 14);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 200);
break;
case 200:
{
- int oldIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[4] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[4], false, 10, 10, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 15, 16);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 201);
+ int oldIdx = g_sequence_ids[4];
+ g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 10, 10, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 15, 16);
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 201);
}
break;
case 201:
{
- int oldIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 12);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], oldIdx);
+ int oldIdx = g_sequence_ids[4];
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 12);
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
_scene->_sequences.addTimer(20, 202);
}
break;
case 202:
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 19);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 19);
_scene->_sequences.addTimer(20, 203);
break;
case 203:
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 17);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 17);
_scene->_sequences.addTimer(20, 204);
break;
case 204:
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[4], false, 10, 8, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 18, 19);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 205);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 10, 8, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 18, 19);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 205);
break;
case 205:
{
- int oldIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[4] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[4], false, 10, 8, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 20, 21);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 206);
+ int oldIdx = g_sequence_ids[4];
+ g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 10, 8, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 20, 21);
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 206);
}
break;
case 206:
{
- int oldIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 22, 25);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], oldIdx);
+ int oldIdx = g_sequence_ids[4];
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 22, 25);
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
if (!local._dodgeFl && !local._fallFl)
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 207);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 207);
else
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 209);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 209);
}
break;
@@ -702,30 +702,30 @@ static void handleMonkeyEating() {
int msgIndex = _scene->_kernelMessages.add(Common::Point(180, 25), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 130));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
- int oldIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[4] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[4], false, 15, 4, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 26, 27);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 208);
+ int oldIdx = g_sequence_ids[4];
+ g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 15, 4, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 26, 27);
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 208);
}
break;
case 208:
{
_scene->_kernelMessages.add(Common::Point(180, 39), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 131));
- int oldIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[4] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[4], false, 10, 4, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 28, 29);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 209);
+ int oldIdx = g_sequence_ids[4];
+ g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 10, 4, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 28, 29);
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 209);
}
break;
case 209:
{
- int oldIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 22);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], oldIdx);
+ int oldIdx = g_sequence_ids[4];
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 22);
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
_scene->_sequences.addTimer(1, 210);
}
break;
@@ -744,23 +744,23 @@ static void handleMonkeyFall() {
case 219:
{
g_engine->_soundManager->command(25, 0);
- _scene->_sprites.remove(_globals._spriteIndexes[7]);
- _scene->_sprites.remove(_globals._spriteIndexes[6]);
- _scene->_sprites.remove(_globals._spriteIndexes[5]);
- _scene->_sprites.remove(_globals._spriteIndexes[4]);
+ _scene->_sprites.remove(g_sprite_ids[7]);
+ _scene->_sprites.remove(g_sprite_ids[6]);
+ _scene->_sprites.remove(g_sprite_ids[5]);
+ _scene->_sprites.remove(g_sprite_ids[4]);
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('m', 4));
+ g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('m', 4));
_scene->_kernelMessages.add(Common::Point(180, 26), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 151));
_scene->_sequences.addTimer(40, 100);
_scene->_hotspots.activate(227, false);
- int oldIdx = _globals._sequenceIndexes[3];
+ int oldIdx = g_sequence_ids[3];
local._monkeyPosition = 1;
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[8], 1, 35);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[8], 6);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 220);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[8], 1, 35);
+ _scene->_sequences.setDepth(g_sequence_ids[8], 6);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 220);
}
break;
@@ -769,14 +769,14 @@ static void handleMonkeyFall() {
g_engine->_soundManager->command(18, 0);
_scene->_kernelMessages.add(Common::Point(182, 109), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 159));
_scene->_hotspots.activate(227, false);
- int oldIdx = _globals._sequenceIndexes[3];
+ int oldIdx = g_sequence_ids[3];
local._monkeyPosition = 1;
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[8], 36, 42);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[8], 6);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 221);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[8], 36, 42);
+ _scene->_sequences.setDepth(g_sequence_ids[8], 6);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 221);
}
break;
@@ -784,16 +784,16 @@ static void handleMonkeyFall() {
{
inter_move_object(OBJ_BINOCULARS, 209);
local._binocularsDroppedFl = true;
- int oldIdx = _globals._sequenceIndexes[8];
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 8, 1, 0, 0);
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 1);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[9], oldIdx);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[9], Common::Point(201, 131));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[8], oldIdx);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[8], 43, 72);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 222);
- int idx = _scene->_dynamicHotspots.add(words_binoculars, words_walkto, _globals._sequenceIndexes[9], Common::Rect(0, 0, 0, 0));
+ int oldIdx = g_sequence_ids[8];
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 1, 0, 0);
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
+ _scene->_sequences.updateTimeout(g_sequence_ids[9], oldIdx);
+ _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(201, 131));
+ _scene->_sequences.setDepth(g_sequence_ids[9], 8);
+ _scene->_sequences.updateTimeout(g_sequence_ids[8], oldIdx);
+ _scene->_sequences.setAnimRange(g_sequence_ids[8], 43, 72);
+ _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 222);
+ int idx = _scene->_dynamicHotspots.add(words_binoculars, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(200, 133), FACING_NORTH);
}
break;
@@ -801,11 +801,11 @@ static void handleMonkeyFall() {
case 222:
{
_scene->_kernelMessages.add(Common::Point(182, 109), 0xFDFC, 0, 0, 70, quote_string(kernel.quotes, 160));
- int oldIdx = _globals._sequenceIndexes[8];
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[8], 73, 78);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[8], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 223);
+ int oldIdx = g_sequence_ids[8];
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[8], 73, 78);
+ _scene->_sequences.updateTimeout(g_sequence_ids[8], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 223);
}
break;
@@ -831,29 +831,29 @@ static void handleMonkeyFall() {
static void handleMonkey1() {
switch (kernel.trigger) {
case 212:
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 9, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 1, 13);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 213);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 9, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 1, 13);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 213);
break;
case 213:
{
- int oldIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], 1, 22);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[7], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 214);
+ int oldIdx = g_sequence_ids[4];
+ g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 7, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[7], 1, 22);
+ _scene->_sequences.updateTimeout(g_sequence_ids[7], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 214);
}
break;
case 214:
{
- int oldIdx = _globals._sequenceIndexes[7];
- _globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], 23, 26);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[7], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 215);
+ int oldIdx = g_sequence_ids[7];
+ g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 7, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[7], 23, 26);
+ _scene->_sequences.updateTimeout(g_sequence_ids[7], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 215);
int msgIndex = _scene->_kernelMessages.add(Common::Point(170, 21), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 156));
_scene->_kernelMessages.setQuoted(msgIndex, 3, true);
}
@@ -863,19 +863,19 @@ static void handleMonkey1() {
{
g_engine->_soundManager->command(18, 0);
_scene->loadAnimation(kernel_full_name(209, 'a', -1, "", EXT_AA), 251);
- int oldIdx = _globals._sequenceIndexes[7];
- _globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], 27, 35);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[7], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 216);
+ int oldIdx = g_sequence_ids[7];
+ g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 7, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[7], 27, 35);
+ _scene->_sequences.updateTimeout(g_sequence_ids[7], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 216);
}
break;
case 216:
{
- int oldIdx = _globals._sequenceIndexes[7];
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 22);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], oldIdx);
+ int oldIdx = g_sequence_ids[7];
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 22);
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
_scene->_sequences.addTimer(25, 217);
}
break;
@@ -897,11 +897,11 @@ static void handleMonkey2() {
case 251:
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, quote_string(kernel.quotes, 137));
g_engine->_soundManager->command(22, 0);
- _globals._sequenceIndexes[12] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[12], false, 11, 1, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[12], Common::Point(111, 133));
- _scene->_sequences.setScale(_globals._sequenceIndexes[12], 79);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[12], 1, 6);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[12], SEQUENCE_TRIGGER_EXPIRE, 0, 252);
+ g_sequence_ids[12] = _scene->_sequences.addSpriteCycle(g_sprite_ids[12], false, 11, 1, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[12], Common::Point(111, 133));
+ _scene->_sequences.setScale(g_sequence_ids[12], 79);
+ _scene->_sequences.setAnimRange(g_sequence_ids[12], 1, 6);
+ _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 252);
player.clock = _scene->_frameStartTime - player.frame_delay;
player.walker_visible = false;
break;
@@ -910,17 +910,17 @@ static void handleMonkey2() {
{
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 132));
- int oldIdx = _globals._sequenceIndexes[12];
- _globals._sequenceIndexes[12] = _scene->_sequences.startCycle(_globals._spriteIndexes[12], false, 7);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[12], Common::Point(111, 133));
- _scene->_sequences.setScale(_globals._sequenceIndexes[12], 79);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[12], oldIdx);
+ int oldIdx = g_sequence_ids[12];
+ g_sequence_ids[12] = _scene->_sequences.startCycle(g_sprite_ids[12], false, 7);
+ _scene->_sequences.setPosition(g_sequence_ids[12], Common::Point(111, 133));
+ _scene->_sequences.setScale(g_sequence_ids[12], 79);
+ _scene->_sequences.updateTimeout(g_sequence_ids[12], oldIdx);
_scene->_sequences.addTimer(120, 253);
}
break;
case 253:
- _scene->_sequences.remove(_globals._sequenceIndexes[12]);
+ _scene->_sequences.remove(g_sequence_ids[12]);
player.clock = _scene->_frameStartTime - player.frame_delay;
player.walker_visible = true;
player.commands_allowed = true;
@@ -935,22 +935,22 @@ static void handleDodge() {
switch (kernel.trigger) {
case 241:
_scene->_hotspots.activate(227, true);
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 7);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 7);
_scene->_sequences.addTimer(6, 242);
break;
case 242:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 5);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 5);
_scene->_sequences.addTimer(25, 243);
g_engine->_soundManager->command(24, 0);
break;
case 243:
g_engine->_soundManager->command(18, 0);
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 6);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
local._playingAnimFl = false;
local._pauseMode = 0;
_scene->_kernelMessages.reset();
@@ -969,16 +969,16 @@ static void handleDodge() {
}
static void room_209_init() {
- _globals._spriteIndexes[11] = _scene->_sprites.addSprites("*RXMBD_2");
- _globals._spriteIndexes[12] = _scene->_sprites.addSprites(kernel_name('a', 1));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('e', -1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('a', 0));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('b', 1));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('m', 0));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('m', 1));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('m', 3));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('m', 6));
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites(kernel_name('m', 8));
+ g_sprite_ids[11] = _scene->_sprites.addSprites("*RXMBD_2");
+ g_sprite_ids[12] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('e', -1));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('b', 1));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('m', 0));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('m', 1));
+ g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('m', 3));
+ g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('m', 6));
+ g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('m', 8));
kernel.quotes = quote_load(0x82, 0x83, 0x84, 0x9C, 0x97, 0x95, 0x99, 0x9E, 0x98, 0x9B, 0xA0, 0x96, 0x9F,
0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x91, 0x92, 0x93, 0x94, 0x89, 0x85, 0x8A, 0x86, 0x87, 0x88, 0);
@@ -987,10 +987,10 @@ static void room_209_init() {
pal_change_color(253, 63, 20, 22);
if (object_is_here(OBJ_PLANT_STALK)) {
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_plant_stalk, words_walkto, _globals._sequenceIndexes[1], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ int idx = _scene->_dynamicHotspots.add(words_plant_stalk, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(263, 129), FACING_SOUTH);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 13);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 13);
}
if (_scene->_priorSceneId == 208) {
@@ -1004,17 +1004,17 @@ static void room_209_init() {
}
if (object_is_here(OBJ_BINOCULARS)) {
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[9], Common::Point(201, 131));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
- int idx = _scene->_dynamicHotspots.add(words_binoculars, words_walkto, _globals._sequenceIndexes[9], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(201, 131));
+ _scene->_sequences.setDepth(g_sequence_ids[9], 8);
+ int idx = _scene->_dynamicHotspots.add(words_binoculars, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(200, 133), FACING_NORTH);
}
if (_scene->_roomChanged) {
inter_give_to_player(OBJ_POISON_DARTS);
inter_give_to_player(OBJ_BLOWGUN);
- _globals[kMonkeyStatus] = MONKEY_HAS_BINOCULARS;
+ global[kMonkeyStatus] = MONKEY_HAS_BINOCULARS;
}
local._pitchFl = false;
@@ -1042,7 +1042,7 @@ static void room_209_init() {
}
static void room_209_daemon() {
- if (!local._playingAnimFl && !local._pitchFl && !local._fallFl && !local._dodgeFl && (local._pauseMode == 0) && (_globals[kMonkeyStatus] == MONKEY_HAS_BINOCULARS)) {
+ if (!local._playingAnimFl && !local._pitchFl && !local._fallFl && !local._dodgeFl && (local._pauseMode == 0) && (global[kMonkeyStatus] == MONKEY_HAS_BINOCULARS)) {
int randAction = g_engine->getRandomNumber(1, 50);
switch (randAction) {
case 1:
@@ -1265,55 +1265,55 @@ static void room_209_daemon() {
switch (kernel.trigger) {
case 228:
player.walker_visible = false;
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 1, 7);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 4);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 229);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 7);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
+ _scene->_sequences.setDepth(g_sequence_ids[2], 4);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 229);
break;
case 229:
{
- int oldIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 7);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 4);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], oldIdx);
+ int oldIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 7);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
+ _scene->_sequences.setDepth(g_sequence_ids[2], 4);
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
_scene->_sequences.addTimer(35, 230);
}
break;
case 230:
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _globals._sequenceIndexes[2] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 1, 7);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 4);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 231);
+ _scene->_sequences.remove(g_sequence_ids[2]);
+ g_sequence_ids[2] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 7);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
+ _scene->_sequences.setDepth(g_sequence_ids[2], 4);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 231);
break;
case 231:
{
- int oldIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 8, 10);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 4);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 232);
+ int oldIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 8, 10);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
+ _scene->_sequences.setDepth(g_sequence_ids[2], 4);
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 232);
player.clock = _scene->_frameStartTime - player.frame_delay;
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], -1);
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], -1);
player.walker_visible = false;
}
break;
case 232:
{
- int oldIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 10);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 4);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], oldIdx);
+ int oldIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 10);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
+ _scene->_sequences.setDepth(g_sequence_ids[2], 4);
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
_scene->_sequences.addTimer(2, 233);
_scene->_kernelMessages.reset();
if (local._dodgeFl && (local._monkeyPosition != 1) && (local._monkeyPosition != 2))
@@ -1328,32 +1328,32 @@ static void room_209_daemon() {
break;
case 234:
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
+ _scene->_sequences.remove(g_sequence_ids[2]);
_scene->_kernelMessages.reset();
if (player_said_3(hose_down, blowgun, monkey)) {
- _globals._sequenceIndexes[2] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[2], false, 7, 16, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 11, 12);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 4);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_SPRITE, 12, 239);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 235);
+ g_sequence_ids[2] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[2], false, 7, 16, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 11, 12);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
+ _scene->_sequences.setDepth(g_sequence_ids[2], 4);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 12, 239);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 235);
} else if (player_said_3(shoot, blowgun, monkey)) {
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 11, 12);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 4);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 235);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 11, 12);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
+ _scene->_sequences.setDepth(g_sequence_ids[2], 4);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 235);
g_engine->_soundManager->command(23, 0);
}
break;
case 235:
{
- int oldIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 13);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 4);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], oldIdx);
+ int oldIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 13);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
+ _scene->_sequences.setDepth(g_sequence_ids[2], 4);
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
_scene->_sequences.addTimer(12, 236);
local._forceFallFl = true;
local._forceDodgeFl = true;
@@ -1361,12 +1361,12 @@ static void room_209_daemon() {
break;
case 236:
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 14, 16);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 4);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 237);
+ _scene->_sequences.remove(g_sequence_ids[2]);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 14, 16);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
+ _scene->_sequences.setDepth(g_sequence_ids[2], 4);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 237);
break;
case 237:
@@ -1376,14 +1376,14 @@ static void room_209_daemon() {
break;
case 238:
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
+ _scene->_sequences.remove(g_sequence_ids[2]);
if (local._dodgeFl)
player.commands_allowed = true;
local._startShootingInTimerFl = false;
if (local._fallFl) {
- _globals[kMonkeyStatus] = MONKEY_IS_GONE;
+ global[kMonkeyStatus] = MONKEY_IS_GONE;
inter_move_object(OBJ_POISON_DARTS, NOWHERE);
}
local._dodgeFl = false;
@@ -1416,7 +1416,7 @@ static void room_209_pre_parser() {
if (player_said_2(walk_towards, field_to_west))
player.walk_off_edge_to_room = 208;
- if (_globals[kMonkeyStatus] == MONKEY_HAS_BINOCULARS) {
+ if (global[kMonkeyStatus] == MONKEY_HAS_BINOCULARS) {
if ((player_said_1(shoot) || player_said_1(hose_down)) && player_said_1(monkey)
&& player_said_1(blowgun) && player_has(OBJ_BLOWGUN) && player_has(OBJ_POISON_DARTS)) {
player.prepare_walk_x = 111;
@@ -1558,7 +1558,7 @@ static void room_209_parser() {
break;
}
- if (_globals[kMonkeyStatus] == MONKEY_HAS_BINOCULARS) {
+ if (global[kMonkeyStatus] == MONKEY_HAS_BINOCULARS) {
if ((player_said_1(shoot) || player_said_1(hose_down)) && player_said_1(monkey)
&& player_said_1(blowgun) && player_has(OBJ_BLOWGUN) && player_has(OBJ_POISON_DARTS)) {
if (player_said_3(shoot, blowgun, monkey) && !local._startShootingInTimerFl) {
@@ -1596,14 +1596,14 @@ static void room_209_parser() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- _globals._sequenceIndexes[11] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[11], false, 3, 2, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[11]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_SPRITE, 4, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[11] = _scene->_sequences.startPingPongCycle(g_sprite_ids[11], false, 3, 2, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[11]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_SPRITE, 4, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
+ _scene->_sequences.remove(g_sequence_ids[1]);
inter_give_to_player(OBJ_PLANT_STALK);
break;
@@ -1627,17 +1627,17 @@ static void room_209_parser() {
if (player_said_2(take, binoculars) && (kernel.trigger || object_is_here(OBJ_BINOCULARS))) {
switch (kernel.trigger) {
case 0:
- _globals._spriteIndexes[10] = _scene->_sprites.addSprites("*RXMBD_8");
+ g_sprite_ids[10] = _scene->_sprites.addSprites("*RXMBD_8");
player.commands_allowed = false;
player.walker_visible = false;
- _globals._sequenceIndexes[10] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[10], false, 3, 2, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[10]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[10], SEQUENCE_TRIGGER_SPRITE, 4, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[10], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[10] = _scene->_sequences.startPingPongCycle(g_sprite_ids[10], false, 3, 2, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[10]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[10], SEQUENCE_TRIGGER_SPRITE, 4, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
- _scene->_sequences.remove(_globals._sequenceIndexes[9]);
+ _scene->_sequences.remove(g_sequence_ids[9]);
inter_give_to_player(OBJ_BINOCULARS);
break;
@@ -1650,7 +1650,7 @@ static void room_209_parser() {
case 3:
object_examine(OBJ_BINOCULARS, 0x51AF, 0);
- _scene->_sprites.remove(_globals._spriteIndexes[10]);
+ _scene->_sprites.remove(g_sprite_ids[10]);
break;
default:
@@ -1729,13 +1729,13 @@ static void room_209_parser() {
}
if (player_said_2(look, palm_tree)) {
- if (_globals[kMonkeyStatus] == MONKEY_HAS_BINOCULARS) {
+ if (global[kMonkeyStatus] == MONKEY_HAS_BINOCULARS) {
if (local._monkeyPosition == 1)
text_show(20917);
else
text_show(20918);
} else {
- if (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY)
+ if (global[kMonkeyStatus] == MONKEY_AMBUSH_READY)
text_show(20917);
else
text_show(20919);
diff --git a/engines/mads/nebular/rooms/room210.cpp b/engines/mads/nebular/rooms/room210.cpp
index 147f403e3dd..10ff34b92b7 100644
--- a/engines/mads/nebular/rooms/room210.cpp
+++ b/engines/mads/nebular/rooms/room210.cpp
@@ -336,22 +336,22 @@ static void setDialogNode(int node) {
case 3:
local._twinkleAnimationType = 2;
- _globals[kCurtainOpen] = true;
+ global[kCurtainOpen] = true;
player.walker_visible = false;
pal_lock();
_scene->_kernelMessages.reset();
_scene->freeAnimation();
_scene->resetScene();
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
kernel.quotes = quote_load(0xE6, 0xE9, 0xEA, 0xE7, 0xE8, 0);
_scene->loadAnimation(kernel_name('B', -1), 4);
break;
case 4:
{
- _globals._spriteIndexes[8] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 5);
- _scene->_sequences.setDepth(_globals._spriteIndexes[8], 1);
+ g_sprite_ids[8] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 5);
+ _scene->_sequences.setDepth(g_sprite_ids[8], 1);
int msgIndex = _scene->_kernelMessages.add(Common::Point(160, 20), 0x1110, 32, 5, 180, quote_string(kernel.quotes, 231));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
@@ -380,7 +380,7 @@ static void setDialogNode(int node) {
break;
case 8:
- _globals[kTwinklesStatus] = TWINKLES_GONE;
+ global[kTwinklesStatus] = TWINKLES_GONE;
_scene->_nextSceneId = 216;
break;
@@ -613,10 +613,10 @@ static void restoreDialogNode(int node, int msgId, int posY) {
}
static void room_210_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
if (!player.been_here_before)
- _globals[kCurtainOpen] = 0;
+ global[kCurtainOpen] = 0;
if (_scene->_priorSceneId == 205) {
player.x = 277;
@@ -626,15 +626,15 @@ static void room_210_init() {
player.x = 168;
player.y = 128;
player.facing = FACING_SOUTH;
- _globals[kCurtainOpen] = true;
+ global[kCurtainOpen] = true;
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
player.x = 308;
player.y = 132;
}
- if (!_globals[kCurtainOpen]) {
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 5);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 5);
+ if (!global[kCurtainOpen]) {
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 5);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 5);
} else {
int idx = _scene->_dynamicHotspots.add(words_doorway, words_walk_through, -1, Common::Rect(163, 87, 163 + 19, 87 + 36));
local._doorway = _scene->_dynamicHotspots.setPosition(idx, Common::Point(168, 127), FACING_NORTH);
@@ -674,10 +674,10 @@ static void room_210_init() {
local._twinklesTalking = false;
local._curDialogNode = 0;
local._stopWalking = false;
- local._twinklesTalk2 = (_globals[kTwinklesApproached] > 0);
+ local._twinklesTalk2 = (global[kTwinklesApproached] > 0);
}
- if (_globals[kTwinklesStatus] == 0) {
+ if (global[kTwinklesStatus] == 0) {
_scene->loadAnimation(kernel_name('A', -1));
local._twinkleAnimationType = 1;
} else
@@ -919,9 +919,9 @@ static void room_210_parser() {
{
player.commands_allowed = false;
int quote;
- if (_globals[kTwinklesApproached] == 0)
+ if (global[kTwinklesApproached] == 0)
quote = 90;
- else if (_globals[kTwinklesApproached] == 1)
+ else if (global[kTwinklesApproached] == 1)
quote = 115;
else
quote = 171;
@@ -938,10 +938,10 @@ static void room_210_parser() {
if (!local._twinklesTalking) {
_scene->_sequences.addTimer(6, 1);
} else {
- if (_globals[kTwinklesApproached] == 0) {
+ if (global[kTwinklesApproached] == 0) {
handleTwinklesSpeech(0xAF, -1, 0);
handleTwinklesSpeech(0xB0, 0, 0);
- } else if (_globals[kTwinklesApproached] == 1) {
+ } else if (global[kTwinklesApproached] == 1) {
handleTwinklesSpeech(0xB1, 0, 0);
} else {
int quote = local._twinklesTalk2 ? 0xB3 : 0xB2;
@@ -957,8 +957,8 @@ static void room_210_parser() {
local._shouldMoveHead = false;
local._shouldTalk = false;
- if (_globals[kTwinklesApproached] < 2)
- _globals[kTwinklesApproached]++;
+ if (global[kTwinklesApproached] < 2)
+ global[kTwinklesApproached]++;
local._conv1.start();
local._curDialogNode = 1;
@@ -991,19 +991,19 @@ static void room_210_parser() {
_scene->_nextSceneId = 205;
} else if (player_said_2(walk_through, doorway)) {
_scene->_nextSceneId = 215;
- } else if ((player_said_2(pull, curtain) || player_said_2(open, curtain)) && !_globals[kCurtainOpen]) {
+ } else if ((player_said_2(pull, curtain) || player_said_2(open, curtain)) && !global[kCurtainOpen]) {
switch (kernel.trigger) {
case 0:
player.commands_allowed = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[1], false, 12, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 5);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[1], false, 12, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 5);
+ _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
player.commands_allowed = true;
- _globals[kCurtainOpen] = true;
+ global[kCurtainOpen] = true;
local._doorway = _scene->_dynamicHotspots.add(words_doorway, words_walk_through, -1, Common::Rect(163, 87, 163 + 19, 87 + 36));
_scene->_dynamicHotspots.setPosition(local._doorway, Common::Point(168, 127), FACING_NORTH);
_scene->_dynamicHotspots.setCursor(local._doorway, CURSOR_GO_UP);
@@ -1012,32 +1012,32 @@ static void room_210_parser() {
default:
break;
}
- } else if ((player_said_2(pull, curtain) || player_said_2(close, curtain)) && _globals[kCurtainOpen]) {
+ } else if ((player_said_2(pull, curtain) || player_said_2(close, curtain)) && global[kCurtainOpen]) {
switch (kernel.trigger) {
case 0:
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
+ _scene->_sequences.remove(g_sequence_ids[1]);
player.commands_allowed = false;
player.facing = FACING_NORTH;
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 12, 0, 0, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 5);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 12, 0, 0, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 5);
+ _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
break;
case 1:
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 5);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 5);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 5);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 5);
_scene->_sequences.addTimer(48, 2);
break;
case 2:
_scene->_dynamicHotspots.remove(local._doorway);
player.commands_allowed = true;
- _globals[kCurtainOpen] = false;
+ global[kCurtainOpen] = false;
break;
default:
break;
}
} else if (player_said_2(look, hut)) {
- if (_globals[kTwinklesStatus] == TWINKLES_GONE) {
+ if (global[kTwinklesStatus] == TWINKLES_GONE) {
if (config_file.naughtiness == STORYMODE_NAUGHTY)
text_show(21003);
else
diff --git a/engines/mads/nebular/rooms/room211.cpp b/engines/mads/nebular/rooms/room211.cpp
index bb0c117ea36..ca2c1e99cd4 100644
--- a/engines/mads/nebular/rooms/room211.cpp
+++ b/engines/mads/nebular/rooms/room211.cpp
@@ -44,7 +44,7 @@ static Scratch local;
static void room_211_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites("*SC002Z2");
+ g_sprite_ids[1] = _scene->_sprites.addSprites("*SC002Z2");
local._wakeFl = false;
if (_scene->_priorSceneId == 210) {
@@ -67,11 +67,11 @@ static void room_211_init() {
}
if (g_engine->getRandomNumber(1, 8) == 1) {
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(202, 126));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 8);
- _scene->_sequences.setMotion(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_SPRITE, -200, 0);
- _scene->_dynamicHotspots.add(words_slithering_snake, words_walkto, _globals._sequenceIndexes[2], Common::Rect(1, 1, 1 + 41, 1 + 10));
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(202, 126));
+ _scene->_sequences.setDepth(g_sequence_ids[2], 8);
+ _scene->_sequences.setMotion(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, -200, 0);
+ _scene->_dynamicHotspots.add(words_slithering_snake, words_walkto, g_sequence_ids[2], Common::Rect(1, 1, 1 + 41, 1 + 10));
}
if (_scene->_roomChanged)
@@ -81,7 +81,7 @@ static void room_211_init() {
pal_change_color(253, 63, 20, 22);
kernel.quotes = quote_load(0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 1, 0);
- if (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY)
+ if (global[kMonkeyStatus] == MONKEY_AMBUSH_READY)
_scene->_kernelMessages.initRandomMessages(2,
Common::Rect(0, 0, 54, 30), 13, 2, 0xFDFC, 60,
151, 152, 153, 154, 0);
@@ -96,7 +96,7 @@ static void room_211_init() {
}
static void room_211_daemon() {
- if (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY) {
+ if (global[kMonkeyStatus] == MONKEY_AMBUSH_READY) {
_scene->_kernelMessages.randomServer();
if (!local._ambushFl && !local._wakeFl && (_scene._frameStartTime >= local._monkeyTime)) {
@@ -134,7 +134,7 @@ static void room_211_daemon() {
player.x = 49;
player.y = 133;
local._ambushFl = false;
- _globals[kMonkeyStatus] = MONKEY_HAS_BINOCULARS;
+ global[kMonkeyStatus] = MONKEY_HAS_BINOCULARS;
break;
default:
@@ -270,12 +270,12 @@ static void room_211_daemon() {
}
static void room_211_pre_parser() {
- if (player_said_2(walk_down, jungle_path) && player_has(OBJ_BINOCULARS) && (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY)
+ if (player_said_2(walk_down, jungle_path) && player_has(OBJ_BINOCULARS) && (global[kMonkeyStatus] == MONKEY_AMBUSH_READY)
&& (_scene->_customDest.x <= 52) && (_scene->_customDest.y >= 132))
player_walk(52, 132, FACING_WEST);
if (player_said_2(walk_down, path_to_west)) {
- if (player_has(OBJ_BINOCULARS) && (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY))
+ if (player_has(OBJ_BINOCULARS) && (global[kMonkeyStatus] == MONKEY_AMBUSH_READY))
player_walk(52, 132, FACING_WEST);
else
player.walk_off_edge_to_room = 210;
@@ -286,7 +286,7 @@ static void room_211_pre_parser() {
}
static void room_211_parser() {
- if (player.look_around && (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY))
+ if (player.look_around && (global[kMonkeyStatus] == MONKEY_AMBUSH_READY))
text_show(21111);
else if (player_said_3(look, binoculars, palm_tree))
text_show(21116);
@@ -295,7 +295,7 @@ static void room_211_parser() {
else if (player_said_2(look, jungle_path))
text_show(21102);
else if (player_said_2(look, palm_tree)) {
- if (_globals[kMonkeyStatus] == MONKEY_AMBUSH_READY) {
+ if (global[kMonkeyStatus] == MONKEY_AMBUSH_READY) {
if (config_file.naughtiness == STORYMODE_NAUGHTY)
text_show(21103);
else
diff --git a/engines/mads/nebular/rooms/room213.cpp b/engines/mads/nebular/rooms/room213.cpp
index 727ea3a8ab7..b6765345c18 100644
--- a/engines/mads/nebular/rooms/room213.cpp
+++ b/engines/mads/nebular/rooms/room213.cpp
@@ -33,12 +33,12 @@ namespace RexNebular {
namespace Rooms {
static void room_213_init() {
- if (_globals[kMeteorologistWatch] != METEOROLOGIST_NORMAL)
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites("*METHAND");
- else if (_globals[kSexOfRex] == REX_MALE)
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites("*REXHAND");
+ if (global[kMeteorologistWatch] != METEOROLOGIST_NORMAL)
+ g_sprite_ids[4] = _scene->_sprites.addSprites("*METHAND");
+ else if (global[kSexOfRex] == REX_MALE)
+ g_sprite_ids[4] = _scene->_sprites.addSprites("*REXHAND");
else
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites("*ROXHAND");
+ g_sprite_ids[4] = _scene->_sprites.addSprites("*ROXHAND");
teleporter_init();
diff --git a/engines/mads/nebular/rooms/room214.cpp b/engines/mads/nebular/rooms/room214.cpp
index 350728636dd..edebb89a01f 100644
--- a/engines/mads/nebular/rooms/room214.cpp
+++ b/engines/mads/nebular/rooms/room214.cpp
@@ -40,26 +40,26 @@ static Scratch local;
static void room_214_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('e', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('e', 1));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('t', -1));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites("*RXMRD_7");
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('e', 0));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('e', 1));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('t', -1));
+ g_sprite_ids[4] = _scene->_sprites.addSprites("*RXMRD_7");
local._devilTime = player.clock;
local._devilRunningFl = false;
if (object_is_here(OBJ_POISON_DARTS)) {
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(103, 86));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 11);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(103, 86));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 11);
} else {
_scene->_hotspots.activate(words_poison_darts, false);
}
if (object_is_here(OBJ_BLOWGUN)) {
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(90, 87));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 13);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(90, 87));
+ _scene->_sequences.setDepth(g_sequence_ids[2], 13);
} else {
_scene->_hotspots.activate(words_blowgun, false);
}
@@ -75,35 +75,35 @@ static void room_214_init() {
static void room_214_daemon() {
if ((player.clock - local._devilTime > 800) && !local._devilRunningFl) {
local._devilRunningFl = true;
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 9, 1, 6, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 1, 4);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 2);
- _scene->_dynamicHotspots.add(words_captive_creature, words_walkto, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 9, 1, 6, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 4);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 2);
+ _scene->_dynamicHotspots.add(words_captive_creature, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
if (local._devilRunningFl) {
switch (kernel.trigger) {
case 71:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 9, 5, 0, 0);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_dynamicHotspots.add(words_captive_creature, words_walkto, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 5, 8);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 2);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 9, 5, 0, 0);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_dynamicHotspots.add(words_captive_creature, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 5, 8);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 2);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
}
break;
case 72:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 9, 1, 0, 0);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
- _scene->_dynamicHotspots.add(words_captive_creature, words_walkto, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 9, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 2);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 9, 1, 0, 0);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ _scene->_dynamicHotspots.add(words_captive_creature, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 9, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 2);
local._devilTime = player.clock;
local._devilRunningFl = false;
}
@@ -125,16 +125,16 @@ static void room_214_parser() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], true, 6, 1, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], true, 6, 1, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
- _globals._sequenceIndexes[4] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[4], true, 6, 1, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
+ g_sequence_ids[4] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[4], true, 6, 1, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.remove(g_sequence_ids[1]);
inter_give_to_player(OBJ_POISON_DARTS);
_scene->_hotspots.activate(words_poison_darts, false);
break;
@@ -157,16 +157,16 @@ static void room_214_parser() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 6, 1, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 1, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
- _globals._sequenceIndexes[4] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[4], false, 6, 1, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
+ g_sequence_ids[4] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[4], false, 6, 1, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.remove(g_sequence_ids[2]);
inter_give_to_player(OBJ_BLOWGUN);
_scene->_hotspots.activate(words_blowgun, false);
break;
diff --git a/engines/mads/nebular/rooms/room215.cpp b/engines/mads/nebular/rooms/room215.cpp
index 19ab9e6b943..bcb7f163e4f 100644
--- a/engines/mads/nebular/rooms/room215.cpp
+++ b/engines/mads/nebular/rooms/room215.cpp
@@ -32,17 +32,17 @@ namespace RexNebular {
namespace Rooms {
static void room_215_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('e', 0));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('e', 0));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('a', 0));
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 7, 0, 0, 0);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(235, 83));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 7, 0, 0, 0);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(235, 83));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 15);
- if (_globals[kSexOfRex] == REX_MALE)
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites("*RXMRC_9");
+ if (global[kSexOfRex] == REX_MALE)
+ g_sprite_ids[2] = _scene->_sprites.addSprites("*RXMRC_9");
else
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites("*ROXRC_9");
+ g_sprite_ids[2] = _scene->_sprites.addSprites("*ROXRC_9");
if (_scene->_priorSceneId == 216) {
player.x = 140;
@@ -50,7 +50,7 @@ static void room_215_init() {
player.facing = FACING_SOUTHWEST;
player.walker_visible = false;
player.commands_allowed = false;
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
_scene->_sequences.addTimer(120, 70);
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
player.x = 204;
@@ -64,13 +64,13 @@ static void room_215_init() {
static void room_215_daemon() {
if (kernel.trigger == 70) {
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 1, 0, 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
if (kernel.trigger == 71) {
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[3]);
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[3]);
player.walker_visible = true;
player.commands_allowed = true;
}
@@ -83,14 +83,14 @@ static void room_215_parser() {
if (!player_has(OBJ_TWINKIFRUIT) || kernel.trigger) {
switch (kernel.trigger) {
case 0:
- if (_globals[kSexOfRex] == REX_MALE) {
+ if (global[kSexOfRex] == REX_MALE) {
player.walker_visible = false;
player.commands_allowed = false;
- _globals._sequenceIndexes[2] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[2], false, 6, 2, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 1, 4);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_LOOP, 0, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 6, 2, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 4);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_LOOP, 0, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
inter_give_to_player(OBJ_TWINKIFRUIT);
object_examine(OBJ_TWINKIFRUIT, 0x5404, 0);
@@ -107,7 +107,7 @@ static void room_215_parser() {
case 2:
player.walker_visible = true;
player.commands_allowed = true;
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[2]);
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[2]);
break;
default:
diff --git a/engines/mads/nebular/rooms/room301.cpp b/engines/mads/nebular/rooms/room301.cpp
index d9f1c19a2a1..a2ce9cd4cbd 100644
--- a/engines/mads/nebular/rooms/room301.cpp
+++ b/engines/mads/nebular/rooms/room301.cpp
@@ -32,11 +32,11 @@ namespace RexNebular {
namespace Rooms {
static void room_301_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 9, 0, 0, 0);
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 9, 0, 0, 0);
- _globals[kMeteorologistStatus] = METEOROLOGIST_GONE;
- _globals[kTeleporterCommand] = TELEPORTER_NONE;
+ global[kMeteorologistStatus] = METEOROLOGIST_GONE;
+ global[kTeleporterCommand] = TELEPORTER_NONE;
player.commands_allowed = false;
player.walker_visible = false;
diff --git a/engines/mads/nebular/rooms/room303.cpp b/engines/mads/nebular/rooms/room303.cpp
index 08daa10c269..19ad79c1e0c 100644
--- a/engines/mads/nebular/rooms/room303.cpp
+++ b/engines/mads/nebular/rooms/room303.cpp
@@ -32,12 +32,12 @@ namespace RexNebular {
namespace Rooms {
static void room_303_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('b', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('b', 1));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('b', 1));
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 10, 0, 50, 120);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 10, 0, 0, 0);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 10, 0, 50, 120);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 10, 0, 0, 0);
player.walker_visible = false;
player.commands_allowed = false;
diff --git a/engines/mads/nebular/rooms/room304.cpp b/engines/mads/nebular/rooms/room304.cpp
index a56e3fea670..c0bbe47e02c 100644
--- a/engines/mads/nebular/rooms/room304.cpp
+++ b/engines/mads/nebular/rooms/room304.cpp
@@ -44,20 +44,20 @@ static void room_304_init() {
player.commands_allowed = false;
_scene->loadAnimation(kernel_name('a', -1), 60);
} else {
- if (_globals[kSexOfRex] == REX_MALE)
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ if (global[kSexOfRex] == REX_MALE)
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('a', 0));
else
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('a', 2));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('a', 2));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('a', 1));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('b', 0));
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 150, 0, 3, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 2);
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 150, 0, 3, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 2);
pal_change_color(252, 45, 63, 45);
pal_change_color(253, 20, 45, 20);
- if (_globals[kSexOfRex] == REX_MALE) {
+ if (global[kSexOfRex] == REX_MALE) {
player.x = 111;
player.y = 117;
}
@@ -66,8 +66,8 @@ static void room_304_init() {
player.y = 116;
}
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 11, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], -1, -1);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 11, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], -1, -1);
_scene->_sequences.addTimer(48, 70);
}
@@ -84,20 +84,20 @@ static void room_304_daemon() {
case 70:
{
player.walker_visible = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 2, 4);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
- if (_globals[kSexOfRex] == REX_MALE)
- local._explosionSpriteId = _globals._spriteIndexes[1];
+ _scene->_sequences.remove(g_sequence_ids[2]);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 2, 4);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 1);
+ if (global[kSexOfRex] == REX_MALE)
+ local._explosionSpriteId = g_sprite_ids[1];
else
- local._explosionSpriteId = _globals._spriteIndexes[4];
+ local._explosionSpriteId = g_sprite_ids[4];
int sprIdx = _scene->_sequences.addSpriteCycle(local._explosionSpriteId, false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(sprIdx, -1, 4);
_scene->_sequences.setDepth(sprIdx, 1);
_scene->_sequences.addSubEntry(sprIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 71);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
}
break;
@@ -128,23 +128,23 @@ static void room_304_daemon() {
break;
case 74:
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 5, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 5, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
break;
case 75:
- _globals._sequenceIndexes[2] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 2, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
+ g_sequence_ids[2] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 2, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
break;
case 76:
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 8, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 2, 2);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 1);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 2, 2);
_scene->_sequences.addTimer(48, 77);
break;
diff --git a/engines/mads/nebular/rooms/room307.cpp b/engines/mads/nebular/rooms/room307.cpp
index dc891ef34d4..90537cab517 100644
--- a/engines/mads/nebular/rooms/room307.cpp
+++ b/engines/mads/nebular/rooms/room307.cpp
@@ -97,13 +97,13 @@ static void setDialogNode(int node) {
break;
case 1:
- _globals[kMetBuddyBeast] = true;
+ global[kMetBuddyBeast] = true;
handlePrisonerSpeech(0x10F, 2, INDEFINITE_TIMEOUT);
local._dialog1.start();
break;
case 2:
- _globals[kMetBuddyBeast] = true;
+ global[kMetBuddyBeast] = true;
handlePrisonerSpeech(0x111, 2, INDEFINITE_TIMEOUT);
local._dialog1.start();
break;
@@ -114,7 +114,7 @@ static void setDialogNode(int node) {
break;
case 5:
- _globals[kKnowsBuddyBeast] = true;
+ global[kKnowsBuddyBeast] = true;
handlePrisonerSpeech(0x117, 2, INDEFINITE_TIMEOUT);
local._dialog2.start();
break;
@@ -125,7 +125,7 @@ static void setDialogNode(int node) {
break;
case 7:
- _globals[kKnowsBuddyBeast] = true;
+ global[kKnowsBuddyBeast] = true;
handlePrisonerSpeech(0x124, 10, INDEFINITE_TIMEOUT);
local._dialog2.write(0x11A, false);
local._dialog2.write(0x11B, true);
@@ -186,7 +186,7 @@ static void setDialogNode(int node) {
break;
case 16:
- _globals[kKnowsBuddyBeast] = true;
+ global[kKnowsBuddyBeast] = true;
handlePrisonerSpeech(0x10C, 1, INDEFINITE_TIMEOUT);
local._dialog2.start();
break;
@@ -266,7 +266,7 @@ static void handleDialog() {
} else {
player.commands_allowed = true;
- if (!_globals[kKnowsBuddyBeast]) {
+ if (!global[kKnowsBuddyBeast]) {
handlePrisonerEncounter();
} else {
handlePrisonerDialog();
@@ -275,16 +275,16 @@ static void handleDialog() {
}
static void room_307_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites("*SC003x0");
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites("*SC003x1");
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites("*SC003x2");
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sprite_ids[1] = _scene->_sprites.addSprites("*SC003x0");
+ g_sprite_ids[0] = _scene->_sprites.addSprites("*SC003x1");
+ g_sprite_ids[2] = _scene->_sprites.addSprites("*SC003x2");
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('x', 0));
init_forcefield(&local._forcefield, true);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 15);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[4], 15);
local._animationMode = 0;
local._fieldCollisionCounter = 0;
@@ -352,10 +352,10 @@ static void room_307_init() {
int hotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(129, 104), FACING_NORTH);
_scene->_dynamicHotspots.setCursor(hotspotId, CURSOR_GO_UP);
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 15);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 2);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[4], 15);
}
pal_change_color(252, 63, 30, 20);
@@ -368,7 +368,7 @@ static void room_307_init() {
}
static void room_307_daemon() {
- handle_forcefield(&local._forcefield, &_globals._spriteIndexes[0]);
+ handle_forcefield(&local._forcefield, &g_sprite_ids[0]);
if ((local._animationMode == 1) && (_scene->_animation[0] != nullptr)) {
if (_scene->_animation[0]->getCurrentFrame() == 126) {
@@ -412,7 +412,7 @@ static void room_307_daemon() {
local._lastFrameTime = _scene->_frameStartTime;
if ((local._guardTime > 3000) && !local._duringPeeingFl && (_scene->_animation[0] == nullptr)
- && (inter_input_mode != kInputConversation) && _globals[kMetBuddyBeast] && !local._activePrisonerFl) {
+ && (inter_input_mode != kInputConversation) && global[kMetBuddyBeast] && !local._activePrisonerFl) {
if (!player_has(OBJ_SCALPEL) && !local._grateOpenedFl) {
player.commands_allowed = false;
player_walk(151, 119, FACING_SOUTHEAST);
@@ -422,7 +422,7 @@ static void room_307_daemon() {
}
local._guardTime = 0;
} else if ((local._prisonerTimer > 300) && (inter_input_mode != kInputConversation) && (_scene->_animation[0] == nullptr) && !local._activePrisonerFl) {
- if (!_globals[kMetBuddyBeast]) {
+ if (!global[kMetBuddyBeast]) {
if (local._prisonerMessageId == -1)
local._prisonerMessageId = 0x104;
@@ -431,7 +431,7 @@ static void room_307_daemon() {
local._prisonerMessageId++;
if (local._prisonerMessageId > 0x10A)
local._prisonerMessageId = 0x104;
- } else if (_globals[kKnowsBuddyBeast] && (local._dialog2.read(0) > 1) && (g_engine->getRandomNumber(1, 3) == 1)) {
+ } else if (global[kKnowsBuddyBeast] && (local._dialog2.read(0) > 1) && (g_engine->getRandomNumber(1, 3) == 1)) {
int idx = _scene->_kernelMessages.add(Common::Point(5, 51), 0xFDFC, 0, 81, 120, quote_string(kernel.quotes, 267));
_scene->_kernelMessages.setQuoted(idx, 4, true);
}
@@ -458,10 +458,10 @@ static void room_307_parser() {
handleDialog();
else if (player_said_2(talkto, cell_wall) || player_said_2(talkto, wall) || player_said_2(talkto, toilet)) {
int node, say;
- if (_globals[kKnowsBuddyBeast]) {
+ if (global[kKnowsBuddyBeast]) {
say = 0x10E;
node = 16;
- } else if (_globals[kMetBuddyBeast]) {
+ } else if (global[kMetBuddyBeast]) {
say = 0x10E;
node = 2;
} else {
@@ -491,41 +491,41 @@ static void room_307_parser() {
break;
case 1:
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites("*RXCL_8");
+ g_sprite_ids[5] = _scene->_sprites.addSprites("*RXCL_8");
player.walker_visible = false;
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[5], -1, 3);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[5], -1, 3);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
{
- int oldIdx = _globals._sequenceIndexes[5];
- _globals._sequenceIndexes[5] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[5], false, 12, 6, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[5], 2, 3);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[5], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ int oldIdx = g_sequence_ids[5];
+ g_sequence_ids[5] = _scene->_sequences.startPingPongCycle(g_sprite_ids[5], false, 12, 6, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.setAnimRange(g_sequence_ids[5], 2, 3);
+ _scene->_sequences.updateTimeout(g_sequence_ids[5], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
break;
case 3:
{
- int oldIdx = _globals._sequenceIndexes[5];
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 1);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[5], oldIdx);
+ int oldIdx = g_sequence_ids[5];
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[5], oldIdx);
_scene->_sequences.addTimer(48, 4);
}
break;
case 4:
g_engine->_soundManager->command(26, 0);
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 15);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 2);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[4], 15);
_scene->_sequences.addTimer(90, 5);
break;
@@ -540,7 +540,7 @@ static void room_307_parser() {
{
player.walker_visible = true;
player.clock = _scene->_frameStartTime - player.frame_delay;
- _scene->_sequences.remove(_globals._sequenceIndexes[5]);
+ _scene->_sequences.remove(g_sequence_ids[5]);
local._grateOpenedFl = true;
_scene->_hotspots.activate(17, false);
int idx = _scene->_dynamicHotspots.add(words_air_vent, words_climb_into, -1, Common::Rect(117, 67, 117 + 19, 67 + 13));
@@ -552,7 +552,7 @@ static void room_307_parser() {
break;
case 7:
- _scene->_sprites.remove(_globals._spriteIndexes[5]);
+ _scene->_sprites.remove(g_sprite_ids[5]);
player.commands_allowed = true;
break;
@@ -563,75 +563,75 @@ static void room_307_parser() {
if (local._grateOpenedFl) {
switch (kernel.trigger) {
case 0:
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites("*RXCL_8");
+ g_sprite_ids[5] = _scene->_sprites.addSprites("*RXCL_8");
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 60, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 3, -2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 15);
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 18, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[5], -1, 4);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 60, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 3, -2);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[4], 15);
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 18, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[5], -1, 4);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, -2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 15);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, -2);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[4], 15);
break;
case 2:
{
- int oldIdx = _globals._sequenceIndexes[5];
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[5], 4, 10);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[5], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ int oldIdx = g_sequence_ids[5];
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[5], 4, 10);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[5], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
break;
case 3:
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 3);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 1);
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 11);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[5], Common::Point(129, 102));
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 3);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[4], 1);
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 11);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.setPosition(g_sequence_ids[5], Common::Point(129, 102));
_scene->_sequences.addTimer(48, 4);
break;
case 4:
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 1);
- _scene->_sequences.remove(_globals._sequenceIndexes[5]);
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[5], 12, 14);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[5], Common::Point(129, 102));
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 2);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[4], 1);
+ _scene->_sequences.remove(g_sequence_ids[5]);
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[5], 12, 14);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.setPosition(g_sequence_ids[5], Common::Point(129, 102));
+ _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
break;
case 5:
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 15);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[5], Common::Point(129, 102));
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 15);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.setPosition(g_sequence_ids[5], Common::Point(129, 102));
_scene->_sequences.addTimer(48, 6);
break;
case 6:
- _scene->_sequences.remove(_globals._sequenceIndexes[5]);
- _scene->_sequences.remove(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 1);
+ _scene->_sequences.remove(g_sequence_ids[5]);
+ _scene->_sequences.remove(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[4], 1);
_scene->_sequences.addTimer(48, 7);
break;
@@ -650,32 +650,32 @@ static void room_307_parser() {
switch (kernel.trigger) {
case 0:
g_engine->_soundManager->command(25, 0);
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('a', 0));
local._duringPeeingFl = true;
player.commands_allowed = false;
player.walker_visible = false;
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 9, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], -1, 2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 9, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], -1, 2);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 9);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 9, 5, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 3, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 9, 5, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 3, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 9);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[3]);
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[3]);
player.walker_visible = true;
_scene->_sequences.addTimer(48, 3);
break;
case 3:
{
- _scene->_sprites.remove(_globals._spriteIndexes[3]);
+ _scene->_sprites.remove(g_sprite_ids[3]);
_scene->_kernelMessages.reset();
int idx = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 4, 120, quote_string(kernel.quotes, 237));
_scene->_kernelMessages.setQuoted(idx, 4, true);
diff --git a/engines/mads/nebular/rooms/room308.cpp b/engines/mads/nebular/rooms/room308.cpp
index 0bfb1a3cce5..73c3a438ae2 100644
--- a/engines/mads/nebular/rooms/room308.cpp
+++ b/engines/mads/nebular/rooms/room308.cpp
@@ -41,23 +41,23 @@ static Scratch local;
static void room_308_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites("*SC003x0");
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites("*SC003x1");
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites("*SC003x2");
+ g_sprite_ids[1] = _scene->_sprites.addSprites("*SC003x0");
+ g_sprite_ids[0] = _scene->_sprites.addSprites("*SC003x1");
+ g_sprite_ids[2] = _scene->_sprites.addSprites("*SC003x2");
init_forcefield(&local._forcefield, true);
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('b', 0));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
pal_change_color(252, 63, 30, 20);
pal_change_color(253, 45, 15, 12);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 15);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[4], 15);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 9);
_scene->_sequences.addTimer(48, 70);
player.walker_visible = false;
@@ -69,7 +69,7 @@ static void room_308_init() {
}
static void room_308_daemon() {
- handle_forcefield(&local._forcefield, &_globals._spriteIndexes[0]);
+ handle_forcefield(&local._forcefield, &g_sprite_ids[0]);
if (kernel.trigger == 60)
_scene->_nextSceneId = 307;
@@ -80,80 +80,80 @@ static void room_308_daemon() {
switch (kernel.trigger) {
case 70:
{
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 18, 9, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 2, 3);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 18, 9, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, 3);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 9);
_scene->_kernelMessages.reset();
int idx = _scene->_kernelMessages.add(Common::Point(171, 21), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 244));
_scene->_kernelMessages.setQuoted(idx, 2, true);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
break;
case 71:
{
- int seqIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 4);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], seqIdx);
+ int seqIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 4);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 9);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], seqIdx);
_scene->_sequences.addTimer(48, 72);
}
break;
case 72:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 20, 5, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 3, 4);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 20, 5, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 3, 4);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 9);
_scene->_kernelMessages.reset();
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
break;
case 73:
{
- int seqIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 5);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], seqIdx);
+ int seqIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 5);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 9);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], seqIdx);
_scene->_sequences.addTimer(48, 74);
}
break;
case 74:
{
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 20, 8, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 6, 7);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 20, 8, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 6, 7);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 9);
_scene->_kernelMessages.reset();
int idx = _scene->_kernelMessages.add(Common::Point(171, 21), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 245));
_scene->_kernelMessages.setQuoted(idx, 2, true);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
}
break;
case 75:
{
- int seqIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 23, 5, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 8, 10);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], seqIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
+ int seqIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 23, 5, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 8, 10);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 9);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], seqIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
}
break;
case 76:
{
- int seqIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 26, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 2, 3);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 9);
+ int seqIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 26, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, 3);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 9);
_scene->_kernelMessages.reset();
int idx = _scene->_kernelMessages.add(Common::Point(171, 21), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 246));
_scene->_kernelMessages.setQuoted(idx, 2, true);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], seqIdx);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], seqIdx);
}
break;
diff --git a/engines/mads/nebular/rooms/room309.cpp b/engines/mads/nebular/rooms/room309.cpp
index f4f9d2a9fbd..f560f16fb14 100644
--- a/engines/mads/nebular/rooms/room309.cpp
+++ b/engines/mads/nebular/rooms/room309.cpp
@@ -44,23 +44,23 @@ static Scratch local;
static void room_309_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites("*SC003x0");
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites("*SC003x1");
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites("*SC003x2");
+ g_sprite_ids[1] = _scene->_sprites.addSprites("*SC003x0");
+ g_sprite_ids[0] = _scene->_sprites.addSprites("*SC003x1");
+ g_sprite_ids[2] = _scene->_sprites.addSprites("*SC003x2");
init_forcefield(&local._forcefield, true);
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 15);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[4], 15);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], -1, 3);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 11);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_SPRITE, 3, 70);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 7, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], -1, 3);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 11);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 3, 70);
pal_change_color(252, 63, 37, 26);
pal_change_color(253, 45, 24, 17);
@@ -87,7 +87,7 @@ static void room_309_init() {
}
static void room_309_daemon() {
- handle_forcefield(&local._forcefield, &_globals._spriteIndexes[0]);
+ handle_forcefield(&local._forcefield, &g_sprite_ids[0]);
if (kernel.trigger == 61) {
local._messagesIndexes[0] = -1;
@@ -134,90 +134,90 @@ static void room_309_daemon() {
switch (kernel.trigger) {
case 70:
{
- int idx = _scene->_dynamicHotspots.add(words_ghastly_beast, words_gawk_at, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
+ int idx = _scene->_dynamicHotspots.add(words_ghastly_beast, words_gawk_at, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(142, 146), FACING_NORTHEAST);
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 7, 4, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 2, 3);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 11);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 7, 4, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, 3);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 11);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
break;
case 71:
{
- int _oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 4, 7);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 11);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], _oldIdx);
+ int _oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 7, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 4, 7);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 11);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], _oldIdx);
int idx = _scene->_kernelMessages.add(Common::Point(85, 37), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 248));
_scene->_kernelMessages.setQuoted(idx, 2, true);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
}
break;
case 72:
{
- int _oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 7, 8, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 8, 11);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 11);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], _oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ int _oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 7, 8, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 8, 11);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 11);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], _oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
}
break;
case 73:
{
- int _oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 12, 20);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 11);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], _oldIdx);
+ int _oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 7, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 12, 20);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 11);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], _oldIdx);
int idx = _scene->_kernelMessages.add(Common::Point(170, 49), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 249));
_scene->_kernelMessages.setQuoted(idx, 2, true);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
}
break;
case 74:
{
- int _oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 7, 6, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 21, 23);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 11);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], _oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ int _oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 7, 6, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 21, 23);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 11);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], _oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
}
break;
case 75:
{
- int _oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 12, 6, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 24, 25);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], _oldIdx);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 11);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
+ int _oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 12, 6, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 24, 25);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], _oldIdx);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 11);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
}
break;
case 76:
{
- int _oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 26, 28);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], _oldIdx);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 11);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 77);
+ int _oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 26, 28);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], _oldIdx);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 11);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 77);
}
break;
case 77:
{
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 90, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 29, 30);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 11);
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 90, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 29, 30);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 11);
int idx = _scene->_kernelMessages.add(Common::Point(15, 46), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 247));
_scene->_kernelMessages.setQuoted(idx, 2, true);
_scene->_sequences.addTimer(120, 78);
diff --git a/engines/mads/nebular/rooms/room310.cpp b/engines/mads/nebular/rooms/room310.cpp
index 100611089c6..bc081177c9c 100644
--- a/engines/mads/nebular/rooms/room310.cpp
+++ b/engines/mads/nebular/rooms/room310.cpp
@@ -40,16 +40,16 @@ static Scratch local;
static void room_310_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites("*SC003x0");
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites("*SC003x1");
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites("*SC003x2");
+ g_sprite_ids[1] = _scene->_sprites.addSprites("*SC003x0");
+ g_sprite_ids[0] = _scene->_sprites.addSprites("*SC003x1");
+ g_sprite_ids[2] = _scene->_sprites.addSprites("*SC003x2");
init_forcefield(&local._forcefield, true);
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[3], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 15);
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[3], 15);
player.walker_visible = false;
player.commands_allowed = false;
@@ -59,7 +59,7 @@ static void room_310_init() {
}
static void room_310_daemon() {
- handle_forcefield(&local._forcefield, &_globals._spriteIndexes[0]);
+ handle_forcefield(&local._forcefield, &g_sprite_ids[0]);
if (kernel.trigger == 70)
_scene->_nextSceneId = 309;
diff --git a/engines/mads/nebular/rooms/room311.cpp b/engines/mads/nebular/rooms/room311.cpp
index f94a47f8c79..096af8461fc 100644
--- a/engines/mads/nebular/rooms/room311.cpp
+++ b/engines/mads/nebular/rooms/room311.cpp
@@ -39,19 +39,19 @@ static Scratch local;
static void room_311_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites("*RXCL_8");
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites("*RXCL_2");
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sprite_ids[2] = _scene->_sprites.addSprites("*RXCL_8");
+ g_sprite_ids[3] = _scene->_sprites.addSprites("*RXCL_2");
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 15);
local._checkGuardFl = false;
kernel.quotes = quote_load(0xFA, 0);
if (_scene->_priorSceneId == 391) {
- _globals[kSexOfRex] = REX_MALE;
+ global[kSexOfRex] = REX_MALE;
player.commands_allowed = false;
player.walker_visible = false;
player.facing = FACING_SOUTH;
@@ -84,92 +84,92 @@ static void room_311_daemon() {
break;
case 71:
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 2);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.addTimer(15, 72);
break;
case 72:
- _scene->_sequences.setDone(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 2);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
+ _scene->_sequences.setDone(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 2);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.addTimer(15, 73);
break;
case 73:
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 3);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
-
- _scene->_sequences.setDone(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 3);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 3);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+
+ _scene->_sequences.setDone(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 3);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.addTimer(15, 74);
break;
case 74:
- _scene->_sequences.setDone(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 4, 5);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ _scene->_sequences.setDone(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 4, 5);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
break;
case 75:
- oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 6);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
+ oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
_scene->_sequences.addTimer(15, 76);
break;
case 76:
- _scene->_sequences.setDone(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 7);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
+ _scene->_sequences.setDone(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 7);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.addTimer(15, 77);
break;
case 77:
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
-
- _scene->_sequences.setDone(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 8);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 2);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+
+ _scene->_sequences.setDone(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 8);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.addTimer(15, 78);
break;
case 78:
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
-
- _scene->_sequences.setDone(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 9);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 15);
+
+ _scene->_sequences.setDone(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 9);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.addTimer(15, 79);
break;
case 79:
- _scene->_sequences.setDone(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 10, -2);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ _scene->_sequences.setDone(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 10, -2);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
break;
case 80:
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[3]);
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[3]);
player.commands_allowed = true;
player.walker_visible = true;
break;
@@ -205,87 +205,87 @@ static void room_311_parser() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 50, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], 3, -2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
-
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 15, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], -1, 4);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 50, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[1], 3, -2);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 15);
+
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 15, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], -1, 4);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
{
- int oldIdx = _globals._sequenceIndexes[1];
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, -2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[1], oldIdx);
+ int oldIdx = g_sequence_ids[1];
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, -2);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 15);
+ _scene->_sequences.updateTimeout(g_sequence_ids[1], oldIdx);
}
break;
case 2:
{
- int oldIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 4, 10);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ int oldIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 4, 10);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
break;
case 3:
{
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 3);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
-
- int oldIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 11);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(167, 100));
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], oldIdx);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 3);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+
+ int oldIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 11);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(167, 100));
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
_scene->_sequences.addTimer(15, 4);
}
break;
case 4:
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
-
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 12, 14);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(167, 100));
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 2);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+
+ _scene->_sequences.remove(g_sequence_ids[2]);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 12, 14);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(167, 100));
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
break;
case 5:
{
- int oldIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 15);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(167, 100));
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], oldIdx);
+ int oldIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 15);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(167, 100));
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
_scene->_sequences.addTimer(15, 6);
}
break;
case 6:
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
+ _scene->_sequences.remove(g_sequence_ids[2]);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
_scene->_sequences.addTimer(15, 7);
break;
diff --git a/engines/mads/nebular/rooms/room313.cpp b/engines/mads/nebular/rooms/room313.cpp
index 2a341d7f0e2..d333b8f8eb8 100644
--- a/engines/mads/nebular/rooms/room313.cpp
+++ b/engines/mads/nebular/rooms/room313.cpp
@@ -62,7 +62,7 @@ static void room_313_init() {
player.facing = FACING_WEST;
}
- if (_globals[kAfterHavoc]) {
+ if (global[kAfterHavoc]) {
for (uint16 i = 0; i < cycle_list.num_cycles; i++) {
int palIdx = cycle_list.table[i].first_list_color;
int size = cycle_list.table[i].num_colors * 3;
@@ -80,21 +80,21 @@ static void room_313_parser() {
else if (player_said_2(crawl_to, third_cell))
_scene->_nextSceneId = 388;
else if (player_said_2(crawl_to, second_cell)) {
- if (_globals[kAfterHavoc])
+ if (global[kAfterHavoc])
_scene->_nextSceneId = 399;
else
_scene->_nextSceneId = 389;
} else if (player_said_2(crawl_to, first_cell))
_scene->_nextSceneId = 390;
else if (player_said_2(crawl_to, security_station)) {
- if (_globals[kSexOfRex] == REX_FEMALE) {
- _globals[kSexOfRex] = REX_MALE;
+ if (global[kSexOfRex] == REX_FEMALE) {
+ global[kSexOfRex] = REX_MALE;
text_show(31301);
}
_scene->_nextSceneId = 391;
} else if (player_said_2(crawl_to, equipment_room)) {
- if (_globals[kSexOfRex] == REX_FEMALE) {
- _globals[kSexOfRex] = REX_MALE;
+ if (global[kSexOfRex] == REX_FEMALE) {
+ global[kSexOfRex] = REX_MALE;
text_show(31301);
}
_scene->_nextSceneId = 366;
diff --git a/engines/mads/nebular/rooms/room316.cpp b/engines/mads/nebular/rooms/room316.cpp
index 1999942e867..71d1d9926f2 100644
--- a/engines/mads/nebular/rooms/room316.cpp
+++ b/engines/mads/nebular/rooms/room316.cpp
@@ -36,111 +36,111 @@ static void handleRexInGrate() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 1);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
_scene->_sequences.addTimer(15, 1);
break;
case 1:
- _scene->_sequences.setDone(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[4], false, 12, 3, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 2, 3);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.setDone(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 12, 3, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 2, 3);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
{
- int oldIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 4, 8);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], oldIdx);
-
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 2, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 12);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ int oldIdx = g_sequence_ids[4];
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 4, 8);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
+
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 12);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
}
break;
case 3:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 12);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 12);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
}
break;
case 4:
{
- int oldIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 10, 11);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], oldIdx);
-
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 5, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 3);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ int oldIdx = g_sequence_ids[4];
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 10, 11);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
+
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 5, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 3);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
}
break;
case 5:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 3);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 3);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
-
- oldIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 12);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], oldIdx);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 3);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 3);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+
+ oldIdx = g_sequence_ids[4];
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 12);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
_scene->_sequences.addTimer(15, 6);
}
break;
case 6:
- _scene->_sequences.setDone(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 13, 14);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
-
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 2, 3);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 3);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
+ _scene->_sequences.setDone(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 13, 14);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, 3);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 3);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
break;
case 7:
- _scene->_sequences.setDone(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 15);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], -1);
+ _scene->_sequences.setDone(g_sequence_ids[4]);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 15);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], -1);
break;
case 8:
{
- int oldIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 3);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], oldIdx);
+ int oldIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 2);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 3);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
_scene->_sequences.addTimer(15, 9);
}
break;
case 9:
- _scene->_sequences.setDone(_globals._sequenceIndexes[4]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 3);
+ _scene->_sequences.setDone(g_sequence_ids[4]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 3);
_scene->_sequences.addTimer(48, 10);
break;
@@ -161,101 +161,101 @@ static void handleRoxInGrate() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 1);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
_scene->_sequences.addTimer(15, 1);
break;
case 1:
- _scene->_sequences.setDone(_globals._sequenceIndexes[5]);
- _globals._sequenceIndexes[5] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[5], false, 17, 3, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[5], 2, 3);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.setDone(g_sequence_ids[5]);
+ g_sequence_ids[5] = _scene->_sequences.startPingPongCycle(g_sprite_ids[5], false, 17, 3, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[5], 2, 3);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 17, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 2, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 12);
-
- temp = _globals._sequenceIndexes[5];
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 17, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[5], 4, 8);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[5], temp);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 17, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 12);
+
+ temp = g_sequence_ids[5];
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 17, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[5], 4, 8);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[5], temp);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
break;
case 3:
- temp1 = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 12);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], temp1);
+ temp1 = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 12);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], temp1);
break;
case 4:
- temp = _globals._sequenceIndexes[5];
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 17, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[5], 10, 11);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[5], temp);
-
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 17, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 5, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 3);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ temp = g_sequence_ids[5];
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 17, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[5], 10, 11);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[5], temp);
+
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 17, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 5, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 3);
+ _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
break;
case 5:
- temp = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 3);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 3);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], temp);
-
- temp = _globals._sequenceIndexes[5];
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 12);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[5], temp);
+ temp = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 3);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 3);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], temp);
+
+ temp = g_sequence_ids[5];
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 12);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[5], temp);
_scene->_sequences.addTimer(20, 6);
break;
case 6:
- _scene->_sequences.setDone(_globals._sequenceIndexes[5]);
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 17, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[5], 13, 15);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
-
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 17, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 2, 3);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 3);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
+ _scene->_sequences.setDone(g_sequence_ids[5]);
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 17, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[5], 13, 15);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 17, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, 3);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 3);
+ _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
break;
case 7:
- _scene->_sequences.setDone(_globals._sequenceIndexes[5]);
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 16);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[5], -1);
+ _scene->_sequences.setDone(g_sequence_ids[5]);
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 16);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[5], -1);
break;
case 8:
- temp = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 3);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], temp);
+ temp = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 2);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 3);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], temp);
_scene->_sequences.addTimer(20, 9);
break;
case 9:
- _scene->_sequences.setDone(_globals._sequenceIndexes[5]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 3);
+ _scene->_sequences.setDone(g_sequence_ids[5]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 3);
_scene->_sequences.addTimer(48, 10);
break;
@@ -269,18 +269,18 @@ static void handleRoxInGrate() {
}
static void room_316_init() {
- if (_globals[kSexOfRex] == REX_MALE) {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('g', -1));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites("*RXCL_8");
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites("*RXCL_2");
+ if (global[kSexOfRex] == REX_MALE) {
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('g', -1));
+ g_sprite_ids[4] = _scene->_sprites.addSprites("*RXCL_8");
+ g_sprite_ids[6] = _scene->_sprites.addSprites("*RXCL_2");
} else {
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('g', 0));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites("*ROXCL_8");
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('g', 0));
+ g_sprite_ids[5] = _scene->_sprites.addSprites("*ROXCL_8");
}
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('v', 0));
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 12);
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('v', 0));
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 12);
if (_scene->_priorSceneId == 366) {
player.commands_allowed = false;
@@ -296,10 +296,10 @@ static void room_316_init() {
player.commands_allowed = false;
player.walker_visible = false;
g_engine->_soundManager->command(44, 0);
- int spriteIdx = (_globals[kSexOfRex] == REX_MALE) ? 1 : 2;
- _globals._sequenceIndexes[1] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[spriteIdx], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 2);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
+ int spriteIdx = (global[kSexOfRex] == REX_MALE) ? 1 : 2;
+ g_sequence_ids[1] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[spriteIdx], false, 6, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 2);
+ _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
} else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
player.x = 291;
player.y = 126;
@@ -311,7 +311,7 @@ static void room_316_init() {
static void room_316_daemon() {
if (kernel.trigger == 60) {
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[1]);
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[1]);
player.walker_visible = true;
player.commands_allowed = true;
}
@@ -319,63 +319,63 @@ static void room_316_daemon() {
if (kernel.trigger >= 70) {
switch (kernel.trigger) {
case 70:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 2, 6);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 3);
-
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], 1, 5);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[6]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, 6);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 3);
+
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[6], 1, 5);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[6]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
break;
case 71:
{
- int synxIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 3);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], synxIdx);
+ int synxIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 3);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], synxIdx);
}
break;
case 72:
{
- int synxIdx = _globals._sequenceIndexes[6];
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], 6, 9);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[6]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[6], synxIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ int synxIdx = g_sequence_ids[6];
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[6], 6, 9);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[6]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[6], synxIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
}
break;
case 73:
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 1, 5);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 12);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[6]);
-
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], 10, -2);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[6]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ _scene->_sequences.remove(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 5);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 12);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[6]);
+
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[6], 10, -2);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[6]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
break;
case 74:
{
- int synxIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 12);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], synxIdx);
+ int synxIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 12);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], synxIdx);
}
break;
case 75:
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[6]);
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[6]);
player.commands_allowed = true;
player.walker_visible = true;
break;
@@ -388,7 +388,7 @@ static void room_316_daemon() {
static void room_316_pre_parser() {
if (player_said_2(walk_down, corridor_to_east)) {
- if (_globals[kAfterHavoc])
+ if (global[kAfterHavoc])
player.walk_off_edge_to_room = 354;
else
player.walk_off_edge_to_room = 304;
@@ -397,54 +397,54 @@ static void room_316_pre_parser() {
static void room_316_parser() {
if (player_said_2(climb_into, air_vent)) {
- if (_globals[kSexOfRex] == REX_FEMALE)
+ if (global[kSexOfRex] == REX_FEMALE)
handleRoxInGrate();
else
handleRexInGrate();
} else if (player_said_2(walk_up, ramp) || player_said_2(walk_onto, platform)) {
switch (kernel.trigger) {
case 0:
- if (_globals[kCityFlooded]) {
+ if (global[kCityFlooded]) {
text_show(31623);
} else {
g_engine->_soundManager->command(45, 0);
player.commands_allowed = false;
player.walker_visible = false;
- if (_globals[kSexOfRex] == REX_MALE) {
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], -1, 7);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 2);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ if (global[kSexOfRex] == REX_MALE) {
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 7, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[1], -1, 7);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 2);
+ _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
} else {
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 7, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 2);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 7, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 2);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
}
break;
case 1:
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], 8, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 2);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 7, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[1], 8, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 2);
_scene->_kernelMessages.reset();
if (!player_has_been_in_room(321))
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 253));
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 7, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], -2, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 2);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 7, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[1], -2, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 2);
_scene->_sequences.addTimer(48, 4);
break;
case 3:
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 7, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], -2, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 2);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 7, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], -2, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 2);
_scene->_sequences.addTimer(48, 4);
break;
@@ -475,7 +475,7 @@ static void room_316_parser() {
else if (player_said_2(look, air_vent))
text_show(31618);
else if (player_said_2(look, corridor_to_east)) {
- if (!_globals[kAfterHavoc]) {
+ if (!global[kAfterHavoc]) {
if (game.difficulty != DIFFICULTY_EASY)
text_show(31620);
else
diff --git a/engines/mads/nebular/rooms/room318.cpp b/engines/mads/nebular/rooms/room318.cpp
index f50437b4432..02190f878bb 100644
--- a/engines/mads/nebular/rooms/room318.cpp
+++ b/engines/mads/nebular/rooms/room318.cpp
@@ -109,11 +109,11 @@ static void handleDialog() {
player.commands_allowed = false;
handleRexDialogs(player2.words[0]);
} else if (kernel.trigger == 2) {
- int synxIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(142, 121));
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], synxIdx);
+ int synxIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 1);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(142, 121));
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], synxIdx);
g_engine->_soundManager->command(3, 0);
_scene->_userInterface.setup(kInputBuildingSentences);
player.commands_allowed = true;
@@ -180,12 +180,12 @@ static void handleDialog() {
case 0x19C:
case 0x19D:
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _globals._sequenceIndexes[2] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[2], false, 8, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(142, 121));
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 6, 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.remove(g_sequence_ids[2]);
+ g_sequence_ids[2] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 1);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(142, 121));
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 6, 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
local._dialogFl = false;
handleInternDialog(0x1D0, 1, 120);
@@ -208,22 +208,22 @@ static void handleDialog() {
}
static void room_318_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('k', -1));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('k', -1));
- if (_globals[kAfterHavoc]) {
+ if (global[kAfterHavoc]) {
_scene->loadAnimation(kernel_name('f', -1));
_scene->_animation[0]->_repeatFlag = true;
- } else if (!_globals[kHasSeenProfPyro]) {
+ } else if (!global[kHasSeenProfPyro]) {
_scene->_hotspots.activate(words_professors_gurney, false);
_scene->_hotspots.activate(words_professor, false);
_scene->_hotspots.activate(words_tape_player, false);
}
if (object_is_here(OBJ_SCALPEL)) {
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 6, 0, 0, 120);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 4);
- _scene->_dynamicHotspots.add(words_scalpel, words_take, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 0, 120);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 4);
+ _scene->_dynamicHotspots.add(words_scalpel, words_take, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
}
if (_scene->_priorSceneId == 357) {
@@ -271,10 +271,10 @@ static void room_318_init() {
0x190, 0x19D, 0);
if ((_scene->_priorSceneId == RETURNING_FROM_DIALOG) || (((_scene->_priorSceneId == 318) ||
- (_scene->_priorSceneId == RETURNING_FROM_LOADING)) && (!_globals[kAfterHavoc]))) {
- if (!_globals[kAfterHavoc]) {
+ (_scene->_priorSceneId == RETURNING_FROM_LOADING)) && (!global[kAfterHavoc]))) {
+ if (!global[kAfterHavoc]) {
player.walker_visible = false;
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('g', -1));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('g', -1));
local._animMode = 2;
if (player_has_been_in_room(319) || !local._internVisibleFl) {
@@ -287,12 +287,12 @@ static void room_318_init() {
if (local._dialogFl) {
local._dialog1.start();
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 8);
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 8);
} else
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 1);
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(142, 121));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(142, 121));
+ _scene->_sequences.setDepth(g_sequence_ids[2], 1);
}
}
@@ -300,9 +300,9 @@ static void room_318_init() {
player.commands_allowed = false;
player.walker_visible = false;
local._animMode = 4;
- if (!_globals[kHasSeenProfPyro]) {
+ if (!global[kHasSeenProfPyro]) {
_scene->loadAnimation(kernel_name('d', -1), 64);
- _globals[kHasSeenProfPyro] = true;
+ global[kHasSeenProfPyro] = true;
} else {
_scene->loadAnimation(kernel_name('e', -1), 64);
}
@@ -446,8 +446,8 @@ static void room_318_daemon() {
if ((_scene._frameStartTime - local._dropTimer) > 600) {
g_engine->_soundManager->command(51, 0);
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 14, 1, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 10);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 14, 1, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 10);
local._dropTimer = _scene._frameStartTime;
}
}
@@ -476,12 +476,12 @@ static void room_318_parser() {
player.commands_allowed = false;
handleRexDialogs(g_engine->getRandomNumber(0x18C, 0x18E));
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 8, 1, 0, 80);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(142, 121));
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 6, 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.remove(g_sequence_ids[2]);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 80);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 1);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(142, 121));
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 6, 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -493,11 +493,11 @@ static void room_318_parser() {
case 2:
{
- int oldIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 8);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(142, 121));
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], oldIdx);
+ int oldIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 8);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 1);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(142, 121));
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
}
break;
@@ -512,13 +512,13 @@ static void room_318_parser() {
switch (kernel.trigger) {
case 0:
player.commands_allowed = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _globals._sequenceIndexes[2] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[2], false, 8, 2, 0, 80);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(142, 121));
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 2, 5);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_SPRITE, 5, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.remove(g_sequence_ids[2]);
+ g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 8, 2, 0, 80);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 1);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(142, 121));
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 2, 5);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 5, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -527,17 +527,17 @@ static void room_318_parser() {
else {
inter_give_to_player(OBJ_SCALPEL);
object_examine(OBJ_SCALPEL, 0x7C5D, 0);
- _scene->_sequences.remove(_globals._sequenceIndexes[3]);
+ _scene->_sequences.remove(g_sequence_ids[3]);
}
break;
case 2:
{
- int oldIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(142, 121));
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], oldIdx);
+ int oldIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 1);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(142, 121));
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
_scene->_sequences.addTimer(60, 3);
}
break;
diff --git a/engines/mads/nebular/rooms/room319.cpp b/engines/mads/nebular/rooms/room319.cpp
index fa93b5643d3..449d30200ea 100644
--- a/engines/mads/nebular/rooms/room319.cpp
+++ b/engines/mads/nebular/rooms/room319.cpp
@@ -81,26 +81,26 @@ static void handleSlacheDialogs(int quoteId, int counter, uint32 timer) {
}
static void room_319_init() {
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('e', 0));
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('a', 0));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('a', 1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('a', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('a', 3));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('k', -1));
+ g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('e', 0));
+ g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('a', 2));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('a', 3));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('k', -1));
if (!player_has(OBJ_SCALPEL)) {
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 1);
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[4], 1);
}
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 18, 0, 0, 300);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 67, 0, 0, 377);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 173, 0, 0, 233);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[2], 14);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 14);
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 18, 0, 0, 300);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 67, 0, 0, 377);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 173, 0, 0, 233);
+ _scene->_sequences.setDepth(g_sequence_ids[2], 14);
+ _scene->_sequences.setDepth(g_sequence_ids[3], 14);
- _globals._sequenceIndexes[0] = _scene->_sequences.startCycle(_globals._spriteIndexes[0], false, 1);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
+ g_sequence_ids[0] = _scene->_sequences.startCycle(g_sprite_ids[0], false, 1);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
local._dialog1.setup(0x43, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0);
local._dialog2.setup(0x44, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0);
@@ -137,7 +137,7 @@ static void room_319_init() {
local._slacheTopic = 1;
local._slacheInitFl = true;
- if (_globals[kRexHasMetSlache]) {
+ if (global[kRexHasMetSlache]) {
handleSlacheDialogs(words_walk_outside, 2, INDEFINITE_TIMEOUT);
local._slachePosY = 3;
} else {
@@ -260,14 +260,14 @@ static void room_319_daemon() {
}
if (!local._animFrame) {
- _scene->_sequences.remove(_globals._sequenceIndexes[0]);
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
+ _scene->_sequences.remove(g_sequence_ids[0]);
+ _scene->_sequences.remove(g_sequence_ids[1]);
for (int i = 0; i <= 1; i++) {
- _globals._sequenceIndexes[i] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[i], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[i], 1, 7);
+ g_sequence_ids[i] = _scene->_sequences.addSpriteCycle(g_sprite_ids[i], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[i], 1, 7);
}
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
}
}
}
@@ -316,13 +316,13 @@ static void room_319_daemon() {
mcga_shakes = 1;
for (int i = 0; i <= 1; i++) {
- int oldIdx = _globals._sequenceIndexes[i];
- _scene->_sequences.remove(_globals._sequenceIndexes[i]);
- _globals._sequenceIndexes[i] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[i], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[i], 8, 13);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[i], oldIdx);
+ int oldIdx = g_sequence_ids[i];
+ _scene->_sequences.remove(g_sequence_ids[i]);
+ g_sequence_ids[i] = _scene->_sequences.addSpriteCycle(g_sprite_ids[i], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[i], 8, 13);
+ _scene->_sequences.updateTimeout(g_sequence_ids[i], oldIdx);
}
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[0], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
// WORKAROUND: This fixes the game sometimes going into an endless waiting
// loop even after the doctor has finished hitting Rex. Note sure if it's due
@@ -343,20 +343,20 @@ static void room_319_daemon() {
case 73:
for (int i = 0; i <= 1; i++) {
- int oldIdx = _globals._sequenceIndexes[i];
- _scene->_sequences.remove(_globals._sequenceIndexes[i]);
- _globals._sequenceIndexes[i] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[i], false, 8, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[i], 6, 7);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[i], oldIdx);
+ int oldIdx = g_sequence_ids[i];
+ _scene->_sequences.remove(g_sequence_ids[i]);
+ g_sequence_ids[i] = _scene->_sequences.addSpriteCycle(g_sprite_ids[i], false, 8, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[i], 6, 7);
+ _scene->_sequences.updateTimeout(g_sequence_ids[i], oldIdx);
}
break;
case 74:
for (int i = 0; i <= 1; i++) {
- int oldIdx = _globals._sequenceIndexes[i];
- _scene->_sequences.remove(_globals._sequenceIndexes[i]);
- _globals._sequenceIndexes[i] = _scene->_sequences.startCycle(_globals._spriteIndexes[i], false, 1);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[i], oldIdx);
+ int oldIdx = g_sequence_ids[i];
+ _scene->_sequences.remove(g_sequence_ids[i]);
+ g_sequence_ids[i] = _scene->_sequences.startCycle(g_sprite_ids[i], false, 1);
+ _scene->_sequences.updateTimeout(g_sequence_ids[i], oldIdx);
}
break;
@@ -422,7 +422,7 @@ static void room_319_parser() {
if (!local._slacheReady) {
_scene->_sequences.addTimer(120, 3);
} else {
- _globals[kRexHasMetSlache] = true;
+ global[kRexHasMetSlache] = true;
_scene->_nextSceneId = 318;
}
}
diff --git a/engines/mads/nebular/rooms/room320.cpp b/engines/mads/nebular/rooms/room320.cpp
index f812ad347f8..9257b7bde73 100644
--- a/engines/mads/nebular/rooms/room320.cpp
+++ b/engines/mads/nebular/rooms/room320.cpp
@@ -47,7 +47,7 @@ static Scratch local;
static void setRightView(int view) {
- if (local._rightItemId < 8) _scene->_sequences.remove(_globals._sequenceIndexes[10]);
+ if (local._rightItemId < 8) _scene->_sequences.remove(g_sequence_ids[10]);
int spriteNum;
switch (view) {
@@ -73,22 +73,22 @@ static void setRightView(int view) {
}
if (view != 8) {
- _globals._sequenceIndexes[10] = _scene->_sequences.startCycle(_globals._spriteIndexes[spriteNum], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[10], 0);
+ g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[spriteNum], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[10], 0);
}
- _globals[kRightView320] = local._rightItemId = view;
+ global[kRightView320] = local._rightItemId = view;
}
static void setLeftView(int view) {
if (local._leftItemId < 10)
- _scene->_sequences.remove(_globals._sequenceIndexes[0]);
+ _scene->_sequences.remove(g_sequence_ids[0]);
if (view != 10) {
- _globals._sequenceIndexes[0] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[view], false, 6, 0, 0, 18);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[0], 0);
+ g_sequence_ids[0] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[view], false, 6, 0, 0, 18);
+ _scene->_sequences.setDepth(g_sequence_ids[0], 0);
if (!local._blinkFl)
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[0], 2, 2);
+ _scene->_sequences.setAnimRange(g_sequence_ids[0], 2, 2);
}
local._leftItemId = view;
@@ -175,15 +175,15 @@ static void room_320_init() {
local._lastFrame = 0;
for (int i = 0; i < 10; i++)
- _globals._spriteIndexes[i] = _scene->_sprites.addSprites(kernel_name('M', i));
+ g_sprite_ids[i] = _scene->_sprites.addSprites(kernel_name('M', i));
for (int i = 0; i < 8; i++)
- _globals._spriteIndexes[10 + i] = _scene->_sprites.addSprites(kernel_name('N', i));
+ g_sprite_ids[10 + i] = _scene->_sprites.addSprites(kernel_name('N', i));
- _globals._spriteIndexes[18] = _scene->_sprites.addSprites("*REXHAND");
+ g_sprite_ids[18] = _scene->_sprites.addSprites("*REXHAND");
player.walker_visible = false;
- setRightView(_globals[kRightView320]);
+ setRightView(global[kRightView320]);
setLeftView(0);
pal_change_color(252, 63, 30, 20);
@@ -230,8 +230,8 @@ static void room_320_daemon() {
}
if (kernel.trigger == 70) {
- _globals[kAfterHavoc] = true;
- _globals[kTeleporterRoom + 1] = 351;
+ global[kAfterHavoc] = true;
+ global[kTeleporterRoom + 1] = 351;
_scene->_nextSceneId = 361;
}
}
@@ -249,12 +249,12 @@ static void room_320_parser() {
case 0:
player.commands_allowed = false;
handleButtons();
- _globals._sequenceIndexes[18] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[18], local._flippedFl, 4, 2, 0, 0);
- _scene->_sequences.setScale(_globals._sequenceIndexes[18], 60);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[18], Common::Point(local._posX, 170));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[18], 0);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[18], SEQUENCE_TRIGGER_LOOP, 0, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[18], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[18] = _scene->_sequences.startPingPongCycle(g_sprite_ids[18], local._flippedFl, 4, 2, 0, 0);
+ _scene->_sequences.setScale(g_sequence_ids[18], 60);
+ _scene->_sequences.setPosition(g_sequence_ids[18], Common::Point(local._posX, 170));
+ _scene->_sequences.setDepth(g_sequence_ids[18], 0);
+ _scene->_sequences.addSubEntry(g_sequence_ids[18], SEQUENCE_TRIGGER_LOOP, 0, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[18], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -291,9 +291,9 @@ static void room_320_parser() {
setLeftView(10);
_scene->_kernelMessages.reset();
_scene->resetScene();
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('m', 2));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('m', 4));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('m', 9));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('m', 2));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('m', 4));
+ g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('m', 9));
local._blinkFl = false;
setLeftView(2);
kernel.quotes = quote_load(0xFE, 0);
diff --git a/engines/mads/nebular/rooms/room321.cpp b/engines/mads/nebular/rooms/room321.cpp
index 98119876831..48c81d26f92 100644
--- a/engines/mads/nebular/rooms/room321.cpp
+++ b/engines/mads/nebular/rooms/room321.cpp
@@ -39,11 +39,11 @@ static void room_321_init() {
_scene->_userInterface.setup(kInputConversation);
int suffixNum;
- if (_globals[kSexOfRex] == REX_FEMALE) {
- _globals[kSexOfRex] = REX_MALE;
+ if (global[kSexOfRex] == REX_FEMALE) {
+ global[kSexOfRex] = REX_MALE;
suffixNum = 1;
} else {
- _globals[kSexOfRex] = REX_FEMALE;
+ global[kSexOfRex] = REX_FEMALE;
suffixNum = player.been_here_before ? 2 : 0;
}
@@ -53,7 +53,7 @@ static void room_321_init() {
static void room_321_daemon() {
if (_scene->_animation[0] != nullptr) {
- if ((_scene->_animation[0]->getCurrentFrame() >= 260) && (_globals[kSexOfRex] == REX_MALE) && (config_file.naughtiness >= STORYMODE_NICE))
+ if ((_scene->_animation[0]->getCurrentFrame() >= 260) && (global[kSexOfRex] == REX_MALE) && (config_file.naughtiness >= STORYMODE_NICE))
_scene->_nextSceneId = 316;
}
diff --git a/engines/mads/nebular/rooms/room322.cpp b/engines/mads/nebular/rooms/room322.cpp
index 30ab74a093a..a4ee007c29d 100644
--- a/engines/mads/nebular/rooms/room322.cpp
+++ b/engines/mads/nebular/rooms/room322.cpp
@@ -33,10 +33,10 @@ namespace RexNebular {
namespace Rooms {
static void room_322_init() {
- if (_globals[kSexOfRex] == REX_MALE)
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites("*REXHAND");
+ if (global[kSexOfRex] == REX_MALE)
+ g_sprite_ids[4] = _scene->_sprites.addSprites("*REXHAND");
else
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites("*ROXHAND");
+ g_sprite_ids[4] = _scene->_sprites.addSprites("*ROXHAND");
teleporter_init();
diff --git a/engines/mads/nebular/rooms/room351.cpp b/engines/mads/nebular/rooms/room351.cpp
index 347141cceb9..88a49c36aa8 100644
--- a/engines/mads/nebular/rooms/room351.cpp
+++ b/engines/mads/nebular/rooms/room351.cpp
@@ -32,16 +32,16 @@ namespace RexNebular {
namespace Rooms {
static void room_351_init() {
- _globals[kAfterHavoc] = -1;
- _globals[kTeleporterRoom + 1] = 351;
+ global[kAfterHavoc] = -1;
+ global[kTeleporterRoom + 1] = 351;
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites("*ROXRC_7");
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites("*RXRD_7");
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ g_sprite_ids[2] = _scene->_sprites.addSprites("*ROXRC_7");
+ g_sprite_ids[3] = _scene->_sprites.addSprites("*RXRD_7");
if (object_is_here(OBJ_CREDIT_CHIP)) {
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 4);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 4);
} else
_scene->_hotspots.activate(words_credit_chip, false);
@@ -55,22 +55,22 @@ static void room_351_init() {
player.facing = FACING_NORTH;
}
- if (_globals[kTeleporterCommand]) {
+ if (global[kTeleporterCommand]) {
player.walker_visible = false;
player.commands_allowed = false;
char sepChar = 'a';
- if (_globals[kSexOfRex] != REX_MALE)
+ if (global[kSexOfRex] != REX_MALE)
sepChar = 'b';
int suffixNum = -1;
int trigger = 0;
- switch (_globals[kTeleporterCommand]) {
+ switch (global[kTeleporterCommand]) {
case 1:
suffixNum = 0;
trigger = 60;
- _globals[kTeleporterCommand] = true;
+ global[kTeleporterCommand] = true;
break;
case 2:
@@ -90,7 +90,7 @@ static void room_351_init() {
break;
}
- _globals[kTeleporterCommand] = 0;
+ global[kTeleporterCommand] = 0;
if (suffixNum >= 0)
_scene->loadAnimation(kernel_name(sepChar, suffixNum), trigger);
@@ -108,8 +108,8 @@ static void room_351_daemon() {
}
if (kernel.trigger == 61) {
- _globals[kTeleporterCommand] = 1;
- _scene->_nextSceneId = _globals[kTeleporterDestination];
+ global[kTeleporterCommand] = 1;
+ _scene->_nextSceneId = global[kTeleporterDestination];
_scene->_reloadSceneFlag = true;
}
}
@@ -127,22 +127,22 @@ static void room_351_parser() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- if (_globals[kSexOfRex] == REX_FEMALE) {
- _globals._sequenceIndexes[2] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[2], false, 5, 2, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_SPRITE, 5, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ if (global[kSexOfRex] == REX_FEMALE) {
+ g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 5, 2, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 5, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 5, 2, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 5, 2, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
case 1:
_scene->_hotspots.activate(words_credit_chip, false);
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
+ _scene->_sequences.remove(g_sequence_ids[1]);
inter_give_to_player(OBJ_CREDIT_CHIP);
break;
@@ -197,7 +197,7 @@ void room_351_preload() {
room_daemon_code_pointer = room_351_daemon;
if (_scene->_currentSceneId == 391)
- _globals[kSexOfRex] = REX_MALE;
+ global[kSexOfRex] = REX_MALE;
section_3_walker();
section_3_interface();
diff --git a/engines/mads/nebular/rooms/room352.cpp b/engines/mads/nebular/rooms/room352.cpp
index eb16668ef8a..3862647bff8 100644
--- a/engines/mads/nebular/rooms/room352.cpp
+++ b/engines/mads/nebular/rooms/room352.cpp
@@ -56,23 +56,23 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
case 1:
player.commands_allowed = false;
player.walker_visible = false;
- if (_globals[kSexOfRex] == REX_FEMALE) {
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 5, 2, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_SPRITE, 5, 2);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ if (global[kSexOfRex] == REX_FEMALE) {
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 5, 2, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 5, 2);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
} else {
- _globals._sequenceIndexes[4] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[4], false, 5, 2, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_SPRITE, 6, 2);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 5, 2, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 2);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
break;
case 2:
{
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 6, 0, 0, 0);
- int idx = _scene->_dynamicHotspots.add(words_guards_arm2, words_walkto, _globals._sequenceIndexes[2], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 0, 0);
+ int idx = _scene->_dynamicHotspots.add(words_guards_arm2, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(230, 117), FACING_NORTHWEST);
_scene->changeVariant(0);
}
@@ -126,33 +126,33 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
}
static void room_352_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites("*RM302x0");
- _globals._spriteIndexes[13] = _scene->_sprites.addSprites("*RM302x2");
- _globals._spriteIndexes[12] = _scene->_sprites.addSprites("*RM302x3");
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('g', -1));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('b', -1));
-
-
- if (_globals[kSexOfRex] == REX_FEMALE) {
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites("*ROXRC_7");
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites("*ROXRC_6");
- _globals._spriteIndexes[15] = _scene->_sprites.addSprites("*ROXRC_9");
- _globals._spriteIndexes[11] = _scene->_sprites.addSprites(kernel_name('a', 3));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('a', 2));
+ g_sprite_ids[1] = _scene->_sprites.addSprites("*RM302x0");
+ g_sprite_ids[13] = _scene->_sprites.addSprites("*RM302x2");
+ g_sprite_ids[12] = _scene->_sprites.addSprites("*RM302x3");
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('g', -1));
+ g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('b', -1));
+
+
+ if (global[kSexOfRex] == REX_FEMALE) {
+ g_sprite_ids[3] = _scene->_sprites.addSprites("*ROXRC_7");
+ g_sprite_ids[7] = _scene->_sprites.addSprites("*ROXRC_6");
+ g_sprite_ids[15] = _scene->_sprites.addSprites("*ROXRC_9");
+ g_sprite_ids[11] = _scene->_sprites.addSprites(kernel_name('a', 3));
+ g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('a', 2));
} else {
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites("*RXRD_7");
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites("*RXRC_6");
- _globals._spriteIndexes[14] = _scene->_sprites.addSprites("*RXMRC_9");
- _globals._spriteIndexes[10] = _scene->_sprites.addSprites(kernel_name('a', 1));
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[4] = _scene->_sprites.addSprites("*RXRD_7");
+ g_sprite_ids[6] = _scene->_sprites.addSprites("*RXRC_6");
+ g_sprite_ids[14] = _scene->_sprites.addSprites("*RXMRC_9");
+ g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('a', 0));
}
local._leaveRoomFl = false;
if (object_is_here(OBJ_TAPE_PLAYER)) {
- _globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 12, 0, 0, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[5], 5);
- int idx = _scene->_dynamicHotspots.add(words_tape_player, words_walkto, _globals._sequenceIndexes[5], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 12, 0, 0, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[5], 5);
+ int idx = _scene->_dynamicHotspots.add(words_tape_player, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
local._tapePlayerHotspotIdx = _scene->_dynamicHotspots.setPosition(idx, Common::Point(84, 145), FACING_WEST);
}
@@ -161,12 +161,12 @@ static void room_352_init() {
if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
local._mustPutArmDownFl = false;
if (!player.been_here_before)
- _globals[kHaveYourStuff] = false;
+ global[kHaveYourStuff] = false;
}
if (object_is_here(OBJ_GUARDS_ARM)) {
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 6, 0, 0, 0);
- int idx = _scene->_dynamicHotspots.add(words_guards_arm2, words_walkto, _globals._sequenceIndexes[2], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 0, 0);
+ int idx = _scene->_dynamicHotspots.add(words_guards_arm2, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(230, 117), FACING_NORTHWEST);
} else
local._mustPutArmDownFl = true;
@@ -192,12 +192,12 @@ static void room_352_pre_parser() {
player_walk(266, 111, FACING_NORTHEAST);
if (local._vaultOpenFl && !player_said_1(vault) && !player_said_1(lamp) && !player_said_1(other_stuff) && !player_said_1(your_stuff)) {
- if (_globals[kHaveYourStuff]) {
- local._commonSpriteIndex = _globals._spriteIndexes[13];
- local._commonSequenceIdx = _globals._sequenceIndexes[13];
+ if (global[kHaveYourStuff]) {
+ local._commonSpriteIndex = g_sprite_ids[13];
+ local._commonSequenceIdx = g_sequence_ids[13];
} else {
- local._commonSpriteIndex = _globals._spriteIndexes[1];
- local._commonSequenceIdx = _globals._sequenceIndexes[1];
+ local._commonSpriteIndex = g_sprite_ids[1];
+ local._commonSequenceIdx = g_sequence_ids[1];
}
switch (kernel.trigger) {
@@ -213,7 +213,7 @@ static void room_352_pre_parser() {
break;
case 1:
- if (!_globals[kHaveYourStuff])
+ if (!global[kHaveYourStuff])
_scene->_dynamicHotspots.remove(local._hotspot2Idx);
_scene->_dynamicHotspots.remove(local._hotspot1Idx);
@@ -228,7 +228,7 @@ static void room_352_pre_parser() {
}
if (player_said_3(put, guards_arm2, scanner)) {
- if (_globals[kSexOfRex] == REX_MALE)
+ if (global[kSexOfRex] == REX_MALE)
player_walk(269, 111, FACING_NORTHEAST);
else
player_walk(271, 111, FACING_NORTHEAST);
@@ -253,10 +253,10 @@ static void room_352_parser() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- if (_globals[kSexOfRex] == REX_FEMALE)
- local._commonSpriteIndex = _globals._spriteIndexes[9];
+ if (global[kSexOfRex] == REX_FEMALE)
+ local._commonSpriteIndex = g_sprite_ids[9];
else
- local._commonSpriteIndex = _globals._spriteIndexes[8];
+ local._commonSpriteIndex = g_sprite_ids[8];
local._commonSequenceIdx = _scene->_sequences.addSpriteCycle(local._commonSpriteIndex, false, 8, 1, 0, 0);
_scene->_sequences.updateTimeout(local._commonSequenceIdx, -1);
@@ -266,12 +266,12 @@ static void room_352_parser() {
case 1:
{
g_engine->_soundManager->command(21, 0);
- _globals._sequenceIndexes[12] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[12], false, 7, 2, 20, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[12], FACING_NORTH);
+ g_sequence_ids[12] = _scene->_sequences.startPingPongCycle(g_sprite_ids[12], false, 7, 2, 20, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[12], FACING_NORTH);
int oldIdx = local._commonSequenceIdx;
local._commonSequenceIdx = _scene->_sequences.startCycle(local._commonSpriteIndex, false, -2);
_scene->_sequences.updateTimeout(local._commonSequenceIdx, oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -335,21 +335,21 @@ static void room_352_parser() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- if (_globals[kSexOfRex] == REX_FEMALE) {
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 5, 2, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_SPRITE, 5, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ if (global[kSexOfRex] == REX_FEMALE) {
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 5, 2, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 5, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
- _globals._sequenceIndexes[4] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[4], false, 5, 2, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 5, 2, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
case 1:
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
+ _scene->_sequences.remove(g_sequence_ids[2]);
inter_give_to_player(OBJ_GUARDS_ARM);
_scene->changeVariant(1);
break;
@@ -374,10 +374,10 @@ static void room_352_parser() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- if (_globals[kSexOfRex] == REX_FEMALE)
- local._commonSpriteIndex = _globals._spriteIndexes[11];
+ if (global[kSexOfRex] == REX_FEMALE)
+ local._commonSpriteIndex = g_sprite_ids[11];
else
- local._commonSpriteIndex = _globals._spriteIndexes[10];
+ local._commonSpriteIndex = g_sprite_ids[10];
local._commonSequenceIdx = _scene->_sequences.addSpriteCycle(local._commonSpriteIndex, false, 8, 1, 0, 0);
_scene->_sequences.updateTimeout(local._commonSequenceIdx, -1);
@@ -387,12 +387,12 @@ static void room_352_parser() {
case 1:
{
g_engine->_soundManager->command(21, 0);
- _globals._sequenceIndexes[12] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[12], false, 7, 2, 20, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[12], 8);
+ g_sequence_ids[12] = _scene->_sequences.startPingPongCycle(g_sprite_ids[12], false, 7, 2, 20, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[12], 8);
int oldIdx = local._commonSequenceIdx;
local._commonSequenceIdx = _scene->_sequences.startCycle(local._commonSpriteIndex, false, -2);
_scene->_sequences.updateTimeout(local._commonSequenceIdx, oldIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -408,10 +408,10 @@ static void room_352_parser() {
case 3:
_scene->_sequences.updateTimeout(-1, local._commonSequenceIdx);
player.walker_visible = true;
- if (_globals[kHaveYourStuff])
- local._commonSpriteIndex = _globals._spriteIndexes[13];
+ if (global[kHaveYourStuff])
+ local._commonSpriteIndex = g_sprite_ids[13];
else
- local._commonSpriteIndex = _globals._spriteIndexes[1];
+ local._commonSpriteIndex = g_sprite_ids[1];
g_engine->_soundManager->command(20, 0);
local._commonSequenceIdx = _scene->_sequences.addSpriteCycle(local._commonSpriteIndex, false, 6, 1, 0, 0);
@@ -430,13 +430,13 @@ static void room_352_parser() {
{
local._vaultOpenFl = true;
int idx;
- if (!_globals[kHaveYourStuff]) {
+ if (!global[kHaveYourStuff]) {
idx = _scene->_dynamicHotspots.add(words_your_stuff, words_walkto, -1, Common::Rect(282, 87, 282 + 13, 87 + 7));
local._hotspot2Idx = _scene->_dynamicHotspots.setPosition(idx, Common::Point(280, 111), FACING_NORTHEAST);
- _globals._sequenceIndexes[1] = local._commonSequenceIdx;
+ g_sequence_ids[1] = local._commonSequenceIdx;
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x102));
} else {
- _globals._sequenceIndexes[13] = local._commonSequenceIdx;
+ g_sequence_ids[13] = local._commonSequenceIdx;
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x103));
}
@@ -457,40 +457,40 @@ static void room_352_parser() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- if (_globals[kSexOfRex] == REX_MALE) {
- _globals._sequenceIndexes[14] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[14], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[14], 1, 2);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[14]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[14], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[14], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ if (global[kSexOfRex] == REX_MALE) {
+ g_sequence_ids[14] = _scene->_sequences.startPingPongCycle(g_sprite_ids[14], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[14], 1, 2);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[14]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[14], SEQUENCE_TRIGGER_SPRITE, 2, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[14], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
- _globals._sequenceIndexes[15] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[15], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[15], 1, 2);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[15]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[15], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[15], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[15] = _scene->_sequences.startPingPongCycle(g_sprite_ids[15], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[15], 1, 2);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[15]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[15], SEQUENCE_TRIGGER_SPRITE, 2, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[15], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
case 1:
_scene->_dynamicHotspots.remove(local._hotspot2Idx);
- _globals[kHaveYourStuff] = true;
+ global[kHaveYourStuff] = true;
for (uint16 i = 0; i < num_objects; i++) {
if (object[i].location == 50)
inter_give_to_player(i);
}
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[13] = _scene->_sequences.startCycle(_globals._spriteIndexes[13], false, -2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 15);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, -2);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 15);
break;
case 2:
- if (_globals[kSexOfRex] == REX_MALE)
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[14]);
+ if (global[kSexOfRex] == REX_MALE)
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[14]);
else
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[15]);
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[15]);
player.walker_visible = true;
player.commands_allowed = true;
@@ -504,30 +504,30 @@ static void room_352_parser() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- if (_globals[kSexOfRex] == REX_MALE) {
- _globals._sequenceIndexes[6] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[6], true, 6, 2, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[6]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ if (global[kSexOfRex] == REX_MALE) {
+ g_sequence_ids[6] = _scene->_sequences.startPingPongCycle(g_sprite_ids[6], true, 6, 2, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[6]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
- _globals._sequenceIndexes[7] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[7], true, 6, 2, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[7]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[7] = _scene->_sequences.startPingPongCycle(g_sprite_ids[7], true, 6, 2, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[7]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
case 1:
- _scene->_sequences.remove(_globals._sequenceIndexes[5]);
+ _scene->_sequences.remove(g_sequence_ids[5]);
_scene->_dynamicHotspots.remove(local._tapePlayerHotspotIdx);
break;
case 2:
inter_give_to_player(OBJ_TAPE_PLAYER);
- if (_globals[kSexOfRex] == REX_MALE)
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[6]);
+ if (global[kSexOfRex] == REX_MALE)
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[6]);
else
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[7]);
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[7]);
player.walker_visible = true;
player.commands_allowed = true;
diff --git a/engines/mads/nebular/rooms/room353.cpp b/engines/mads/nebular/rooms/room353.cpp
index b1243560e22..a9e1ee83ae1 100644
--- a/engines/mads/nebular/rooms/room353.cpp
+++ b/engines/mads/nebular/rooms/room353.cpp
@@ -39,9 +39,9 @@ static Scratch local;
static void room_353_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_full_name(303, 'B', 0, "", EXT_SS));
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 5, 0, 5, 0);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_full_name(303, 'B', 0, "", EXT_SS));
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 5, 0, 5, 0);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
if (_scene->_priorSceneId == 352) {
player.x = 144;
diff --git a/engines/mads/nebular/rooms/room354.cpp b/engines/mads/nebular/rooms/room354.cpp
index 86bab53ebf9..e5542839e2b 100644
--- a/engines/mads/nebular/rooms/room354.cpp
+++ b/engines/mads/nebular/rooms/room354.cpp
@@ -38,8 +38,8 @@ struct Scratch {
static Scratch local;
static void room_354_init() {
- _globals[kAfterHavoc] = true;
- _globals[kTeleporterRoom + 1] = 351;
+ global[kAfterHavoc] = true;
+ global[kTeleporterRoom + 1] = 351;
if (_scene->_priorSceneId == 361) {
player.x = 231;
diff --git a/engines/mads/nebular/rooms/room357.cpp b/engines/mads/nebular/rooms/room357.cpp
index b2ce2be74a4..7ee3561d4b4 100644
--- a/engines/mads/nebular/rooms/room357.cpp
+++ b/engines/mads/nebular/rooms/room357.cpp
@@ -32,11 +32,11 @@ namespace RexNebular {
namespace Rooms {
static void room_357_init() {
- _globals[kAfterHavoc] = true;
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
+ global[kAfterHavoc] = true;
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 15);
if (_scene->_priorSceneId == 318) {
player.x = 298;
diff --git a/engines/mads/nebular/rooms/room358.cpp b/engines/mads/nebular/rooms/room358.cpp
index 4cf16565b70..afc2d50c9ae 100644
--- a/engines/mads/nebular/rooms/room358.cpp
+++ b/engines/mads/nebular/rooms/room358.cpp
@@ -32,10 +32,10 @@ namespace RexNebular {
namespace Rooms {
static void room_358_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 15);
if (_scene->_priorSceneId == 357) {
player.x = 305;
diff --git a/engines/mads/nebular/rooms/room359.cpp b/engines/mads/nebular/rooms/room359.cpp
index cf207a8bc32..9acacfad7c1 100644
--- a/engines/mads/nebular/rooms/room359.cpp
+++ b/engines/mads/nebular/rooms/room359.cpp
@@ -39,21 +39,21 @@ static Scratch local;
static void room_359_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('b', -1));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('b', -1));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
- if (_globals[kSexOfRex] == REX_MALE)
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites("*RXMBD_2");
+ if (global[kSexOfRex] == REX_MALE)
+ g_sprite_ids[2] = _scene->_sprites.addSprites("*RXMBD_2");
else
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites("*ROXBD_2");
+ g_sprite_ids[4] = _scene->_sprites.addSprites("*ROXBD_2");
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[3], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[3], 15);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[3], 15);
if (object_is_here(OBJ_SECURITY_CARD)) {
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 9, 0, 0, 0);
- local._cardHotspotId = _scene->_dynamicHotspots.add(words_security_card, words_walkto, _globals._sequenceIndexes[1], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 9, 0, 0, 0);
+ local._cardHotspotId = _scene->_dynamicHotspots.add(words_security_card, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(local._cardHotspotId, Common::Point(107, 107), FACING_SOUTH);
}
@@ -90,22 +90,22 @@ static void room_359_parser() {
player.commands_allowed = false;
player.walker_visible = false;
text_show(35920);
- if (_globals[kSexOfRex] == REX_MALE) {
- _globals._sequenceIndexes[2] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[2], false, 4, 2, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ if (global[kSexOfRex] == REX_MALE) {
+ g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 4, 2, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
- _globals._sequenceIndexes[4] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[4], true, 7, 2, 0, 0);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(106, 110));
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], true, 7, 2, 0, 0);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(106, 110));
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
case 1:
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
+ _scene->_sequences.remove(g_sequence_ids[1]);
_scene->_dynamicHotspots.remove(local._cardHotspotId);
g_engine->_soundManager->command(57, 0);
inter_give_to_player(OBJ_SECURITY_CARD);
@@ -114,10 +114,10 @@ static void room_359_parser() {
break;
case 2:
- if (_globals[kSexOfRex] == REX_MALE)
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[2]);
+ if (global[kSexOfRex] == REX_MALE)
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[2]);
else
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[4]);
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[4]);
player.walker_visible = true;
player.commands_allowed = true;
diff --git a/engines/mads/nebular/rooms/room360.cpp b/engines/mads/nebular/rooms/room360.cpp
index 4668fe8867a..3bc33fb3b1d 100644
--- a/engines/mads/nebular/rooms/room360.cpp
+++ b/engines/mads/nebular/rooms/room360.cpp
@@ -32,10 +32,10 @@ namespace RexNebular {
namespace Rooms {
static void room_360_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(127, 78));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(127, 78));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 15);
if (_scene->_priorSceneId == 359) {
player.x = 304;
diff --git a/engines/mads/nebular/rooms/room361.cpp b/engines/mads/nebular/rooms/room361.cpp
index 29b06959f1c..303fcad7595 100644
--- a/engines/mads/nebular/rooms/room361.cpp
+++ b/engines/mads/nebular/rooms/room361.cpp
@@ -36,87 +36,87 @@ static void handleRexAction() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 50, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], 3, -2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
-
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 15, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], -1, 4);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 50, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[1], 3, -2);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 15);
+
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 15, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], -1, 4);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
{
- int seqIdx = _globals._sequenceIndexes[1];
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 4);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[1], seqIdx);
+ int seqIdx = g_sequence_ids[1];
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 4);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 15);
+ _scene->_sequences.updateTimeout(g_sequence_ids[1], seqIdx);
}
break;
case 2:
{
- int seqIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 4, 10);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], seqIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ int seqIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 4, 10);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], seqIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
break;
case 3:
{
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 3);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
-
- int seqIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 11);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(167, 100));
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], seqIdx);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 3);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+
+ int seqIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 11);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(167, 100));
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], seqIdx);
_scene->_sequences.addTimer(15, 4);
}
break;
case 4:
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
-
- _scene->_sequences.setDone(_globals._sequenceIndexes[2]);
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 12, 14);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(167, 100));
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 2);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+
+ _scene->_sequences.setDone(g_sequence_ids[2]);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 12, 14);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(167, 100));
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
break;
case 5:
{
- int seqIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 15);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[2]);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[2], Common::Point(167, 100));
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], seqIdx);
+ int seqIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 15);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
+ _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(167, 100));
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], seqIdx);
_scene->_sequences.addTimer(15, 6);
}
break;
case 6:
- _scene->_sequences.setDone(_globals._sequenceIndexes[2]);
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
+ _scene->_sequences.setDone(g_sequence_ids[2]);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
_scene->_sequences.addTimer(48, 7);
break;
@@ -134,92 +134,92 @@ static void handleRoxAction() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 18, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], 2, 4);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
-
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 18, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], -1, 3);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 18, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[1], 2, 4);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 15);
+
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 18, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], -1, 3);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
{
- int tmpIdx = _globals._sequenceIndexes[1];
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 4);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[1], tmpIdx);
+ int tmpIdx = g_sequence_ids[1];
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 4);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 15);
+ _scene->_sequences.updateTimeout(g_sequence_ids[1], tmpIdx);
}
break;
case 2:
{
- int tmpIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 4, 8);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], tmpIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ int tmpIdx = g_sequence_ids[4];
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 4, 8);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], tmpIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
break;
case 3:
{
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 3);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
-
- int tmpIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 9, 10);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(167, 100));
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], tmpIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 3);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+
+ int tmpIdx = g_sequence_ids[4];
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 9, 10);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(167, 100));
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], tmpIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
}
break;
case 4:
{
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
-
- int tmpIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 11, 15);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(167, 100));
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], tmpIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 2);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+
+ int tmpIdx = g_sequence_ids[4];
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 11, 15);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(167, 100));
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], tmpIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
}
break;
case 5:
{
- int tmpIdx = _globals._sequenceIndexes[4];
- _globals._sequenceIndexes[4] = _scene->_sequences.startCycle(_globals._spriteIndexes[4], false, 16);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[4]);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[4], Common::Point(167, 100));
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[4], tmpIdx);
+ int tmpIdx = g_sequence_ids[4];
+ g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 16);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
+ _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(167, 100));
+ _scene->_sequences.updateTimeout(g_sequence_ids[4], tmpIdx);
_scene->_sequences.addTimer(48, 6);
}
break;
case 6:
- _scene->_sequences.setDone(_globals._sequenceIndexes[4]);
+ _scene->_sequences.setDone(g_sequence_ids[4]);
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
_scene->_sequences.addTimer(48, 7);
break;
@@ -233,20 +233,20 @@ static void handleRoxAction() {
}
static void room_361_init() {
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
- if (_globals[kSexOfRex] == REX_MALE) {
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites("*RXCL_8");
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites("*RXCL_2");
+ if (global[kSexOfRex] == REX_MALE) {
+ g_sprite_ids[2] = _scene->_sprites.addSprites("*RXCL_8");
+ g_sprite_ids[3] = _scene->_sprites.addSprites("*RXCL_2");
} else
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites("*ROXCL_8");
+ g_sprite_ids[4] = _scene->_sprites.addSprites("*ROXCL_8");
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 15);
if (_scene->_priorSceneId == 391) {
- _globals[kSexOfRex] = REX_MALE;
+ global[kSexOfRex] = REX_MALE;
player.commands_allowed = false;
player.walker_visible = false;
player.facing = FACING_SOUTH;
@@ -278,94 +278,94 @@ static void room_361_daemon() {
if (kernel.trigger >= 70) {
switch (kernel.trigger) {
case 70:
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 2);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.addTimer(15, 71);
break;
case 71:
- _scene->_sequences.setDone(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 2);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
+ _scene->_sequences.setDone(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 2);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.addTimer(15, 72);
break;
case 72:
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 3);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
-
- _scene->_sequences.setDone(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 3);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 3);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+
+ _scene->_sequences.setDone(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 3);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.addTimer(15, 73);
break;
case 73:
- _scene->_sequences.setDone(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 4, 5);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ _scene->_sequences.setDone(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 4, 5);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
break;
case 74:
{
- int seqIdx = _globals._sequenceIndexes[3];
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 6);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[3], seqIdx);
+ int seqIdx = g_sequence_ids[3];
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
+ _scene->_sequences.updateTimeout(g_sequence_ids[3], seqIdx);
_scene->_sequences.addTimer(15, 75);
}
break;
case 75:
- _scene->_sequences.setDone(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 7);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
+ _scene->_sequences.setDone(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 7);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.addTimer(15, 76);
break;
case 76:
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 1);
-
- _scene->_sequences.setDone(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 8);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 2);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+
+ _scene->_sequences.setDone(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 8);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.addTimer(15, 77);
break;
case 77:
- _scene->_sequences.remove(_globals._sequenceIndexes[1]);
- _globals._sequenceIndexes[1] = _scene->_sequences.startCycle(_globals._spriteIndexes[1], false, 1);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 15);
-
- _scene->_sequences.setDone(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 9);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
+ _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
+ _scene->_sequences.setDepth(g_sequence_ids[1], 15);
+
+ _scene->_sequences.setDone(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 9);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.addTimer(15, 78);
break;
case 78:
- _scene->_sequences.setDone(_globals._sequenceIndexes[3]);
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 10, -2);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[3]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 79);
+ _scene->_sequences.setDone(g_sequence_ids[3]);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 10, -2);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 79);
break;
case 79:
- _scene->_sequences.updateTimeout(-1, _globals._sequenceIndexes[3]);
+ _scene->_sequences.updateTimeout(-1, g_sequence_ids[3]);
player.commands_allowed = true;
player.walker_visible = true;
break;
@@ -391,7 +391,7 @@ static void room_361_parser() {
_scene->_kernelMessages.reset();
_scene->_kernelMessages.addQuote(252, 0, 120);
} else if (player_said_2(climb_into, air_vent)) {
- if (_globals[kSexOfRex] == REX_FEMALE)
+ if (global[kSexOfRex] == REX_FEMALE)
handleRoxAction();
else
handleRexAction();
@@ -432,7 +432,7 @@ void room_361_preload() {
room_daemon_code_pointer = room_361_daemon;
if (_scene->_currentSceneId == 391)
- _globals[kSexOfRex] = REX_MALE;
+ global[kSexOfRex] = REX_MALE;
section_3_walker();
section_3_interface();
diff --git a/engines/mads/nebular/rooms/room388.cpp b/engines/mads/nebular/rooms/room388.cpp
index 3d37e230469..57e9eb067c2 100644
--- a/engines/mads/nebular/rooms/room388.cpp
+++ b/engines/mads/nebular/rooms/room388.cpp
@@ -35,11 +35,11 @@ namespace Rooms {
static void room_388_init() {
_scene->_userInterface.setup(kInputLimitedSentences);
- if (_globals[kAfterHavoc])
+ if (global[kAfterHavoc])
_scene->_hotspots.activate(words_sauropod, false);
else {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('b', 0));
- _globals._sequenceIndexes[0] = _scene->_sequences.startCycle(_globals._spriteIndexes[0], false, 1);
+ g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ g_sequence_ids[0] = _scene->_sequences.startCycle(g_sprite_ids[0], false, 1);
}
player.walker_visible = false;
@@ -76,7 +76,7 @@ static void room_388_parser() {
break;
}
} else if (player_said_2(look_through, grate)) {
- if (_globals[kAfterHavoc])
+ if (global[kAfterHavoc])
text_show(38811);
else
text_show(38810);
diff --git a/engines/mads/nebular/rooms/room389.cpp b/engines/mads/nebular/rooms/room389.cpp
index 3565466e68c..e170e845779 100644
--- a/engines/mads/nebular/rooms/room389.cpp
+++ b/engines/mads/nebular/rooms/room389.cpp
@@ -46,11 +46,11 @@ static void room_389_init() {
local._monsterTime = 0;
local._circularQuoteId = 0x159;
- if (_globals[kAfterHavoc])
+ if (global[kAfterHavoc])
_scene->_hotspots.activate(words_monster, false);
else {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('m', -1));
- _globals._sequenceIndexes[0] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[0], false, 6, 0, 0, 0);
+ g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('m', -1));
+ g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 0, 0, 0);
_scene->_kernelMessages.initRandomMessages(1,
Common::Rect(88, 19, 177, 77), 13, 2, 0xFDFC, 60,
247, 248, 249, 0);
@@ -95,7 +95,7 @@ static void room_389_parser() {
break;
}
} else if (player_said_2(look_through, grate)) {
- if (_globals[kAfterHavoc]) {
+ if (global[kAfterHavoc]) {
if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_SECURITY_CARD].location == 359))
text_show(38911);
else
@@ -103,7 +103,7 @@ static void room_389_parser() {
} else
text_show(38910);
} else if (player_said_2(open, grate)) {
- if (_globals[kAfterHavoc])
+ if (global[kAfterHavoc])
text_show(38914);
else
text_show(38913);
diff --git a/engines/mads/nebular/rooms/room391.cpp b/engines/mads/nebular/rooms/room391.cpp
index ba13e0b0052..d2658f096ef 100644
--- a/engines/mads/nebular/rooms/room391.cpp
+++ b/engines/mads/nebular/rooms/room391.cpp
@@ -41,19 +41,19 @@ static void room_391_parser() {
if (player_said_2(return_to, air_shaft))
_scene->_nextSceneId = 313;
else if (player_said_2(open, grate)) {
- if (_globals[kKickedIn391Grate])
+ if (global[kKickedIn391Grate])
text_show(39113);
else {
text_show(39112);
- _globals[kKickedIn391Grate] = true;
+ global[kKickedIn391Grate] = true;
}
- if (_globals[kAfterHavoc])
+ if (global[kAfterHavoc])
_scene->_nextSceneId = 361;
else
_scene->_nextSceneId = 311;
} else if (player_said_2(look_through, grate)) {
- if (_globals[kAfterHavoc])
+ if (global[kAfterHavoc])
text_show(39111);
else
text_show(39110);
diff --git a/engines/mads/nebular/rooms/room399.cpp b/engines/mads/nebular/rooms/room399.cpp
index 90109d90f41..0d8e140d9d5 100644
--- a/engines/mads/nebular/rooms/room399.cpp
+++ b/engines/mads/nebular/rooms/room399.cpp
@@ -41,7 +41,7 @@ static void room_399_parser() {
if (player_said_2(return_to, air_shaft))
_scene->_nextSceneId = 313;
else if (player_said_2(look_through, grate)) {
- if (_globals[kAfterHavoc]) {
+ if (global[kAfterHavoc]) {
if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_SECURITY_CARD].location == 359))
text_show(38911);
else
@@ -49,7 +49,7 @@ static void room_399_parser() {
} else
text_show(38910);
} else if (player_said_2(open, grate)) {
- if (_globals[kAfterHavoc])
+ if (global[kAfterHavoc])
text_show(38914);
else
text_show(38913);
diff --git a/engines/mads/nebular/rooms/room401.cpp b/engines/mads/nebular/rooms/room401.cpp
index 8f4016f9a09..59ccf0da92c 100644
--- a/engines/mads/nebular/rooms/room401.cpp
+++ b/engines/mads/nebular/rooms/room401.cpp
@@ -108,7 +108,7 @@ static void room_401_pre_parser() {
player.need_to_walk = false;
if (player.need_to_walk && local._northFl) {
- if (_globals[kSexOfRex] == REX_MALE) {
+ if (global[kSexOfRex] == REX_MALE) {
local._dest_x = 148;
local._dest_y = 94;
} else {
@@ -122,26 +122,26 @@ static void room_401_pre_parser() {
static void room_401_parser() {
if (player.x == local._dest_x && player.y && local._northFl) {
- if (_globals[kSexOfRex] == REX_MALE) {
+ if (global[kSexOfRex] == REX_MALE) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
g_engine->_soundManager->command(21, 0);
_scene->loadAnimation(kernel_name('s', 1), 70);
- _globals[kHasBeenScanned] = true;
+ global[kHasBeenScanned] = true;
g_engine->_soundManager->command(22, 0);
int idx = _scene->_kernelMessages.add(Common::Point(153, 46), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 0x1D4));
_scene->_kernelMessages.setQuoted(idx, 4, true);
}
- if (_globals[kSexOfRex] == REX_FEMALE) {
+ if (global[kSexOfRex] == REX_FEMALE) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
g_engine->_soundManager->command(21, 0);
_scene->loadAnimation(kernel_name('s', 2), 80);
g_engine->_soundManager->command(23, 0);
- _globals[kHasBeenScanned] = true;
+ global[kHasBeenScanned] = true;
}
}
@@ -151,7 +151,7 @@ static void room_401_parser() {
} else if (player_said_2(walk_down, corridor_to_north))
_scene->_nextSceneId = 354;
else if (player_said_2(look, scanner)) {
- if (_globals[kHasBeenScanned])
+ if (global[kHasBeenScanned])
text_show(40111);
else
text_show(40110);
diff --git a/engines/mads/nebular/rooms/room402.cpp b/engines/mads/nebular/rooms/room402.cpp
index 4bd453b40da..29c2cdc9649 100644
--- a/engines/mads/nebular/rooms/room402.cpp
+++ b/engines/mads/nebular/rooms/room402.cpp
@@ -352,7 +352,7 @@ static void handleConversation4() {
_scene->_kernelMessages.add(Common::Point(193, 27), 0xFDFC, 0, 0, 150, quote_string(kernel.quotes, 0x1F4));
_scene->_kernelMessages.add(Common::Point(230, 41), 0xFDFC, 0, 0, 150, quote_string(kernel.quotes, 0x1F5));
local._dialog4.write(0x23A, false);
- _globals[kHasSaidTimer] = true;
+ global[kHasSaidTimer] = true;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 1100;
@@ -368,7 +368,7 @@ static void handleConversation4() {
_scene->_kernelMessages.add(Common::Point(153, 27), 0xFDFC, 0, 0, 150, quote_string(kernel.quotes, 0x1F6));
_scene->_kernelMessages.add(Common::Point(230, 41), 0xFDFC, 0, 0, 150, quote_string(kernel.quotes, 0x1F7));
local._dialog4.write(0x23D, false);
- _globals[kHasSaidBinocs] = true;
+ global[kHasSaidBinocs] = true;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 1100;
@@ -438,29 +438,29 @@ static void handleDialogs() {
}
static void room_402_init() {
- _globals._spriteIndexes[0] = _scene->_sprites.addSprites(kernel_name('n', -1));
- _globals._spriteIndexes[1] = _scene->_sprites.addSprites(kernel_name('x', 2));
- _globals._spriteIndexes[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
- _globals._spriteIndexes[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
- _globals._spriteIndexes[4] = _scene->_sprites.addSprites(kernel_name('g', 0));
- _globals._spriteIndexes[5] = _scene->_sprites.addSprites(kernel_name('g', 1));
- _globals._spriteIndexes[6] = _scene->_sprites.addSprites(kernel_name('a', 0));
- _globals._spriteIndexes[7] = _scene->_sprites.addSprites(kernel_name('a', 1));
- _globals._spriteIndexes[15] = _scene->_sprites.addSprites(kernel_name('x', 5));
- _globals._spriteIndexes[8] = _scene->_sprites.addSprites(kernel_name('x', 4));
- _globals._spriteIndexes[9] = _scene->_sprites.addSprites(kernel_name('b', 0));
- _globals._spriteIndexes[10] = _scene->_sprites.addSprites(kernel_name('b', 1));
- _globals._spriteIndexes[11] = _scene->_sprites.addSprites(kernel_name('b', 2));
- _globals._spriteIndexes[12] = _scene->_sprites.addSprites(kernel_name('b', 3));
- _globals._spriteIndexes[13] = _scene->_sprites.addSprites(kernel_name('c', 0));
- _globals._spriteIndexes[14] = _scene->_sprites.addSprites(kernel_name('l', 0));
- _globals._spriteIndexes[16] = _scene->_sprites.addSprites(kernel_name('h', 0));
- _globals._spriteIndexes[17] = _scene->_sprites.addSprites(kernel_name('z', 0));
- _globals._spriteIndexes[18] = _scene->_sprites.addSprites(kernel_name('z', 1));
- _globals._spriteIndexes[19] = _scene->_sprites.addSprites(kernel_name('z', 2));
- _globals._spriteIndexes[20] = _scene->_sprites.addSprites(kernel_name('x', 6));
- _globals._spriteIndexes[21] = _scene->_sprites.addSprites("*ROXRC_9");
- _globals._spriteIndexes[22] = _scene->_sprites.addSprites("*ROXCL_8");
+ g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('n', -1));
+ g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 2));
+ g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('g', 0));
+ g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('g', 1));
+ g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[15] = _scene->_sprites.addSprites(kernel_name('x', 5));
+ g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('x', 4));
+ g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_name('b', 1));
+ g_sprite_ids[11] = _scene->_sprites.addSprites(kernel_name('b', 2));
+ g_sprite_ids[12] = _scene->_sprites.addSprites(kernel_name('b', 3));
+ g_sprite_ids[13] = _scene->_sprites.addSprites(kernel_name('c', 0));
+ g_sprite_ids[14] = _scene->_sprites.addSprites(kernel_name('l', 0));
+ g_sprite_ids[16] = _scene->_sprites.addSprites(kernel_name('h', 0));
+ g_sprite_ids[17] = _scene->_sprites.addSprites(kernel_name('z', 0));
+ g_sprite_ids[18] = _scene->_sprites.addSprites(kernel_name('z', 1));
+ g_sprite_ids[19] = _scene->_sprites.addSprites(kernel_name('z', 2));
+ g_sprite_ids[20] = _scene->_sprites.addSprites(kernel_name('x', 6));
+ g_sprite_ids[21] = _scene->_sprites.addSprites("*ROXRC_9");
+ g_sprite_ids[22] = _scene->_sprites.addSprites("*ROXCL_8");
if (_scene->_priorSceneId == 401) {
player.x = 160;
@@ -509,12 +509,12 @@ static void room_402_init() {
else
local._dialog4.write(0x239, false);
- if (player_has(OBJ_BINOCULARS) && !_globals[kHasSaidBinocs])
+ if (player_has(OBJ_BINOCULARS) && !global[kHasSaidBinocs])
local._dialog4.write(0x23D, true);
else
local._dialog4.write(0x23D, false);
- if (player_has(OBJ_TIMER_MODULE) && !_globals[kHasSaidTimer])
+ if (player_has(OBJ_TIMER_MODULE) && !global[kHasSaidTimer])
local._dialog4.write(0x23A, true);
else
local._dialog4.write(0x23A, false);
@@ -630,47 +630,47 @@ static void room_402_init() {
_scene->loadAnimation(kernel_full_name(402, 'd', 1, "", EXT_AA));
_scene->_animation[0]->_repeatFlag = true;
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[5], 1);
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[5], 1);
- _globals._sequenceIndexes[13] = _scene->_sequences.startCycle(_globals._spriteIndexes[13], false, 2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
+ g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 2);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
if (!player_has(OBJ_REPAIR_LIST)) {
- _globals._sequenceIndexes[14] = _scene->_sequences.startCycle(_globals._spriteIndexes[14], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[14], 7);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[14], Common::Point(210, 80));
- int idx = _scene->_dynamicHotspots.add(words_repair_list, words_look_at, _globals._sequenceIndexes[14], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[14] = _scene->_sequences.startCycle(g_sprite_ids[14], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[14], 7);
+ _scene->_sequences.setPosition(g_sequence_ids[14], Common::Point(210, 80));
+ int idx = _scene->_dynamicHotspots.add(words_repair_list, words_look_at, g_sequence_ids[14], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(0, 0), FACING_NONE);
}
{
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, _globals._sequenceIndexes[9], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[9], 8);
+ int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
}
if (!object_is_here(OBJ_ALIEN_LIQUOR) && !player_has(OBJ_CREDIT_CHIP)) {
- _globals._sequenceIndexes[15] = _scene->_sequences.startCycle(_globals._spriteIndexes[15], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[15], 8);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[15], Common::Point(250, 80));
- int idx = _scene->_dynamicHotspots.add(words_credit_chip, words_take, _globals._sequenceIndexes[15], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[15] = _scene->_sequences.startCycle(g_sprite_ids[15], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[15], 8);
+ _scene->_sequences.setPosition(g_sequence_ids[15], Common::Point(250, 80));
+ int idx = _scene->_dynamicHotspots.add(words_credit_chip, words_take, g_sequence_ids[15], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(0, 0), FACING_NONE);
}
- _globals._sequenceIndexes[20] = _scene->_sequences.startCycle(_globals._spriteIndexes[20], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[20], 7);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[20], Common::Point(234, 72));
+ g_sequence_ids[20] = _scene->_sequences.startCycle(g_sprite_ids[20], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[20], 7);
+ _scene->_sequences.setPosition(g_sequence_ids[20], Common::Point(234, 72));
- if (_globals[kBottleDisplayed]) {
- _globals._sequenceIndexes[8] = _scene->_sequences.startCycle(_globals._spriteIndexes[8], false, 4);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[8], 7);
+ if (global[kBottleDisplayed]) {
+ g_sequence_ids[8] = _scene->_sequences.startCycle(g_sprite_ids[8], false, 4);
+ _scene->_sequences.setDepth(g_sequence_ids[8], 7);
}
if (local._roxOnStool) {
- _globals._sequenceIndexes[6] = _scene->_sequences.startCycle(_globals._spriteIndexes[6], false, 11);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[6], 5);
+ g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, 11);
+ _scene->_sequences.setDepth(g_sequence_ids[6], 5);
player.walker_visible = false;
}
@@ -681,7 +681,7 @@ static void room_402_daemon() {
if (kernel.trigger == 104) {
player.clock = _scene->_frameStartTime + player.frame_delay;
player.walker_visible = true;
- _scene->_sequences.remove(_globals._sequenceIndexes[15]);
+ _scene->_sequences.remove(g_sequence_ids[15]);
inter_give_to_player(OBJ_CREDIT_CHIP);
object_examine(OBJ_CREDIT_CHIP, 40242, 0);
player.commands_allowed = true;
@@ -689,12 +689,12 @@ static void room_402_daemon() {
if ((g_engine->getRandomNumber(1, 1500) == 1) && (!local._activeTeleporter) && (player.x < 150)) {
g_engine->_soundManager->command(30, 0);
- _globals._sequenceIndexes[4] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[4], false, 13, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[4], 1, 11);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[4], 14);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[4], SEQUENCE_TRIGGER_EXPIRE, 0, 48);
+ g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 13, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[4], 1, 11);
+ _scene->_sequences.setDepth(g_sequence_ids[4], 14);
+ _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 48);
local._activeTeleporter = true;
- _globals[kSomeoneHasExploded] = true;
+ global[kSomeoneHasExploded] = true;
}
if (kernel.trigger == 48)
@@ -703,21 +703,21 @@ static void room_402_daemon() {
if (kernel.trigger == 100) {
local._bartenderReady = false;
if (local._bartenderHandsHips) {
- _scene->_sequences.remove(_globals._sequenceIndexes[10]);
+ _scene->_sequences.remove(g_sequence_ids[10]);
local._bartenderHandsHips = false;
} else if (local._bartenderLooksLeft) {
- _scene->_sequences.remove(_globals._sequenceIndexes[11]);
+ _scene->_sequences.remove(g_sequence_ids[11]);
local._bartenderLooksLeft = false;
} else if (local._bartenderSteady) {
- _scene->_sequences.remove(_globals._sequenceIndexes[9]);
+ _scene->_sequences.remove(g_sequence_ids[9]);
local._bartenderSteady = false;
}
if (!local._bartenderTalking) {
- _globals._sequenceIndexes[10] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[10], false, 7, 0, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[10], 3, 4);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[10], 8);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, _globals._sequenceIndexes[10], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[10] = _scene->_sequences.startPingPongCycle(g_sprite_ids[10], false, 7, 0, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[10], 3, 4);
+ _scene->_sequences.setDepth(g_sequence_ids[10], 8);
+ int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[10], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
local._bartenderTalking = true;
if (local._talkTimer > 1000)
@@ -728,11 +728,11 @@ static void room_402_daemon() {
}
if ((kernel.trigger == 101) && local._bartenderTalking) {
- _scene->_sequences.remove(_globals._sequenceIndexes[10]);
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, _globals._sequenceIndexes[9], Common::Rect(0, 0, 0, 0));
+ _scene->_sequences.remove(g_sequence_ids[10]);
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
+ int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
+ _scene->_sequences.setDepth(g_sequence_ids[9], 8);
local._bartenderSteady = true;
local._bartenderTalking = false;
if (local._talkTimer < 1000)
@@ -745,46 +745,46 @@ static void room_402_daemon() {
switch (kernel.trigger) {
case 92:
player.commands_allowed = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[6]);
- _globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], 1, 2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[7], 5);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 93);
+ _scene->_sequences.remove(g_sequence_ids[6]);
+ g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[7], 1, 2);
+ _scene->_sequences.setDepth(g_sequence_ids[7], 5);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 93);
break;
case 93:
{
- int seqIdx = _globals._sequenceIndexes[7];
+ int seqIdx = g_sequence_ids[7];
switch (local._roxMode) {
case 20:
g_engine->_soundManager->command(57, 0);
- _scene->_sequences.remove(_globals._sequenceIndexes[15]);
+ _scene->_sequences.remove(g_sequence_ids[15]);
inter_give_to_player(OBJ_CREDIT_CHIP);
object_examine(OBJ_CREDIT_CHIP, 40242, 0);
break;
case 22:
g_engine->_soundManager->command(57, 0);
- _scene->_sequences.remove(_globals._sequenceIndexes[8]);
+ _scene->_sequences.remove(g_sequence_ids[8]);
inter_give_to_player(OBJ_ALIEN_LIQUOR);
- _globals[kBottleDisplayed] = false;
+ global[kBottleDisplayed] = false;
object_examine(OBJ_ALIEN_LIQUOR, 40241, 0);
break;
case 21:
- _globals._sequenceIndexes[15] = _scene->_sequences.startCycle(_globals._spriteIndexes[15], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[15], 8);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[15], Common::Point(250, 80));
+ g_sequence_ids[15] = _scene->_sequences.startCycle(g_sprite_ids[15], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[15], 8);
+ _scene->_sequences.setPosition(g_sequence_ids[15], Common::Point(250, 80));
break;
default:
break;
}
- _globals._sequenceIndexes[7] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[7], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], 1, 3);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[7], 5);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[7], seqIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 94);
+ g_sequence_ids[7] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[7], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[7], 1, 3);
+ _scene->_sequences.setDepth(g_sequence_ids[7], 5);
+ _scene->_sequences.updateTimeout(g_sequence_ids[7], seqIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 94);
if (local._roxMode == 21) {
if (player_has(OBJ_CREDIT_CHIP))
@@ -798,15 +798,15 @@ static void room_402_daemon() {
case 94:
{
- int seqIdx = _globals._sequenceIndexes[7];
- _globals._sequenceIndexes[6] = _scene->_sequences.startCycle(_globals._spriteIndexes[6], false, 11);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[6], 5);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[6], seqIdx);
+ int seqIdx = g_sequence_ids[7];
+ g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, 11);
+ _scene->_sequences.setDepth(g_sequence_ids[6], 5);
+ _scene->_sequences.updateTimeout(g_sequence_ids[6], seqIdx);
if (local._roxMode == 22) {
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(230, 56), 0x1110, 32, 0, 120, quote_string(kernel.quotes, 0x23F));
local._bartenderMode = 21;
- _globals[kHasPurchased] = true;
+ global[kHasPurchased] = true;
_scene->_sequences.addTimer(140, 95);
} else if (local._roxMode == 20)
player.commands_allowed = true;
@@ -823,88 +823,88 @@ static void room_402_daemon() {
local._bartenderReady = false;
player.commands_allowed = false;
if (local._bartenderHandsHips || local._bartenderTalking) {
- _scene->_sequences.remove(_globals._sequenceIndexes[10]);
+ _scene->_sequences.remove(g_sequence_ids[10]);
local._bartenderHandsHips = false;
local._bartenderTalking = false;
}
if (local._bartenderLooksLeft) {
- _scene->_sequences.remove(_globals._sequenceIndexes[11]);
+ _scene->_sequences.remove(g_sequence_ids[11]);
local._bartenderLooksLeft = false;
}
if (local._bartenderSteady) {
- _scene->_sequences.remove(_globals._sequenceIndexes[9]);
+ _scene->_sequences.remove(g_sequence_ids[9]);
local._bartenderSteady = false;
}
- _globals._sequenceIndexes[12] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[12], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[12], 1, 4);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[12], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[12], SEQUENCE_TRIGGER_EXPIRE, 0, 96);
+ g_sequence_ids[12] = _scene->_sequences.addSpriteCycle(g_sprite_ids[12], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[12], 1, 4);
+ _scene->_sequences.setDepth(g_sequence_ids[12], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 96);
break;
case 96:
{
- int seqIdx = _globals._sequenceIndexes[12];
- _globals._sequenceIndexes[12] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[12], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[12], 6, 7);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[12], 8);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[12], seqIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[12], SEQUENCE_TRIGGER_EXPIRE, 0, 97);
+ int seqIdx = g_sequence_ids[12];
+ g_sequence_ids[12] = _scene->_sequences.addSpriteCycle(g_sprite_ids[12], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[12], 6, 7);
+ _scene->_sequences.setDepth(g_sequence_ids[12], 8);
+ _scene->_sequences.updateTimeout(g_sequence_ids[12], seqIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 97);
}
break;
case 97:
{
- int seqIdx = _globals._sequenceIndexes[12];
+ int seqIdx = g_sequence_ids[12];
switch (local._bartenderMode) {
case 20:
- _scene->_sequences.remove(_globals._sequenceIndexes[15]);
+ _scene->_sequences.remove(g_sequence_ids[15]);
break;
case 21:
{
- _globals._sequenceIndexes[15] = _scene->_sequences.startCycle(_globals._spriteIndexes[15], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[15], 8);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[15], Common::Point(250, 80));
- int idx = _scene->_dynamicHotspots.add(words_credit_chip, words_take, _globals._sequenceIndexes[15], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[15] = _scene->_sequences.startCycle(g_sprite_ids[15], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[15], 8);
+ _scene->_sequences.setPosition(g_sequence_ids[15], Common::Point(250, 80));
+ int idx = _scene->_dynamicHotspots.add(words_credit_chip, words_take, g_sequence_ids[15], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(0, 0), FACING_NONE);
}
break;
case 22:
- _scene->_sequences.remove(_globals._sequenceIndexes[8]);
- _globals[kBottleDisplayed] = false;
+ _scene->_sequences.remove(g_sequence_ids[8]);
+ global[kBottleDisplayed] = false;
break;
default:
break;
}
- _globals._sequenceIndexes[12] = _scene->_sequences.startCycle(_globals._spriteIndexes[12], false, 6);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[12], seqIdx);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[12], 8);
+ g_sequence_ids[12] = _scene->_sequences.startCycle(g_sprite_ids[12], false, 6);
+ _scene->_sequences.updateTimeout(g_sequence_ids[12], seqIdx);
+ _scene->_sequences.setDepth(g_sequence_ids[12], 8);
_scene->_sequences.addTimer(10, 98);
}
break;
case 98:
- _scene->_sequences.remove(_globals._sequenceIndexes[12]);
- _globals._sequenceIndexes[12] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[12], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[12], 1, 4);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[12], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[12], SEQUENCE_TRIGGER_EXPIRE, 0, 99);
+ _scene->_sequences.remove(g_sequence_ids[12]);
+ g_sequence_ids[12] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[12], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[12], 1, 4);
+ _scene->_sequences.setDepth(g_sequence_ids[12], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 99);
break;
case 99:
{
- int seqIdx = _globals._sequenceIndexes[12];
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 1);
+ int seqIdx = g_sequence_ids[12];
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
local._bartenderSteady = true;
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, _globals._sequenceIndexes[9], Common::Rect(0, 0, 0, 0));
+ int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[9], seqIdx);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
+ _scene->_sequences.updateTimeout(g_sequence_ids[9], seqIdx);
+ _scene->_sequences.setDepth(g_sequence_ids[9], 8);
if (local._bartenderMode == 20) {
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(210, 41), 0xFDFC, 0, 0, 100, quote_string(kernel.quotes, 0x1F3));
@@ -929,64 +929,64 @@ static void room_402_daemon() {
local._bartenderReady = false;
player.commands_allowed = false;
if ((local._bartenderHandsHips) || (local._bartenderTalking)) {
- _scene->_sequences.remove(_globals._sequenceIndexes[10]);
+ _scene->_sequences.remove(g_sequence_ids[10]);
local._bartenderHandsHips = false;
local._bartenderTalking = false;
} else if (local._bartenderLooksLeft) {
- _scene->_sequences.remove(_globals._sequenceIndexes[11]);
+ _scene->_sequences.remove(g_sequence_ids[11]);
local._bartenderLooksLeft = false;
} else if (local._bartenderSteady) {
- _scene->_sequences.remove(_globals._sequenceIndexes[9]);
+ _scene->_sequences.remove(g_sequence_ids[9]);
local._bartenderSteady = false;
}
- _globals._sequenceIndexes[9] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[9], 1, 9);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[9], SEQUENCE_TRIGGER_EXPIRE, 0, 87);
+ g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[9], 1, 9);
+ _scene->_sequences.setDepth(g_sequence_ids[9], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 87);
break;
case 87:
{
- int seqIdx = _globals._sequenceIndexes[9];
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 9);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[9], seqIdx);
+ int seqIdx = g_sequence_ids[9];
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 9);
+ _scene->_sequences.setDepth(g_sequence_ids[9], 8);
+ _scene->_sequences.updateTimeout(g_sequence_ids[9], seqIdx);
_scene->_sequences.addTimer(10, 89);
- _globals._sequenceIndexes[8] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[8], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[8], 1, 4);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[8], 7);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[8], SEQUENCE_TRIGGER_EXPIRE, 0, 88);
+ g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[8], 1, 4);
+ _scene->_sequences.setDepth(g_sequence_ids[8], 7);
+ _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 88);
}
break;
case 88:
- _globals._sequenceIndexes[8] = _scene->_sequences.startCycle(_globals._spriteIndexes[8], false, 4);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[8], 7);
- _globals[kBottleDisplayed] = true;
+ g_sequence_ids[8] = _scene->_sequences.startCycle(g_sprite_ids[8], false, 4);
+ _scene->_sequences.setDepth(g_sequence_ids[8], 7);
+ global[kBottleDisplayed] = true;
break;
case 89:
- _scene->_sequences.remove(_globals._sequenceIndexes[9]);
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 6);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
+ _scene->_sequences.remove(g_sequence_ids[9]);
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 6);
+ _scene->_sequences.setDepth(g_sequence_ids[9], 8);
_scene->_sequences.addTimer(10, 90);
break;
case 90:
- _scene->_sequences.remove(_globals._sequenceIndexes[9]);
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 5);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
+ _scene->_sequences.remove(g_sequence_ids[9]);
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 5);
+ _scene->_sequences.setDepth(g_sequence_ids[9], 8);
_scene->_sequences.addTimer(10, 91);
break;
case 91:
{
- _scene->_sequences.remove(_globals._sequenceIndexes[9]);
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, _globals._sequenceIndexes[9], Common::Rect(0, 0, 0, 0));
+ _scene->_sequences.remove(g_sequence_ids[9]);
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
+ int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
+ _scene->_sequences.setDepth(g_sequence_ids[9], 8);
local._bartenderSteady = true;
player.commands_allowed = true;
local._bartenderReady = true;
@@ -1011,38 +1011,38 @@ static void room_402_daemon() {
switch (kernel.trigger) {
case 75:
- _scene->_sequences.remove(_globals._sequenceIndexes[5]);
+ _scene->_sequences.remove(g_sequence_ids[5]);
local._bigBeatFl = !local._bigBeatFl;
if (local._bigBeatFl) {
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 5);
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 5);
_scene->_sequences.addTimer(8, 130);
} else {
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 5);
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 5);
_scene->_sequences.addTimer(8, 53);
}
- _scene->_sequences.setDepth(_globals._sequenceIndexes[5], 1);
+ _scene->_sequences.setDepth(g_sequence_ids[5], 1);
break;
case 130:
- _scene->_sequences.remove(_globals._sequenceIndexes[5]);
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 6);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[5], 1);
+ _scene->_sequences.remove(g_sequence_ids[5]);
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 6);
+ _scene->_sequences.setDepth(g_sequence_ids[5], 1);
_scene->_sequences.addTimer(8, 131);
break;
case 131:
- _scene->_sequences.remove(_globals._sequenceIndexes[5]);
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 5);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[5], 1);
+ _scene->_sequences.remove(g_sequence_ids[5]);
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 5);
+ _scene->_sequences.setDepth(g_sequence_ids[5], 1);
_scene->_sequences.addTimer(8, 53);
break;
case 53:
- _scene->_sequences.remove(_globals._sequenceIndexes[5]);
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[5], 1);
+ _scene->_sequences.remove(g_sequence_ids[5]);
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[5], 1);
local._waitingGinnyMove = false;
break;
@@ -1058,9 +1058,9 @@ static void room_402_daemon() {
local._beatCounter = 0;
local._bigBeatFl = true;
} else {
- _scene->_sequences.remove(_globals._sequenceIndexes[5]);
- _globals._sequenceIndexes[5] = _scene->_sequences.startCycle(_globals._spriteIndexes[5], false, g_engine->getRandomNumber(1, 4));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[5], 1);
+ _scene->_sequences.remove(g_sequence_ids[5]);
+ g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, g_engine->getRandomNumber(1, 4));
+ _scene->_sequences.setDepth(g_sequence_ids[5], 1);
_scene->_sequences.addTimer(60, 54);
}
}
@@ -1068,22 +1068,22 @@ static void room_402_daemon() {
if (local._bartenderReady) {
if (g_engine->getRandomNumber(1, 250) == 1) {
if (local._bartenderLooksLeft) {
- _scene->_sequences.remove(_globals._sequenceIndexes[11]);
+ _scene->_sequences.remove(g_sequence_ids[11]);
local._bartenderLooksLeft = false;
} else if (local._bartenderHandsHips) {
- _scene->_sequences.remove(_globals._sequenceIndexes[10]);
+ _scene->_sequences.remove(g_sequence_ids[10]);
local._bartenderHandsHips = false;
} else if (local._bartenderSteady) {
- _scene->_sequences.remove(_globals._sequenceIndexes[9]);
+ _scene->_sequences.remove(g_sequence_ids[9]);
local._bartenderSteady = false;
}
switch (g_engine->getRandomNumber(1, 3)) {
case 1:
{
- _globals._sequenceIndexes[10] = _scene->_sequences.startCycle(_globals._spriteIndexes[10], false, 4);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[10], 8);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, _globals._sequenceIndexes[10], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[10], false, 4);
+ _scene->_sequences.setDepth(g_sequence_ids[10], 8);
+ int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[10], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
local._bartenderHandsHips = true;
}
@@ -1091,9 +1091,9 @@ static void room_402_daemon() {
case 2:
{
- _globals._sequenceIndexes[11] = _scene->_sequences.startCycle(_globals._spriteIndexes[11], false, 2);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[11], 8);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, _globals._sequenceIndexes[11], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[11] = _scene->_sequences.startCycle(g_sprite_ids[11], false, 2);
+ _scene->_sequences.setDepth(g_sequence_ids[11], 8);
+ int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[11], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
local._bartenderLooksLeft = true;
}
@@ -1101,9 +1101,9 @@ static void room_402_daemon() {
case 3:
{
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, _globals._sequenceIndexes[9], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[9], 8);
+ int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
local._bartenderSteady = true;
}
@@ -1116,11 +1116,11 @@ static void room_402_daemon() {
}
if (kernel.trigger == 76) {
- int seqIdx = _globals._sequenceIndexes[6];
- _globals._sequenceIndexes[6] = _scene->_sequences.startCycle(_globals._spriteIndexes[6], false, 11);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[6], 5);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[6], seqIdx);
- if (!_globals[kBeenThruHelgaScene]) {
+ int seqIdx = g_sequence_ids[6];
+ g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, 11);
+ _scene->_sequences.setDepth(g_sequence_ids[6], 5);
+ _scene->_sequences.updateTimeout(g_sequence_ids[6], seqIdx);
+ if (!global[kBeenThruHelgaScene]) {
player.commands_allowed = false;
local._cutSceneNeeded = true;
} else {
@@ -1132,33 +1132,33 @@ static void room_402_daemon() {
switch (kernel.trigger) {
case 77:
player.commands_allowed = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[6]);
- _globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], 10, 12);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[7], 5);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 78);
+ _scene->_sequences.remove(g_sequence_ids[6]);
+ g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[7], 10, 12);
+ _scene->_sequences.setDepth(g_sequence_ids[7], 5);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 78);
break;
case 78:
{
g_engine->_soundManager->command(57, 0);
- int seqIdx = _globals._sequenceIndexes[7];
+ int seqIdx = g_sequence_ids[7];
inter_give_to_player(OBJ_REPAIR_LIST);
- _scene->_sequences.remove(_globals._sequenceIndexes[14]);
- _globals._sequenceIndexes[7] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[7], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], 10, 12);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[7], 5);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[7], seqIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 79);
+ _scene->_sequences.remove(g_sequence_ids[14]);
+ g_sequence_ids[7] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[7], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[7], 10, 12);
+ _scene->_sequences.setDepth(g_sequence_ids[7], 5);
+ _scene->_sequences.updateTimeout(g_sequence_ids[7], seqIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 79);
}
break;
case 79:
{
- int seqIdx = _globals._sequenceIndexes[7];
- _globals._sequenceIndexes[6] = _scene->_sequences.startCycle(_globals._spriteIndexes[6], false, 11);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[6], 5);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[6], seqIdx);
+ int seqIdx = g_sequence_ids[7];
+ g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, 11);
+ _scene->_sequences.setDepth(g_sequence_ids[6], 5);
+ _scene->_sequences.updateTimeout(g_sequence_ids[6], seqIdx);
_scene->_sequences.addTimer(20, 180);
}
break;
@@ -1181,28 +1181,28 @@ static void room_402_daemon() {
if (g_engine->getRandomNumber(1, 25) == 1) {
if (local._lightOn) {
- _scene->_sequences.remove(_globals._sequenceIndexes[0]);
+ _scene->_sequences.remove(g_sequence_ids[0]);
local._lightOn = false;
} else {
- _globals._sequenceIndexes[0] = _scene->_sequences.startCycle(_globals._spriteIndexes[0], false, 1);
+ g_sequence_ids[0] = _scene->_sequences.startCycle(g_sprite_ids[0], false, 1);
local._lightOn = true;
}
}
if (!local._blowingSmoke && (g_engine->getRandomNumber(1, 300) == 1)) {
- _globals._sequenceIndexes[1] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[1], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], 1, 14);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 14);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 30);
+ g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[1], 1, 14);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 14);
+ _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 30);
local._blowingSmoke = true;
}
switch (kernel.trigger) {
case 30:
- _globals._sequenceIndexes[1] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[1], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[1], 1, 5);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[1], 14);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[1], SEQUENCE_TRIGGER_EXPIRE, 0, 31);
+ g_sequence_ids[1] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[1], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[1], 1, 5);
+ _scene->_sequences.setDepth(g_sequence_ids[1], 14);
+ _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 31);
break;
case 31:
@@ -1217,14 +1217,14 @@ static void room_402_daemon() {
if (g_engine->getRandomNumber(1, 1000) == 1) {
switch (g_engine->getRandomNumber(1, 2)) {
case 1:
- _globals._sequenceIndexes[2] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[2], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 1, 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 33);
+ g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 33);
local._leftWomanMoving = true;
break;
case 2:
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 1);
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
_scene->_sequences.addTimer(12, 35);
local._leftWomanMoving = true;
break;
@@ -1238,34 +1238,34 @@ static void room_402_daemon() {
switch (kernel.trigger) {
case 33:
{
- int seqIdx = _globals._sequenceIndexes[2];
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 9);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[2], seqIdx);
+ int seqIdx = g_sequence_ids[2];
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 9);
+ _scene->_sequences.updateTimeout(g_sequence_ids[2], seqIdx);
_scene->_sequences.addTimer(g_engine->getRandomNumber(60, 250), 34);
}
break;
case 34:
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _globals._sequenceIndexes[2] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[2], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[2], 1, 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[2], SEQUENCE_TRIGGER_EXPIRE, 0, 38);
+ _scene->_sequences.remove(g_sequence_ids[2]);
+ g_sequence_ids[2] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[2], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 38);
break;
case 35:
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 2);
+ _scene->_sequences.remove(g_sequence_ids[2]);
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 2);
_scene->_sequences.addTimer(g_engine->getRandomNumber(60, 300), 36);
break;
case 36:
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
- _globals._sequenceIndexes[2] = _scene->_sequences.startCycle(_globals._spriteIndexes[2], false, 1);
+ _scene->_sequences.remove(g_sequence_ids[2]);
+ g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
_scene->_sequences.addTimer(12, 37);
break;
case 37:
- _scene->_sequences.remove(_globals._sequenceIndexes[2]);
+ _scene->_sequences.remove(g_sequence_ids[2]);
local._leftWomanMoving = false;
break;
@@ -1281,30 +1281,30 @@ static void room_402_daemon() {
if (g_engine->getRandomNumber(1, 300) == 1) {
switch (g_engine->getRandomNumber(1, 4)) {
case 1:
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 1, 4);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 4);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
local._rightWomanMoving = true;
break;
case 2:
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 2, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 4, 5);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 2, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 4, 5);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
local._rightWomanMoving = true;
break;
case 3:
- _globals._sequenceIndexes[3] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[3], false, 12, 2, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 4, 5);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
+ g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 12, 2, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 4, 5);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
local._rightWomanMoving = true;
break;
case 4:
- _globals._sequenceIndexes[3] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[3], false, 12, 2, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[3], 3, 4);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
+ g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 2, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[3], 3, 4);
+ _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
local._rightWomanMoving = true;
break;
@@ -1399,21 +1399,21 @@ static void room_402_daemon() {
switch (kernel.trigger) {
case 55:
if (local._bartenderHandsHips) {
- _scene->_sequences.remove(_globals._sequenceIndexes[10]);
+ _scene->_sequences.remove(g_sequence_ids[10]);
local._bartenderHandsHips = false;
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, _globals._sequenceIndexes[9], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
+ int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
local._bartenderSteady = true;
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
+ _scene->_sequences.setDepth(g_sequence_ids[9], 8);
} else if (local._bartenderLooksLeft) {
- _scene->_sequences.remove(_globals._sequenceIndexes[11]);
+ _scene->_sequences.remove(g_sequence_ids[11]);
local._bartenderLooksLeft = false;
- _globals._sequenceIndexes[9] = _scene->_sequences.startCycle(_globals._spriteIndexes[9], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, _globals._sequenceIndexes[9], Common::Rect(0, 0, 0, 0));
+ g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
+ int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
local._bartenderSteady = true;
- _scene->_sequences.setDepth(_globals._sequenceIndexes[9], 8);
+ _scene->_sequences.setDepth(g_sequence_ids[9], 8);
}
player.commands_allowed = false;
_scene->_kernelMessages.reset();
@@ -1422,56 +1422,56 @@ static void room_402_daemon() {
break;
case 56:
- _scene->_sequences.remove(_globals._sequenceIndexes[13]);
- _globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 2, 5);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 57);
+ _scene->_sequences.remove(g_sequence_ids[13]);
+ g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 2, 5);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 57);
break;
case 57:
{
- int seqIdx = _globals._sequenceIndexes[13];
- _scene->_sequences.remove(_globals._sequenceIndexes[20]);
- _globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 6, 9);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 58);
+ int seqIdx = g_sequence_ids[13];
+ _scene->_sequences.remove(g_sequence_ids[20]);
+ g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 6, 9);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 58);
}
break;
case 58:
{
- int seqIdx = _globals._sequenceIndexes[13];
- _globals._sequenceIndexes[13] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 5, 9);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 59);
+ int seqIdx = g_sequence_ids[13];
+ g_sequence_ids[13] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 5, 9);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 59);
}
break;
case 59:
{
- int seqIdx = _globals._sequenceIndexes[13];
- _globals._sequenceIndexes[13] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 1, 4);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
- _globals._sequenceIndexes[20] = _scene->_sequences.startCycle(_globals._spriteIndexes[20], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[20], 8);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[20], Common::Point(234, 72));
+ int seqIdx = g_sequence_ids[13];
+ g_sequence_ids[13] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 1, 4);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
+ g_sequence_ids[20] = _scene->_sequences.startCycle(g_sprite_ids[20], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[20], 8);
+ _scene->_sequences.setPosition(g_sequence_ids[20], Common::Point(234, 72));
}
break;
case 60:
{
- int seqIdx = _globals._sequenceIndexes[13];
- _globals._sequenceIndexes[13] = _scene->_sequences.startCycle(_globals._spriteIndexes[13], false, 2);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
+ int seqIdx = g_sequence_ids[13];
+ g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 2);
+ _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
_scene->_sequences.addTimer(10, 61);
}
break;
@@ -1481,19 +1481,19 @@ static void room_402_daemon() {
_scene->_kernelMessages.add(Common::Point(181, 33), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x1FF));
_scene->_kernelMessages.add(Common::Point(171, 47), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x200));
_scene->_sequences.addTimer(150, 63);
- _scene->_sequences.remove(_globals._sequenceIndexes[13]);
- _globals._sequenceIndexes[13] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[13], false, 30, 4, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 10, 11);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 62);
+ _scene->_sequences.remove(g_sequence_ids[13]);
+ g_sequence_ids[13] = _scene->_sequences.startPingPongCycle(g_sprite_ids[13], false, 30, 4, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 10, 11);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 62);
break;
case 62:
{
- int seqIdx = _globals._sequenceIndexes[13];
- _globals._sequenceIndexes[13] = _scene->_sequences.startCycle(_globals._spriteIndexes[13], false, 2);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
+ int seqIdx = g_sequence_ids[13];
+ g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 2);
+ _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
}
break;
@@ -1515,67 +1515,67 @@ static void room_402_daemon() {
case 65:
g_engine->_soundManager->command(30, 0);
- _globals._sequenceIndexes[16] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[16], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[16], 1, 6);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[16], 9);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[16], SEQUENCE_TRIGGER_EXPIRE, 0, 66);
+ g_sequence_ids[16] = _scene->_sequences.addSpriteCycle(g_sprite_ids[16], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[16], 1, 6);
+ _scene->_sequences.setDepth(g_sequence_ids[16], 9);
+ _scene->_sequences.addSubEntry(g_sequence_ids[16], SEQUENCE_TRIGGER_EXPIRE, 0, 66);
break;
case 66:
{
- int seqIdx = _globals._sequenceIndexes[16];
- _globals._sequenceIndexes[16] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[16], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[16], 7, 37);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[16], 9);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[16], seqIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[16], SEQUENCE_TRIGGER_EXPIRE, 0, 68);
-
- _scene->_sequences.remove(_globals._sequenceIndexes[13]);
- _globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 12, 13);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 67);
+ int seqIdx = g_sequence_ids[16];
+ g_sequence_ids[16] = _scene->_sequences.addSpriteCycle(g_sprite_ids[16], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[16], 7, 37);
+ _scene->_sequences.setDepth(g_sequence_ids[16], 9);
+ _scene->_sequences.updateTimeout(g_sequence_ids[16], seqIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[16], SEQUENCE_TRIGGER_EXPIRE, 0, 68);
+
+ _scene->_sequences.remove(g_sequence_ids[13]);
+ g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 12, 13);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 67);
}
break;
case 67:
{
- int seqIdx = _globals._sequenceIndexes[13];
- _globals._sequenceIndexes[13] = _scene->_sequences.startCycle(_globals._spriteIndexes[13], false, 13);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
+ int seqIdx = g_sequence_ids[13];
+ g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 13);
+ _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
}
break;
case 68:
- _scene->_sequences.remove(_globals._sequenceIndexes[13]);
- _globals._sequenceIndexes[13] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 12, 13);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 69);
+ _scene->_sequences.remove(g_sequence_ids[13]);
+ g_sequence_ids[13] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 12, 13);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 69);
break;
case 69:
{
- int seqIdx = _globals._sequenceIndexes[13];
- _globals._sequenceIndexes[13] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[13], false, 25, 4, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 10, 11);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
+ int seqIdx = g_sequence_ids[13];
+ g_sequence_ids[13] = _scene->_sequences.startPingPongCycle(g_sprite_ids[13], false, 25, 4, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 10, 11);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(179, 33), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x203));
_scene->_kernelMessages.add(Common::Point(167, 47), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x204));
_scene->_sequences.addTimer(150, 71);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
}
break;
case 70:
- _globals._sequenceIndexes[13] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[13], false, 25, 4, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 10, 12);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ g_sequence_ids[13] = _scene->_sequences.startPingPongCycle(g_sprite_ids[13], false, 25, 4, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 10, 12);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
break;
case 71:
@@ -1589,10 +1589,10 @@ static void room_402_daemon() {
case 72:
{
- int seqIdx = _globals._sequenceIndexes[13];
- _globals._sequenceIndexes[13] = _scene->_sequences.startCycle(_globals._spriteIndexes[13], false, 2);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
+ int seqIdx = g_sequence_ids[13];
+ g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 2);
+ _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
}
break;
@@ -1604,7 +1604,7 @@ static void room_402_daemon() {
player.commands_allowed = true;
local._helgaReady = true;
local._bartenderReady = true;
- _globals[kBeenThruHelgaScene] = true;
+ global[kBeenThruHelgaScene] = true;
local._activeArrows = false;
break;
@@ -1619,51 +1619,51 @@ static void room_402_daemon() {
case 1:
local._cutSceneReady = false;
local._helgaReady = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[13]);
- _globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 2, 5);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 82);
+ _scene->_sequences.remove(g_sequence_ids[13]);
+ g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 2, 5);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 82);
break;
case 2:
local._cutSceneReady = false;
local._helgaReady = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[13]);
- _globals._sequenceIndexes[13] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[13], false, 15, 2, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 11, 13);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
+ _scene->_sequences.remove(g_sequence_ids[13]);
+ g_sequence_ids[13] = _scene->_sequences.startPingPongCycle(g_sprite_ids[13], false, 15, 2, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 11, 13);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
break;
case 3:
local._cutSceneReady = false;
local._helgaReady = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[13]);
- _globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 10, 11);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
+ _scene->_sequences.remove(g_sequence_ids[13]);
+ g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 10, 11);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
break;
case 4:
local._cutSceneReady = false;
local._helgaReady = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[13]);
- _globals._sequenceIndexes[13] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[13], false, 15, 2, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 14, 15);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
+ _scene->_sequences.remove(g_sequence_ids[13]);
+ g_sequence_ids[13] = _scene->_sequences.startPingPongCycle(g_sprite_ids[13], false, 15, 2, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 14, 15);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
break;
case 5:
local._cutSceneReady = false;
local._helgaReady = false;
- _scene->_sequences.remove(_globals._sequenceIndexes[13]);
- _globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 16, 19);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ _scene->_sequences.remove(g_sequence_ids[13]);
+ g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 16, 19);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
break;
default:
@@ -1672,26 +1672,26 @@ static void room_402_daemon() {
}
if (kernel.trigger == 80) {
- int seqIdx = _globals._sequenceIndexes[13];
- _globals._sequenceIndexes[13] = _scene->_sequences.startCycle(_globals._spriteIndexes[13], false, 19);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
+ int seqIdx = g_sequence_ids[13];
+ g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 19);
+ _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
_scene->_sequences.addTimer(g_engine->getRandomNumber(60, 120), 81);
}
if (kernel.trigger == 81) {
- _scene->_sequences.remove(_globals._sequenceIndexes[13]);
- _globals._sequenceIndexes[13] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 16, 19);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
+ _scene->_sequences.remove(g_sequence_ids[13]);
+ g_sequence_ids[13] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 16, 19);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
}
if (kernel.trigger == 26) {
- int seqIdx = _globals._sequenceIndexes[13];
- _globals._sequenceIndexes[13] = _scene->_sequences.startCycle(_globals._spriteIndexes[13], false, 2);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
+ int seqIdx = g_sequence_ids[13];
+ g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 2);
+ _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
local._cutSceneReady = true;
if (!local._cutSceneNeeded)
@@ -1699,54 +1699,54 @@ static void room_402_daemon() {
}
if (kernel.trigger == 82) {
- _scene->_sequences.remove(_globals._sequenceIndexes[20]);
- int seqIdx = _globals._sequenceIndexes[13];
- _globals._sequenceIndexes[13] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 6, 9);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 83);
+ _scene->_sequences.remove(g_sequence_ids[20]);
+ int seqIdx = g_sequence_ids[13];
+ g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 6, 9);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 83);
}
if (kernel.trigger == 83) {
- int seqIdx = _globals._sequenceIndexes[13];
- _globals._sequenceIndexes[13] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 5, 9);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 84);
+ int seqIdx = g_sequence_ids[13];
+ g_sequence_ids[13] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 5, 9);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 84);
}
if (kernel.trigger == 84) {
- int seqIdx = _globals._sequenceIndexes[13];
- _globals._sequenceIndexes[13] = _scene->_sequences.addReverseSpriteCycle(_globals._spriteIndexes[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[13], 1, 4);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[13], SEQUENCE_TRIGGER_EXPIRE, 0, 85);
+ int seqIdx = g_sequence_ids[13];
+ g_sequence_ids[13] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[13], 1, 4);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
+ _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 85);
- _globals._sequenceIndexes[20] = _scene->_sequences.startCycle(_globals._spriteIndexes[20], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[20], 8);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[20], Common::Point(234, 72));
+ g_sequence_ids[20] = _scene->_sequences.startCycle(g_sprite_ids[20], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[20], 8);
+ _scene->_sequences.setPosition(g_sequence_ids[20], Common::Point(234, 72));
}
if (kernel.trigger == 85) {
- int seqIdx = _globals._sequenceIndexes[13];
- _globals._sequenceIndexes[13] = _scene->_sequences.startCycle(_globals._spriteIndexes[13], false, 2);
- _scene->_sequences.updateTimeout(_globals._sequenceIndexes[13], seqIdx);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[13], 8);
+ int seqIdx = g_sequence_ids[13];
+ g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 2);
+ _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
+ _scene->_sequences.setDepth(g_sequence_ids[13], 8);
local._cutSceneReady = true;
if (!local._cutSceneNeeded)
local._helgaReady = true;
}
if (kernel.trigger == 102) {
- _scene->_sequences.remove(_globals._sequenceIndexes[6]);
+ _scene->_sequences.remove(g_sequence_ids[6]);
player.clock = _scene->_frameStartTime - player.frame_delay;
- _globals._sequenceIndexes[7] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[7], 14, 18);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[7], 5);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[7], SEQUENCE_TRIGGER_EXPIRE, 0, 103);
+ g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 8, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[7], 14, 18);
+ _scene->_sequences.setDepth(g_sequence_ids[7], 5);
+ _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 103);
} else if (kernel.trigger == 103) {
player.clock = _scene->_frameStartTime + player.frame_delay;
local._roxOnStool = false;
@@ -1759,29 +1759,29 @@ static void room_402_daemon() {
if (local._activeArrows) {
if (!local._activeArrow1) {
- _globals._sequenceIndexes[17] = _scene->_sequences.startCycle(_globals._spriteIndexes[17], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[17], 1);
+ g_sequence_ids[17] = _scene->_sequences.startCycle(g_sprite_ids[17], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[17], 1);
_scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 49);
local._activeArrow1 = true;
}
if (!local._activeArrow2) {
- _globals._sequenceIndexes[18] = _scene->_sequences.startCycle(_globals._spriteIndexes[18], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[18], 1);
+ g_sequence_ids[18] = _scene->_sequences.startCycle(g_sprite_ids[18], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[18], 1);
_scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 50);
local._activeArrow2 = true;
}
if (!local._activeArrow3) {
- _globals._sequenceIndexes[19] = _scene->_sequences.startCycle(_globals._spriteIndexes[19], false, 1);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[19], 1);
+ g_sequence_ids[19] = _scene->_sequences.startCycle(g_sprite_ids[19], false, 1);
+ _scene->_sequences.setDepth(g_sequence_ids[19], 1);
_scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 51);
local._activeArrow3 = true;
}
}
if (kernel.trigger == 49) {
- _scene->_sequences.remove(_globals._sequenceIndexes[17]);
+ _scene->_sequences.remove(g_sequence_ids[17]);
_scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 45);
}
@@ -1789,7 +1789,7 @@ static void room_402_daemon() {
local._activeArrow1 = false;
if (kernel.trigger == 50) {
- _scene->_sequences.remove(_globals._sequenceIndexes[18]);
+ _scene->_sequences.remove(g_sequence_ids[18]);
_scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 46);
}
@@ -1797,7 +1797,7 @@ static void room_402_daemon() {
local._activeArrow2 = false;
if (kernel.trigger == 51) {
- _scene->_sequences.remove(_globals._sequenceIndexes[19]);
+ _scene->_sequences.remove(g_sequence_ids[19]);
_scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 47);
}
@@ -1859,13 +1859,13 @@ static void room_402_parser() {
if (kernel.trigger == 0) {
player.commands_allowed = false;
player.walker_visible = false;
- _globals._sequenceIndexes[21] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[21], false, 7, 2, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[21], 1, 2);
- _scene->_sequences.setMsgLayout(_globals._sequenceIndexes[21]);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[21], SEQUENCE_TRIGGER_SPRITE, 2, 165);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[21], SEQUENCE_TRIGGER_EXPIRE, 0, 166);
+ g_sequence_ids[21] = _scene->_sequences.startPingPongCycle(g_sprite_ids[21], false, 7, 2, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[21], 1, 2);
+ _scene->_sequences.setMsgLayout(g_sequence_ids[21]);
+ _scene->_sequences.addSubEntry(g_sequence_ids[21], SEQUENCE_TRIGGER_SPRITE, 2, 165);
+ _scene->_sequences.addSubEntry(g_sequence_ids[21], SEQUENCE_TRIGGER_EXPIRE, 0, 166);
} else if (kernel.trigger == 165) {
- _scene->_sequences.remove(_globals._sequenceIndexes[14]);
+ _scene->_sequences.remove(g_sequence_ids[14]);
inter_give_to_player(OBJ_REPAIR_LIST);
}
} else if (kernel.trigger == 166) {
@@ -1983,10 +1983,10 @@ static void room_402_parser() {
} else if (player_said_2(sit_on, bar_stool) && !local._roxOnStool && (player.target_x != 248)) {
player.walker_visible = false;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _globals._sequenceIndexes[6] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[6], 1, 11);
- _scene->_sequences.setDepth(_globals._sequenceIndexes[6], 5);
- _scene->_sequences.addSubEntry(_globals._sequenceIndexes[6], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
+ g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 7, 1, 0, 0);
+ _scene->_sequences.setAnimRange(g_sequence_ids[6], 1, 11);
+ _scene->_sequences.setDepth(g_sequence_ids[6], 5);
+ _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
player.commands_allowed = false;
} else if (player_said_2(take, credit_chip) && !player_has(OBJ_CREDIT_CHIP) && local._roxOnStool) {
local._roxMode = 20;
@@ -1996,13 +1996,13 @@ static void room_402_parser() {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
- _globals._sequenceIndexes[22] = _scene->_sequences.startPingPongCycle(_globals._spriteIndexes[22], false, 7, 2, 0, 0);
- _scene->_sequences.setAnimRange(_globals._sequenceIndexes[22], 1, 2);
- _scene->_sequences.setPosition(_globals._sequenceIndexes[22], Common::Point(player.x, player.y + 1));
- _scene->_sequences.setDepth(_globals._sequenceIndexes[22], 5);
- _scene->_sequences.setScale(_globals._sequenceIndexes[22], 88);
+ g_sequence_ids[22] = _scene->_sequences.startPingPongCycle(g_sprite_ids[22], false, 7, 2, 0, 0);
Commit: ef05808e7a22a4f025d8fe896243af18a20d19c4
https://github.com/scummvm/scummvm/commit/ef05808e7a22a4f025d8fe896243af18a20d19c4
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:54+10:00
Commit Message:
MADS: NEBULAR: Refactor the Sprites thunk
Changed paths:
engines/mads/nebular/rooms/room101.cpp
engines/mads/nebular/rooms/room102.cpp
engines/mads/nebular/rooms/room103.cpp
engines/mads/nebular/rooms/room104.cpp
engines/mads/nebular/rooms/room105.cpp
engines/mads/nebular/rooms/room106.cpp
engines/mads/nebular/rooms/room107.cpp
engines/mads/nebular/rooms/room108.cpp
engines/mads/nebular/rooms/room109.cpp
engines/mads/nebular/rooms/room110.cpp
engines/mads/nebular/rooms/room111.cpp
engines/mads/nebular/rooms/room112.cpp
engines/mads/nebular/rooms/room201.cpp
engines/mads/nebular/rooms/room202.cpp
engines/mads/nebular/rooms/room203.cpp
engines/mads/nebular/rooms/room205.cpp
engines/mads/nebular/rooms/room207.cpp
engines/mads/nebular/rooms/room208.cpp
engines/mads/nebular/rooms/room209.cpp
engines/mads/nebular/rooms/room210.cpp
engines/mads/nebular/rooms/room211.cpp
engines/mads/nebular/rooms/room213.cpp
engines/mads/nebular/rooms/room214.cpp
engines/mads/nebular/rooms/room215.cpp
engines/mads/nebular/rooms/room301.cpp
engines/mads/nebular/rooms/room303.cpp
engines/mads/nebular/rooms/room304.cpp
engines/mads/nebular/rooms/room307.cpp
engines/mads/nebular/rooms/room308.cpp
engines/mads/nebular/rooms/room309.cpp
engines/mads/nebular/rooms/room310.cpp
engines/mads/nebular/rooms/room311.cpp
engines/mads/nebular/rooms/room316.cpp
engines/mads/nebular/rooms/room318.cpp
engines/mads/nebular/rooms/room319.cpp
engines/mads/nebular/rooms/room320.cpp
engines/mads/nebular/rooms/room322.cpp
engines/mads/nebular/rooms/room351.cpp
engines/mads/nebular/rooms/room352.cpp
engines/mads/nebular/rooms/room353.cpp
engines/mads/nebular/rooms/room357.cpp
engines/mads/nebular/rooms/room358.cpp
engines/mads/nebular/rooms/room359.cpp
engines/mads/nebular/rooms/room360.cpp
engines/mads/nebular/rooms/room361.cpp
engines/mads/nebular/rooms/room388.cpp
engines/mads/nebular/rooms/room389.cpp
engines/mads/nebular/rooms/room402.cpp
engines/mads/nebular/rooms/room405.cpp
engines/mads/nebular/rooms/room406.cpp
engines/mads/nebular/rooms/room408.cpp
engines/mads/nebular/rooms/room409.cpp
engines/mads/nebular/rooms/room410.cpp
engines/mads/nebular/rooms/room411.cpp
engines/mads/nebular/rooms/room413.cpp
engines/mads/nebular/rooms/room501.cpp
engines/mads/nebular/rooms/room502.cpp
engines/mads/nebular/rooms/room503.cpp
engines/mads/nebular/rooms/room504.cpp
engines/mads/nebular/rooms/room505.cpp
engines/mads/nebular/rooms/room506.cpp
engines/mads/nebular/rooms/room507.cpp
engines/mads/nebular/rooms/room508.cpp
engines/mads/nebular/rooms/room511.cpp
engines/mads/nebular/rooms/room512.cpp
engines/mads/nebular/rooms/room513.cpp
engines/mads/nebular/rooms/room551.cpp
engines/mads/nebular/rooms/room601.cpp
engines/mads/nebular/rooms/room602.cpp
engines/mads/nebular/rooms/room603.cpp
engines/mads/nebular/rooms/room604.cpp
engines/mads/nebular/rooms/room605.cpp
engines/mads/nebular/rooms/room607.cpp
engines/mads/nebular/rooms/room608.cpp
engines/mads/nebular/rooms/room609.cpp
engines/mads/nebular/rooms/room610.cpp
engines/mads/nebular/rooms/room611.cpp
engines/mads/nebular/rooms/room612.cpp
engines/mads/nebular/rooms/room620.cpp
engines/mads/nebular/rooms/room701.cpp
engines/mads/nebular/rooms/room702.cpp
engines/mads/nebular/rooms/room704.cpp
engines/mads/nebular/rooms/room705.cpp
engines/mads/nebular/rooms/room706.cpp
engines/mads/nebular/rooms/room707.cpp
engines/mads/nebular/rooms/room710.cpp
engines/mads/nebular/rooms/room711.cpp
engines/mads/nebular/rooms/room751.cpp
engines/mads/nebular/rooms/room752.cpp
engines/mads/nebular/rooms/room801.cpp
engines/mads/nebular/rooms/room802.cpp
engines/mads/nebular/rooms/room803.cpp
engines/mads/nebular/rooms/room804.cpp
engines/mads/nebular/rooms/room805.cpp
engines/mads/nebular/rooms/room807.cpp
engines/mads/nebular/rooms/room808.cpp
engines/mads/nebular/rooms/thunks.cpp
engines/mads/nebular/rooms/thunks.h
diff --git a/engines/mads/nebular/rooms/room101.cpp b/engines/mads/nebular/rooms/room101.cpp
index 84216582efd..76113f24dad 100644
--- a/engines/mads/nebular/rooms/room101.cpp
+++ b/engines/mads/nebular/rooms/room101.cpp
@@ -76,20 +76,20 @@ static void room_101_say_dang() {
}
static void room_101_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 2));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 3));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('x', 4));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('x', 5));
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('x', 6));
- g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('x', 7));
- g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('m', -1));
- g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('b', 1));
- g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_name('b', 2));
- g_sprite_ids[11] = _scene->_sprites.addSprites(kernel_name('a', 0));
- g_sprite_ids[12] = _scene->_sprites.addSprites(kernel_name('a', 1));
- g_sprite_ids[13] = _scene->_sprites.addSprites(kernel_name('x', 8));
- g_sprite_ids[14] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('x', 2), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('x', 3), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('x', 4), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('x', 5), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('x', 6), 0);
+ g_sprite_ids[7] = kernel_load_series(kernel_name('x', 7), 0);
+ g_sprite_ids[8] = kernel_load_series(kernel_name('m', -1), 0);
+ g_sprite_ids[9] = kernel_load_series(kernel_name('b', 1), 0);
+ g_sprite_ids[10] = kernel_load_series(kernel_name('b', 2), 0);
+ g_sprite_ids[11] = kernel_load_series(kernel_name('a', 0), 0);
+ g_sprite_ids[12] = kernel_load_series(kernel_name('a', 1), 0);
+ g_sprite_ids[13] = kernel_load_series(kernel_name('x', 8), 0);
+ g_sprite_ids[14] = kernel_load_series(kernel_name('x', 0), 0);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 5, 0, 0, 25);
g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 4, 0, 1, 0);
diff --git a/engines/mads/nebular/rooms/room102.cpp b/engines/mads/nebular/rooms/room102.cpp
index 61adec505fe..d2a6d962519 100644
--- a/engines/mads/nebular/rooms/room102.cpp
+++ b/engines/mads/nebular/rooms/room102.cpp
@@ -55,18 +55,18 @@ static void addRandomMessage() {
static void room_102_init() {
section_1_music();
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 2));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 3));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('x', 4));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('x', 5));
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('b', -1));
- g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('c', -1));
- g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('e', -1));
- g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('n', -1));
- g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_name('g', -1));
- g_sprite_ids[11] = _scene->_sprites.addSprites("*RXMRC_8");
- g_sprite_ids[13] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('x', 2), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('x', 3), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('x', 4), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('x', 5), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('b', -1), 0);
+ g_sprite_ids[7] = kernel_load_series(kernel_name('c', -1), 0);
+ g_sprite_ids[8] = kernel_load_series(kernel_name('e', -1), 0);
+ g_sprite_ids[9] = kernel_load_series(kernel_name('n', -1), 0);
+ g_sprite_ids[10] = kernel_load_series(kernel_name('g', -1), 0);
+ g_sprite_ids[11] = kernel_load_series("*RXMRC_8", 0);
+ g_sprite_ids[13] = kernel_load_series(kernel_name('x', 0), 0);
g_sequence_ids[1] = _scene->_sequences.startPingPongCycle(g_sprite_ids[1], false, 8, 0, 0, 0);
g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 170, 0, 1, 6);
diff --git a/engines/mads/nebular/rooms/room103.cpp b/engines/mads/nebular/rooms/room103.cpp
index 32ddc789367..1f6c23c3dcf 100644
--- a/engines/mads/nebular/rooms/room103.cpp
+++ b/engines/mads/nebular/rooms/room103.cpp
@@ -41,20 +41,20 @@ static Scratch local;
static void room_103_init() {
- g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 2));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 3));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('x', 4));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('x', 5));
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('b', -1));
- g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('h', -1));
- g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('m', -1));
- g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('t', -1));
- g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_name('r', -1));
- g_sprite_ids[11] = _scene->_sprites.addSprites(kernel_name('c', -1));
- g_sprite_ids[12] = _scene->_sprites.addSprites("*RXMBD_2");
- g_sprite_ids[13] = _scene->_sprites.addSprites("*RXMRD_3");
+ g_sprite_ids[0] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('x', 2), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('x', 3), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('x', 4), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('x', 5), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('b', -1), 0);
+ g_sprite_ids[7] = kernel_load_series(kernel_name('h', -1), 0);
+ g_sprite_ids[8] = kernel_load_series(kernel_name('m', -1), 0);
+ g_sprite_ids[9] = kernel_load_series(kernel_name('t', -1), 0);
+ g_sprite_ids[10] = kernel_load_series(kernel_name('r', -1), 0);
+ g_sprite_ids[11] = kernel_load_series(kernel_name('c', -1), 0);
+ g_sprite_ids[12] = kernel_load_series("*RXMBD_2", 0);
+ g_sprite_ids[13] = kernel_load_series("*RXMRD_3", 0);
g_sprite_ids[15] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 7, 0, 1, 0);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 2, 0);
diff --git a/engines/mads/nebular/rooms/room104.cpp b/engines/mads/nebular/rooms/room104.cpp
index 953c8946f7b..acb6e63822a 100644
--- a/engines/mads/nebular/rooms/room104.cpp
+++ b/engines/mads/nebular/rooms/room104.cpp
@@ -40,7 +40,7 @@ struct Scratch {
static Scratch local;
static void room_104_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('h', -1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('h', -1), 0);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 14, 0, 0, 1);
_scene->_sequences.setDepth(g_sequence_ids[1], 8);
@@ -89,7 +89,7 @@ static void room_104_daemon() {
_scene->resetScene();
player.commands_allowed = false;
player.walker_visible = false;
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[2] = kernel_load_series(kernel_name('a', 0), 0);
kernel_new_palette();
g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], mirrorFl, 7, 1, 0, 0);
_scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(198, 143));
@@ -122,7 +122,7 @@ static void room_104_daemon() {
_scene->resetScene();
player.commands_allowed = false;
player.walker_visible = false;
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[3] = kernel_load_series(kernel_name('a', 1), 0);
kernel_new_palette();
g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 1, 0, 0);
_scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(198, 143));
@@ -164,7 +164,7 @@ static void room_104_daemon() {
_scene->resetScene();
player.commands_allowed = false;
player.walker_visible = false;
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('a', 2));
+ g_sprite_ids[4] = kernel_load_series(kernel_name('a', 2), 0);
kernel_new_palette();
g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 8, 1, 0, 0);
_scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(198, 143));
diff --git a/engines/mads/nebular/rooms/room105.cpp b/engines/mads/nebular/rooms/room105.cpp
index 0f46efe2a01..bf56f6f2fe6 100644
--- a/engines/mads/nebular/rooms/room105.cpp
+++ b/engines/mads/nebular/rooms/room105.cpp
@@ -39,8 +39,8 @@ static Scratch local;
static void room_105_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('m', 1));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('f', 4));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('m', 1), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('f', 4), 0);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 8, 0, 0, 0);
if (global[kFishIn105]) {
@@ -76,9 +76,9 @@ static void room_105_daemon() {
player.commands_allowed = false;
player.walker_visible = false;
- g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('m', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('m', 2));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('m', 3));
+ g_sprite_ids[0] = kernel_load_series(kernel_name('m', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('m', 2), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('m', 3), 0);
g_engine->_soundManager->command(33, 0);
_scene->clearSequenceList();
kernel_new_palette();
diff --git a/engines/mads/nebular/rooms/room106.cpp b/engines/mads/nebular/rooms/room106.cpp
index bce9e73298a..fb89b842f51 100644
--- a/engines/mads/nebular/rooms/room106.cpp
+++ b/engines/mads/nebular/rooms/room106.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/matte.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/mads/inventory.h"
@@ -42,16 +43,16 @@ static Scratch local;
static void room_106_init() {
- g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('H', -1));
+ g_sprite_ids[0] = kernel_load_series(kernel_name('H', -1), 0);
if (player_has(OBJ_REBREATHER) || (_scene->_priorSceneId != 102) || _scene->_roomChanged) {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('A', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('A', 1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('A', 0), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('A', 1), 0);
}
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('G', -1));
+ g_sprite_ids[2] = kernel_load_series(kernel_name('G', -1), 0);
g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 21, 0, 0, 0);
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('I', -1));
+ g_sprite_ids[4] = kernel_load_series(kernel_name('I', -1), 0);
g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 0, 32, 47);
if (_scene->_priorSceneId == 102) {
@@ -71,7 +72,7 @@ static void room_106_init() {
player.x = 319;
player.y = 44;
player.facing = player.prepare_walk_facing = FACING_SOUTHWEST;
- _scene->_sprites[player.series_base + 3]->_charInfo->_velocity = 24;
+ series_list[player.series_base + 3]->walker->velocity = 24;
}
player.prepare_walk_x = 246;
@@ -190,7 +191,7 @@ static void room_106_daemon() {
static void room_106_pre_parser() {
if (player_said_2(swim_towards, sea_cliff) || player_said_2(swim_towards, seaweed_bank)) {
player.commands_allowed = false;
- _scene->_sprites[player.series_base + 1]->_charInfo->_velocity = 24;
+ series_list[player.series_base + 1]->walker->velocity = 24;
player.walk_off_edge_to_room = 104;
}
diff --git a/engines/mads/nebular/rooms/room107.cpp b/engines/mads/nebular/rooms/room107.cpp
index b90d3c1f1b4..ebdf97cce64 100644
--- a/engines/mads/nebular/rooms/room107.cpp
+++ b/engines/mads/nebular/rooms/room107.cpp
@@ -40,9 +40,9 @@ static Scratch local;
static void room_107_init() {
for (int i = 0; i < 3; i++)
- g_sprite_ids[i + 1] = _scene->_sprites.addSprites(kernel_name('G', i));
+ g_sprite_ids[i + 1] = kernel_load_series(kernel_name('G', i), 0);
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_full_name(105, 'f', 4, "", EXT_SS));
+ g_sprite_ids[4] = kernel_load_series(kernel_full_name(105, 'f', 4, "", EXT_SS), 0);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 14, 0, 0, 7);
g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 17, 0, 0, 13);
@@ -73,7 +73,7 @@ static void room_107_init() {
}
if (((_scene->_priorSceneId == 105) || (_scene->_priorSceneId == 106)) && (g_engine->getRandomNumber(1, 3) == 1)) {
- g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_full_name(105, 'R', 1, "", EXT_SS));
+ g_sprite_ids[0] = kernel_load_series(kernel_full_name(105, 'R', 1, "", EXT_SS), 0);
g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], true, 4, 0, 0, 0);
_scene->_sequences.setPosition(g_sequence_ids[0], Common::Point(270, 150));
_scene->_sequences.setMotion(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, -200, 0);
diff --git a/engines/mads/nebular/rooms/room108.cpp b/engines/mads/nebular/rooms/room108.cpp
index 3799f5ad84c..f8e3191e18a 100644
--- a/engines/mads/nebular/rooms/room108.cpp
+++ b/engines/mads/nebular/rooms/room108.cpp
@@ -35,11 +35,11 @@ static void room_108_init() {
if (global[kHoovicSated] == 2)
global[kHoovicSated] = 0;
- g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('X', 3));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_full_name(105, 'f', 4, "", EXT_SS));
+ g_sprite_ids[0] = kernel_load_series(kernel_name('X', 0), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('X', 1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('X', 2), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('X', 3), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_full_name(105, 'f', 4, "", EXT_SS), 0);
g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 13, 0, 0, 7);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 16, 0, 0, 9);
diff --git a/engines/mads/nebular/rooms/room109.cpp b/engines/mads/nebular/rooms/room109.cpp
index acd60bfc072..19adfdcd30e 100644
--- a/engines/mads/nebular/rooms/room109.cpp
+++ b/engines/mads/nebular/rooms/room109.cpp
@@ -21,6 +21,7 @@
#include "mads/core/game.h"
#include "mads/core/himem.h"
+#include "mads/core/matte.h"
#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -51,11 +52,11 @@ static Scratch local;
static void room_109_init() {
global[kFishIn105] = true;
- g_sprite_ids[0] = _scene->_sprites.addSprites("*RXSWRC_6");
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('O', 1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('O', 2));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('O', 0));
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('H', 4));
+ g_sprite_ids[0] = kernel_load_series("*RXSWRC_6", 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('O', 1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('O', 2), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('O', 0), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('H', 4), 0);
local._rexThrowingObject = false;
local._throwingObjectId = 0;
@@ -109,8 +110,8 @@ static void room_109_init() {
local._eatingFirstFish = (!player.been_here_before) && (_scene->_priorSceneId < 110);
if (local._eatingFirstFish) {
- g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_full_name(105, 'F', 1, "", EXT_SS));
- g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('H', 1));
+ g_sprite_ids[10] = kernel_load_series(kernel_full_name(105, 'F', 1, "", EXT_SS), 0);
+ g_sprite_ids[9] = kernel_load_series(kernel_name('H', 1), 0);
g_sequence_ids[10] = _scene->_sequences.startPingPongCycle(g_sprite_ids[10], true, 4, 0, 0, 0);
_scene->_sequences.setDepth(g_sequence_ids[10], 5);
@@ -156,8 +157,8 @@ static void room_109_daemon() {
player.commands_allowed = false;
local._hungryFl = false;
local._beforeEatingRex = true;
- _scene->_sprites.remove(g_sprite_ids[6]);
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('H', 0));
+ matte_deallocate_series(g_sprite_ids[6], true);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('H', 0), 0);
kernel_new_palette();
}
@@ -184,8 +185,8 @@ static void room_109_daemon() {
if (kernel.trigger == 73) {
_scene->_sequences.remove(g_sequence_ids[9]);
- _scene->_sprites.remove(g_sprite_ids[9]);
- _scene->_sprites.remove(g_sprite_ids[10]);
+ matte_deallocate_series(g_sprite_ids[9], true);
+ matte_deallocate_series(g_sprite_ids[10], true);
_scene->_spriteSlots.clear();
_scene->_spriteSlots.fullRefresh();
@@ -247,12 +248,12 @@ static void room_109_parser() {
switch (local._throwingObjectId) {
case OBJ_DEAD_FISH:
case OBJ_STUFFED_FISH:
- g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('H', 1));
+ g_sprite_ids[8] = kernel_load_series(kernel_name('H', 1), 0);
break;
case OBJ_BURGER:
local._hoovicDifficultFl = (game.difficulty == DIFFICULTY_HARD);
- g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('H', (local._hoovicDifficultFl ? 3 : 1)));
+ g_sprite_ids[8] = kernel_load_series(kernel_name('H', (local._hoovicDifficultFl ? 3 : 1)), 0);
break;
default:
@@ -348,7 +349,7 @@ static void room_109_parser() {
}
_scene->freeAnimation();
_scene->_sequences.remove(g_sequence_ids[8]);
- _scene->_sprites.remove(g_sprite_ids[8]);
+ matte_deallocate_series(g_sprite_ids[8], true);
_scene->_spriteSlots.clear();
_scene->_spriteSlots.fullRefresh();
_scene->_sequences.scan();
diff --git a/engines/mads/nebular/rooms/room110.cpp b/engines/mads/nebular/rooms/room110.cpp
index 12353de5442..c1c5171b102 100644
--- a/engines/mads/nebular/rooms/room110.cpp
+++ b/engines/mads/nebular/rooms/room110.cpp
@@ -39,10 +39,10 @@ static Scratch local;
static void room_110_init() {
- g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('X', 3));
+ g_sprite_ids[0] = kernel_load_series(kernel_name('X', 0), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('X', 1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('X', 2), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('X', 3), 0);
local._crabsFl = false;
diff --git a/engines/mads/nebular/rooms/room111.cpp b/engines/mads/nebular/rooms/room111.cpp
index dcc1cb9f1e8..a612bba66c2 100644
--- a/engines/mads/nebular/rooms/room111.cpp
+++ b/engines/mads/nebular/rooms/room111.cpp
@@ -42,13 +42,13 @@ static Scratch local;
static void room_111_init() {
- g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
+ g_sprite_ids[0] = kernel_load_series(kernel_name('X', 0), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('X', 1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('X', 2), 0);
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('B', 0));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('B', 1));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('B', 2));
+ g_sprite_ids[3] = kernel_load_series(kernel_name('B', 0), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('B', 1), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('B', 2), 0);
g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 8, 0, 0, 0);
_scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, 9, 73);
diff --git a/engines/mads/nebular/rooms/room112.cpp b/engines/mads/nebular/rooms/room112.cpp
index 95263d3414c..2fe02d4ee59 100644
--- a/engines/mads/nebular/rooms/room112.cpp
+++ b/engines/mads/nebular/rooms/room112.cpp
@@ -34,10 +34,10 @@ namespace Rooms {
static void room_112_init() {
section_1_music();
- g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('X', 0));
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('X', 1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('X', 2));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('X', 5));
+ g_sprite_ids[0] = kernel_load_series(kernel_name('X', 0), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('X', 1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('X', 2), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('X', 5), 0);
g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 10, 0, 17, 20);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 4, 0, 0, 0);
diff --git a/engines/mads/nebular/rooms/room201.cpp b/engines/mads/nebular/rooms/room201.cpp
index 87dba1671b6..05df1486c07 100644
--- a/engines/mads/nebular/rooms/room201.cpp
+++ b/engines/mads/nebular/rooms/room201.cpp
@@ -40,11 +40,11 @@ static Scratch local;
static void room_201_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('m', -1));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('b', -1));
- g_sprite_ids[5] = _scene->_sprites.addSprites("*SC002Z1");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('m', -1), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('b', -1), 0);
+ g_sprite_ids[5] = kernel_load_series("*SC002Z1", 0);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 1, 0);
g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 15, 0, 0, 50);
g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 4, 0, 0, 0);
@@ -99,8 +99,8 @@ static void room_201_init() {
}
if ((_scene->_priorSceneId == 202) && (global[kMeteorologistStatus] == METEOROLOGIST_PRESENT) && !_scene->_roomChanged) {
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('a', 0));
- g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[6] = kernel_load_series(kernel_name('a', 0), 0);
+ g_sprite_ids[7] = kernel_load_series(kernel_name('a', 1), 0);
kernel.quotes = quote_load(90, 91, 0);
player.commands_allowed = false;
g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 7, 1, 0, 0);
diff --git a/engines/mads/nebular/rooms/room202.cpp b/engines/mads/nebular/rooms/room202.cpp
index 6655d38b460..4f6511e49a5 100644
--- a/engines/mads/nebular/rooms/room202.cpp
+++ b/engines/mads/nebular/rooms/room202.cpp
@@ -52,19 +52,19 @@ static Scratch local;
static void room_202_init() {
player.walker_been_visible = true;
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('b', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('b', 1));
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('b', 2));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('l', -1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('b', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('b', 1), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('b', 2), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('l', -1), 0);
if (global[kSexOfRex] != SEX_MALE) {
- g_sprite_ids[7] = _scene->_sprites.addSprites("*ROXBD_2");
+ g_sprite_ids[7] = kernel_load_series("*ROXBD_2", 0);
} else {
- g_sprite_ids[7] = _scene->_sprites.addSprites("*RXMBD_2");
+ g_sprite_ids[7] = kernel_load_series("*RXMBD_2", 0);
}
- g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('a', 0));
- g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('a', 1));
- g_sprite_ids[11] = _scene->_sprites.addSprites(kernel_name('a', 2));
+ g_sprite_ids[8] = kernel_load_series(kernel_name('a', 0), 0);
+ g_sprite_ids[9] = kernel_load_series(kernel_name('a', 1), 0);
+ g_sprite_ids[11] = kernel_load_series(kernel_name('a', 2), 0);
g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 0, 0);
g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 0, 0);
diff --git a/engines/mads/nebular/rooms/room203.cpp b/engines/mads/nebular/rooms/room203.cpp
index 3a84de6a405..157bf3bea1d 100644
--- a/engines/mads/nebular/rooms/room203.cpp
+++ b/engines/mads/nebular/rooms/room203.cpp
@@ -68,7 +68,7 @@ static void room_203_init() {
}
if (!local._rhotundaEatFl) {
- g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('b', -1));
+ g_sprite_ids[0] = kernel_load_series(kernel_name('b', -1), 0);
if (g_engine->getRandomNumber(1, 3) == 2) {
g_sprite_ids[15] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 9, 1, 0, 0);
int idx = _scene->_dynamicHotspots.add(words_yellow_bird, words_look_at, g_sprite_ids[15], Common::Rect(0, 0, 0, 0));
diff --git a/engines/mads/nebular/rooms/room205.cpp b/engines/mads/nebular/rooms/room205.cpp
index b507a7ad53c..98c9c78be94 100644
--- a/engines/mads/nebular/rooms/room205.cpp
+++ b/engines/mads/nebular/rooms/room205.cpp
@@ -45,15 +45,15 @@ static Scratch local;
static void room_205_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 2));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('f', -1));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('c', -1));
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('p', -1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('x', 2), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('f', -1), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('c', -1), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('p', -1), 0);
if (global[kSexOfRex] == SEX_MALE)
- g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[8] = kernel_load_series(kernel_name('a', 1), 0);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 10, 0, 0, 3);
int idx = _scene->_dynamicHotspots.add(words_chicken, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
@@ -253,7 +253,7 @@ static void room_205_parser() {
pal_lock();
_scene->_kernelMessages.reset();
kernel_dump_walker_only();
- g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[9] = kernel_load_series(kernel_name('a', 0), 0);
kernel_new_palette();
g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
diff --git a/engines/mads/nebular/rooms/room207.cpp b/engines/mads/nebular/rooms/room207.cpp
index bd15f4cc315..d81a989263b 100644
--- a/engines/mads/nebular/rooms/room207.cpp
+++ b/engines/mads/nebular/rooms/room207.cpp
@@ -45,13 +45,13 @@ static Scratch local;
static void room_207_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('h', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('h', 1));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('c', -1));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('e', 0));
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('e', 1));
- g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('g', 1));
- g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('g', 0));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('h', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('h', 1), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('c', -1), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('e', 0), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('e', 1), 0);
+ g_sprite_ids[7] = kernel_load_series(kernel_name('g', 1), 0);
+ g_sprite_ids[8] = kernel_load_series(kernel_name('g', 0), 0);
g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 7, 0, 0, 0);
_scene->_sequences.setDepth(g_sequence_ids[5], 7);
diff --git a/engines/mads/nebular/rooms/room208.cpp b/engines/mads/nebular/rooms/room208.cpp
index bd96b1cf18b..6eb56f1f32b 100644
--- a/engines/mads/nebular/rooms/room208.cpp
+++ b/engines/mads/nebular/rooms/room208.cpp
@@ -76,11 +76,11 @@ static void updateTrap() {
}
static void room_208_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('a', 1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('x', 2));
- g_sprite_ids[5] = _scene->_sprites.addSprites("*RXMBD_8");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('a', 1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('x', 2), 0);
+ g_sprite_ids[5] = kernel_load_series("*RXMBD_8", 0);
updateTrap();
diff --git a/engines/mads/nebular/rooms/room209.cpp b/engines/mads/nebular/rooms/room209.cpp
index 26755d090ed..81cb44ae4a9 100644
--- a/engines/mads/nebular/rooms/room209.cpp
+++ b/engines/mads/nebular/rooms/room209.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/matte.h"
#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -744,12 +745,12 @@ static void handleMonkeyFall() {
case 219:
{
g_engine->_soundManager->command(25, 0);
- _scene->_sprites.remove(g_sprite_ids[7]);
- _scene->_sprites.remove(g_sprite_ids[6]);
- _scene->_sprites.remove(g_sprite_ids[5]);
- _scene->_sprites.remove(g_sprite_ids[4]);
+ matte_deallocate_series(g_sprite_ids[7], true);
+ matte_deallocate_series(g_sprite_ids[6], true);
+ matte_deallocate_series(g_sprite_ids[5], true);
+ matte_deallocate_series(g_sprite_ids[4], true);
- g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('m', 4));
+ g_sprite_ids[8] = kernel_load_series(kernel_name('m', 4), 0);
_scene->_kernelMessages.add(Common::Point(180, 26), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 151));
_scene->_sequences.addTimer(40, 100);
_scene->_hotspots.activate(227, false);
@@ -969,16 +970,16 @@ static void handleDodge() {
}
static void room_209_init() {
- g_sprite_ids[11] = _scene->_sprites.addSprites("*RXMBD_2");
- g_sprite_ids[12] = _scene->_sprites.addSprites(kernel_name('a', 1));
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('e', -1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('a', 0));
- g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('b', 1));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('m', 0));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('m', 1));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('m', 3));
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('m', 6));
- g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('m', 8));
+ g_sprite_ids[11] = kernel_load_series("*RXMBD_2", 0);
+ g_sprite_ids[12] = kernel_load_series(kernel_name('a', 1), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('e', -1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('a', 0), 0);
+ g_sprite_ids[9] = kernel_load_series(kernel_name('b', 1), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('m', 0), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('m', 1), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('m', 3), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('m', 6), 0);
+ g_sprite_ids[7] = kernel_load_series(kernel_name('m', 8), 0);
kernel.quotes = quote_load(0x82, 0x83, 0x84, 0x9C, 0x97, 0x95, 0x99, 0x9E, 0x98, 0x9B, 0xA0, 0x96, 0x9F,
0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x91, 0x92, 0x93, 0x94, 0x89, 0x85, 0x8A, 0x86, 0x87, 0x88, 0);
@@ -1627,7 +1628,7 @@ static void room_209_parser() {
if (player_said_2(take, binoculars) && (kernel.trigger || object_is_here(OBJ_BINOCULARS))) {
switch (kernel.trigger) {
case 0:
- g_sprite_ids[10] = _scene->_sprites.addSprites("*RXMBD_8");
+ g_sprite_ids[10] = kernel_load_series("*RXMBD_8", 0);
player.commands_allowed = false;
player.walker_visible = false;
g_sequence_ids[10] = _scene->_sequences.startPingPongCycle(g_sprite_ids[10], false, 3, 2, 0, 0);
@@ -1650,7 +1651,7 @@ static void room_209_parser() {
case 3:
object_examine(OBJ_BINOCULARS, 0x51AF, 0);
- _scene->_sprites.remove(g_sprite_ids[10]);
+ matte_deallocate_series(g_sprite_ids[10], true);
break;
default:
diff --git a/engines/mads/nebular/rooms/room210.cpp b/engines/mads/nebular/rooms/room210.cpp
index 10ff34b92b7..909ea9de6b5 100644
--- a/engines/mads/nebular/rooms/room210.cpp
+++ b/engines/mads/nebular/rooms/room210.cpp
@@ -343,7 +343,7 @@ static void setDialogNode(int node) {
_scene->freeAnimation();
_scene->resetScene();
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('c', -1), 0);
kernel.quotes = quote_load(0xE6, 0xE9, 0xEA, 0xE7, 0xE8, 0);
_scene->loadAnimation(kernel_name('B', -1), 4);
break;
@@ -613,7 +613,7 @@ static void restoreDialogNode(int node, int msgId, int posY) {
}
static void room_210_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('c', -1), 0);
if (!player.been_here_before)
global[kCurtainOpen] = 0;
diff --git a/engines/mads/nebular/rooms/room211.cpp b/engines/mads/nebular/rooms/room211.cpp
index ca2c1e99cd4..d99be01d3f4 100644
--- a/engines/mads/nebular/rooms/room211.cpp
+++ b/engines/mads/nebular/rooms/room211.cpp
@@ -44,7 +44,7 @@ static Scratch local;
static void room_211_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites("*SC002Z2");
+ g_sprite_ids[1] = kernel_load_series("*SC002Z2", 0);
local._wakeFl = false;
if (_scene->_priorSceneId == 210) {
diff --git a/engines/mads/nebular/rooms/room213.cpp b/engines/mads/nebular/rooms/room213.cpp
index b6765345c18..315b34f9b09 100644
--- a/engines/mads/nebular/rooms/room213.cpp
+++ b/engines/mads/nebular/rooms/room213.cpp
@@ -34,11 +34,11 @@ namespace Rooms {
static void room_213_init() {
if (global[kMeteorologistWatch] != METEOROLOGIST_NORMAL)
- g_sprite_ids[4] = _scene->_sprites.addSprites("*METHAND");
+ g_sprite_ids[4] = kernel_load_series("*METHAND", 0);
else if (global[kSexOfRex] == REX_MALE)
- g_sprite_ids[4] = _scene->_sprites.addSprites("*REXHAND");
+ g_sprite_ids[4] = kernel_load_series("*REXHAND", 0);
else
- g_sprite_ids[4] = _scene->_sprites.addSprites("*ROXHAND");
+ g_sprite_ids[4] = kernel_load_series("*ROXHAND", 0);
teleporter_init();
diff --git a/engines/mads/nebular/rooms/room214.cpp b/engines/mads/nebular/rooms/room214.cpp
index edebb89a01f..941ac5b4bf4 100644
--- a/engines/mads/nebular/rooms/room214.cpp
+++ b/engines/mads/nebular/rooms/room214.cpp
@@ -40,10 +40,10 @@ static Scratch local;
static void room_214_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('e', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('e', 1));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('t', -1));
- g_sprite_ids[4] = _scene->_sprites.addSprites("*RXMRD_7");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('e', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('e', 1), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('t', -1), 0);
+ g_sprite_ids[4] = kernel_load_series("*RXMRD_7", 0);
local._devilTime = player.clock;
local._devilRunningFl = false;
diff --git a/engines/mads/nebular/rooms/room215.cpp b/engines/mads/nebular/rooms/room215.cpp
index bcb7f163e4f..5760aa5dac5 100644
--- a/engines/mads/nebular/rooms/room215.cpp
+++ b/engines/mads/nebular/rooms/room215.cpp
@@ -32,17 +32,17 @@ namespace RexNebular {
namespace Rooms {
static void room_215_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('e', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('e', 0), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('a', 0), 0);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 7, 0, 0, 0);
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(235, 83));
_scene->_sequences.setDepth(g_sequence_ids[1], 15);
if (global[kSexOfRex] == REX_MALE)
- g_sprite_ids[2] = _scene->_sprites.addSprites("*RXMRC_9");
+ g_sprite_ids[2] = kernel_load_series("*RXMRC_9", 0);
else
- g_sprite_ids[2] = _scene->_sprites.addSprites("*ROXRC_9");
+ g_sprite_ids[2] = kernel_load_series("*ROXRC_9", 0);
if (_scene->_priorSceneId == 216) {
player.x = 140;
diff --git a/engines/mads/nebular/rooms/room301.cpp b/engines/mads/nebular/rooms/room301.cpp
index a2ce9cd4cbd..b7f755a67e3 100644
--- a/engines/mads/nebular/rooms/room301.cpp
+++ b/engines/mads/nebular/rooms/room301.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_301_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 0), 0);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 9, 0, 0, 0);
global[kMeteorologistStatus] = METEOROLOGIST_GONE;
diff --git a/engines/mads/nebular/rooms/room303.cpp b/engines/mads/nebular/rooms/room303.cpp
index 19ad79c1e0c..1796bed68e2 100644
--- a/engines/mads/nebular/rooms/room303.cpp
+++ b/engines/mads/nebular/rooms/room303.cpp
@@ -32,8 +32,8 @@ namespace RexNebular {
namespace Rooms {
static void room_303_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('b', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('b', 1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('b', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('b', 1), 0);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 10, 0, 50, 120);
_scene->_sequences.setDepth(g_sequence_ids[1], 1);
diff --git a/engines/mads/nebular/rooms/room304.cpp b/engines/mads/nebular/rooms/room304.cpp
index c0bbe47e02c..7fdbd29cab1 100644
--- a/engines/mads/nebular/rooms/room304.cpp
+++ b/engines/mads/nebular/rooms/room304.cpp
@@ -45,12 +45,12 @@ static void room_304_init() {
_scene->loadAnimation(kernel_name('a', -1), 60);
} else {
if (global[kSexOfRex] == REX_MALE)
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('a', 0), 0);
else
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('a', 2));
+ g_sprite_ids[4] = kernel_load_series(kernel_name('a', 2), 0);
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('a', 1));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ g_sprite_ids[2] = kernel_load_series(kernel_name('a', 1), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('b', 0), 0);
g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 150, 0, 3, 0);
_scene->_sequences.setDepth(g_sequence_ids[3], 2);
diff --git a/engines/mads/nebular/rooms/room307.cpp b/engines/mads/nebular/rooms/room307.cpp
index 90537cab517..902fb7468a0 100644
--- a/engines/mads/nebular/rooms/room307.cpp
+++ b/engines/mads/nebular/rooms/room307.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/core/game.h"
+#include "mads/core/matte.h"
#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -275,10 +276,10 @@ static void handleDialog() {
}
static void room_307_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites("*SC003x0");
- g_sprite_ids[0] = _scene->_sprites.addSprites("*SC003x1");
- g_sprite_ids[2] = _scene->_sprites.addSprites("*SC003x2");
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sprite_ids[1] = kernel_load_series("*SC003x0", 0);
+ g_sprite_ids[0] = kernel_load_series("*SC003x1", 0);
+ g_sprite_ids[2] = kernel_load_series("*SC003x2", 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('x', 0), 0);
init_forcefield(&local._forcefield, true);
@@ -491,7 +492,7 @@ static void room_307_parser() {
break;
case 1:
- g_sprite_ids[5] = _scene->_sprites.addSprites("*RXCL_8");
+ g_sprite_ids[5] = kernel_load_series("*RXCL_8", 0);
player.walker_visible = false;
g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 12, 1, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[5], -1, 3);
@@ -552,7 +553,7 @@ static void room_307_parser() {
break;
case 7:
- _scene->_sprites.remove(g_sprite_ids[5]);
+ matte_deallocate_series(g_sprite_ids[5], true);
player.commands_allowed = true;
break;
@@ -563,7 +564,7 @@ static void room_307_parser() {
if (local._grateOpenedFl) {
switch (kernel.trigger) {
case 0:
- g_sprite_ids[5] = _scene->_sprites.addSprites("*RXCL_8");
+ g_sprite_ids[5] = kernel_load_series("*RXCL_8", 0);
player.commands_allowed = false;
player.walker_visible = false;
_scene->_sequences.remove(g_sequence_ids[4]);
@@ -650,7 +651,7 @@ static void room_307_parser() {
switch (kernel.trigger) {
case 0:
g_engine->_soundManager->command(25, 0);
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[3] = kernel_load_series(kernel_name('a', 0), 0);
local._duringPeeingFl = true;
player.commands_allowed = false;
player.walker_visible = false;
@@ -675,7 +676,7 @@ static void room_307_parser() {
case 3:
{
- _scene->_sprites.remove(g_sprite_ids[3]);
+ matte_deallocate_series(g_sprite_ids[3], true);
_scene->_kernelMessages.reset();
int idx = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 4, 120, quote_string(kernel.quotes, 237));
_scene->_kernelMessages.setQuoted(idx, 4, true);
diff --git a/engines/mads/nebular/rooms/room308.cpp b/engines/mads/nebular/rooms/room308.cpp
index 73c3a438ae2..e0d4d60b67e 100644
--- a/engines/mads/nebular/rooms/room308.cpp
+++ b/engines/mads/nebular/rooms/room308.cpp
@@ -41,14 +41,14 @@ static Scratch local;
static void room_308_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites("*SC003x0");
- g_sprite_ids[0] = _scene->_sprites.addSprites("*SC003x1");
- g_sprite_ids[2] = _scene->_sprites.addSprites("*SC003x2");
+ g_sprite_ids[1] = kernel_load_series("*SC003x0", 0);
+ g_sprite_ids[0] = kernel_load_series("*SC003x1", 0);
+ g_sprite_ids[2] = kernel_load_series("*SC003x2", 0);
init_forcefield(&local._forcefield, true);
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('b', 0));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sprite_ids[3] = kernel_load_series(kernel_name('b', 0), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
pal_change_color(252, 63, 30, 20);
pal_change_color(253, 45, 15, 12);
diff --git a/engines/mads/nebular/rooms/room309.cpp b/engines/mads/nebular/rooms/room309.cpp
index f560f16fb14..820698071f7 100644
--- a/engines/mads/nebular/rooms/room309.cpp
+++ b/engines/mads/nebular/rooms/room309.cpp
@@ -44,14 +44,14 @@ static Scratch local;
static void room_309_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites("*SC003x0");
- g_sprite_ids[0] = _scene->_sprites.addSprites("*SC003x1");
- g_sprite_ids[2] = _scene->_sprites.addSprites("*SC003x2");
+ g_sprite_ids[1] = kernel_load_series("*SC003x0", 0);
+ g_sprite_ids[0] = kernel_load_series("*SC003x1", 0);
+ g_sprite_ids[2] = kernel_load_series("*SC003x2", 0);
init_forcefield(&local._forcefield, true);
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sprite_ids[3] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
_scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
diff --git a/engines/mads/nebular/rooms/room310.cpp b/engines/mads/nebular/rooms/room310.cpp
index bc081177c9c..68c2de042d4 100644
--- a/engines/mads/nebular/rooms/room310.cpp
+++ b/engines/mads/nebular/rooms/room310.cpp
@@ -40,13 +40,13 @@ static Scratch local;
static void room_310_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites("*SC003x0");
- g_sprite_ids[0] = _scene->_sprites.addSprites("*SC003x1");
- g_sprite_ids[2] = _scene->_sprites.addSprites("*SC003x2");
+ g_sprite_ids[1] = kernel_load_series("*SC003x0", 0);
+ g_sprite_ids[0] = kernel_load_series("*SC003x1", 0);
+ g_sprite_ids[2] = kernel_load_series("*SC003x2", 0);
init_forcefield(&local._forcefield, true);
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sprite_ids[3] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
_scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(127, 78));
_scene->_sequences.setDepth(g_sequence_ids[3], 15);
diff --git a/engines/mads/nebular/rooms/room311.cpp b/engines/mads/nebular/rooms/room311.cpp
index 096af8461fc..67f39910fb1 100644
--- a/engines/mads/nebular/rooms/room311.cpp
+++ b/engines/mads/nebular/rooms/room311.cpp
@@ -39,9 +39,9 @@ static Scratch local;
static void room_311_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
- g_sprite_ids[2] = _scene->_sprites.addSprites("*RXCL_8");
- g_sprite_ids[3] = _scene->_sprites.addSprites("*RXCL_2");
+ g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
+ g_sprite_ids[2] = kernel_load_series("*RXCL_8", 0);
+ g_sprite_ids[3] = kernel_load_series("*RXCL_2", 0);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
diff --git a/engines/mads/nebular/rooms/room316.cpp b/engines/mads/nebular/rooms/room316.cpp
index 71d1d9926f2..5a072eb6e73 100644
--- a/engines/mads/nebular/rooms/room316.cpp
+++ b/engines/mads/nebular/rooms/room316.cpp
@@ -270,15 +270,15 @@ static void handleRoxInGrate() {
static void room_316_init() {
if (global[kSexOfRex] == REX_MALE) {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('g', -1));
- g_sprite_ids[4] = _scene->_sprites.addSprites("*RXCL_8");
- g_sprite_ids[6] = _scene->_sprites.addSprites("*RXCL_2");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('g', -1), 0);
+ g_sprite_ids[4] = kernel_load_series("*RXCL_8", 0);
+ g_sprite_ids[6] = kernel_load_series("*RXCL_2", 0);
} else {
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('g', 0));
- g_sprite_ids[5] = _scene->_sprites.addSprites("*ROXCL_8");
+ g_sprite_ids[2] = kernel_load_series(kernel_name('g', 0), 0);
+ g_sprite_ids[5] = kernel_load_series("*ROXCL_8", 0);
}
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('v', 0));
+ g_sprite_ids[3] = kernel_load_series(kernel_name('v', 0), 0);
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
_scene->_sequences.setDepth(g_sequence_ids[3], 12);
diff --git a/engines/mads/nebular/rooms/room318.cpp b/engines/mads/nebular/rooms/room318.cpp
index 02190f878bb..a9c1f29a8a4 100644
--- a/engines/mads/nebular/rooms/room318.cpp
+++ b/engines/mads/nebular/rooms/room318.cpp
@@ -208,8 +208,8 @@ static void handleDialog() {
}
static void room_318_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('k', -1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('k', -1), 0);
if (global[kAfterHavoc]) {
_scene->loadAnimation(kernel_name('f', -1));
@@ -274,7 +274,7 @@ static void room_318_init() {
(_scene->_priorSceneId == RETURNING_FROM_LOADING)) && (!global[kAfterHavoc]))) {
if (!global[kAfterHavoc]) {
player.walker_visible = false;
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('g', -1));
+ g_sprite_ids[2] = kernel_load_series(kernel_name('g', -1), 0);
local._animMode = 2;
if (player_has_been_in_room(319) || !local._internVisibleFl) {
diff --git a/engines/mads/nebular/rooms/room319.cpp b/engines/mads/nebular/rooms/room319.cpp
index 449d30200ea..e0fdb1a7076 100644
--- a/engines/mads/nebular/rooms/room319.cpp
+++ b/engines/mads/nebular/rooms/room319.cpp
@@ -81,12 +81,12 @@ static void handleSlacheDialogs(int quoteId, int counter, uint32 timer) {
}
static void room_319_init() {
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('e', 0));
- g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('a', 0));
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('a', 1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('a', 2));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('a', 3));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('k', -1));
+ g_sprite_ids[5] = kernel_load_series(kernel_name('e', 0), 0);
+ g_sprite_ids[0] = kernel_load_series(kernel_name('a', 0), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('a', 1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('a', 2), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('a', 3), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('k', -1), 0);
if (!player_has(OBJ_SCALPEL)) {
g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
diff --git a/engines/mads/nebular/rooms/room320.cpp b/engines/mads/nebular/rooms/room320.cpp
index 9257b7bde73..57d7f643e97 100644
--- a/engines/mads/nebular/rooms/room320.cpp
+++ b/engines/mads/nebular/rooms/room320.cpp
@@ -175,12 +175,12 @@ static void room_320_init() {
local._lastFrame = 0;
for (int i = 0; i < 10; i++)
- g_sprite_ids[i] = _scene->_sprites.addSprites(kernel_name('M', i));
+ g_sprite_ids[i] = kernel_load_series(kernel_name('M', i), 0);
for (int i = 0; i < 8; i++)
- g_sprite_ids[10 + i] = _scene->_sprites.addSprites(kernel_name('N', i));
+ g_sprite_ids[10 + i] = kernel_load_series(kernel_name('N', i), 0);
- g_sprite_ids[18] = _scene->_sprites.addSprites("*REXHAND");
+ g_sprite_ids[18] = kernel_load_series("*REXHAND", 0);
player.walker_visible = false;
setRightView(global[kRightView320]);
@@ -291,9 +291,9 @@ static void room_320_parser() {
setLeftView(10);
_scene->_kernelMessages.reset();
_scene->resetScene();
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('m', 2));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('m', 4));
- g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('m', 9));
+ g_sprite_ids[2] = kernel_load_series(kernel_name('m', 2), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('m', 4), 0);
+ g_sprite_ids[9] = kernel_load_series(kernel_name('m', 9), 0);
local._blinkFl = false;
setLeftView(2);
kernel.quotes = quote_load(0xFE, 0);
diff --git a/engines/mads/nebular/rooms/room322.cpp b/engines/mads/nebular/rooms/room322.cpp
index a4ee007c29d..6d87cae9902 100644
--- a/engines/mads/nebular/rooms/room322.cpp
+++ b/engines/mads/nebular/rooms/room322.cpp
@@ -34,9 +34,9 @@ namespace Rooms {
static void room_322_init() {
if (global[kSexOfRex] == REX_MALE)
- g_sprite_ids[4] = _scene->_sprites.addSprites("*REXHAND");
+ g_sprite_ids[4] = kernel_load_series("*REXHAND", 0);
else
- g_sprite_ids[4] = _scene->_sprites.addSprites("*ROXHAND");
+ g_sprite_ids[4] = kernel_load_series("*ROXHAND", 0);
teleporter_init();
diff --git a/engines/mads/nebular/rooms/room351.cpp b/engines/mads/nebular/rooms/room351.cpp
index 88a49c36aa8..73b7f9d83ae 100644
--- a/engines/mads/nebular/rooms/room351.cpp
+++ b/engines/mads/nebular/rooms/room351.cpp
@@ -35,9 +35,9 @@ static void room_351_init() {
global[kAfterHavoc] = -1;
global[kTeleporterRoom + 1] = 351;
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
- g_sprite_ids[2] = _scene->_sprites.addSprites("*ROXRC_7");
- g_sprite_ids[3] = _scene->_sprites.addSprites("*RXRD_7");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('c', -1), 0);
+ g_sprite_ids[2] = kernel_load_series("*ROXRC_7", 0);
+ g_sprite_ids[3] = kernel_load_series("*RXRD_7", 0);
if (object_is_here(OBJ_CREDIT_CHIP)) {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 0, 0);
diff --git a/engines/mads/nebular/rooms/room352.cpp b/engines/mads/nebular/rooms/room352.cpp
index 3862647bff8..c495ffb3c89 100644
--- a/engines/mads/nebular/rooms/room352.cpp
+++ b/engines/mads/nebular/rooms/room352.cpp
@@ -126,25 +126,25 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
}
static void room_352_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites("*RM302x0");
- g_sprite_ids[13] = _scene->_sprites.addSprites("*RM302x2");
- g_sprite_ids[12] = _scene->_sprites.addSprites("*RM302x3");
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('g', -1));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('b', -1));
+ g_sprite_ids[1] = kernel_load_series("*RM302x0", 0);
+ g_sprite_ids[13] = kernel_load_series("*RM302x2", 0);
+ g_sprite_ids[12] = kernel_load_series("*RM302x3", 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('g', -1), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('b', -1), 0);
if (global[kSexOfRex] == REX_FEMALE) {
- g_sprite_ids[3] = _scene->_sprites.addSprites("*ROXRC_7");
- g_sprite_ids[7] = _scene->_sprites.addSprites("*ROXRC_6");
- g_sprite_ids[15] = _scene->_sprites.addSprites("*ROXRC_9");
- g_sprite_ids[11] = _scene->_sprites.addSprites(kernel_name('a', 3));
- g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('a', 2));
+ g_sprite_ids[3] = kernel_load_series("*ROXRC_7", 0);
+ g_sprite_ids[7] = kernel_load_series("*ROXRC_6", 0);
+ g_sprite_ids[15] = kernel_load_series("*ROXRC_9", 0);
+ g_sprite_ids[11] = kernel_load_series(kernel_name('a', 3), 0);
+ g_sprite_ids[9] = kernel_load_series(kernel_name('a', 2), 0);
} else {
- g_sprite_ids[4] = _scene->_sprites.addSprites("*RXRD_7");
- g_sprite_ids[6] = _scene->_sprites.addSprites("*RXRC_6");
- g_sprite_ids[14] = _scene->_sprites.addSprites("*RXMRC_9");
- g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_name('a', 1));
- g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[4] = kernel_load_series("*RXRD_7", 0);
+ g_sprite_ids[6] = kernel_load_series("*RXRC_6", 0);
+ g_sprite_ids[14] = kernel_load_series("*RXMRC_9", 0);
+ g_sprite_ids[10] = kernel_load_series(kernel_name('a', 1), 0);
+ g_sprite_ids[8] = kernel_load_series(kernel_name('a', 0), 0);
}
local._leaveRoomFl = false;
diff --git a/engines/mads/nebular/rooms/room353.cpp b/engines/mads/nebular/rooms/room353.cpp
index a9e1ee83ae1..a4ab3cba959 100644
--- a/engines/mads/nebular/rooms/room353.cpp
+++ b/engines/mads/nebular/rooms/room353.cpp
@@ -39,7 +39,7 @@ static Scratch local;
static void room_353_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_full_name(303, 'B', 0, "", EXT_SS));
+ g_sprite_ids[1] = kernel_load_series(kernel_full_name(303, 'B', 0, "", EXT_SS), 0);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 5, 0, 5, 0);
_scene->_sequences.setDepth(g_sequence_ids[1], 1);
diff --git a/engines/mads/nebular/rooms/room357.cpp b/engines/mads/nebular/rooms/room357.cpp
index 7ee3561d4b4..4d62762da6a 100644
--- a/engines/mads/nebular/rooms/room357.cpp
+++ b/engines/mads/nebular/rooms/room357.cpp
@@ -33,7 +33,7 @@ namespace Rooms {
static void room_357_init() {
global[kAfterHavoc] = true;
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(127, 78));
_scene->_sequences.setDepth(g_sequence_ids[1], 15);
diff --git a/engines/mads/nebular/rooms/room358.cpp b/engines/mads/nebular/rooms/room358.cpp
index afc2d50c9ae..5be07b40972 100644
--- a/engines/mads/nebular/rooms/room358.cpp
+++ b/engines/mads/nebular/rooms/room358.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_358_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(127, 78));
_scene->_sequences.setDepth(g_sequence_ids[1], 15);
diff --git a/engines/mads/nebular/rooms/room359.cpp b/engines/mads/nebular/rooms/room359.cpp
index 9acacfad7c1..208c2892b57 100644
--- a/engines/mads/nebular/rooms/room359.cpp
+++ b/engines/mads/nebular/rooms/room359.cpp
@@ -39,13 +39,13 @@ static Scratch local;
static void room_359_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('b', -1));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('b', -1), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
if (global[kSexOfRex] == REX_MALE)
- g_sprite_ids[2] = _scene->_sprites.addSprites("*RXMBD_2");
+ g_sprite_ids[2] = kernel_load_series("*RXMBD_2", 0);
else
- g_sprite_ids[4] = _scene->_sprites.addSprites("*ROXBD_2");
+ g_sprite_ids[4] = kernel_load_series("*ROXBD_2", 0);
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
_scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(127, 78));
diff --git a/engines/mads/nebular/rooms/room360.cpp b/engines/mads/nebular/rooms/room360.cpp
index 3bc33fb3b1d..7716fec704c 100644
--- a/engines/mads/nebular/rooms/room360.cpp
+++ b/engines/mads/nebular/rooms/room360.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_360_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(127, 78));
_scene->_sequences.setDepth(g_sequence_ids[1], 15);
diff --git a/engines/mads/nebular/rooms/room361.cpp b/engines/mads/nebular/rooms/room361.cpp
index 303fcad7595..246f3286f6f 100644
--- a/engines/mads/nebular/rooms/room361.cpp
+++ b/engines/mads/nebular/rooms/room361.cpp
@@ -233,13 +233,13 @@ static void handleRoxAction() {
}
static void room_361_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_full_name(307, 'X', 0, "", EXT_SS));
+ g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
if (global[kSexOfRex] == REX_MALE) {
- g_sprite_ids[2] = _scene->_sprites.addSprites("*RXCL_8");
- g_sprite_ids[3] = _scene->_sprites.addSprites("*RXCL_2");
+ g_sprite_ids[2] = kernel_load_series("*RXCL_8", 0);
+ g_sprite_ids[3] = kernel_load_series("*RXCL_2", 0);
} else
- g_sprite_ids[4] = _scene->_sprites.addSprites("*ROXCL_8");
+ g_sprite_ids[4] = kernel_load_series("*ROXCL_8", 0);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
diff --git a/engines/mads/nebular/rooms/room388.cpp b/engines/mads/nebular/rooms/room388.cpp
index 57e9eb067c2..375881c218a 100644
--- a/engines/mads/nebular/rooms/room388.cpp
+++ b/engines/mads/nebular/rooms/room388.cpp
@@ -38,7 +38,7 @@ static void room_388_init() {
if (global[kAfterHavoc])
_scene->_hotspots.activate(words_sauropod, false);
else {
- g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ g_sprite_ids[0] = kernel_load_series(kernel_name('b', 0), 0);
g_sequence_ids[0] = _scene->_sequences.startCycle(g_sprite_ids[0], false, 1);
}
diff --git a/engines/mads/nebular/rooms/room389.cpp b/engines/mads/nebular/rooms/room389.cpp
index e170e845779..8e5fe3d7165 100644
--- a/engines/mads/nebular/rooms/room389.cpp
+++ b/engines/mads/nebular/rooms/room389.cpp
@@ -49,7 +49,7 @@ static void room_389_init() {
if (global[kAfterHavoc])
_scene->_hotspots.activate(words_monster, false);
else {
- g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('m', -1));
+ g_sprite_ids[0] = kernel_load_series(kernel_name('m', -1), 0);
g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 0, 0, 0);
_scene->_kernelMessages.initRandomMessages(1,
Common::Rect(88, 19, 177, 77), 13, 2, 0xFDFC, 60,
diff --git a/engines/mads/nebular/rooms/room402.cpp b/engines/mads/nebular/rooms/room402.cpp
index 29c2cdc9649..2d803157e30 100644
--- a/engines/mads/nebular/rooms/room402.cpp
+++ b/engines/mads/nebular/rooms/room402.cpp
@@ -438,29 +438,29 @@ static void handleDialogs() {
}
static void room_402_init() {
- g_sprite_ids[0] = _scene->_sprites.addSprites(kernel_name('n', -1));
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 2));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('g', 0));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('g', 1));
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('a', 0));
- g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('a', 1));
- g_sprite_ids[15] = _scene->_sprites.addSprites(kernel_name('x', 5));
- g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('x', 4));
- g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('b', 0));
- g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_name('b', 1));
- g_sprite_ids[11] = _scene->_sprites.addSprites(kernel_name('b', 2));
- g_sprite_ids[12] = _scene->_sprites.addSprites(kernel_name('b', 3));
- g_sprite_ids[13] = _scene->_sprites.addSprites(kernel_name('c', 0));
- g_sprite_ids[14] = _scene->_sprites.addSprites(kernel_name('l', 0));
- g_sprite_ids[16] = _scene->_sprites.addSprites(kernel_name('h', 0));
- g_sprite_ids[17] = _scene->_sprites.addSprites(kernel_name('z', 0));
- g_sprite_ids[18] = _scene->_sprites.addSprites(kernel_name('z', 1));
- g_sprite_ids[19] = _scene->_sprites.addSprites(kernel_name('z', 2));
- g_sprite_ids[20] = _scene->_sprites.addSprites(kernel_name('x', 6));
- g_sprite_ids[21] = _scene->_sprites.addSprites("*ROXRC_9");
- g_sprite_ids[22] = _scene->_sprites.addSprites("*ROXCL_8");
+ g_sprite_ids[0] = kernel_load_series(kernel_name('n', -1), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 2), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('g', 0), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('g', 1), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('a', 0), 0);
+ g_sprite_ids[7] = kernel_load_series(kernel_name('a', 1), 0);
+ g_sprite_ids[15] = kernel_load_series(kernel_name('x', 5), 0);
+ g_sprite_ids[8] = kernel_load_series(kernel_name('x', 4), 0);
+ g_sprite_ids[9] = kernel_load_series(kernel_name('b', 0), 0);
+ g_sprite_ids[10] = kernel_load_series(kernel_name('b', 1), 0);
+ g_sprite_ids[11] = kernel_load_series(kernel_name('b', 2), 0);
+ g_sprite_ids[12] = kernel_load_series(kernel_name('b', 3), 0);
+ g_sprite_ids[13] = kernel_load_series(kernel_name('c', 0), 0);
+ g_sprite_ids[14] = kernel_load_series(kernel_name('l', 0), 0);
+ g_sprite_ids[16] = kernel_load_series(kernel_name('h', 0), 0);
+ g_sprite_ids[17] = kernel_load_series(kernel_name('z', 0), 0);
+ g_sprite_ids[18] = kernel_load_series(kernel_name('z', 1), 0);
+ g_sprite_ids[19] = kernel_load_series(kernel_name('z', 2), 0);
+ g_sprite_ids[20] = kernel_load_series(kernel_name('x', 6), 0);
+ g_sprite_ids[21] = kernel_load_series("*ROXRC_9", 0);
+ g_sprite_ids[22] = kernel_load_series("*ROXCL_8", 0);
if (_scene->_priorSceneId == 401) {
player.x = 160;
diff --git a/engines/mads/nebular/rooms/room405.cpp b/engines/mads/nebular/rooms/room405.cpp
index 07a7765e09b..a5ef5d5b61b 100644
--- a/engines/mads/nebular/rooms/room405.cpp
+++ b/engines/mads/nebular/rooms/room405.cpp
@@ -32,9 +32,9 @@ namespace RexNebular {
namespace Rooms {
static void room_405_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[3] = _scene->_sprites.addSprites("*ROXCL_8");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[3] = kernel_load_series("*ROXCL_8", 0);
if (_scene->_priorSceneId == 401) {
player.x = 23;
diff --git a/engines/mads/nebular/rooms/room406.cpp b/engines/mads/nebular/rooms/room406.cpp
index 6676ba426f5..df237d734bf 100644
--- a/engines/mads/nebular/rooms/room406.cpp
+++ b/engines/mads/nebular/rooms/room406.cpp
@@ -62,9 +62,9 @@ static void room_406_init() {
player.facing = FACING_EAST;
}
- g_sprite_ids[2] = _scene->_sprites.addSprites("*ROXCL_8");
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ g_sprite_ids[2] = kernel_load_series("*ROXCL_8", 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('x', 1), 0);
if (_scene->_roomChanged) {
global[kStorageDoorOpen] = false;
diff --git a/engines/mads/nebular/rooms/room408.cpp b/engines/mads/nebular/rooms/room408.cpp
index 039a4778533..a7430382203 100644
--- a/engines/mads/nebular/rooms/room408.cpp
+++ b/engines/mads/nebular/rooms/room408.cpp
@@ -36,8 +36,8 @@ static void room_408_init() {
player.y = 150;
player.facing = FACING_NORTH;
- g_sprite_ids[1] = _scene->_sprites.addSprites("*ROXRC_7");
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('m', -1));
+ g_sprite_ids[1] = kernel_load_series("*ROXRC_7", 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('m', -1), 0);
if (object_is_here(OBJ_TARGET_MODULE)) {
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
diff --git a/engines/mads/nebular/rooms/room409.cpp b/engines/mads/nebular/rooms/room409.cpp
index dae682003f2..934fa278660 100644
--- a/engines/mads/nebular/rooms/room409.cpp
+++ b/engines/mads/nebular/rooms/room409.cpp
@@ -33,7 +33,7 @@ namespace RexNebular {
namespace Rooms {
static void room_409_init() {
- g_sprite_ids[4] = _scene->_sprites.addSprites("*ROXHAND");
+ g_sprite_ids[4] = kernel_load_series("*ROXHAND", 0);
teleporter_init();
section_4_music();
}
diff --git a/engines/mads/nebular/rooms/room410.cpp b/engines/mads/nebular/rooms/room410.cpp
index 638fffc825b..cc4221bf1d6 100644
--- a/engines/mads/nebular/rooms/room410.cpp
+++ b/engines/mads/nebular/rooms/room410.cpp
@@ -32,8 +32,8 @@ namespace RexNebular {
namespace Rooms {
static void room_410_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('y', -1));
- g_sprite_ids[2] = _scene->_sprites.addSprites("*ROXRC_7");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('y', -1), 0);
+ g_sprite_ids[2] = kernel_load_series("*ROXRC_7", 0);
if (object_is_here(OBJ_CHARGE_CASES))
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
diff --git a/engines/mads/nebular/rooms/room411.cpp b/engines/mads/nebular/rooms/room411.cpp
index a9a2c760645..b837b89a99e 100644
--- a/engines/mads/nebular/rooms/room411.cpp
+++ b/engines/mads/nebular/rooms/room411.cpp
@@ -305,16 +305,16 @@ static void room_411_init() {
global[kBadFirstIngredient] = -1;
}
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('c', 0));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('f', 0));
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('f', 1));
- g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('f', 2));
- g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('c', 1));
- g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_name('a', 6));
- g_sprite_ids[11] = _scene->_sprites.addSprites(kernel_name('a', 1));
- g_sprite_ids[8] = _scene->_sprites.addSprites("*ROXRC_9");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('c', 0), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('f', 0), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('f', 1), 0);
+ g_sprite_ids[7] = kernel_load_series(kernel_name('f', 2), 0);
+ g_sprite_ids[9] = kernel_load_series(kernel_name('c', 1), 0);
+ g_sprite_ids[10] = kernel_load_series(kernel_name('a', 6), 0);
+ g_sprite_ids[11] = kernel_load_series(kernel_name('a', 1), 0);
+ g_sprite_ids[8] = kernel_load_series("*ROXRC_9", 0);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 5, 0, 0, 0);
g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 50, 0, 0, 0);
diff --git a/engines/mads/nebular/rooms/room413.cpp b/engines/mads/nebular/rooms/room413.cpp
index ba0574ee020..2ab217ab2f1 100644
--- a/engines/mads/nebular/rooms/room413.cpp
+++ b/engines/mads/nebular/rooms/room413.cpp
@@ -40,7 +40,7 @@ static Scratch local;
static void room_413_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('a', 2));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('a', 2), 0);
local._rexDeath = false;
if (_scene->_priorSceneId == 405) {
diff --git a/engines/mads/nebular/rooms/room501.cpp b/engines/mads/nebular/rooms/room501.cpp
index 5ebdfaa7623..3cb7fbcca22 100644
--- a/engines/mads/nebular/rooms/room501.cpp
+++ b/engines/mads/nebular/rooms/room501.cpp
@@ -86,16 +86,16 @@ static void handleSlotActions() {
}
static void room_501_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('c', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('c', 0), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('x', 0), 0);
if (global[kSexOfRex] == REX_MALE) {
- g_sprite_ids[4] = _scene->_sprites.addSprites("*RXMRC_9");
- g_sprite_ids[6] = _scene->_sprites.addSprites("*RXCD_7");
+ g_sprite_ids[4] = kernel_load_series("*RXMRC_9", 0);
+ g_sprite_ids[6] = kernel_load_series("*RXCD_7", 0);
} else {
- g_sprite_ids[5] = _scene->_sprites.addSprites("*ROXRC_9");
- g_sprite_ids[7] = _scene->_sprites.addSprites("*ROXCD_7");
+ g_sprite_ids[5] = kernel_load_series("*ROXRC_9", 0);
+ g_sprite_ids[7] = kernel_load_series("*ROXCD_7", 0);
}
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
diff --git a/engines/mads/nebular/rooms/room502.cpp b/engines/mads/nebular/rooms/room502.cpp
index a606128fae7..fa3f9b616d9 100644
--- a/engines/mads/nebular/rooms/room502.cpp
+++ b/engines/mads/nebular/rooms/room502.cpp
@@ -35,9 +35,9 @@ namespace Rooms {
static void room_502_init() {
if (global[kSexOfRex] == REX_MALE)
- g_sprite_ids[4] = _scene->_sprites.addSprites("*REXHAND");
+ g_sprite_ids[4] = kernel_load_series("*REXHAND", 0);
else
- g_sprite_ids[4] = _scene->_sprites.addSprites("*ROXHAND");
+ g_sprite_ids[4] = kernel_load_series("*ROXHAND", 0);
teleporter_init();
diff --git a/engines/mads/nebular/rooms/room503.cpp b/engines/mads/nebular/rooms/room503.cpp
index d7c0e16ad6b..221367bb450 100644
--- a/engines/mads/nebular/rooms/room503.cpp
+++ b/engines/mads/nebular/rooms/room503.cpp
@@ -40,12 +40,12 @@ static Scratch local;
static void room_503_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('c', -1), 0);
if (global[kSexOfRex] == REX_MALE)
- g_sprite_ids[2] = _scene->_sprites.addSprites("*RXMBD_2");
+ g_sprite_ids[2] = kernel_load_series("*RXMBD_2", 0);
else
- g_sprite_ids[3] = _scene->_sprites.addSprites("*ROXBD_2");
+ g_sprite_ids[3] = kernel_load_series("*ROXBD_2", 0);
if (object[OBJ_DETONATORS].location == _scene->_currentSceneId) {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 9, 0, 0, 0);
diff --git a/engines/mads/nebular/rooms/room504.cpp b/engines/mads/nebular/rooms/room504.cpp
index d03a971fca8..499c119e0a6 100644
--- a/engines/mads/nebular/rooms/room504.cpp
+++ b/engines/mads/nebular/rooms/room504.cpp
@@ -41,15 +41,15 @@ static Scratch local;
static void room_504_init() {
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('a', 2));
+ g_sprite_ids[2] = kernel_load_series(kernel_name('a', 2), 0);
for (int i = 0; i < 4; i++)
- g_sprite_ids[5 + i] = _scene->_sprites.addSprites(kernel_name('m', i));
+ g_sprite_ids[5 + i] = kernel_load_series(kernel_name('m', i), 0);
if (global[kSexOfRex] == REX_MALE)
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('a', 0), 0);
else {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('a', 1), 0);
_scene->changeVariant(1);
}
@@ -65,7 +65,7 @@ static void room_504_init() {
_scene->_sequences.addTimer(1, 70);
player.commands_allowed = false;
} else {
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('a', 3));
+ g_sprite_ids[3] = kernel_load_series(kernel_name('a', 3), 0);
local._carAnimationMode = 1;
_scene->loadAnimation(kernel_name('A', -1));
if ((_scene->_priorSceneId != RETURNING_FROM_DIALOG) && (_scene->_priorSceneId != 505))
diff --git a/engines/mads/nebular/rooms/room505.cpp b/engines/mads/nebular/rooms/room505.cpp
index 35fad5b656b..39f43ad3b14 100644
--- a/engines/mads/nebular/rooms/room505.cpp
+++ b/engines/mads/nebular/rooms/room505.cpp
@@ -46,13 +46,13 @@ static Scratch local;
static void room_505_init() {
for (int i = 0; i < 9; i++)
- g_sprite_ids[i] = _scene->_sprites.addSprites(kernel_name('a', i + 1));
+ g_sprite_ids[i] = kernel_load_series(kernel_name('a', i + 1), 0);
- g_sprite_ids[13] = _scene->_sprites.addSprites(kernel_name('b', 1));
- g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('g', 1));
- g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_name('g', 0));
- g_sprite_ids[11] = _scene->_sprites.addSprites(kernel_name('t', -1));
- g_sprite_ids[12] = _scene->_sprites.addSprites(kernel_name('e', -1));
+ g_sprite_ids[13] = kernel_load_series(kernel_name('b', 1), 0);
+ g_sprite_ids[9] = kernel_load_series(kernel_name('g', 1), 0);
+ g_sprite_ids[10] = kernel_load_series(kernel_name('g', 0), 0);
+ g_sprite_ids[11] = kernel_load_series(kernel_name('t', -1), 0);
+ g_sprite_ids[12] = kernel_load_series(kernel_name('e', -1), 0);
if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
g_sequence_ids[12] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[12], false, 6, 1, 0, 0);
diff --git a/engines/mads/nebular/rooms/room506.cpp b/engines/mads/nebular/rooms/room506.cpp
index c0f9c3c993c..b456fc995c5 100644
--- a/engines/mads/nebular/rooms/room506.cpp
+++ b/engines/mads/nebular/rooms/room506.cpp
@@ -133,10 +133,10 @@ static void handleDoorSequences() {
}
static void room_506_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('q', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('q', 1));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('c', -1));
- g_sprite_ids[4] = _scene->_sprites.addSprites("*RXCD_3");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('q', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('q', 1), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('c', -1), 0);
+ g_sprite_ids[4] = kernel_load_series("*RXCD_3", 0);
// WORKAROUND: Set the animation before creating the door hotspots, since otherwise
// with the newer engine core the hotspot areas were never updated to match the attached sprites
diff --git a/engines/mads/nebular/rooms/room507.cpp b/engines/mads/nebular/rooms/room507.cpp
index f5499b23cb8..6ecfdd8a456 100644
--- a/engines/mads/nebular/rooms/room507.cpp
+++ b/engines/mads/nebular/rooms/room507.cpp
@@ -40,8 +40,8 @@ static Scratch local;
static void room_507_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('p', -1));
- g_sprite_ids[2] = _scene->_sprites.addSprites("*RXMRD_3");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('p', -1), 0);
+ g_sprite_ids[2] = kernel_load_series("*RXMRD_3", 0);
if ((game.difficulty != DIFFICULTY_EASY) && (object[OBJ_PENLIGHT].location == _scene->_currentSceneId)) {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 9, 0, 0, 0);
diff --git a/engines/mads/nebular/rooms/room508.cpp b/engines/mads/nebular/rooms/room508.cpp
index cb88ff61ec0..329655b3b93 100644
--- a/engines/mads/nebular/rooms/room508.cpp
+++ b/engines/mads/nebular/rooms/room508.cpp
@@ -40,13 +40,13 @@ static Scratch local;
static void room_508_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('a', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('m', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('h', 0));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('l', 2));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('t', 0));
- g_sprite_ids[6] = _scene->_sprites.addSprites("*RXMRC_9");
- g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('l', 3));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('a', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('m', 0), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('h', 0), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('l', 2), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('t', 0), 0);
+ g_sprite_ids[6] = kernel_load_series("*RXMRC_9", 0);
+ g_sprite_ids[7] = kernel_load_series(kernel_name('l', 3), 0);
if (!player.been_here_before) {
global[kLaserOn] = false;
diff --git a/engines/mads/nebular/rooms/room511.cpp b/engines/mads/nebular/rooms/room511.cpp
index d6bb49279f8..f056c8f4752 100644
--- a/engines/mads/nebular/rooms/room511.cpp
+++ b/engines/mads/nebular/rooms/room511.cpp
@@ -44,8 +44,8 @@ static Scratch local;
static void room_511_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('c', 0));
- g_sprite_ids[4] = _scene->_sprites.addSprites("*RXCD_6");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('c', 0), 0);
+ g_sprite_ids[4] = kernel_load_series("*RXCD_6", 0);
// WORKARUND: Doing this earlier to allow to ensure hotspot bounds will get set from it's image
int frame = 0;
@@ -55,7 +55,7 @@ static void room_511_init() {
frame = -2;
if (global[kLineStatus] == 2 || global[kLineStatus] == 3) {
- g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('b', 4));
+ g_sprite_ids[7] = kernel_load_series(kernel_name('b', 4), 0);
g_sequence_ids[7] = _scene->_sequences.startCycle(g_sprite_ids[7], false, frame);
int idx = _scene->_dynamicHotspots.add(words_fishing_line, words_walkto, g_sequence_ids[7], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(26, 153), FACING_NORTHEAST);
@@ -68,7 +68,7 @@ static void room_511_init() {
local._handingLine = false;
if (global[kBoatRaised]) {
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ g_sprite_ids[2] = kernel_load_series(kernel_name('b', 0), 0);
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
_scene->_sequences.setDepth(g_sequence_ids[2], 3);
_scene->_hotspots.activate(words_boat, false);
@@ -76,9 +76,9 @@ static void room_511_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(75, 124), FACING_NORTH);
_scene->_hotspots.activate(words_rope, false);
} else {
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('b', 2));
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('b', 3));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('b', 1));
+ g_sprite_ids[5] = kernel_load_series(kernel_name('b', 2), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('b', 3), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('b', 1), 0);
g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 1, 1, 0, 0);
_scene->_sequences.setDepth(g_sequence_ids[3], 5);
diff --git a/engines/mads/nebular/rooms/room512.cpp b/engines/mads/nebular/rooms/room512.cpp
index 49948dfbc15..e09153fd000 100644
--- a/engines/mads/nebular/rooms/room512.cpp
+++ b/engines/mads/nebular/rooms/room512.cpp
@@ -41,13 +41,13 @@ static Scratch local;
static void room_512_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('r', -1));
- g_sprite_ids[2] = _scene->_sprites.addSprites("*RXMRC_9");
- g_sprite_ids[8] = _scene->_sprites.addSprites("*RXMRC_8");
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('x', 2));
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('x', 3));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('r', -1), 0);
+ g_sprite_ids[2] = kernel_load_series("*RXMRC_9", 0);
+ g_sprite_ids[8] = kernel_load_series("*RXMRC_8", 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('x', 2), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('x', 3), 0);
if (object[OBJ_FISHING_ROD].location == _scene->_currentSceneId) {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 9, 0, 0, 0);
diff --git a/engines/mads/nebular/rooms/room513.cpp b/engines/mads/nebular/rooms/room513.cpp
index b1876a383bc..828ce6f44ce 100644
--- a/engines/mads/nebular/rooms/room513.cpp
+++ b/engines/mads/nebular/rooms/room513.cpp
@@ -33,10 +33,10 @@ namespace RexNebular {
namespace Rooms {
static void room_513_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('c', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites("*RXCD_9");
- g_sprite_ids[4] = _scene->_sprites.addSprites("*RXMRC_9");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('c', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[3] = kernel_load_series("*RXCD_9", 0);
+ g_sprite_ids[4] = kernel_load_series("*RXMRC_9", 0);
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -2);
_scene->_sequences.setDepth(g_sequence_ids[2], 2);
diff --git a/engines/mads/nebular/rooms/room551.cpp b/engines/mads/nebular/rooms/room551.cpp
index a6c01e0b4c7..4b2ae61ba33 100644
--- a/engines/mads/nebular/rooms/room551.cpp
+++ b/engines/mads/nebular/rooms/room551.cpp
@@ -34,9 +34,9 @@ namespace Rooms {
static void room_551_init() {
if (global[kSexOfRex] == REX_MALE)
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[2] = kernel_load_series(kernel_name('a', 0), 0);
else
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[3] = kernel_load_series(kernel_name('a', 1), 0);
if (_scene->_priorSceneId == 501) {
player.x = 18;
diff --git a/engines/mads/nebular/rooms/room601.cpp b/engines/mads/nebular/rooms/room601.cpp
index 0eafce28612..3f811c52801 100644
--- a/engines/mads/nebular/rooms/room601.cpp
+++ b/engines/mads/nebular/rooms/room601.cpp
@@ -32,9 +32,9 @@ namespace RexNebular {
namespace Rooms {
static void room_601_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('c', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites("*RXCD_4");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('c', 0), 0);
+ g_sprite_ids[3] = kernel_load_series("*RXCD_4", 0);
if (global[kLaserHoleIsThere]) {
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, -2);
diff --git a/engines/mads/nebular/rooms/room602.cpp b/engines/mads/nebular/rooms/room602.cpp
index cd684028612..3073620c459 100644
--- a/engines/mads/nebular/rooms/room602.cpp
+++ b/engines/mads/nebular/rooms/room602.cpp
@@ -42,11 +42,11 @@ static Scratch local;
static void room_602_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('h', -1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('l', 0));
- g_sprite_ids[5] = _scene->_sprites.addSprites("*RXMRC_9");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('h', -1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('l', 0), 0);
+ g_sprite_ids[5] = kernel_load_series("*RXMRC_9", 0);
if (!player.been_here_before)
global[kSafeStatus] = 0;
@@ -82,7 +82,7 @@ static void room_602_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(185, 113), FACING_NORTHWEST);
if (object_is_here(OBJ_DOOR_KEY)) {
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('k', -1));
+ g_sprite_ids[6] = kernel_load_series(kernel_name('k', -1), 0);
g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, -1);
_scene->_sequences.setDepth(g_sequence_ids[6], 15);
if (global[kSafeStatus] == 0 || global[kSafeStatus] == 2)
diff --git a/engines/mads/nebular/rooms/room603.cpp b/engines/mads/nebular/rooms/room603.cpp
index 5f4a2a83726..6ae9086f2c7 100644
--- a/engines/mads/nebular/rooms/room603.cpp
+++ b/engines/mads/nebular/rooms/room603.cpp
@@ -41,8 +41,8 @@ static Scratch local;
static void room_603_init() {
if (object[OBJ_COMPACT_CASE].location == _scene->_currentSceneId) {
- g_sprite_ids[4] = _scene->_sprites.addSprites("*RXMRD_3");
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
+ g_sprite_ids[4] = kernel_load_series("*RXMRD_3", 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('c', -1), 0);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, -1);
_scene->_sequences.setDepth(g_sequence_ids[1], 1);
local._compactCaseHotspotId = _scene->_dynamicHotspots.add(words_compact_case, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
@@ -50,8 +50,8 @@ static void room_603_init() {
}
if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_NOTE].location == _scene->_currentSceneId)) {
- g_sprite_ids[3] = _scene->_sprites.addSprites("*RXMRC_9");
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('p', -1));
+ g_sprite_ids[3] = kernel_load_series("*RXMRC_9", 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('p', -1), 0);
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -1);
_scene->_sequences.setDepth(g_sequence_ids[2], 14);
local._noteHotspotId = _scene->_dynamicHotspots.add(words_note, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
diff --git a/engines/mads/nebular/rooms/room604.cpp b/engines/mads/nebular/rooms/room604.cpp
index 5dd61d86e3e..6702dff2ac8 100644
--- a/engines/mads/nebular/rooms/room604.cpp
+++ b/engines/mads/nebular/rooms/room604.cpp
@@ -45,10 +45,10 @@ static Scratch local;
static void room_604_init() {
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('c', 0));
- g_sprite_ids[4] = _scene->_sprites.addSprites("*RXCD_9");
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_full_name(620, 'b', 0, "", EXT_SS));
- g_sprite_ids[5] = _scene->_sprites.addSprites("*RXMRC_9");
+ g_sprite_ids[2] = kernel_load_series(kernel_name('c', 0), 0);
+ g_sprite_ids[4] = kernel_load_series("*RXCD_9", 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_full_name(620, 'b', 0, "", EXT_SS), 0);
+ g_sprite_ids[5] = kernel_load_series("*RXMRC_9", 0);
if (global[kTimebombStatus] == 1) {
g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, -1);
diff --git a/engines/mads/nebular/rooms/room605.cpp b/engines/mads/nebular/rooms/room605.cpp
index b97bba2b8c8..9791a553d1e 100644
--- a/engines/mads/nebular/rooms/room605.cpp
+++ b/engines/mads/nebular/rooms/room605.cpp
@@ -32,12 +32,12 @@ namespace RexNebular {
namespace Rooms {
static void room_605_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('r', -1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('b', -1));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('l', -1));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('p', -1));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('n', -1));
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('f', -1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('r', -1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('b', -1), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('l', -1), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('p', -1), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('n', -1), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('f', -1), 0);
g_sequence_ids[1] = _scene->_sequences.startPingPongCycle(g_sprite_ids[1], false, 15, 0, 0, 0);
g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 17, 0, 0, 0);
diff --git a/engines/mads/nebular/rooms/room607.cpp b/engines/mads/nebular/rooms/room607.cpp
index b4df01bbfde..38626efe9c0 100644
--- a/engines/mads/nebular/rooms/room607.cpp
+++ b/engines/mads/nebular/rooms/room607.cpp
@@ -48,8 +48,8 @@ static Scratch local;
static void room_607_init() {
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('c', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites("*RXCD_3");
+ g_sprite_ids[2] = kernel_load_series(kernel_name('c', 0), 0);
+ g_sprite_ids[3] = kernel_load_series("*RXCD_3", 0);
if (!player.been_here_before && (_scene->_priorSceneId != 608))
global[kDogStatus] = DOG_PRESENT;
@@ -60,9 +60,9 @@ static void room_607_init() {
local._animationActive = 0;
if ((global[kDogStatus] == DOG_PRESENT) && (game.difficulty != DIFFICULTY_EASY)) {
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('g', 3));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('g', 7));
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('g', 0));
+ g_sprite_ids[4] = kernel_load_series(kernel_name('g', 3), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('g', 7), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('g', 0), 0);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
_scene->_sequences.setDepth(g_sequence_ids[1], 6);
@@ -92,9 +92,9 @@ static void room_607_init() {
_scene->_sequences.setDepth(g_sequence_ids[2], 4);
_scene->loadAnimation(kernel_name('R', 1), 80);
} else if (global[kDogStatus] == DOG_LEFT) {
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('g', 3));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('g', 7));
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('g', 0));
+ g_sprite_ids[4] = kernel_load_series(kernel_name('g', 3), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('g', 7), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('g', 0), 0);
}
section_6_music();
diff --git a/engines/mads/nebular/rooms/room608.cpp b/engines/mads/nebular/rooms/room608.cpp
index 5c0635c0477..ae4413f75a2 100644
--- a/engines/mads/nebular/rooms/room608.cpp
+++ b/engines/mads/nebular/rooms/room608.cpp
@@ -172,14 +172,14 @@ static void handleThrowingBone() {
}
static void room_608_init() {
- g_sprite_ids[2] = _scene->_sprites.addSprites("*RXMRD_7");
- g_sprite_ids[3] = _scene->_sprites.addSprites("*RXMRC_9");
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('c', 2));
- g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('c', 0));
- g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('c', 1));
+ g_sprite_ids[2] = kernel_load_series("*RXMRD_7", 0);
+ g_sprite_ids[3] = kernel_load_series("*RXMRC_9", 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('c', 2), 0);
+ g_sprite_ids[7] = kernel_load_series(kernel_name('c', 0), 0);
+ g_sprite_ids[8] = kernel_load_series(kernel_name('c', 1), 0);
if (object_is_here(OBJ_POLYCEMENT)) {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('g', -1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('g', -1), 0);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
int idx = _scene->_dynamicHotspots.add(words_polycement, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
local._polycementHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(249, 129), FACING_NORTHEAST);
@@ -187,7 +187,7 @@ static void room_608_init() {
}
if (object_is_here(OBJ_REARVIEW_MIRROR)) {
- g_sprite_ids[12] = _scene->_sprites.addSprites(kernel_name('m', -1));
+ g_sprite_ids[12] = kernel_load_series(kernel_name('m', -1), 0);
g_sequence_ids[12] = _scene->_sequences.startCycle(g_sprite_ids[12], false, 1);
int idx = _scene->_dynamicHotspots.add(words_rearview_mirror, words_walkto, g_sequence_ids[12], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(71, 113), FACING_NORTHEAST);
@@ -195,11 +195,11 @@ static void room_608_init() {
}
if (game.difficulty == DIFFICULTY_HARD) {
- g_sprite_ids[9] = _scene->_sprites.addSprites(kernel_name('g', 0));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('g', 1));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('g', 2));
- g_sprite_ids[10] = _scene->_sprites.addSprites(kernel_name('h', 2));
- g_sprite_ids[11] = _scene->_sprites.addSprites(kernel_name('h', 3));
+ g_sprite_ids[9] = kernel_load_series(kernel_name('g', 0), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('g', 1), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('g', 2), 0);
+ g_sprite_ids[10] = kernel_load_series(kernel_name('h', 2), 0);
+ g_sprite_ids[11] = kernel_load_series(kernel_name('h', 3), 0);
local._rexBeingEaten = false;
if (!player.been_here_before) {
diff --git a/engines/mads/nebular/rooms/room609.cpp b/engines/mads/nebular/rooms/room609.cpp
index f4bb60fff9f..c4812ae897d 100644
--- a/engines/mads/nebular/rooms/room609.cpp
+++ b/engines/mads/nebular/rooms/room609.cpp
@@ -39,11 +39,11 @@ static Scratch local;
static void room_609_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('c', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('h', 0));
- g_sprite_ids[4] = _scene->_sprites.addSprites("*RXCD_9");
- g_sprite_ids[5] = _scene->_sprites.addSprites("*RXMRC_9");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('c', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('h', 0), 0);
+ g_sprite_ids[4] = kernel_load_series("*RXCD_9", 0);
+ g_sprite_ids[5] = kernel_load_series("*RXMRC_9", 0);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, -2);
_scene->_sequences.setDepth(g_sequence_ids[1], 5);
diff --git a/engines/mads/nebular/rooms/room610.cpp b/engines/mads/nebular/rooms/room610.cpp
index dd1ddb83786..f4180aa767f 100644
--- a/engines/mads/nebular/rooms/room610.cpp
+++ b/engines/mads/nebular/rooms/room610.cpp
@@ -43,10 +43,10 @@ static Scratch local;
static void room_610_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('p', -1));
- g_sprite_ids[2] = _scene->_sprites.addSprites("*RXMRC_9");
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('x', 1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('p', -1), 0);
+ g_sprite_ids[2] = kernel_load_series("*RXMRC_9", 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('x', 1), 0);
g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 60, 0, 0, 0);
_scene->_sequences.setDepth(g_sequence_ids[4], 13);
diff --git a/engines/mads/nebular/rooms/room611.cpp b/engines/mads/nebular/rooms/room611.cpp
index cb1ed888741..5d3a8193368 100644
--- a/engines/mads/nebular/rooms/room611.cpp
+++ b/engines/mads/nebular/rooms/room611.cpp
@@ -903,9 +903,9 @@ static void handleDialog() {
}
static void room_611_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[3] = _scene->_sprites.addSprites("*RXMRC_9");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[3] = kernel_load_series("*RXMRC_9", 0);
kernel.quotes = quote_load(0x279, 0x27A, 0x27B, 0x27C, 0x27D, 0x27E, 0x27F, 0x280, 0x281, 0x282, 0x283, 0x284,
0x285, 0x286, 0x287, 0x288, 0x289, 0x28A, 0x28B, 0x28C, 0x28D, 0x28E, 0x28F, 0x290, 0x291, 0x292,
diff --git a/engines/mads/nebular/rooms/room612.cpp b/engines/mads/nebular/rooms/room612.cpp
index 97d2c626f82..d7e20688174 100644
--- a/engines/mads/nebular/rooms/room612.cpp
+++ b/engines/mads/nebular/rooms/room612.cpp
@@ -94,13 +94,13 @@ static void handleWinchMovement() {
}
static void room_612_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('c', -1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('p', -1));
- g_sprite_ids[3] = _scene->_sprites.addSprites("*RXCD_3");
- g_sprite_ids[4] = _scene->_sprites.addSprites("*RXRC_6");
+ g_sprite_ids[1] = kernel_load_series(kernel_name('c', -1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('p', -1), 0);
+ g_sprite_ids[3] = kernel_load_series("*RXCD_3", 0);
+ g_sprite_ids[4] = kernel_load_series("*RXRC_6", 0);
if ((global[kLineStatus] == 2) || (global[kLineStatus] == 3)) {
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('f', -1));
+ g_sprite_ids[5] = kernel_load_series(kernel_name('f', -1), 0);
g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, -1);
_scene->_sequences.setDepth(g_sequence_ids[5], 1);
int idx = _scene->_dynamicHotspots.add(words_fishing_line, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
diff --git a/engines/mads/nebular/rooms/room620.cpp b/engines/mads/nebular/rooms/room620.cpp
index 12d32b60401..432c7303bb4 100644
--- a/engines/mads/nebular/rooms/room620.cpp
+++ b/engines/mads/nebular/rooms/room620.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_620_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('b', 0), 0);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, -1);
player.commands_allowed = false;
player.walker_visible = false;
diff --git a/engines/mads/nebular/rooms/room701.cpp b/engines/mads/nebular/rooms/room701.cpp
index f309066e0b3..883995f0eef 100644
--- a/engines/mads/nebular/rooms/room701.cpp
+++ b/engines/mads/nebular/rooms/room701.cpp
@@ -39,12 +39,12 @@ static Scratch local;
static void room_701_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('b', 5));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('b', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('b', 1));
- g_sprite_ids[5] = _scene->_sprites.addSprites("*RM202A1");
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('b', 8));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('b', 5), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('b', 0), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('b', 1), 0);
+ g_sprite_ids[5] = kernel_load_series("*RM202A1", 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('b', 8), 0);
if (_scene->_roomChanged) {
inter_give_to_player(OBJ_BINOCULARS);
diff --git a/engines/mads/nebular/rooms/room702.cpp b/engines/mads/nebular/rooms/room702.cpp
index 0f2574cc91f..8df2cf7f8c0 100644
--- a/engines/mads/nebular/rooms/room702.cpp
+++ b/engines/mads/nebular/rooms/room702.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_702_init() {
- g_sprite_ids[12] = _scene->_sprites.addSprites("*RXMBD_8");
+ g_sprite_ids[12] = kernel_load_series("*RXMBD_8", 0);
if (_scene->_priorSceneId == 701) {
player.x = 13;
diff --git a/engines/mads/nebular/rooms/room704.cpp b/engines/mads/nebular/rooms/room704.cpp
index 0fdd165970d..b78a9c63bd0 100644
--- a/engines/mads/nebular/rooms/room704.cpp
+++ b/engines/mads/nebular/rooms/room704.cpp
@@ -125,7 +125,7 @@ static void handleFillBottle(int quote) {
static void room_704_init() {
if (object[OBJ_BOTTLE].location == _scene->_currentSceneId) {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('b', 0));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('b', 0), 0);
g_sequence_ids[1] = _scene->_sequences.startPingPongCycle(g_sprite_ids[1], false, 6, 0, 0, 0);
_scene->_sequences.setDepth(g_sequence_ids[1], 1);
if (_scene->_priorSceneId == 705) {
diff --git a/engines/mads/nebular/rooms/room705.cpp b/engines/mads/nebular/rooms/room705.cpp
index 6ef790d81a8..afbbccac57c 100644
--- a/engines/mads/nebular/rooms/room705.cpp
+++ b/engines/mads/nebular/rooms/room705.cpp
@@ -118,9 +118,9 @@ static void handleFillBottle(int quote) {
}
static void room_705_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('b', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('b', 1));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('a', 0));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('b', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('b', 1), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('a', 0), 0);
player.walker_visible = false;
diff --git a/engines/mads/nebular/rooms/room706.cpp b/engines/mads/nebular/rooms/room706.cpp
index 6428e7358da..13fcc7906cc 100644
--- a/engines/mads/nebular/rooms/room706.cpp
+++ b/engines/mads/nebular/rooms/room706.cpp
@@ -109,14 +109,14 @@ static void handleTakeVase() {
}
static void room_706_init() {
- g_sprite_ids[3] = _scene->_sprites.addSprites("*RXMRC_3");
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('b', -1));
+ g_sprite_ids[3] = kernel_load_series("*RXMRC_3", 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('b', -1), 0);
if (!player.been_here_before)
local._emptyPedestral = false;
if (object[OBJ_VASE].location == _scene->_currentSceneId) {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('v', -1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('v', -1), 0);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
_scene->_sequences.setDepth(g_sequence_ids[1], 4);
int idx = _scene->_dynamicHotspots.add(words_vase, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
diff --git a/engines/mads/nebular/rooms/room707.cpp b/engines/mads/nebular/rooms/room707.cpp
index f9255c0b2b1..0a7364b09c3 100644
--- a/engines/mads/nebular/rooms/room707.cpp
+++ b/engines/mads/nebular/rooms/room707.cpp
@@ -33,7 +33,7 @@ namespace RexNebular {
namespace Rooms {
static void room_707_init() {
- g_sprite_ids[4] = _scene->_sprites.addSprites("*REXHAND");
+ g_sprite_ids[4] = kernel_load_series("*REXHAND", 0);
teleporter_init();
// The original uses Scene7xx_section_7_music
diff --git a/engines/mads/nebular/rooms/room710.cpp b/engines/mads/nebular/rooms/room710.cpp
index 0b8862f0182..5c65baccc07 100644
--- a/engines/mads/nebular/rooms/room710.cpp
+++ b/engines/mads/nebular/rooms/room710.cpp
@@ -35,7 +35,7 @@ static void room_710_init() {
_scene->_userInterface.setup(kInputLimitedSentences);
if (object[OBJ_VASE].location == 706) {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('g', -1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('g', -1), 0);
g_sequence_ids[1] = _scene->_sequences.startPingPongCycle(g_sprite_ids[1], false, 6, 0, 0, 0);
}
diff --git a/engines/mads/nebular/rooms/room711.cpp b/engines/mads/nebular/rooms/room711.cpp
index 0a94c5cd660..b14f77f1bc9 100644
--- a/engines/mads/nebular/rooms/room711.cpp
+++ b/engines/mads/nebular/rooms/room711.cpp
@@ -34,9 +34,9 @@ namespace Rooms {
static void room_711_init() {
if (global[kSexOfRex] == REX_FEMALE)
- g_sprite_ids[4] = _scene->_sprites.addSprites("*ROXHAND");
+ g_sprite_ids[4] = kernel_load_series("*ROXHAND", 0);
else
- g_sprite_ids[4] = _scene->_sprites.addSprites("*REXHAND");
+ g_sprite_ids[4] = kernel_load_series("*REXHAND", 0);
teleporter_init();
diff --git a/engines/mads/nebular/rooms/room751.cpp b/engines/mads/nebular/rooms/room751.cpp
index 1a7f889afad..3f7d967a963 100644
--- a/engines/mads/nebular/rooms/room751.cpp
+++ b/engines/mads/nebular/rooms/room751.cpp
@@ -39,10 +39,10 @@ static Scratch local;
static void room_751_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites("*RM701X0");
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('a', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('f', 0));
- g_sprite_ids[4] = _scene->_sprites.addSprites("*RM202A1");
+ g_sprite_ids[1] = kernel_load_series("*RM701X0", 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('a', 0), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('f', 0), 0);
+ g_sprite_ids[4] = kernel_load_series("*RM202A1", 0);
if (!player.been_here_before)
local._rexHandingLine = false;
diff --git a/engines/mads/nebular/rooms/room752.cpp b/engines/mads/nebular/rooms/room752.cpp
index ece15924e63..a8a5a9883d3 100644
--- a/engines/mads/nebular/rooms/room752.cpp
+++ b/engines/mads/nebular/rooms/room752.cpp
@@ -39,8 +39,8 @@ static Scratch local;
static void room_752_init() {
- g_sprite_ids[14] = _scene->_sprites.addSprites(kernel_name('l', -1));
- g_sprite_ids[12] = _scene->_sprites.addSprites("*RXMBD_8");
+ g_sprite_ids[14] = kernel_load_series(kernel_name('l', -1), 0);
+ g_sprite_ids[12] = kernel_load_series("*RXMBD_8", 0);
if (_scene->_priorSceneId == 751) {
player.x = 13;
@@ -55,7 +55,7 @@ static void room_752_init() {
}
if (object[OBJ_ID_CARD].location == 752) {
- g_sprite_ids[13] = _scene->_sprites.addSprites(kernel_name('i', -1));
+ g_sprite_ids[13] = kernel_load_series(kernel_name('i', -1), 0);
g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 1);
_scene->_sequences.setDepth(g_sequence_ids[13], 8);
int idx = _scene->_dynamicHotspots.add(words_id_card, words_walkto, g_sequence_ids[13], Common::Rect(0, 0, 0, 0));
diff --git a/engines/mads/nebular/rooms/room801.cpp b/engines/mads/nebular/rooms/room801.cpp
index a47b53627e4..3eaa8127375 100644
--- a/engines/mads/nebular/rooms/room801.cpp
+++ b/engines/mads/nebular/rooms/room801.cpp
@@ -39,11 +39,11 @@ static Scratch local;
static void room_801_init() {
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('x', 2));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('x', 3));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('a', -1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('x', 2), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('x', 3), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('a', -1), 0);
if (_scene->_priorSceneId != 802) {
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 5);
diff --git a/engines/mads/nebular/rooms/room802.cpp b/engines/mads/nebular/rooms/room802.cpp
index 23dc30fa77f..cda52d55585 100644
--- a/engines/mads/nebular/rooms/room802.cpp
+++ b/engines/mads/nebular/rooms/room802.cpp
@@ -32,11 +32,11 @@ namespace RexNebular {
namespace Rooms {
static void room_802_init() {
- g_sprite_ids[2] = _scene->_sprites.addSprites("*RXMRC_8");
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('f', 2));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('f', 0));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('f', 1));
- g_sprite_ids[5] = _scene->_sprites.addSprites("*RXMBD_8");
+ g_sprite_ids[2] = kernel_load_series("*RXMRC_8", 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('f', 2), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('f', 0), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('f', 1), 0);
+ g_sprite_ids[5] = kernel_load_series("*RXMBD_8", 0);
global[kBetweenRooms] = false;
if ((global[kCameFromCut]) && (global[kCutX] != 0)) {
diff --git a/engines/mads/nebular/rooms/room803.cpp b/engines/mads/nebular/rooms/room803.cpp
index d2a36d7f669..6f544072f19 100644
--- a/engines/mads/nebular/rooms/room803.cpp
+++ b/engines/mads/nebular/rooms/room803.cpp
@@ -34,14 +34,14 @@ namespace Rooms {
static void room_803_init() {
global[kBetweenRooms] = false;
player.walker_visible = false;
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('f', 1));
- g_sprite_ids[9] = _scene->_sprites.addSprites("*RXMBD_2");
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('d', 1));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('f', 1), 0);
+ g_sprite_ids[9] = kernel_load_series("*RXMBD_2", 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('d', 1), 0);
kernel.quotes = quote_load(0x31B, 0x31C, 0x31D, 0x31E, 0x31F, 0x320, 0x321, 0x322, 0);
if (global[kHoppyDead]) {
- g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('e', 1));
+ g_sprite_ids[7] = kernel_load_series(kernel_name('e', 1), 0);
g_sequence_ids[7] = _scene->_sequences.startCycle(g_sprite_ids[7], false, 1);
int idx = _scene->_dynamicHotspots.add(words_guts, words_walkto, g_sequence_ids[7], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(66, 123), FACING_SOUTH);
@@ -62,9 +62,9 @@ static void room_803_init() {
}
player.walker_visible = true;
} else if (!global[kBeamIsUp]) {
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('a', 1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('a', 3));
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('a', 2));
+ g_sprite_ids[3] = kernel_load_series(kernel_name('a', 1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('a', 3), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_name('a', 2), 0);
player.walker_visible = false;
player.commands_allowed = false;
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
@@ -81,7 +81,7 @@ static void room_803_init() {
else
player.walker_visible = true;
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('b', 1));
+ g_sprite_ids[5] = kernel_load_series(kernel_name('b', 1), 0);
g_engine->_soundManager->command(15, 0);
player.commands_allowed = false;
g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 12, 1, 0, 0);
@@ -91,7 +91,7 @@ static void room_803_init() {
}
} else if (!global[kExitShip]) {
if (!global[kBeamIsUp]) {
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('a', 1));
+ g_sprite_ids[3] = kernel_load_series(kernel_name('a', 1), 0);
player.walker_visible = false;
player.commands_allowed = false;
g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
@@ -99,7 +99,7 @@ static void room_803_init() {
_scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 130);
g_engine->_soundManager->command(14, 0);
} else {
- g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('c', 1));
+ g_sprite_ids[8] = kernel_load_series(kernel_name('c', 1), 0);
player.walker_visible = false;
player.commands_allowed = false;
g_sequence_ids[8] = _scene->_sequences.startCycle(g_sprite_ids[8], false, 1);
@@ -113,7 +113,7 @@ static void room_803_init() {
player.y = 96;
player.facing = FACING_SOUTHWEST;
player.walker_visible = true;
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('d', 1));
+ g_sprite_ids[6] = kernel_load_series(kernel_name('d', 1), 0);
g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, 19);
_scene->_sequences.addTimer(1, 150);
}
diff --git a/engines/mads/nebular/rooms/room804.cpp b/engines/mads/nebular/rooms/room804.cpp
index 08973275ea8..6b6efd05483 100644
--- a/engines/mads/nebular/rooms/room804.cpp
+++ b/engines/mads/nebular/rooms/room804.cpp
@@ -64,12 +64,12 @@ static void room_804_init() {
global[kWindowFixed] = 0;
}
- g_sprite_ids[4] = _scene->_sprites.addSprites(kernel_name('x', 0));
- g_sprite_ids[5] = _scene->_sprites.addSprites(kernel_name('x', 1));
- g_sprite_ids[6] = _scene->_sprites.addSprites(kernel_name('x', 2));
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('x', 3));
- g_sprite_ids[7] = _scene->_sprites.addSprites(kernel_name('x', 4));
- g_sprite_ids[8] = _scene->_sprites.addSprites(kernel_name('f', 1));
+ g_sprite_ids[4] = kernel_load_series(kernel_name('x', 0), 0);
+ g_sprite_ids[5] = kernel_load_series(kernel_name('x', 1), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_name('x', 2), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('x', 3), 0);
+ g_sprite_ids[7] = kernel_load_series(kernel_name('x', 4), 0);
+ g_sprite_ids[8] = kernel_load_series(kernel_name('f', 1), 0);
kernel.quotes = quote_load(791, 0);
diff --git a/engines/mads/nebular/rooms/room805.cpp b/engines/mads/nebular/rooms/room805.cpp
index 3bf088c0d42..515ecc05326 100644
--- a/engines/mads/nebular/rooms/room805.cpp
+++ b/engines/mads/nebular/rooms/room805.cpp
@@ -35,8 +35,8 @@ static void room_805_init() {
player.walker_visible = false;
_scene->_userInterface.setup(kInputLimitedSentences);
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('a', 1));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('a', 2));
+ g_sprite_ids[1] = kernel_load_series(kernel_name('a', 1), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('a', 2), 0);
if (global[kShieldModInstalled]) {
_scene->_hotspots.activate(OBJ_SHIELD_MODULATOR, false);
diff --git a/engines/mads/nebular/rooms/room807.cpp b/engines/mads/nebular/rooms/room807.cpp
index 945f52f7477..83ad20387f7 100644
--- a/engines/mads/nebular/rooms/room807.cpp
+++ b/engines/mads/nebular/rooms/room807.cpp
@@ -34,9 +34,9 @@ namespace Rooms {
static void room_807_init() {
if (global[kSexOfRex] == REX_FEMALE)
- g_sprite_ids[4] = _scene->_sprites.addSprites("*ROXHAND");
+ g_sprite_ids[4] = kernel_load_series("*ROXHAND", 0);
else
- g_sprite_ids[4] = _scene->_sprites.addSprites("*REXHAND");
+ g_sprite_ids[4] = kernel_load_series("*REXHAND", 0);
teleporter_init();
section_8_music();
diff --git a/engines/mads/nebular/rooms/room808.cpp b/engines/mads/nebular/rooms/room808.cpp
index 89ccb4620fa..ba49d6d6c3b 100644
--- a/engines/mads/nebular/rooms/room808.cpp
+++ b/engines/mads/nebular/rooms/room808.cpp
@@ -41,10 +41,10 @@ static Scratch local;
static void room_808_init() {
_scene->_userInterface.setup(kInputLimitedSentences);
- g_sprite_ids[4] = _scene->_sprites.addSprites("*REXHAND");
- g_sprite_ids[1] = _scene->_sprites.addSprites(kernel_name('b', 0));
- g_sprite_ids[2] = _scene->_sprites.addSprites(kernel_name('b', 1));
- g_sprite_ids[3] = _scene->_sprites.addSprites(kernel_name('b', 2));
+ g_sprite_ids[4] = kernel_load_series("*REXHAND", 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_name('b', 0), 0);
+ g_sprite_ids[2] = kernel_load_series(kernel_name('b', 1), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_name('b', 2), 0);
if (global[kTopButtonPushed])
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
diff --git a/engines/mads/nebular/rooms/thunks.cpp b/engines/mads/nebular/rooms/thunks.cpp
index 14a61ec76c8..b30fc42444a 100644
--- a/engines/mads/nebular/rooms/thunks.cpp
+++ b/engines/mads/nebular/rooms/thunks.cpp
@@ -159,18 +159,6 @@ void Scene::Rails::resetNext() {
player.next_special_code = 0;
}
-int16 Scene::Sprites::addSprites(const char *name, int load_flags) {
- return kernel_load_series(name, load_flags);
-}
-
-void Scene::Sprites::remove(int sprite_id) {
- matte_deallocate_series(sprite_id, true);
-}
-
-Scene::Sprite Scene::Sprites::operator[](int idx) {
- return Scene::Sprite(series_list[idx]);
-}
-
void Scene::SpriteSlots::clear() {
image_marker = 0;
}
diff --git a/engines/mads/nebular/rooms/thunks.h b/engines/mads/nebular/rooms/thunks.h
index 59c692f3166..eac3b041e1b 100644
--- a/engines/mads/nebular/rooms/thunks.h
+++ b/engines/mads/nebular/rooms/thunks.h
@@ -27,7 +27,6 @@
#include "mads/core/inter.h"
#include "mads/core/kernel.h"
#include "mads/core/player.h"
-#include "mads/core/sprite.h"
#include "mads/core/text.h"
namespace MADS {
@@ -295,39 +294,6 @@ struct Scene {
};
Sequences _sequences;
- struct Sprite {
- struct CharInfo {
- CharInfo *operator->() {
- return this;
- }
- const CharInfo *operator->() const {
- return this;
- }
-
- int16 &_velocity;
-
- CharInfo(WalkerInfoPtr info) : _velocity(info->velocity) {
- }
- };
- CharInfo _charInfo;
-
- Sprite(SeriesPtr series) : _charInfo(series->walker) {
- }
- Sprite *operator->() {
- return this;
- }
- const Sprite *operator->() const {
- return this;
- }
- };
-
- struct Sprites {
- int16 addSprites(const char *name, int load_flags = 0);
- void remove(int sprite_id);
- Sprite operator[](int idx);
- };
- Sprites _sprites;
-
struct SpriteSlots {
void clear();
void fullRefresh();
Commit: 4e11351716187990a274e10cd39b1df905381895
https://github.com/scummvm/scummvm/commit/4e11351716187990a274e10cd39b1df905381895
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:54+10:00
Commit Message:
MADS: NEBULAR: Removed top level Scene functions and reference fields
Changed paths:
engines/mads/nebular/rooms/forcefield.cpp
engines/mads/nebular/rooms/room101.cpp
engines/mads/nebular/rooms/room102.cpp
engines/mads/nebular/rooms/room103.cpp
engines/mads/nebular/rooms/room104.cpp
engines/mads/nebular/rooms/room105.cpp
engines/mads/nebular/rooms/room106.cpp
engines/mads/nebular/rooms/room107.cpp
engines/mads/nebular/rooms/room108.cpp
engines/mads/nebular/rooms/room109.cpp
engines/mads/nebular/rooms/room110.cpp
engines/mads/nebular/rooms/room111.cpp
engines/mads/nebular/rooms/room112.cpp
engines/mads/nebular/rooms/room201.cpp
engines/mads/nebular/rooms/room202.cpp
engines/mads/nebular/rooms/room203.cpp
engines/mads/nebular/rooms/room205.cpp
engines/mads/nebular/rooms/room207.cpp
engines/mads/nebular/rooms/room208.cpp
engines/mads/nebular/rooms/room209.cpp
engines/mads/nebular/rooms/room210.cpp
engines/mads/nebular/rooms/room211.cpp
engines/mads/nebular/rooms/room212.cpp
engines/mads/nebular/rooms/room214.cpp
engines/mads/nebular/rooms/room215.cpp
engines/mads/nebular/rooms/room216.cpp
engines/mads/nebular/rooms/room301.cpp
engines/mads/nebular/rooms/room302.cpp
engines/mads/nebular/rooms/room303.cpp
engines/mads/nebular/rooms/room304.cpp
engines/mads/nebular/rooms/room307.cpp
engines/mads/nebular/rooms/room308.cpp
engines/mads/nebular/rooms/room309.cpp
engines/mads/nebular/rooms/room310.cpp
engines/mads/nebular/rooms/room311.cpp
engines/mads/nebular/rooms/room313.cpp
engines/mads/nebular/rooms/room316.cpp
engines/mads/nebular/rooms/room318.cpp
engines/mads/nebular/rooms/room319.cpp
engines/mads/nebular/rooms/room320.cpp
engines/mads/nebular/rooms/room321.cpp
engines/mads/nebular/rooms/room351.cpp
engines/mads/nebular/rooms/room352.cpp
engines/mads/nebular/rooms/room353.cpp
engines/mads/nebular/rooms/room354.cpp
engines/mads/nebular/rooms/room357.cpp
engines/mads/nebular/rooms/room358.cpp
engines/mads/nebular/rooms/room359.cpp
engines/mads/nebular/rooms/room360.cpp
engines/mads/nebular/rooms/room361.cpp
engines/mads/nebular/rooms/room366.cpp
engines/mads/nebular/rooms/room387.cpp
engines/mads/nebular/rooms/room388.cpp
engines/mads/nebular/rooms/room389.cpp
engines/mads/nebular/rooms/room390.cpp
engines/mads/nebular/rooms/room391.cpp
engines/mads/nebular/rooms/room399.cpp
engines/mads/nebular/rooms/room401.cpp
engines/mads/nebular/rooms/room402.cpp
engines/mads/nebular/rooms/room405.cpp
engines/mads/nebular/rooms/room406.cpp
engines/mads/nebular/rooms/room407.cpp
engines/mads/nebular/rooms/room408.cpp
engines/mads/nebular/rooms/room410.cpp
engines/mads/nebular/rooms/room411.cpp
engines/mads/nebular/rooms/room413.cpp
engines/mads/nebular/rooms/room501.cpp
engines/mads/nebular/rooms/room502.cpp
engines/mads/nebular/rooms/room503.cpp
engines/mads/nebular/rooms/room504.cpp
engines/mads/nebular/rooms/room505.cpp
engines/mads/nebular/rooms/room506.cpp
engines/mads/nebular/rooms/room507.cpp
engines/mads/nebular/rooms/room508.cpp
engines/mads/nebular/rooms/room511.cpp
engines/mads/nebular/rooms/room512.cpp
engines/mads/nebular/rooms/room513.cpp
engines/mads/nebular/rooms/room515.cpp
engines/mads/nebular/rooms/room551.cpp
engines/mads/nebular/rooms/room601.cpp
engines/mads/nebular/rooms/room602.cpp
engines/mads/nebular/rooms/room603.cpp
engines/mads/nebular/rooms/room604.cpp
engines/mads/nebular/rooms/room605.cpp
engines/mads/nebular/rooms/room607.cpp
engines/mads/nebular/rooms/room608.cpp
engines/mads/nebular/rooms/room609.cpp
engines/mads/nebular/rooms/room610.cpp
engines/mads/nebular/rooms/room611.cpp
engines/mads/nebular/rooms/room612.cpp
engines/mads/nebular/rooms/room620.cpp
engines/mads/nebular/rooms/room701.cpp
engines/mads/nebular/rooms/room702.cpp
engines/mads/nebular/rooms/room703.cpp
engines/mads/nebular/rooms/room704.cpp
engines/mads/nebular/rooms/room705.cpp
engines/mads/nebular/rooms/room706.cpp
engines/mads/nebular/rooms/room710.cpp
engines/mads/nebular/rooms/room751.cpp
engines/mads/nebular/rooms/room752.cpp
engines/mads/nebular/rooms/room801.cpp
engines/mads/nebular/rooms/room802.cpp
engines/mads/nebular/rooms/room803.cpp
engines/mads/nebular/rooms/room804.cpp
engines/mads/nebular/rooms/room805.cpp
engines/mads/nebular/rooms/room808.cpp
engines/mads/nebular/rooms/room810.cpp
engines/mads/nebular/rooms/section1.cpp
engines/mads/nebular/rooms/teleporter.cpp
engines/mads/nebular/rooms/thunks.cpp
engines/mads/nebular/rooms/thunks.h
diff --git a/engines/mads/nebular/rooms/forcefield.cpp b/engines/mads/nebular/rooms/forcefield.cpp
index 82b856e15c5..3a30f76ad4f 100644
--- a/engines/mads/nebular/rooms/forcefield.cpp
+++ b/engines/mads/nebular/rooms/forcefield.cpp
@@ -62,7 +62,7 @@ void handle_forcefield(Forcefield *force, int16 *sprites) {
return;
}
- if (!force->_flag || (_scene->_frameStartTime < force->_timer) || (force->_vertical + force->_horizontal >= 5))
+ if (!force->_flag || (kernel.clock < force->_timer) || (force->_vertical + force->_horizontal >= 5))
return;
if (g_engine->getRandomNumber(1, 1000) <= (200 + ((40 - (force->_vertical + force->_horizontal)) << 5))) {
@@ -126,7 +126,7 @@ void handle_forcefield(Forcefield *force, int16 *sprites) {
}
}
- force->_timer = _scene->_frameStartTime + 4;
+ force->_timer = kernel.clock + 4;
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room101.cpp b/engines/mads/nebular/rooms/room101.cpp
index 76113f24dad..0d0c64810bc 100644
--- a/engines/mads/nebular/rooms/room101.cpp
+++ b/engines/mads/nebular/rooms/room101.cpp
@@ -105,15 +105,15 @@ static void room_101_init() {
_scene->_hotspots.activate(words_shield_modulator, false);
local._panelOpened = false;
- if (_scene->_priorSceneId != RETURNING_FROM_LOADING)
+ if (previous_room != RETURNING_FROM_LOADING)
global[kNeedToStandUp] = false;
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 100;
player.y = 152;
}
- if ((_scene->_priorSceneId == 112) || ((_scene->_priorSceneId == RETURNING_FROM_DIALOG) && local._sittingFl)) {
+ if ((previous_room == 112) || ((previous_room == RETURNING_FROM_DIALOG) && local._sittingFl)) {
player.walker_visible = false;
local._sittingFl = true;
player.x = 161;
@@ -123,7 +123,7 @@ static void room_101_init() {
_scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 17);
_scene->_hotspots.activate(words_chair, false);
local._chairHotspotId = _scene->_dynamicHotspots.add(words_chair, words_sit_in, -1, Common::Rect(159, 84, 159 + 33, 84 + 36));
- if (_scene->_priorSceneId == 112)
+ if (previous_room == 112)
room_101_say_dang();
} else {
g_sequence_ids[12] = _scene->_sequences.addSpriteCycle(g_sprite_ids[12], false, 6, 0, 0, 0);
@@ -133,7 +133,7 @@ static void room_101_init() {
kernel.quotes = quote_load(0x31, 0x32, 0x39, 0x36, 0x37, 0x38, 0);
if (global[kNeedToStandUp]) {
- _scene->loadAnimation(kernel_full_name(101, 'S', -1, "", EXT_AA), 71);
+ kernel_run_animation(kernel_full_name(101, 'S', -1, "", EXT_AA), 71);
player.walker_visible = false;
player.commands_allowed = false;
player.x = 68;
@@ -167,7 +167,7 @@ static void room_101_daemon() {
global[kNeedToStandUp] = false;
player.walker_visible = true;
player.commands_allowed = true;
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
break;
case 72:
@@ -282,7 +282,7 @@ static void room_101_parser() {
}
if (player_said_2(walkto, life_support_section)) {
- _scene->_nextSceneId = 102;
+ new_room = 102;
player.command_ready = false;
return;
}
@@ -418,7 +418,7 @@ static void room_101_parser() {
player.commands_allowed = true;
global[kWatchedViewScreen] = true;
local._sittingFl = true;
- _scene->_nextSceneId = 112;
+ new_room = 112;
break;
default:
diff --git a/engines/mads/nebular/rooms/room102.cpp b/engines/mads/nebular/rooms/room102.cpp
index d2a6d962519..9bb61396e57 100644
--- a/engines/mads/nebular/rooms/room102.cpp
+++ b/engines/mads/nebular/rooms/room102.cpp
@@ -86,23 +86,23 @@ static void room_102_init() {
_scene->_sequences.setAnimRange(g_sequence_ids[8], -2, -2);
}
- if (_scene->_priorSceneId == 101) {
+ if (previous_room == 101) {
player.x = 229;
player.y = 109;
player.commands_allowed = false;
g_sequence_ids[6] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[6], false, 6, 1, 2, 0);
_scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
- } else if (_scene->_priorSceneId == 103) {
+ } else if (previous_room == 103) {
player.x = 47;
player.y = 152;
}
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ else if (previous_room != RETURNING_FROM_DIALOG) {
player.facing = FACING_NORTHWEST;
player.x = 32;
player.y = 129;
}
- if (_scene->_priorSceneId != 106) {
+ if (previous_room != 106) {
if (global[kWaterInAPuddle]) {
g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 6, 0, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[13], -2, -2);
@@ -127,7 +127,7 @@ static void room_102_init() {
kernel.quotes = quote_load(0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0);
- if (_scene->_priorSceneId == 101)
+ if (previous_room == 101)
g_engine->_soundManager->command(20, 0);
}
@@ -144,7 +144,7 @@ static void room_102_daemon() {
if (kernel.trigger >= 90) {
if (kernel.trigger >= 94) {
- _scene->loadAnimation(kernel_name('B', -1), 71);
+ kernel_run_animation(kernel_name('B', -1), 71);
player.commands_allowed = false;
player.walker_visible = false;
@@ -159,7 +159,7 @@ static void room_102_daemon() {
if (kernel.trigger == 71) {
player.commands_allowed = true;
player.walker_visible = true;
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
}
if (local._fridgeOpenedFl && !local._fridgeOpenedDescr) {
@@ -314,7 +314,7 @@ static void room_102_parser() {
break;
case 1:
- _scene->_nextSceneId = 101;
+ new_room = 101;
break;
default:
@@ -325,7 +325,7 @@ static void room_102_parser() {
}
if (player_said_2(walkto, engineering_section)) {
- _scene->_nextSceneId = 103;
+ new_room = 103;
player.command_ready = false;
return;
}
@@ -419,7 +419,7 @@ static void room_102_parser() {
if ((player_said_1(ladder) || player_said_1(hatchway)) && (player_said_1(climb_up) || player_said_1(climb_through))) {
switch (kernel.trigger) {
case 0:
- _scene->loadAnimation(kernel_name('A', -1), 1);
+ kernel_run_animation(kernel_name('A', -1), 1);
player.commands_allowed = false;
player.walker_visible = false;
break;
@@ -444,7 +444,7 @@ static void room_102_parser() {
case 6:
if (player_has(OBJ_REBREATHER) && !player_has_been_in_room(106))
text_show(10237);
- _scene->_nextSceneId = 106;
+ new_room = 106;
break;
default:
diff --git a/engines/mads/nebular/rooms/room103.cpp b/engines/mads/nebular/rooms/room103.cpp
index 1f6c23c3dcf..83bbf800bdb 100644
--- a/engines/mads/nebular/rooms/room103.cpp
+++ b/engines/mads/nebular/rooms/room103.cpp
@@ -21,6 +21,7 @@
#include "math/utils.h"
#include "mads/core/game.h"
+#include "mads/core/matte.h"
#include "mads/core/pal.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -87,12 +88,12 @@ static void room_103_init() {
_scene->_hotspots.activate(362, false);
}
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 237;
player.y = 74;
}
- if (_scene->_priorSceneId == 102) {
+ if (previous_room == 102) {
player.commands_allowed = false;
g_sequence_ids[6] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[6], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
@@ -107,12 +108,12 @@ static void room_103_init() {
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
}
- if (_scene->_priorSceneId == 102)
+ if (previous_room == 102)
g_engine->_soundManager->command(20, 0);
pal_change_color(252, 63, 63, 10);
pal_change_color(253, 45, 45, 10);
- local._updateClock = _scene->_frameStartTime;
+ local._updateClock = kernel.clock;
}
static void room_103_daemon() {
@@ -141,7 +142,7 @@ static void room_103_daemon() {
break;
}
- if (_scene->_frameStartTime >= local._updateClock) {
+ if (kernel.clock >= local._updateClock) {
Common::Point pt = Common::Point(player.x, player.y);
int dist = Math::hypotenuse(pt.x - 79, pt.y - 137);
g_engine->_soundManager->command(29, (dist * -127 / 378) + 127);
@@ -154,7 +155,7 @@ static void room_103_daemon() {
dist = Math::hypotenuse(pt.x - 266, pt.y - 138);
g_engine->_soundManager->command(32, (dist * -127 / 378) + 127);
- local._updateClock = _scene->_frameStartTime + player.frame_delay;
+ local._updateClock = kernel.clock + player.frame_delay;
}
}
@@ -176,7 +177,7 @@ static void room_103_parser() {
case 1:
g_engine->_soundManager->command(1, 0);
- _scene->_nextSceneId = 102;
+ new_room = 102;
player.commands_allowed = true;
break;
@@ -186,7 +187,7 @@ static void room_103_parser() {
} else if (player_said_2(take, timer_module) && object_is_here(OBJ_TIMER_MODULE)) {
switch (kernel.trigger) {
case 0:
- _scene->changeVariant(1);
+ kernel_load_variant(1);
g_sequence_ids[13] = _scene->_sequences.startPingPongCycle(g_sprite_ids[13], false, 3, 2);
_scene->_sequences.setMsgLayout(g_sequence_ids[13]);
_scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_SPRITE, 7, 1);
@@ -202,8 +203,8 @@ static void room_103_parser() {
case 2:
g_engine->_soundManager->command(22, 0);
inter_give_to_player(OBJ_TIMER_MODULE);
- _scene->changeVariant(0);
- _scene->drawElements(kTransitionNone, false);
+ kernel_load_variant(0);
+ matte_frame(kTransitionNone, false);
_scene->_hotspots.activate(371, false);
player.walker_visible = true;
player.commands_allowed = true;
diff --git a/engines/mads/nebular/rooms/room104.cpp b/engines/mads/nebular/rooms/room104.cpp
index acb6e63822a..984fb8f52ff 100644
--- a/engines/mads/nebular/rooms/room104.cpp
+++ b/engines/mads/nebular/rooms/room104.cpp
@@ -44,10 +44,10 @@ static void room_104_init() {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 14, 0, 0, 1);
_scene->_sequences.setDepth(g_sequence_ids[1], 8);
- if (_scene->_priorSceneId == 105) {
+ if (previous_room == 105) {
player.x = 302;
player.y = 107;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 160;
player.y = 134;
}
@@ -57,7 +57,7 @@ static void room_104_init() {
local._kargShootingFl = false;
if (g_engine->getRandomNumber(1, 3) == 1) {
- _scene->loadAnimation(kernel_full_name(104, 'B', -1, "", EXT_AA), 0);
+ kernel_run_animation(kernel_full_name(104, 'B', -1, "", EXT_AA), 0);
local._kargShootingFl = true;
}
@@ -85,8 +85,8 @@ static void room_104_daemon() {
switch (kernel.trigger) {
case 0:
_scene->_kernelMessages.reset();
- _scene->freeAnimation();
- _scene->resetScene();
+ kernel_abort_animation(0);
+ kernel_dump_all();
player.commands_allowed = false;
player.walker_visible = false;
g_sprite_ids[2] = kernel_load_series(kernel_name('a', 0), 0);
@@ -106,7 +106,7 @@ static void room_104_daemon() {
case 2:
text_show(10406);
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
break;
default:
@@ -118,8 +118,8 @@ static void room_104_daemon() {
switch (kernel.trigger) {
case 0:
_scene->_kernelMessages.reset();
- _scene->freeAnimation();
- _scene->resetScene();
+ kernel_abort_animation(0);
+ kernel_dump_all();
player.commands_allowed = false;
player.walker_visible = false;
g_sprite_ids[3] = kernel_load_series(kernel_name('a', 1), 0);
@@ -148,7 +148,7 @@ static void room_104_daemon() {
case 3:
text_show(10406);
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
break;
default:
@@ -160,8 +160,8 @@ static void room_104_daemon() {
switch (kernel.trigger) {
case 0:
_scene->_kernelMessages.reset();
- _scene->freeAnimation();
- _scene->resetScene();
+ kernel_abort_animation(0);
+ kernel_dump_all();
player.commands_allowed = false;
player.walker_visible = false;
g_sprite_ids[4] = kernel_load_series(kernel_name('a', 2), 0);
@@ -183,7 +183,7 @@ static void room_104_daemon() {
case 2:
text_show(10406);
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
break;
default:
diff --git a/engines/mads/nebular/rooms/room105.cpp b/engines/mads/nebular/rooms/room105.cpp
index bf56f6f2fe6..e792f8e7a1f 100644
--- a/engines/mads/nebular/rooms/room105.cpp
+++ b/engines/mads/nebular/rooms/room105.cpp
@@ -51,11 +51,11 @@ static void room_105_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(56, 141), FACING_NORTHWEST);
}
- if (_scene->_priorSceneId == 104) {
+ if (previous_room == 104) {
player.x = 13;
player.y = 97;
}
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 116;
player.y = 147;
}
@@ -72,7 +72,7 @@ static void room_105_daemon() {
switch (kernel.trigger) {
case 0:
_scene->_kernelMessages.reset();
- _scene->resetScene();
+ kernel_dump_all();
player.commands_allowed = false;
player.walker_visible = false;
@@ -80,7 +80,7 @@ static void room_105_daemon() {
g_sprite_ids[2] = kernel_load_series(kernel_name('m', 2), 0);
g_sprite_ids[3] = kernel_load_series(kernel_name('m', 3), 0);
g_engine->_soundManager->command(33, 0);
- _scene->clearSequenceList();
+ kernel_seq_init();
kernel_new_palette();
g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 1, 0, 0);
@@ -114,7 +114,7 @@ static void room_105_daemon() {
case 3:
text_show(10507);
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
_scene->_sequences.addTimer(90, 4);
break;
diff --git a/engines/mads/nebular/rooms/room106.cpp b/engines/mads/nebular/rooms/room106.cpp
index fb89b842f51..2a2f53073c5 100644
--- a/engines/mads/nebular/rooms/room106.cpp
+++ b/engines/mads/nebular/rooms/room106.cpp
@@ -45,7 +45,7 @@ static Scratch local;
static void room_106_init() {
g_sprite_ids[0] = kernel_load_series(kernel_name('H', -1), 0);
- if (player_has(OBJ_REBREATHER) || (_scene->_priorSceneId != 102) || _scene->_roomChanged) {
+ if (player_has(OBJ_REBREATHER) || (previous_room != 102) || kernel.teleported_in) {
g_sprite_ids[1] = kernel_load_series(kernel_name('A', 0), 0);
g_sprite_ids[3] = kernel_load_series(kernel_name('A', 1), 0);
}
@@ -55,7 +55,7 @@ static void room_106_init() {
g_sprite_ids[4] = kernel_load_series(kernel_name('I', -1), 0);
g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 0, 32, 47);
- if (_scene->_priorSceneId == 102) {
+ if (previous_room == 102) {
g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 1, 4, 0);
_scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
player.walker_visible = false;
@@ -63,8 +63,8 @@ static void room_106_init() {
player.facing = FACING_EAST;
player.x = 106;
player.y = 69;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
- if (_scene->_priorSceneId == 107) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room == 107) {
player.x = 319;
player.y = 84;
player.facing = player.prepare_walk_facing = FACING_WEST;
@@ -81,7 +81,7 @@ static void room_106_init() {
player.ready_to_walk = true;
}
- if (_scene->_priorSceneId != 102) {
+ if (previous_room != 102) {
g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 0, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[0], -2, -2);
_scene->_sequences.setDepth(g_sequence_ids[0], 14);
@@ -101,8 +101,8 @@ static void room_106_daemon() {
_scene->_sequences.setAnimRange(g_sequence_ids[0], -2, -2);
_scene->_sequences.setDepth(g_sequence_ids[0], 14);
- if (!player_has(OBJ_REBREATHER) && !_scene->_roomChanged) {
- _scene->loadAnimation(kernel_full_name(106, 'A', -1, "", EXT_AA), 75);
+ if (!player_has(OBJ_REBREATHER) && !kernel.teleported_in) {
+ kernel_run_animation(kernel_full_name(106, 'A', -1, "", EXT_AA), 75);
} else {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 4, 1, 0, 0);
_scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 28, 71);
@@ -122,7 +122,7 @@ static void room_106_daemon() {
} else {
player.prepare_walk_facing = FACING_SOUTHWEST;
local._firstEmergingFl = true;
- _scene->loadAnimation(kernel_full_name(106, 'B', -1, "", EXT_AA), 80);
+ kernel_run_animation(kernel_full_name(106, 'B', -1, "", EXT_AA), 80);
}
}
@@ -179,12 +179,12 @@ static void room_106_daemon() {
else if (kernel.trigger == 72)
_scene->_sequences.addTimer(24, 74);
else if (kernel.trigger == 74)
- _scene->_nextSceneId = 102;
+ new_room = 102;
}
if (kernel.trigger == 75) {
player_undiscover_room();
- _scene->_nextSceneId = 102;
+ new_room = 102;
}
}
@@ -259,7 +259,7 @@ void room_106_preload() {
section_1_walker();
section_1_interface();
- if ((_scene->_priorSceneId == 102) && !player_has(OBJ_REBREATHER) && !_scene->_roomChanged)
+ if ((previous_room == 102) && !player_has(OBJ_REBREATHER) && !kernel.teleported_in)
*player.series_name = '\0';
text_default_y = 100;
diff --git a/engines/mads/nebular/rooms/room107.cpp b/engines/mads/nebular/rooms/room107.cpp
index ebdf97cce64..760a2429067 100644
--- a/engines/mads/nebular/rooms/room107.cpp
+++ b/engines/mads/nebular/rooms/room107.cpp
@@ -59,20 +59,20 @@ static void room_107_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(78, 135), FACING_SOUTHWEST);
}
- if (_scene->_priorSceneId == 105) {
+ if (previous_room == 105) {
player.x = 132;
player.y = 47;
}
- else if (_scene->_priorSceneId == 106) {
+ else if (previous_room == 106) {
player.x = 20;
player.y = 91;
}
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 223;
player.y = 151;
}
- if (((_scene->_priorSceneId == 105) || (_scene->_priorSceneId == 106)) && (g_engine->getRandomNumber(1, 3) == 1)) {
+ if (((previous_room == 105) || (previous_room == 106)) && (g_engine->getRandomNumber(1, 3) == 1)) {
g_sprite_ids[0] = kernel_load_series(kernel_full_name(105, 'R', 1, "", EXT_SS), 0);
g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], true, 4, 0, 0, 0);
_scene->_sequences.setPosition(g_sequence_ids[0], Common::Point(270, 150));
@@ -85,7 +85,7 @@ static void room_107_init() {
local._shootingFl = false;
if (g_engine->getRandomNumber(1, 3) == 1) {
- _scene->loadAnimation(kernel_full_name(107, 'B', -1, "", EXT_AA), 0);
+ kernel_run_animation(kernel_full_name(107, 'B', -1, "", EXT_AA), 0);
local._shootingFl = true;
}
@@ -122,7 +122,7 @@ static void room_107_parser() {
object_examine(OBJ_DEAD_FISH, 802, 0);
}
} else if (player_said_2(swim_towards, northern_sea_cliff))
- _scene->_nextSceneId = 105;
+ new_room = 105;
else if (player_said_2(look, northern_sea_cliff))
text_show(10701);
else if (player_said_2(look, dead_fish) && (player.main_object_source == CAT_HOTSPOT))
diff --git a/engines/mads/nebular/rooms/room108.cpp b/engines/mads/nebular/rooms/room108.cpp
index f8e3191e18a..19754e31a3d 100644
--- a/engines/mads/nebular/rooms/room108.cpp
+++ b/engines/mads/nebular/rooms/room108.cpp
@@ -56,11 +56,11 @@ static void room_108_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(41, 109), FACING_NORTHWEST);
}
- if (_scene->_priorSceneId == 107) {
+ if (previous_room == 107) {
player.x = 138;
player.y = 58;
}
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 305;
player.y = 98;
}
@@ -93,7 +93,7 @@ static void room_108_parser() {
object_examine(OBJ_DEAD_FISH, 10808, 0);
}
} else if (player_said_2(swim_towards, open_area_to_north))
- _scene->_nextSceneId = 107;
+ new_room = 107;
else if (player_said_2(look, cliff_face))
text_show(10801);
else if (player_said_2(look, ocean_floor))
diff --git a/engines/mads/nebular/rooms/room109.cpp b/engines/mads/nebular/rooms/room109.cpp
index 19adfdcd30e..3b3ff090ff2 100644
--- a/engines/mads/nebular/rooms/room109.cpp
+++ b/engines/mads/nebular/rooms/room109.cpp
@@ -64,11 +64,11 @@ static void room_109_init() {
local._eatingRex = false;
local._hungryFl = false;
- if (_scene->_priorSceneId == 110) {
+ if (previous_room == 110) {
player.x = 248;
player.y = 38;
global[kHoovicSated] = 2;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 20;
player.y = 68;
player.facing = FACING_EAST;
@@ -88,17 +88,17 @@ static void room_109_init() {
}
if (!global[kHoovicAlive] || global[kHoovicSated])
- _scene->changeVariant(1);
+ kernel_load_variant(1);
if (object_is_here(OBJ_BURGER)) {
g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[3], -2, -2);
int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
- } else if (_scene->_roomChanged)
+ } else if (kernel.teleported_in)
inter_give_to_player(OBJ_BURGER);
- if (_scene->_roomChanged) {
+ if (kernel.teleported_in) {
inter_give_to_player(OBJ_DEAD_FISH);
inter_give_to_player(OBJ_STUFFED_FISH);
}
@@ -107,7 +107,7 @@ static void room_109_init() {
pal_change_color(253, 30, 30, 50);
kernel.quotes = quote_load(0x53, 0x52, 0x54, 0x55, 0x56, 0x57, 0x58, 0);
- local._eatingFirstFish = (!player.been_here_before) && (_scene->_priorSceneId < 110);
+ local._eatingFirstFish = (!player.been_here_before) && (previous_room < 110);
if (local._eatingFirstFish) {
g_sprite_ids[10] = kernel_load_series(kernel_full_name(105, 'F', 1, "", EXT_SS), 0);
@@ -143,7 +143,7 @@ static void room_109_daemon() {
break;
case 71:
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
break;
default:
@@ -194,7 +194,7 @@ static void room_109_daemon() {
int randVal = g_engine->getRandomNumber(85, 88);
int idx = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, randVal));
_scene->_kernelMessages.setQuoted(idx, 4, true);
- _scene->_kernelMessages._entries[idx]._frameTimer = _scene->_frameStartTime + 4;
+ _scene->_kernelMessages._entries[idx]._frameTimer = kernel.clock + 4;
}
}
@@ -305,7 +305,7 @@ static void room_109_parser() {
break;
case 3:
- _scene->loadAnimation(kernel_full_name(109, 'H', 2, "", EXT_AA), 4);
+ kernel_run_animation(kernel_full_name(109, 'H', 2, "", EXT_AA), 4);
g_engine->_soundManager->command(35, 0);
global[kHoovicAlive] = false;
break;
@@ -321,7 +321,7 @@ static void room_109_parser() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(241, 91), FACING_NORTHEAST);
idx = _scene->_dynamicHotspots.add(words_monster_sludge, words_swim_to, -1, Common::Rect(231, 88, 231 + 23, 88 + 7));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(241, 91), FACING_NORTHEAST);
- _scene->changeVariant(1);
+ kernel_load_variant(1);
} else {
if (local._throwingObjectId == OBJ_DEAD_FISH) {
++global[kHoovicFishEaten];
@@ -343,11 +343,11 @@ static void room_109_parser() {
_scene->_kernelMessages.add(Common::Point(230, 24), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, randVal));
global[kHoovicFishEaten] = 0;
global[kHoovicSated] = 1;
- _scene->changeVariant(1);
+ kernel_load_variant(1);
}
}
}
- _scene->freeAnimation();
+ kernel_abort_animation(0);
_scene->_sequences.remove(g_sequence_ids[8]);
matte_deallocate_series(g_sprite_ids[8], true);
_scene->_spriteSlots.clear();
@@ -364,7 +364,7 @@ static void room_109_parser() {
case 5:
{
- inter_move_object(OBJ_BURGER, _scene->_currentSceneId);
+ inter_move_object(OBJ_BURGER, room_id);
g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[3], 30, 30);
int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
@@ -466,8 +466,8 @@ void room_109_preload() {
himem_preload_series(kernel_full_name(109, 'H', count, nullptr, 0), 3);
}
- _scene->addActiveVocab(words_dead_purple_monster);
- _scene->addActiveVocab(words_monster_sludge);
+ vocab_make_active(words_dead_purple_monster);
+ vocab_make_active(words_monster_sludge);
section_1_walker();
section_1_interface();
diff --git a/engines/mads/nebular/rooms/room110.cpp b/engines/mads/nebular/rooms/room110.cpp
index c1c5171b102..f531077e1a6 100644
--- a/engines/mads/nebular/rooms/room110.cpp
+++ b/engines/mads/nebular/rooms/room110.cpp
@@ -46,7 +46,7 @@ static void room_110_init() {
local._crabsFl = false;
- if (_scene->_priorSceneId == 109) {
+ if (previous_room == 109) {
player.x = 59;
player.y = 71;
player.facing = FACING_EAST;
@@ -66,19 +66,19 @@ static void room_110_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 194;
player.y = 23;
player.facing = FACING_SOUTH;
player.walker_visible = false;
player.commands_allowed = false;
- _scene->loadAnimation(kernel_full_name(110, 'T', 1, "", EXT_AA), 70);
+ kernel_run_animation(kernel_full_name(110, 'T', 1, "", EXT_AA), 70);
}
section_1_music();
kernel.quotes = quote_load(89, 0);
- if (!player.been_here_before && (_scene->_priorSceneId == 109))
+ if (!player.been_here_before && (previous_room == 109))
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 89));
}
@@ -121,7 +121,7 @@ static void room_110_parser() {
if (player_said_2(swim_through, tunnel)) {
switch (kernel.trigger) {
case 0:
- _scene->loadAnimation(kernel_full_name(110, 'T', 0, "", EXT_AA), 1);
+ kernel_run_animation(kernel_full_name(110, 'T', 0, "", EXT_AA), 1);
_scene->_animation[0]->setNextFrameTimer(player.frame_delay + player.clock);
player.commands_allowed = false;
player.walker_visible = false;
@@ -129,7 +129,7 @@ static void room_110_parser() {
case 1:
player.walker_visible = true;
player.commands_allowed = true;
- _scene->_nextSceneId = 111;
+ new_room = 111;
break;
default:
break;
@@ -168,7 +168,7 @@ void room_110_preload() {
section_1_walker();
section_1_interface();
- _scene->addActiveVocab(words_crab);
+ vocab_make_active(words_crab);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room111.cpp b/engines/mads/nebular/rooms/room111.cpp
index a612bba66c2..bc4b77337f2 100644
--- a/engines/mads/nebular/rooms/room111.cpp
+++ b/engines/mads/nebular/rooms/room111.cpp
@@ -72,10 +72,10 @@ static void room_111_init() {
local._launched2Fl = false;
local._stampedFl = false;
- if ((_scene->_priorSceneId < 201) && (_scene->_priorSceneId != RETURNING_FROM_DIALOG)) {
+ if ((previous_room < 201) && (previous_room != RETURNING_FROM_DIALOG)) {
player.commands_allowed = false;
player.walker_visible = false;
- _scene->loadAnimation(kernel_full_name(111, 'A', 0, "", EXT_AA), 70);
+ kernel_run_animation(kernel_full_name(111, 'A', 0, "", EXT_AA), 70);
player.x = 234;
player.y = 116;
player.facing = FACING_EAST;
@@ -84,7 +84,7 @@ static void room_111_init() {
local._launched2Fl = true;
g_engine->_soundManager->command(36, 0);
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 300;
player.y = 130;
player.facing = FACING_WEST;
@@ -148,14 +148,14 @@ static void room_111_parser() {
if (player_said_2(dive_into, pool) && player_has(OBJ_REBREATHER)) {
switch (kernel.trigger) {
case 0:
- _scene->loadAnimation(kernel_full_name(111, 'A', 1, "", EXT_AA), 1);
+ kernel_run_animation(kernel_full_name(111, 'A', 1, "", EXT_AA), 1);
local._rexDivingFl = true;
player.commands_allowed = false;
player.walker_visible = false;
break;
case 1:
- _scene->_nextSceneId = 110;
+ new_room = 110;
break;
default:
@@ -192,7 +192,7 @@ void room_111_preload() {
room_parser_code_pointer = room_111_parser;
room_daemon_code_pointer = room_111_daemon;
- _scene->addActiveVocab(words_bats);
+ vocab_make_active(words_bats);
section_1_walker();
section_1_interface();
}
diff --git a/engines/mads/nebular/rooms/room112.cpp b/engines/mads/nebular/rooms/room112.cpp
index 2fe02d4ee59..fbe8719fec3 100644
--- a/engines/mads/nebular/rooms/room112.cpp
+++ b/engines/mads/nebular/rooms/room112.cpp
@@ -49,13 +49,13 @@ static void room_112_init() {
_scene->_userInterface.emptyConversationList();
_scene->_userInterface.setup(kInputConversation);
- _scene->loadAnimation(kernel_full_name(112, 'X', -1, "", EXT_AA), 70);
+ kernel_run_animation(kernel_full_name(112, 'X', -1, "", EXT_AA), 70);
}
static void room_112_daemon() {
if ((_scene->_animation[0] != nullptr) && (config_file.naughtiness == STORYMODE_NICE)) {
if (_scene->_animation[0]->getCurrentFrame() >= 54) {
- _scene->freeAnimation();
+ kernel_abort_animation(0);
kernel.trigger = 70;
}
}
@@ -67,7 +67,7 @@ static void room_112_daemon() {
}
if (kernel.trigger == 71) {
- _scene->_nextSceneId = 101;
+ new_room = 101;
player.commands_allowed = true;
player.walker_visible = true;
}
diff --git a/engines/mads/nebular/rooms/room201.cpp b/engines/mads/nebular/rooms/room201.cpp
index 05df1486c07..80a98d0bc1e 100644
--- a/engines/mads/nebular/rooms/room201.cpp
+++ b/engines/mads/nebular/rooms/room201.cpp
@@ -55,7 +55,7 @@ static void room_201_init() {
int idx = _scene->_dynamicHotspots.add(words_birds, words_look_at, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(186, 81), FACING_NORTH);
- if ((_scene->_priorSceneId == 202) || (_scene->_priorSceneId == RETURNING_FROM_LOADING)) {
+ if ((previous_room == 202) || (previous_room == RETURNING_FROM_LOADING)) {
player.x = 165;
player.y = 152;
} else {
@@ -95,10 +95,10 @@ static void room_201_init() {
}
global[kTeleporterCommand] = 0;
if (suffixNum >= 0)
- _scene->loadAnimation(kernel_name(sepChar, suffixNum), endTrigger);
+ kernel_run_animation(kernel_name(sepChar, suffixNum), endTrigger);
}
- if ((_scene->_priorSceneId == 202) && (global[kMeteorologistStatus] == METEOROLOGIST_PRESENT) && !_scene->_roomChanged) {
+ if ((previous_room == 202) && (global[kMeteorologistStatus] == METEOROLOGIST_PRESENT) && !kernel.teleported_in) {
g_sprite_ids[6] = kernel_load_series(kernel_name('a', 0), 0);
g_sprite_ids[7] = kernel_load_series(kernel_name('a', 1), 0);
kernel.quotes = quote_load(90, 91, 0);
@@ -173,40 +173,40 @@ static void room_201_daemon() {
if (kernel.trigger == 75) {
global[kMeteorologistEverSeen] = 0;
- _scene->_nextSceneId = 202;
+ new_room = 202;
}
if (kernel.trigger == 76) {
player.commands_allowed = true;
player.walker_visible = true;
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
}
if (kernel.trigger == 77) {
global[kTeleporterCommand] = 1;
- _scene->_nextSceneId = global[kTeleporterDestination];
- _scene->_reloadSceneFlag = true;
+ new_room = global[kTeleporterDestination];
+ kernel.force_restart = true;
}
if (kernel.trigger == 78) {
g_engine->_soundManager->command(40, 0);
text_show(20114);
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
}
}
static void room_201_parser() {
if (player.look_around == false) {
if (player_said_2(walk_towards, field_to_south))
- _scene->_nextSceneId = 202;
+ new_room = 202;
else if (player_said_2(climb_up, steps) || (player_said_2(walk_inside, teleporter)) || (player_said_2(walk_inside, strange_device))) {
if (kernel.trigger == 0) {
player.commands_allowed = false;
player.walker_visible = false;
int sepChar = (global[kSexOfRex] == SEX_MALE) ? 't' : 'u';
- _scene->loadAnimation(kernel_name(sepChar, 0), 1);
+ kernel_run_animation(kernel_name(sepChar, 0), 1);
} else if (kernel.trigger == 1) {
- _scene->_nextSceneId = 213;
+ new_room = 213;
}
} else if (player_said_2(look, grassy_field)) {
text_show(20101);
@@ -253,9 +253,9 @@ void room_201_preload() {
section_2_walker();
section_2_interface();
- _scene->addActiveVocab(words_swooping_creature);
- _scene->addActiveVocab(words_birds);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_swooping_creature);
+ vocab_make_active(words_birds);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room202.cpp b/engines/mads/nebular/rooms/room202.cpp
index 4f6511e49a5..ba822574c98 100644
--- a/engines/mads/nebular/rooms/room202.cpp
+++ b/engines/mads/nebular/rooms/room202.cpp
@@ -90,13 +90,13 @@ static void room_202_init() {
}
if (global[kBone202Status])
- _scene->changeVariant(global[kBone202Status]);
+ kernel_load_variant(global[kBone202Status]);
- if (_scene->_priorSceneId == 201) {
+ if (previous_room == 201) {
player.x = 190;
player.y = 91;
player.facing = FACING_SOUTH;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 178;
player.y = 152;
player.facing = FACING_NORTH;
@@ -113,7 +113,7 @@ static void room_202_init() {
kernel.quotes = quote_load(0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x62, 0x63, 0x64, 0x65, 0x66, 0x61, 0);
local._activeMsgFl = false;
- if (_scene->_priorSceneId == RETURNING_FROM_DIALOG) {
+ if (previous_room == RETURNING_FROM_DIALOG) {
if (local._waitingMeteoFl) {
g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
player.walker_visible = false;
@@ -123,9 +123,9 @@ static void room_202_init() {
local._ladderTopFl = false;
}
- local._meteoClock1 = local._meteoClock2 = _scene->_frameStartTime;
+ local._meteoClock1 = local._meteoClock2 = kernel.clock;
- if (_scene->_roomChanged)
+ if (kernel.teleported_in)
inter_give_to_player(OBJ_BINOCULARS);
if (global[kMeteorologistWatch] != METEOROLOGIST_NORMAL) {
@@ -152,7 +152,7 @@ static void room_202_init() {
player.facing = FACING_NORTH;
}
- _scene->loadAnimation(kernel_name('M', -1), 71);
+ kernel_run_animation(kernel_name('M', -1), 71);
_scene->_animation[0]->setCurrentFrame(200);
} else {
if (local._ladderTopFl) {
@@ -243,7 +243,7 @@ static void room_202_daemon() {
g_engine->_soundManager->command(3, 0);
g_engine->_soundManager->command(9, 0);
- local._meteoClock1 = _scene->_frameStartTime + 15 * 60;
+ local._meteoClock1 = kernel.clock + 15 * 60;
if (global[kMeteorologistWatch] != METEOROLOGIST_NORMAL) {
Common::Point msgPos;
@@ -319,7 +319,7 @@ static void room_202_daemon() {
break;
}
- if (!_scene->_animation[0] && (global[kMeteorologistStatus] != METEOROLOGIST_GONE) && (local._meteoClock2 <= _scene->_frameStartTime) && (local._meteoClock1 <= _scene->_frameStartTime)) {
+ if (!_scene->_animation[0] && (global[kMeteorologistStatus] != METEOROLOGIST_GONE) && (local._meteoClock2 <= kernel.clock) && (local._meteoClock1 <= kernel.clock)) {
int randVal = g_engine->getRandomNumber(1, 500);
int threshold = 1;
if (local._ladderTopFl)
@@ -328,13 +328,13 @@ static void room_202_daemon() {
threshold += 25;
if (threshold >= randVal) {
g_engine->_soundManager->command(17, 0);
- _scene->loadAnimation(kernel_name('M', -1), 71);
+ kernel_run_animation(kernel_name('M', -1), 71);
local._toStationFl = true;
local._toTeleportFl = false;
global[kMeteorologistEverSeen] = true;
local._lastRoute = 0;
local._stationCounter = 0;
- local._meteoClock2 = _scene->_frameStartTime + 2;
+ local._meteoClock2 = kernel.clock + 2;
}
}
@@ -344,10 +344,10 @@ static void room_202_daemon() {
if (local._waitingMeteoFl) {
if (_scene->_animation[0]->getCurrentFrame() >= 200) {
if ((global[kMeteorologistWatch] == METEOROLOGIST_TOWER) || global[kLadderBroken]) {
- _scene->_nextSceneId = 213;
+ new_room = 213;
} else {
text_show(20201);
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
}
}
@@ -366,7 +366,7 @@ static void room_202_daemon() {
}
}
- if (local._meteoClock2 + 120 * 60 <= _scene->_frameStartTime) {
+ if (local._meteoClock2 + 120 * 60 <= kernel.clock) {
local._toTeleportFl = true;
}
@@ -469,7 +469,7 @@ static void room_202_parser() {
player.command_ready = false;
return;
} else if (player_said_2(walk_towards, field_to_south)) {
- _scene->_nextSceneId = 203;
+ new_room = 203;
} else if (player_said_2(walk_towards, field_to_north)) {
if (global[kMeteorologistStatus] != METEOROLOGIST_GONE) {
if (_scene->_animation[0])
@@ -477,7 +477,7 @@ static void room_202_parser() {
else
global[kMeteorologistStatus] = METEOROLOGIST_ABSENT;
}
- _scene->_nextSceneId = 201;
+ new_room = 201;
} else if (player_said_2(take, bone) && (player.main_object_source == 4)) {
switch (kernel.trigger) {
case 0:
@@ -510,7 +510,7 @@ static void room_202_parser() {
inter_give_to_player(OBJ_BONE);
object_examine(OBJ_BONE, 20218, 0);
}
- _scene->changeVariant(global[kBone202Status]);
+ kernel_load_variant(global[kBone202Status]);
player.commands_allowed = true;
player.walker_visible = true;
break;
@@ -523,7 +523,7 @@ static void room_202_parser() {
switch (kernel.trigger) {
case 0:
g_engine->_soundManager->command(29, 0);
- local._meteoClock1 = _scene->_frameStartTime;
+ local._meteoClock1 = kernel.clock;
player.walker_visible = false;
player.commands_allowed = false;
@@ -722,12 +722,12 @@ void room_202_preload() {
section_2_walker();
section_2_interface();
- _scene->addActiveVocab(words_ladder);
- _scene->addActiveVocab(words_climb_down);
- _scene->addActiveVocab(words_walkto);
- _scene->addActiveVocab(words_bone);
- _scene->addActiveVocab(words_skull);
- _scene->addActiveVocab(words_broken_ladder);
+ vocab_make_active(words_ladder);
+ vocab_make_active(words_climb_down);
+ vocab_make_active(words_walkto);
+ vocab_make_active(words_bone);
+ vocab_make_active(words_skull);
+ vocab_make_active(words_broken_ladder);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room203.cpp b/engines/mads/nebular/rooms/room203.cpp
index 157bf3bea1d..44d7e681d9f 100644
--- a/engines/mads/nebular/rooms/room203.cpp
+++ b/engines/mads/nebular/rooms/room203.cpp
@@ -42,15 +42,15 @@ static Scratch local;
static void room_203_init() {
- if (_scene->_priorSceneId == 202) {
+ if (previous_room == 202) {
player.x = 187;
player.y = 99;
player.facing = FACING_SOUTH;
- } else if (_scene->_priorSceneId == 209) {
+ } else if (previous_room == 209) {
player.x = 308;
player.y = 117;
player.facing = FACING_WEST;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 155;
player.y = 152;
player.facing = FACING_NORTH;
@@ -59,7 +59,7 @@ static void room_203_init() {
local._rhotundaEatFl = false;
local._rhotundaEat2Fl = false;
- if ((global[kRhotundaStatus] == 0) && (!_scene->_roomChanged)) {
+ if ((global[kRhotundaStatus] == 0) && (!kernel.teleported_in)) {
local._rhotundaEatFl = true;
player_walk(158, 135, FACING_SOUTH);
int idx = _scene->_dynamicHotspots.add(words_field_to_south, words_walk_towards, 0, Common::Rect(0, 0, 320, 156));
@@ -103,13 +103,13 @@ static void room_203_daemon() {
player.commands_allowed = false;
pal_lock();
_scene->_kernelMessages.reset();
- _scene->resetScene();
+ kernel_dump_all();
cursor_id = CURSOR_WAIT;
mouse_cursor_sprite(cursor, CURSOR_WAIT);
- _scene->loadAnimation(kernel_full_name(203, 'a', -1, "", EXT_AA), 81);
+ kernel_run_animation(kernel_full_name(203, 'a', -1, "", EXT_AA), 81);
} else if (kernel.trigger == 81) {
- _scene->_nextSceneId = 208;
- _scene->_reloadSceneFlag = true;
+ new_room = 208;
+ kernel.force_restart = true;
}
}
@@ -128,9 +128,9 @@ static void room_203_parser() {
if (player.look_around) {
text_show(20307);
} else if (player_said_2(walk_towards, field_to_south)) {
- _scene->_nextSceneId = 208;
+ new_room = 208;
} else if (player_said_2(walk_towards, field_to_north)) {
- _scene->_nextSceneId = 202;
+ new_room = 202;
} else if (player_said_2(look, sky)) {
text_show(20301);
} else if (player_said_2(look, cliff_face)) {
@@ -162,7 +162,7 @@ void room_203_preload() {
section_2_walker();
section_2_interface();
- _scene->addActiveVocab(477);
+ vocab_make_active(477);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room205.cpp b/engines/mads/nebular/rooms/room205.cpp
index 98c9c78be94..fcabdff1bc0 100644
--- a/engines/mads/nebular/rooms/room205.cpp
+++ b/engines/mads/nebular/rooms/room205.cpp
@@ -93,20 +93,20 @@ static void room_205_init() {
pal_change_color(252, 63, 63, 40);
pal_change_color(253, 50, 50, 30);
- local._chickenTime = _scene._frameStartTime;
+ local._chickenTime = kernel.clock;
if (global[kSexOfRex] == SEX_FEMALE)
_scene->_kernelMessages.initRandomMessages(3,
Common::Rect(195, 99, 264, 134), 13, 2, 0xFDFC, 60,
108, 108, 109, 109, 110, 110, 111, 108, 0);
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 99;
player.y = 152;
}
if (global[kSexOfRex] != SEX_MALE) {
- _scene->loadAnimation(kernel_name('a', -1));
+ kernel_run_animation(kernel_name('a', -1), 0);
_scene->_animation[0]->_repeatFlag = true;
} else {
local._beingKicked = true;
@@ -126,22 +126,22 @@ static void room_205_daemon() {
if (global[kSexOfRex] == SEX_FEMALE) {
_scene->_kernelMessages.randomServer();
- if (_scene._frameStartTime >= local._chickenTime) {
+ if (kernel.clock >= local._chickenTime) {
int chanceMinor = _scene->_kernelMessages.checkRandom() + 1;
if (_scene->_kernelMessages.generateRandom(100, chanceMinor))
g_engine->_soundManager->command(28, 0);
- local._chickenTime = _scene._frameStartTime + 2;
+ local._chickenTime = kernel.clock + 2;
}
}
- if (_scene._frameStartTime - local._lastFishTime > 1300) {
+ if (kernel.clock - local._lastFishTime > 1300) {
g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(
g_sprite_ids[6], false, 5, 1, 0, 0);
int idx = _scene->_dynamicHotspots.add(words_piranha, words_walkto, g_sequence_ids[6],
Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(49, 86), FACING_NORTH);
- local._lastFishTime = _scene._frameStartTime;
+ local._lastFishTime = kernel.clock;
}
if (kernel.trigger == 73)
@@ -161,7 +161,7 @@ static void room_205_daemon() {
}
if (kernel.trigger == 72)
- _scene->_nextSceneId = 211;
+ new_room = 211;
}
static void handleWomanSpeech(int quote) {
@@ -264,11 +264,11 @@ static void room_205_parser() {
_scene->_animation[0]->resetSpriteSetsCount();
text_show(20516);
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
}
} else {
if (player_said_2(walk_down, path_to_south))
- _scene->_nextSceneId = 210;
+ new_room = 210;
if (player_said_2(walkto, fire_pit) || player_said_2(walkto, chicken_on_spit)) {
if (object_is_here(OBJ_CHICKEN)) {
@@ -325,8 +325,8 @@ void room_205_synchronize(Common::Serializer &s) {
}
void room_205_preload() {
- local._lastFishTime = _scene->_frameStartTime;
- local._chickenTime = _scene->_frameStartTime;
+ local._lastFishTime = kernel.clock;
+ local._chickenTime = kernel.clock;
local._beingKicked = false;
local._kernelMessage = -1;
@@ -336,9 +336,9 @@ void room_205_preload() {
section_2_walker();
section_2_interface();
- _scene->addActiveVocab(words_walkto);
- _scene->addActiveVocab(words_chicken);
- _scene->addActiveVocab(words_piranha);
+ vocab_make_active(words_walkto);
+ vocab_make_active(words_chicken);
+ vocab_make_active(words_piranha);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room207.cpp b/engines/mads/nebular/rooms/room207.cpp
index d81a989263b..f9b123f6b16 100644
--- a/engines/mads/nebular/rooms/room207.cpp
+++ b/engines/mads/nebular/rooms/room207.cpp
@@ -83,15 +83,15 @@ static void room_207_init() {
}
local._eyeFl = false;
- if (_scene->_priorSceneId == 211) {
+ if (previous_room == 211) {
player.x = 13;
player.y = 105;
player.facing = FACING_EAST;
- } else if (_scene->_priorSceneId == 214) {
+ } else if (previous_room == 214) {
player.x = 164;
player.y = 117;
player.facing = FACING_SOUTH;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 305;
player.y = 131;
}
@@ -175,7 +175,7 @@ static void room_207_parser() {
if (player.look_around)
text_show(20711);
else if (player_said_2(walk_through, doorway))
- _scene->_nextSceneId = 214;
+ new_room = 214;
else {
if ((player.x > 150) && (player.x < 189) &&
(player.y > 111) && (player.y < 130)) {
@@ -247,10 +247,10 @@ void room_207_preload() {
section_2_walker();
section_2_interface();
- _scene->addActiveVocab(words_vulture);
- _scene->addActiveVocab(words_walkto);
- _scene->addActiveVocab(words_spider);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_vulture);
+ vocab_make_active(words_walkto);
+ vocab_make_active(words_spider);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room208.cpp b/engines/mads/nebular/rooms/room208.cpp
index 6eb56f1f32b..d380c4b5568 100644
--- a/engines/mads/nebular/rooms/room208.cpp
+++ b/engines/mads/nebular/rooms/room208.cpp
@@ -87,21 +87,21 @@ static void room_208_init() {
local._rhotundaTurnFl = false;
local._boundingFl = false;
_scene->_kernelMessages._talkFont = font_inter;
- _scene->_textSpacing = 0;
+ kernel_message_spacing = 0;
- if (_scene->_priorSceneId == 207) {
+ if (previous_room == 207) {
player.x = 8;
player.y = 122;
player.facing = FACING_EAST;
- } else if (_scene->_priorSceneId == 203) {
+ } else if (previous_room == 203) {
player.x = 142;
player.y = 108;
player.facing = FACING_SOUTH;
- } else if (_scene->_priorSceneId == 209) {
+ } else if (previous_room == 209) {
player.x = 307;
player.y = 123;
player.facing = FACING_WEST;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 162;
player.y = 149;
player.facing = FACING_NORTH;
@@ -109,7 +109,7 @@ static void room_208_init() {
kernel.quotes = quote_load(0x81, 0x46, 0);
- if ((_scene->_priorSceneId == 207) && (global[kMonkeyStatus] == MONKEY_HAS_BINOCULARS)) {
+ if ((previous_room == 207) && (global[kMonkeyStatus] == MONKEY_HAS_BINOCULARS)) {
int msgIndex = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 129));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
}
@@ -142,7 +142,7 @@ static void room_208_daemon() {
switch (kernel.trigger) {
case 0:
- _scene->loadAnimation(kernel_name('A', -1), 81);
+ kernel_run_animation(kernel_name('A', -1), 81);
local._rhotundaTime = 0;
break;
case 81:
@@ -259,15 +259,15 @@ static void subAction(int mode) {
static void room_208_parser() {
if (player_said_2(walk_towards, lowlands_to_north)) {
if (global[kRhotundaStatus])
- _scene->_nextSceneId = 203;
+ new_room = 203;
else if (kernel.trigger == 0) {
player.commands_allowed = false;
int msgIndex = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 1, 120, quote_string(kernel.quotes, 70));
_scene->_kernelMessages.setQuoted(msgIndex, 4, true);
} else if (kernel.trigger == 1)
- _scene->_nextSceneId = 203;
+ new_room = 203;
} else if (player_said_2(walk_towards, field_to_south))
- _scene->_nextSceneId = 212;
+ new_room = 212;
else if (player_said_2(take, pile_of_leaves) && (!global[kLeavesStatus] || kernel.trigger)) {
subAction(1);
if (player.commands_allowed)
@@ -346,10 +346,10 @@ void room_208_preload() {
section_2_walker();
section_2_interface();
- _scene->addActiveVocab(words_huge_legs);
- _scene->addActiveVocab(words_leaf_covered_pit);
- _scene->addActiveVocab(words_pile_of_leaves);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_huge_legs);
+ vocab_make_active(words_leaf_covered_pit);
+ vocab_make_active(words_pile_of_leaves);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room209.cpp b/engines/mads/nebular/rooms/room209.cpp
index 81cb44ae4a9..ff18cc97050 100644
--- a/engines/mads/nebular/rooms/room209.cpp
+++ b/engines/mads/nebular/rooms/room209.cpp
@@ -811,7 +811,7 @@ static void handleMonkeyFall() {
break;
case 223:
- _scene->loadAnimation(kernel_full_name(209, 'e', -1, "", EXT_AA), 224);
+ kernel_run_animation(kernel_full_name(209, 'e', -1, "", EXT_AA), 224);
g_engine->_soundManager->command(38, 0);
break;
@@ -863,7 +863,7 @@ static void handleMonkey1() {
case 215:
{
g_engine->_soundManager->command(18, 0);
- _scene->loadAnimation(kernel_full_name(209, 'a', -1, "", EXT_AA), 251);
+ kernel_run_animation(kernel_full_name(209, 'a', -1, "", EXT_AA), 251);
int oldIdx = g_sequence_ids[7];
g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 7, 1, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[7], 27, 35);
@@ -903,7 +903,7 @@ static void handleMonkey2() {
_scene->_sequences.setScale(g_sequence_ids[12], 79);
_scene->_sequences.setAnimRange(g_sequence_ids[12], 1, 6);
_scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 252);
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
player.walker_visible = false;
break;
@@ -922,7 +922,7 @@ static void handleMonkey2() {
case 253:
_scene->_sequences.remove(g_sequence_ids[12]);
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
player.walker_visible = true;
player.commands_allowed = true;
break;
@@ -994,11 +994,11 @@ static void room_209_init() {
_scene->_sequences.setDepth(g_sequence_ids[1], 13);
}
- if (_scene->_priorSceneId == 208) {
+ if (previous_room == 208) {
player.x = 11;
player.y = 121;
player.facing = FACING_EAST;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 28;
player.y = 121;
player.facing = FACING_SOUTH;
@@ -1012,7 +1012,7 @@ static void room_209_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(200, 133), FACING_NORTH);
}
- if (_scene->_roomChanged) {
+ if (kernel.teleported_in) {
inter_give_to_player(OBJ_POISON_DARTS);
inter_give_to_player(OBJ_BLOWGUN);
global[kMonkeyStatus] = MONKEY_HAS_BINOCULARS;
@@ -1302,7 +1302,7 @@ static void room_209_daemon() {
_scene->_sequences.setDepth(g_sequence_ids[2], 4);
_scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
_scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 232);
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
_scene->_sequences.updateTimeout(g_sequence_ids[2], -1);
player.walker_visible = false;
}
@@ -1372,7 +1372,7 @@ static void room_209_daemon() {
case 237:
player.walker_visible = true;
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
_scene->_sequences.addTimer(1, 238);
break;
@@ -1445,7 +1445,7 @@ static void room_209_parser() {
}
if (player_said_2(walk_towards, rocky_area_to_north)) {
- _scene->_nextSceneId = 203;
+ new_room = 203;
player.command_ready = false;
return;
}
@@ -1794,7 +1794,7 @@ void room_209_preload() {
section_2_walker();
section_2_interface();
- _scene->addActiveVocab(words_plant_stalk);
+ vocab_make_active(words_plant_stalk);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room210.cpp b/engines/mads/nebular/rooms/room210.cpp
index 909ea9de6b5..aca5cb21520 100644
--- a/engines/mads/nebular/rooms/room210.cpp
+++ b/engines/mads/nebular/rooms/room210.cpp
@@ -340,12 +340,12 @@ static void setDialogNode(int node) {
player.walker_visible = false;
pal_lock();
_scene->_kernelMessages.reset();
- _scene->freeAnimation();
- _scene->resetScene();
+ kernel_abort_animation(0);
+ kernel_dump_all();
g_sprite_ids[1] = kernel_load_series(kernel_name('c', -1), 0);
kernel.quotes = quote_load(0xE6, 0xE9, 0xEA, 0xE7, 0xE8, 0);
- _scene->loadAnimation(kernel_name('B', -1), 4);
+ kernel_run_animation(kernel_name('B', -1), 4);
break;
case 4:
@@ -381,7 +381,7 @@ static void setDialogNode(int node) {
case 8:
global[kTwinklesStatus] = TWINKLES_GONE;
- _scene->_nextSceneId = 216;
+ new_room = 216;
break;
default:
@@ -549,7 +549,7 @@ static void handleConversations() {
_scene->_kernelMessages.reset();
player.commands_allowed = false;
const char *curQuote = quote_string(kernel.quotes, player2.words[0]);
- if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
+ if (_scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing) > 200) {
static char line1[40], line2[40];
quote_split_string(curQuote, line1, line2);
Common::strcpy_s(local._subQuote2, line2);
@@ -618,16 +618,16 @@ static void room_210_init() {
if (!player.been_here_before)
global[kCurtainOpen] = 0;
- if (_scene->_priorSceneId == 205) {
+ if (previous_room == 205) {
player.x = 277;
player.y = 56;
}
- else if (_scene->_priorSceneId == 215) {
+ else if (previous_room == 215) {
player.x = 168;
player.y = 128;
player.facing = FACING_SOUTH;
global[kCurtainOpen] = true;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 308;
player.y = 132;
}
@@ -666,7 +666,7 @@ static void room_210_init() {
local._twinkleAnimationType = 0;
local._twinklesCurrentFrame = 0;
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
local._shouldMoveHead = false;
local._shouldFaceRex = false;
local._shouldTalk = false;
@@ -678,7 +678,7 @@ static void room_210_init() {
}
if (global[kTwinklesStatus] == 0) {
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
local._twinkleAnimationType = 1;
} else
_scene->_hotspots.activate(476, false);
@@ -988,9 +988,9 @@ static void room_210_parser() {
break;
}
} else if (player_said_2(walk_down, path_to_north) || player_said_2(walk_towards, hut_to_north)) {
- _scene->_nextSceneId = 205;
+ new_room = 205;
} else if (player_said_2(walk_through, doorway)) {
- _scene->_nextSceneId = 215;
+ new_room = 215;
} else if ((player_said_2(pull, curtain) || player_said_2(open, curtain)) && !global[kCurtainOpen]) {
switch (kernel.trigger) {
case 0:
@@ -1108,8 +1108,8 @@ void room_210_preload() {
section_2_walker();
section_2_interface();
- _scene->addActiveVocab(words_doorway);
- _scene->addActiveVocab(words_walk_through);
+ vocab_make_active(words_doorway);
+ vocab_make_active(words_walk_through);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room211.cpp b/engines/mads/nebular/rooms/room211.cpp
index d99be01d3f4..89be57ee1de 100644
--- a/engines/mads/nebular/rooms/room211.cpp
+++ b/engines/mads/nebular/rooms/room211.cpp
@@ -47,20 +47,20 @@ static void room_211_init() {
g_sprite_ids[1] = kernel_load_series("*SC002Z2", 0);
local._wakeFl = false;
- if (_scene->_priorSceneId == 210) {
+ if (previous_room == 210) {
player.x = 25;
player.y = 148;
}
- else if (_scene->_priorSceneId == 205) {
+ else if (previous_room == 205) {
player.x = 49;
player.y = 133;
player.facing = FACING_WEST;
local._wakeFl = true;
player.commands_allowed = false;
player.walker_visible = false;
- _scene->loadAnimation(kernel_name('A', -1), 100);
+ kernel_run_animation(kernel_name('A', -1), 100);
_scene->_animation[0]->setCurrentFrame(169);
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 310;
player.y = 31;
player.facing = FACING_SOUTHWEST;
@@ -74,7 +74,7 @@ static void room_211_init() {
_scene->_dynamicHotspots.add(words_slithering_snake, words_walkto, g_sequence_ids[2], Common::Rect(1, 1, 1 + 41, 1 + 10));
}
- if (_scene->_roomChanged)
+ if (kernel.teleported_in)
inter_give_to_player(OBJ_BINOCULARS);
pal_change_color(252, 63, 44, 30);
@@ -86,7 +86,7 @@ static void room_211_init() {
Common::Rect(0, 0, 54, 30), 13, 2, 0xFDFC, 60,
151, 152, 153, 154, 0);
- local._monkeyTime = _scene._frameStartTime;
+ local._monkeyTime = kernel.clock;
local._scrollY = 30;
local._ambushFl = false;
@@ -99,12 +99,12 @@ static void room_211_daemon() {
if (global[kMonkeyStatus] == MONKEY_AMBUSH_READY) {
_scene->_kernelMessages.randomServer();
- if (!local._ambushFl && !local._wakeFl && (_scene._frameStartTime >= local._monkeyTime)) {
+ if (!local._ambushFl && !local._wakeFl && (kernel.clock >= local._monkeyTime)) {
int chanceMinor = _scene->_kernelMessages.checkRandom() * 4 + 1;
if (_scene->_kernelMessages.generateRandom(80, chanceMinor))
g_engine->_soundManager->command(18, 0);
- local._monkeyTime = _scene._frameStartTime + 2;
+ local._monkeyTime = kernel.clock + 2;
}
if ((Common::Point(player.x, player.y) == Common::Point(52, 132)) && (player.facing == FACING_WEST) && !player.walking &&
@@ -117,7 +117,7 @@ static void room_211_daemon() {
player.commands_allowed = false;
player.walker_visible = false;
_scene->_kernelMessages.reset();
- _scene->loadAnimation(kernel_name('A', -1), 90);
+ kernel_run_animation(kernel_name('A', -1), 90);
g_engine->_soundManager->command(19, 0);
int count = (int)inven_num_objects;
for (int idx = 0; idx < count; idx++) {
@@ -343,7 +343,7 @@ void room_211_preload() {
section_2_walker();
section_2_interface();
- _scene->addActiveVocab(words_slithering_snake);
+ vocab_make_active(words_slithering_snake);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room212.cpp b/engines/mads/nebular/rooms/room212.cpp
index e1e8cdc085f..f64f1b78617 100644
--- a/engines/mads/nebular/rooms/room212.cpp
+++ b/engines/mads/nebular/rooms/room212.cpp
@@ -32,11 +32,11 @@ namespace RexNebular {
namespace Rooms {
static void room_212_init() {
- if (_scene->_priorSceneId == 208) {
+ if (previous_room == 208) {
player.x = 195;
player.y = 85;
player.facing = FACING_SOUTH;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 67;
player.y = 117;
player.facing = FACING_NORTHEAST;
@@ -58,9 +58,9 @@ static void room_212_parser() {
if (player.look_around)
text_show(21209);
else if (player_said_1(walk_towards) && (player_said_1(field_to_north) || player_said_1(mountains)))
- _scene->_nextSceneId = 208;
+ new_room = 208;
else if (player_said_2(walk_towards, cave))
- _scene->_nextSceneId = 111;
+ new_room = 111;
else if (player_said_2(look, grass))
text_show(21201);
else if (player_said_2(look, rocks))
@@ -95,7 +95,7 @@ void room_212_preload() {
section_2_walker();
section_2_interface();
- _scene->addActiveVocab(words_bouncing_reptile);
+ vocab_make_active(words_bouncing_reptile);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room214.cpp b/engines/mads/nebular/rooms/room214.cpp
index 941ac5b4bf4..82b73388aef 100644
--- a/engines/mads/nebular/rooms/room214.cpp
+++ b/engines/mads/nebular/rooms/room214.cpp
@@ -64,7 +64,7 @@ static void room_214_init() {
_scene->_hotspots.activate(words_blowgun, false);
}
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 191;
player.y = 152;
}
@@ -119,7 +119,7 @@ static void room_214_parser() {
if (player.look_around)
text_show(21427);
else if (player_said_2(walk_outside, hut))
- _scene->_nextSceneId = 207;
+ new_room = 207;
else if (player_said_2(take, poison_darts) && (kernel.trigger || object_is_here(OBJ_POISON_DARTS))) {
switch (kernel.trigger) {
case 0:
@@ -258,8 +258,8 @@ void room_214_preload() {
section_2_walker();
section_2_interface();
- _scene->addActiveVocab(words_captive_creature);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_captive_creature);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room215.cpp b/engines/mads/nebular/rooms/room215.cpp
index 5760aa5dac5..1efd7ea9942 100644
--- a/engines/mads/nebular/rooms/room215.cpp
+++ b/engines/mads/nebular/rooms/room215.cpp
@@ -44,7 +44,7 @@ static void room_215_init() {
else
g_sprite_ids[2] = kernel_load_series("*ROXRC_9", 0);
- if (_scene->_priorSceneId == 216) {
+ if (previous_room == 216) {
player.x = 140;
player.y = 119;
player.facing = FACING_SOUTHWEST;
@@ -52,7 +52,7 @@ static void room_215_init() {
player.commands_allowed = false;
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
_scene->_sequences.addTimer(120, 70);
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 204;
player.y = 152;
player.facing = FACING_NORTH;
@@ -119,7 +119,7 @@ static void room_215_parser() {
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, idx));
}
} else if (player_said_2(walk_outside, hut))
- _scene->_nextSceneId = 210;
+ new_room = 210;
else if (player_said_2(look, bear_rug))
text_show(21501);
else if (player_said_2(look, bed))
diff --git a/engines/mads/nebular/rooms/room216.cpp b/engines/mads/nebular/rooms/room216.cpp
index 259d21498a2..0973233ba4d 100644
--- a/engines/mads/nebular/rooms/room216.cpp
+++ b/engines/mads/nebular/rooms/room216.cpp
@@ -37,14 +37,14 @@ void room_216_init() {
_scene->_userInterface.emptyConversationList();
_scene->_userInterface.setup(kInputConversation);
- _scene->loadAnimation(kernel_name('A', -1), 60);
+ kernel_run_animation(kernel_name('A', -1), 60);
section_2_music();
}
void room_216_daemon() {
if (kernel.trigger == 60)
- _scene->_nextSceneId = 215;
+ new_room = 215;
}
void room_216_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room301.cpp b/engines/mads/nebular/rooms/room301.cpp
index b7f755a67e3..297d736dcf9 100644
--- a/engines/mads/nebular/rooms/room301.cpp
+++ b/engines/mads/nebular/rooms/room301.cpp
@@ -40,14 +40,14 @@ static void room_301_init() {
player.commands_allowed = false;
player.walker_visible = false;
- _scene->loadAnimation(kernel_name('a', -1), 60);
+ kernel_run_animation(kernel_name('a', -1), 60);
section_3_music();
}
static void room_301_daemon() {
if (kernel.trigger == 60)
- _scene->_nextSceneId = 302;
+ new_room = 302;
}
void room_301_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room302.cpp b/engines/mads/nebular/rooms/room302.cpp
index 0e82041d513..a763e1757a4 100644
--- a/engines/mads/nebular/rooms/room302.cpp
+++ b/engines/mads/nebular/rooms/room302.cpp
@@ -42,13 +42,13 @@ static void room_302_init() {
player.commands_allowed = false;
player.walker_visible = false;
- _scene->loadAnimation(kernel_name('a', -1), 71);
+ kernel_run_animation(kernel_name('a', -1), 71);
section_3_music();
}
static void room_302_daemon() {
if (kernel.trigger == 71)
- _scene->_nextSceneId = 303;
+ new_room = 303;
if ((_scene->_animation[0] != nullptr) && (_scene->_animation[0]->getCurrentFrame() != local._oldFrame)) {
local._oldFrame = _scene->_animation[0]->getCurrentFrame();
diff --git a/engines/mads/nebular/rooms/room303.cpp b/engines/mads/nebular/rooms/room303.cpp
index 1796bed68e2..db5d4ae6286 100644
--- a/engines/mads/nebular/rooms/room303.cpp
+++ b/engines/mads/nebular/rooms/room303.cpp
@@ -41,14 +41,14 @@ static void room_303_init() {
player.walker_visible = false;
player.commands_allowed = false;
- _scene->loadAnimation(kernel_name('a', -1), 60);
+ kernel_run_animation(kernel_name('a', -1), 60);
section_3_music();
}
static void room_303_daemon() {
if (kernel.trigger == 60)
- _scene->_nextSceneId = 304;
+ new_room = 304;
}
void room_303_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room304.cpp b/engines/mads/nebular/rooms/room304.cpp
index 7fdbd29cab1..e42185d9d6a 100644
--- a/engines/mads/nebular/rooms/room304.cpp
+++ b/engines/mads/nebular/rooms/room304.cpp
@@ -39,10 +39,10 @@ struct Scratch {
static Scratch local;
static void room_304_init() {
- if (_scene->_priorSceneId == 303) {
+ if (previous_room == 303) {
player.walker_visible = false;
player.commands_allowed = false;
- _scene->loadAnimation(kernel_name('a', -1), 60);
+ kernel_run_animation(kernel_name('a', -1), 60);
} else {
if (global[kSexOfRex] == REX_MALE)
g_sprite_ids[1] = kernel_load_series(kernel_name('a', 0), 0);
@@ -77,7 +77,7 @@ static void room_304_init() {
static void room_304_daemon() {
if (kernel.trigger == 60)
- _scene->_nextSceneId = 311;
+ new_room = 311;
if (kernel.trigger >= 70) {
switch (kernel.trigger) {
@@ -155,7 +155,7 @@ static void room_304_daemon() {
break;
case 78:
- _scene->_nextSceneId = 316;
+ new_room = 316;
break;
default:
diff --git a/engines/mads/nebular/rooms/room307.cpp b/engines/mads/nebular/rooms/room307.cpp
index 902fb7468a0..5b14ba9c458 100644
--- a/engines/mads/nebular/rooms/room307.cpp
+++ b/engines/mads/nebular/rooms/room307.cpp
@@ -58,7 +58,7 @@ static Scratch local;
static void handleRexDialog(int quote) {
const char *curQuote = quote_string(kernel.quotes, quote);
- if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
+ if (_scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing) > 200) {
static char subQuote1[34], subQuote2[34];
quote_split_string(curQuote, subQuote1, subQuote2);
Common::strcpy_s(local._subQuote2, subQuote2);
@@ -290,7 +290,7 @@ static void room_307_init() {
local._animationMode = 0;
local._fieldCollisionCounter = 0;
- _scene->changeVariant(1);
+ kernel_load_variant(1);
kernel.quotes = quote_load(0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0x10C, 0x104, 0x106, 0x107, 0x108, 0x105,
0x109, 0x10A, 0x10B, 0x10D, 0x10E, 0x10F, 0x110, 0x111, 0x112, 0x113, 0x114, 0x115, 0x116, 0x117,
@@ -305,11 +305,11 @@ static void room_307_init() {
if (!player.been_here_before)
local._dialog2.set(0x11A, 0x122, 0);
- else if (_scene->_priorSceneId == 318)
+ else if (previous_room == 318)
local._dialog2.write(0x11E, true);
- if (_scene->_priorSceneId == RETURNING_FROM_DIALOG) {
+ if (previous_room == RETURNING_FROM_DIALOG) {
if (local._grateOpenedFl)
g_engine->_soundManager->command(10, 0);
else
@@ -323,7 +323,7 @@ static void room_307_init() {
local._prisonerTimer = 0;
local._prisonerMessageId = 0x104;
- if (_scene->_priorSceneId == 308) {
+ if (previous_room == 308) {
player.walker_visible = false;
player.commands_allowed = false;
player.x = 156;
@@ -331,8 +331,8 @@ static void room_307_init() {
player.facing = FACING_NORTH;
local._animationMode = 1;
g_engine->_soundManager->command(11, 0);
- _scene->loadAnimation(kernel_name('a', -1), 60);
- } else if (_scene->_priorSceneId == 387) {
+ kernel_run_animation(kernel_name('a', -1), 60);
+ } else if (previous_room == 387) {
player.x = 129;
player.y = 108;
player.facing = FACING_NORTH;
@@ -364,7 +364,7 @@ static void room_307_init() {
section_3_music();
- if ((_scene->_priorSceneId == 318) || (_scene->_priorSceneId == 387))
+ if ((previous_room == 318) || (previous_room == 387))
_scene->_kernelMessages.addQuote(0xF3, 0, 120);
}
@@ -389,20 +389,20 @@ static void room_307_daemon() {
if (_scene->_animation[0]->getCurrentFrame() == 150) {
player.walker_visible = false;
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
}
}
if (kernel.trigger == 60) {
player.walker_visible = true;
player.commands_allowed = true;
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
local._animationMode = 0;
g_engine->_soundManager->command(9, 0);
}
- if ((local._lastFrameTime != _scene->_frameStartTime) && !local._duringPeeingFl) {
- int32 elapsedTime = local._lastFrameTime - _scene->_frameStartTime;
+ if ((local._lastFrameTime != kernel.clock) && !local._duringPeeingFl) {
+ int32 elapsedTime = local._lastFrameTime - kernel.clock;
if ((elapsedTime > 0) && (elapsedTime <= 4)) {
local._guardTime += elapsedTime;
local._prisonerTimer += elapsedTime;
@@ -410,7 +410,7 @@ static void room_307_daemon() {
local._guardTime++;
local._prisonerTimer++;
}
- local._lastFrameTime = _scene->_frameStartTime;
+ local._lastFrameTime = kernel.clock;
if ((local._guardTime > 3000) && !local._duringPeeingFl && (_scene->_animation[0] == nullptr)
&& (inter_input_mode != kInputConversation) && global[kMetBuddyBeast] && !local._activePrisonerFl) {
@@ -419,7 +419,7 @@ static void room_307_daemon() {
player_walk(151, 119, FACING_SOUTHEAST);
local._animationMode = 2;
g_engine->_soundManager->command(11, 0);
- _scene->loadAnimation(kernel_name('b', -1), 70);
+ kernel_run_animation(kernel_name('b', -1), 70);
}
local._guardTime = 0;
} else if ((local._prisonerTimer > 300) && (inter_input_mode != kInputConversation) && (_scene->_animation[0] == nullptr) && !local._activePrisonerFl) {
@@ -441,7 +441,7 @@ static void room_307_daemon() {
}
if (kernel.trigger == 70)
- _scene->_nextSceneId = 318;
+ new_room = 318;
if (kernel.trigger == 81) {
local._prisonerTimer = 0;
@@ -540,7 +540,7 @@ static void room_307_parser() {
case 6:
{
player.walker_visible = true;
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
_scene->_sequences.remove(g_sequence_ids[5]);
local._grateOpenedFl = true;
_scene->_hotspots.activate(17, false);
@@ -637,7 +637,7 @@ static void room_307_parser() {
break;
case 7:
- _scene->_nextSceneId = 313;
+ new_room = 313;
break;
default:
@@ -775,8 +775,8 @@ void room_307_preload() {
section_3_walker();
section_3_interface();
- _scene->addActiveVocab(words_air_vent);
- _scene->addActiveVocab(words_climb_into);
+ vocab_make_active(words_air_vent);
+ vocab_make_active(words_climb_into);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room308.cpp b/engines/mads/nebular/rooms/room308.cpp
index e0d4d60b67e..6ab42b96be4 100644
--- a/engines/mads/nebular/rooms/room308.cpp
+++ b/engines/mads/nebular/rooms/room308.cpp
@@ -62,7 +62,7 @@ static void room_308_init() {
player.walker_visible = false;
player.commands_allowed = false;
- _scene->loadAnimation(kernel_name('a', -1), 60);
+ kernel_run_animation(kernel_name('a', -1), 60);
section_3_music();
kernel.quotes = quote_load(0xF4, 0xF5, 0xF6, 0);
@@ -72,7 +72,7 @@ static void room_308_daemon() {
handle_forcefield(&local._forcefield, &g_sprite_ids[0]);
if (kernel.trigger == 60)
- _scene->_nextSceneId = 307;
+ new_room = 307;
if (kernel.trigger < 70)
return;
diff --git a/engines/mads/nebular/rooms/room309.cpp b/engines/mads/nebular/rooms/room309.cpp
index 820698071f7..23c4603738d 100644
--- a/engines/mads/nebular/rooms/room309.cpp
+++ b/engines/mads/nebular/rooms/room309.cpp
@@ -71,7 +71,7 @@ static void room_309_init() {
player.walker_visible = false;
player.commands_allowed = false;
- _scene->loadAnimation(kernel_name('a', -1), 60);
+ kernel_run_animation(kernel_name('a', -1), 60);
local._characterSpriteIndexes[0] = _scene->_animation[0]->_spriteListIndexes[2];
local._characterSpriteIndexes[1] = _scene->_animation[0]->_spriteListIndexes[2];
@@ -230,7 +230,7 @@ static void room_309_daemon() {
}
if (kernel.trigger == 60)
- _scene->_nextSceneId = 308;
+ new_room = 308;
}
void room_309_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room310.cpp b/engines/mads/nebular/rooms/room310.cpp
index 68c2de042d4..1893f5dbfe0 100644
--- a/engines/mads/nebular/rooms/room310.cpp
+++ b/engines/mads/nebular/rooms/room310.cpp
@@ -53,7 +53,7 @@ static void room_310_init() {
player.walker_visible = false;
player.commands_allowed = false;
- _scene->loadAnimation(kernel_name('a', -1), 70);
+ kernel_run_animation(kernel_name('a', -1), 70);
section_3_music();
}
@@ -62,7 +62,7 @@ static void room_310_daemon() {
handle_forcefield(&local._forcefield, &g_sprite_ids[0]);
if (kernel.trigger == 70)
- _scene->_nextSceneId = 309;
+ new_room = 309;
}
void room_310_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room311.cpp b/engines/mads/nebular/rooms/room311.cpp
index 67f39910fb1..b79a43ab96e 100644
--- a/engines/mads/nebular/rooms/room311.cpp
+++ b/engines/mads/nebular/rooms/room311.cpp
@@ -50,7 +50,7 @@ static void room_311_init() {
local._checkGuardFl = false;
kernel.quotes = quote_load(0xFA, 0);
- if (_scene->_priorSceneId == 391) {
+ if (previous_room == 391) {
global[kSexOfRex] = REX_MALE;
player.commands_allowed = false;
player.walker_visible = false;
@@ -58,18 +58,18 @@ static void room_311_init() {
player.x = 166;
player.y = 101;
_scene->_sequences.addTimer(120, 71);
- } else if (_scene->_priorSceneId == 310) {
+ } else if (previous_room == 310) {
player.x = 302;
player.y = 145;
}
- else if (_scene->_priorSceneId == 320) {
+ else if (previous_room == 320) {
player.x = 129;
player.y = 113;
player.facing = FACING_SOUTH;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.walker_visible = false;
player.commands_allowed = false;
- _scene->loadAnimation(kernel_name('a', -1), 70);
+ kernel_run_animation(kernel_name('a', -1), 70);
}
section_3_music();
@@ -80,7 +80,7 @@ static void room_311_daemon() {
switch (kernel.trigger) {
case 70:
- _scene->_nextSceneId = 310;
+ new_room = 310;
break;
case 71:
@@ -199,7 +199,7 @@ static void room_311_parser() {
_scene->_kernelMessages.reset();
_scene->_kernelMessages.addQuote(250, 0, 240);
} else if (player_said_2(sit_at, desk))
- _scene->_nextSceneId = 320;
+ new_room = 320;
else if (player_said_2(climb_into, air_vent)) {
switch (kernel.trigger) {
case 0:
@@ -290,7 +290,7 @@ static void room_311_parser() {
break;
case 7:
- _scene->_nextSceneId = 313;
+ new_room = 313;
break;
default:
diff --git a/engines/mads/nebular/rooms/room313.cpp b/engines/mads/nebular/rooms/room313.cpp
index d333b8f8eb8..0a33f35a20d 100644
--- a/engines/mads/nebular/rooms/room313.cpp
+++ b/engines/mads/nebular/rooms/room313.cpp
@@ -36,27 +36,27 @@ namespace Rooms {
static void room_313_init() {
_scene->_userInterface.setup(kInputLimitedSentences);
- if ((_scene->_priorSceneId == 366) || (_scene->_priorSceneId == 316)) {
+ if ((previous_room == 366) || (previous_room == 316)) {
player.x = 30;
player.y = 80;
player.facing = FACING_NORTH;
- } else if ((_scene->_priorSceneId == 311) || (_scene->_priorSceneId == 361) || (_scene->_priorSceneId == 391)) {
+ } else if ((previous_room == 311) || (previous_room == 361) || (previous_room == 391)) {
player.x = 90;
player.y = 70;
player.facing = FACING_EAST;
- } else if (_scene->_priorSceneId == 390) {
+ } else if (previous_room == 390) {
player.x = 126;
player.y = 70;
player.facing = FACING_EAST;
- } else if ((_scene->_priorSceneId == 389) || (_scene->_priorSceneId == 399)) {
+ } else if ((previous_room == 389) || (previous_room == 399)) {
player.x = 163;
player.y = 70;
player.facing = FACING_WEST;
- } else if (_scene->_priorSceneId == 388) {
+ } else if (previous_room == 388) {
player.x = 199;
player.y = 70;
player.facing = FACING_WEST;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 234;
player.y = 70;
player.facing = FACING_WEST;
@@ -76,28 +76,28 @@ static void room_313_init() {
static void room_313_parser() {
if (player_said_2(crawl_to, fourth_cell))
- _scene->_nextSceneId = 387;
+ new_room = 387;
else if (player_said_2(crawl_to, third_cell))
- _scene->_nextSceneId = 388;
+ new_room = 388;
else if (player_said_2(crawl_to, second_cell)) {
if (global[kAfterHavoc])
- _scene->_nextSceneId = 399;
+ new_room = 399;
else
- _scene->_nextSceneId = 389;
+ new_room = 389;
} else if (player_said_2(crawl_to, first_cell))
- _scene->_nextSceneId = 390;
+ new_room = 390;
else if (player_said_2(crawl_to, security_station)) {
if (global[kSexOfRex] == REX_FEMALE) {
global[kSexOfRex] = REX_MALE;
text_show(31301);
}
- _scene->_nextSceneId = 391;
+ new_room = 391;
} else if (player_said_2(crawl_to, equipment_room)) {
if (global[kSexOfRex] == REX_FEMALE) {
global[kSexOfRex] = REX_MALE;
text_show(31301);
}
- _scene->_nextSceneId = 366;
+ new_room = 366;
} else if (!player_said_2(crawl_down, air_shaft))
return;
diff --git a/engines/mads/nebular/rooms/room316.cpp b/engines/mads/nebular/rooms/room316.cpp
index 5a072eb6e73..5c7906994fe 100644
--- a/engines/mads/nebular/rooms/room316.cpp
+++ b/engines/mads/nebular/rooms/room316.cpp
@@ -145,7 +145,7 @@ static void handleRexInGrate() {
break;
case 10:
- _scene->_nextSceneId = 313;
+ new_room = 313;
break;
default:
@@ -260,7 +260,7 @@ static void handleRoxInGrate() {
break;
case 10:
- _scene->_nextSceneId = 313;
+ new_room = 313;
break;
default:
@@ -282,14 +282,14 @@ static void room_316_init() {
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
_scene->_sequences.setDepth(g_sequence_ids[3], 12);
- if (_scene->_priorSceneId == 366) {
+ if (previous_room == 366) {
player.commands_allowed = false;
player.walker_visible = false;
player.x = 78;
player.y = 87;
player.facing = FACING_SOUTH;
_scene->_sequences.addTimer(48, 70);
- } else if (_scene->_priorSceneId == 321) {
+ } else if (previous_room == 321) {
player.x = 153;
player.y = 102;
player.facing = FACING_SOUTH;
@@ -300,7 +300,7 @@ static void room_316_init() {
g_sequence_ids[1] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[spriteIdx], false, 6, 1, 0, 0);
_scene->_sequences.setDepth(g_sequence_ids[1], 2);
_scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 291;
player.y = 126;
}
@@ -449,7 +449,7 @@ static void room_316_parser() {
break;
case 4:
- _scene->_nextSceneId = 321;
+ new_room = 321;
break;
default:
diff --git a/engines/mads/nebular/rooms/room318.cpp b/engines/mads/nebular/rooms/room318.cpp
index a9c1f29a8a4..569f017aafb 100644
--- a/engines/mads/nebular/rooms/room318.cpp
+++ b/engines/mads/nebular/rooms/room318.cpp
@@ -57,7 +57,7 @@ static void handleRexDialogs(int quote) {
_scene->_kernelMessages.reset();
const char *curQuote = quote_string(kernel.quotes, quote);
- if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
+ if (_scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing) > 200) {
static char subQuote1[34], subQuote2[34];
quote_split_string(curQuote, subQuote1, subQuote2);
@@ -212,7 +212,7 @@ static void room_318_init() {
g_sprite_ids[3] = kernel_load_series(kernel_name('k', -1), 0);
if (global[kAfterHavoc]) {
- _scene->loadAnimation(kernel_name('f', -1));
+ kernel_run_animation(kernel_name('f', -1), 0);
_scene->_animation[0]->_repeatFlag = true;
} else if (!global[kHasSeenProfPyro]) {
_scene->_hotspots.activate(words_professors_gurney, false);
@@ -226,11 +226,11 @@ static void room_318_init() {
_scene->_dynamicHotspots.add(words_scalpel, words_take, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
}
- if (_scene->_priorSceneId == 357) {
+ if (previous_room == 357) {
player.x = 15;
player.y = 110;
}
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 214;
player.y = 152;
}
@@ -243,17 +243,17 @@ static void room_318_init() {
local._dialog1.write(0x19D, true);
}
- if (_scene->_priorSceneId == 307) {
+ if (previous_room == 307) {
player.walker_visible = false;
player.commands_allowed = false;
- _scene->loadAnimation(kernel_name('a', -1), 60);
+ kernel_run_animation(kernel_name('a', -1), 60);
local._animMode = 1;
}
local._lastFrame = 0;
_scene->_hotspots.activate(words_intern, false);
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
local._dialogFl = false;
local._internWalkingFl = false;
local._counter = 0;
@@ -270,8 +270,8 @@ static void room_318_init() {
0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3,
0x190, 0x19D, 0);
- if ((_scene->_priorSceneId == RETURNING_FROM_DIALOG) || (((_scene->_priorSceneId == 318) ||
- (_scene->_priorSceneId == RETURNING_FROM_LOADING)) && (!global[kAfterHavoc]))) {
+ if ((previous_room == RETURNING_FROM_DIALOG) || (((previous_room == 318) ||
+ (previous_room == RETURNING_FROM_LOADING)) && (!global[kAfterHavoc]))) {
if (!global[kAfterHavoc]) {
player.walker_visible = false;
g_sprite_ids[2] = kernel_load_series(kernel_name('g', -1), 0);
@@ -281,7 +281,7 @@ static void room_318_init() {
local._internVisibleFl = false;
local._dialogFl = false;
} else {
- _scene->loadAnimation(kernel_name('b', -1), 61);
+ kernel_run_animation(kernel_name('b', -1), 61);
_scene->_hotspots.activate(words_intern, true);
}
@@ -296,15 +296,15 @@ static void room_318_init() {
}
}
- if (_scene->_priorSceneId == 319) {
+ if (previous_room == 319) {
player.commands_allowed = false;
player.walker_visible = false;
local._animMode = 4;
if (!global[kHasSeenProfPyro]) {
- _scene->loadAnimation(kernel_name('d', -1), 64);
+ kernel_run_animation(kernel_name('d', -1), 64);
global[kHasSeenProfPyro] = true;
} else {
- _scene->loadAnimation(kernel_name('e', -1), 64);
+ kernel_run_animation(kernel_name('e', -1), 64);
}
}
@@ -312,7 +312,7 @@ static void room_318_init() {
pal_change_color(252, 63, 63, 10);
pal_change_color(253, 45, 45, 05);
- local._dropTimer = _scene._frameStartTime;
+ local._dropTimer = kernel.clock;
section_3_music();
if (local._dialogFl)
@@ -388,7 +388,7 @@ static void room_318_daemon() {
case 60:
g_engine->_soundManager->command(3, 0);
local._animMode = 2;
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
break;
case 61:
@@ -396,7 +396,7 @@ static void room_318_daemon() {
break;
case 62:
- _scene->_nextSceneId = 319;
+ new_room = 319;
break;
case 63:
@@ -405,7 +405,7 @@ static void room_318_daemon() {
case 64:
g_engine->_soundManager->command(3, 0);
- _scene->_nextSceneId = 307;
+ new_room = 307;
break;
default:
@@ -425,9 +425,9 @@ static void room_318_daemon() {
int extraCounter = player_has(OBJ_SCALPEL) ? 900 : 0;
if (local._counter + extraCounter >= 1800) {
- _scene->freeAnimation();
+ kernel_abort_animation(0);
player.commands_allowed = false;
- _scene->loadAnimation(kernel_name('c', -1), 62);
+ kernel_run_animation(kernel_name('c', -1), 62);
local._animMode = 3;
}
} else if ((local._animMode == 2) && local._explosionFl && local._internVisibleFl && !local._dialogFl
@@ -444,11 +444,11 @@ static void room_318_daemon() {
}
}
- if ((_scene._frameStartTime - local._dropTimer) > 600) {
+ if ((kernel.clock - local._dropTimer) > 600) {
g_engine->_soundManager->command(51, 0);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 14, 1, 0, 0);
_scene->_sequences.setDepth(g_sequence_ids[1], 10);
- local._dropTimer = _scene._frameStartTime;
+ local._dropTimer = kernel.clock;
}
}
@@ -555,7 +555,7 @@ static void room_318_parser() {
if (player.walker_visible) {
if (player_said_2(walk_down, corridor_to_south)) {
- _scene->_nextSceneId = 407;
+ new_room = 407;
player.command_ready = false;
return;
}
diff --git a/engines/mads/nebular/rooms/room319.cpp b/engines/mads/nebular/rooms/room319.cpp
index e0fdb1a7076..774613ef7b8 100644
--- a/engines/mads/nebular/rooms/room319.cpp
+++ b/engines/mads/nebular/rooms/room319.cpp
@@ -59,7 +59,7 @@ static void handleRexDialogues(int quote) {
_scene->_kernelMessages.reset();
const char *curQuote = quote_string(kernel.quotes, quote);
- if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
+ if (_scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing) > 200) {
static char subQuote1[34], subQuote2[34];
quote_split_string(curQuote, subQuote1, subQuote2);
Common::strcpy_s(local._subQuote2, subQuote2);
@@ -106,7 +106,7 @@ static void room_319_init() {
local._dialog2.setup(0x44, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0);
local._dialog3.setup(0x45, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x182, 0x183, 0);
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
local._dialog1.set(0x165, 0x166, 0x167, 0x168, 0);
local._dialog2.set(0x171, 0x172, 0x173, 0x174, 0);
local._dialog3.set(0x17D, 0x17E, 0x17F, 0x180, 0);
@@ -127,9 +127,9 @@ static void room_319_init() {
local._slacheReady = false;
local._animFrame = 0;
- _scene->loadAnimation(kernel_name('b', 0));
+ kernel_run_animation(kernel_name('b', 0), 0);
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
local._animMode = 1;
local._nextAction1 = 2;
local._nextAction2 = 2;
@@ -236,23 +236,23 @@ static void room_319_daemon() {
switch (local._nextAction1) {
case 4:
local._animFrame = 0;
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._animMode = 2;
- _scene->loadAnimation(kernel_name('b', 3), 70);
+ kernel_run_animation(kernel_name('b', 3), 70);
break;
case 5:
local._animFrame = 0;
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._animMode = 3;
- _scene->loadAnimation(kernel_name('b', 4), 71);
+ kernel_run_animation(kernel_name('b', 4), 71);
break;
case 6:
local._animFrame = 0;
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._animMode = 4;
- _scene->loadAnimation(kernel_name('b', 5), 72);
+ kernel_run_animation(kernel_name('b', 5), 72);
break;
default:
@@ -304,8 +304,8 @@ static void room_319_daemon() {
local._animMode = 1;
local._nextAction1 = local._nextAction2;
local._animFrame = 0;
- _scene->freeAnimation();
- _scene->loadAnimation(kernel_name('b', 0));
+ kernel_abort_animation(0);
+ kernel_run_animation(kernel_name('b', 0), 0);
if (local._nextAction1 == 3)
_scene->_animation[0]->setCurrentFrame(85);
else if (local._nextAction1 == 1)
@@ -338,7 +338,7 @@ static void room_319_daemon() {
magic_fade_to_grey(master_palette, nullptr, 18, 228,
248, 0, 1, 16);
mcga_shakes = 1;
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
break;
case 73:
@@ -423,7 +423,7 @@ static void room_319_parser() {
_scene->_sequences.addTimer(120, 3);
} else {
global[kRexHasMetSlache] = true;
- _scene->_nextSceneId = 318;
+ new_room = 318;
}
}
}
diff --git a/engines/mads/nebular/rooms/room320.cpp b/engines/mads/nebular/rooms/room320.cpp
index 57d7f643e97..c229ebf2a0b 100644
--- a/engines/mads/nebular/rooms/room320.cpp
+++ b/engines/mads/nebular/rooms/room320.cpp
@@ -232,7 +232,7 @@ static void room_320_daemon() {
if (kernel.trigger == 70) {
global[kAfterHavoc] = true;
global[kTeleporterRoom + 1] = 351;
- _scene->_nextSceneId = 361;
+ new_room = 361;
}
}
@@ -290,7 +290,7 @@ static void room_320_parser() {
setRightView(8);
setLeftView(10);
_scene->_kernelMessages.reset();
- _scene->resetScene();
+ kernel_dump_all();
g_sprite_ids[2] = kernel_load_series(kernel_name('m', 2), 0);
g_sprite_ids[4] = kernel_load_series(kernel_name('m', 4), 0);
g_sprite_ids[9] = kernel_load_series(kernel_name('m', 9), 0);
@@ -298,7 +298,7 @@ static void room_320_parser() {
setLeftView(2);
kernel.quotes = quote_load(0xFE, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->loadAnimation(kernel_name('a', -1), 70);
+ kernel_run_animation(kernel_name('a', -1), 70);
g_engine->_soundManager->command(17, 0);
}
}
@@ -308,7 +308,7 @@ static void room_320_parser() {
break;
}
} else if (player_said_2(leave, security_station))
- _scene->_nextSceneId = 311;
+ new_room = 311;
else if (player_said_2(look, right_monitor))
text_show(32001);
else if (player_said_2(look, left_monitor))
diff --git a/engines/mads/nebular/rooms/room321.cpp b/engines/mads/nebular/rooms/room321.cpp
index 48c81d26f92..7dc9e5335f1 100644
--- a/engines/mads/nebular/rooms/room321.cpp
+++ b/engines/mads/nebular/rooms/room321.cpp
@@ -47,18 +47,18 @@ static void room_321_init() {
suffixNum = player.been_here_before ? 2 : 0;
}
- _scene->loadAnimation(kernel_name('g', suffixNum), 60);
+ kernel_run_animation(kernel_name('g', suffixNum), 60);
section_3_music();
}
static void room_321_daemon() {
if (_scene->_animation[0] != nullptr) {
if ((_scene->_animation[0]->getCurrentFrame() >= 260) && (global[kSexOfRex] == REX_MALE) && (config_file.naughtiness >= STORYMODE_NICE))
- _scene->_nextSceneId = 316;
+ new_room = 316;
}
if (kernel.trigger == 60)
- _scene->_nextSceneId = 316;
+ new_room = 316;
}
void room_321_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room351.cpp b/engines/mads/nebular/rooms/room351.cpp
index 73b7f9d83ae..2d60a1c9953 100644
--- a/engines/mads/nebular/rooms/room351.cpp
+++ b/engines/mads/nebular/rooms/room351.cpp
@@ -45,11 +45,11 @@ static void room_351_init() {
} else
_scene->_hotspots.activate(words_credit_chip, false);
- if (_scene->_priorSceneId == 352) {
+ if (previous_room == 352) {
player.x = 148;
player.y = 152;
}
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 207;
player.y = 81;
player.facing = FACING_NORTH;
@@ -93,7 +93,7 @@ static void room_351_init() {
global[kTeleporterCommand] = 0;
if (suffixNum >= 0)
- _scene->loadAnimation(kernel_name(sepChar, suffixNum), trigger);
+ kernel_run_animation(kernel_name(sepChar, suffixNum), trigger);
}
section_3_music();
@@ -103,14 +103,14 @@ static void room_351_daemon() {
if (kernel.trigger == 60) {
player.commands_allowed = true;
player.walker_visible = true;
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
player.turn_to_facing = FACING_SOUTH;
}
if (kernel.trigger == 61) {
global[kTeleporterCommand] = 1;
- _scene->_nextSceneId = global[kTeleporterDestination];
- _scene->_reloadSceneFlag = true;
+ new_room = global[kTeleporterDestination];
+ kernel.force_restart = true;
}
}
@@ -118,9 +118,9 @@ static void room_351_parser() {
if (player.look_around)
text_show(35121);
else if (player_said_2(step_into, teleporter))
- _scene->_nextSceneId = 322;
+ new_room = 322;
else if (player_said_2(walk_down, corridor_to_south))
- _scene->_nextSceneId = 352;
+ new_room = 352;
else if (player_said_2(take, credit_chip)) {
if (kernel.trigger || !player_has(OBJ_CREDIT_CHIP)) {
switch (kernel.trigger) {
@@ -196,12 +196,12 @@ void room_351_preload() {
room_parser_code_pointer = room_351_parser;
room_daemon_code_pointer = room_351_daemon;
- if (_scene->_currentSceneId == 391)
+ if (room_id == 391)
global[kSexOfRex] = REX_MALE;
section_3_walker();
section_3_interface();
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room352.cpp b/engines/mads/nebular/rooms/room352.cpp
index c495ffb3c89..adf31584e3e 100644
--- a/engines/mads/nebular/rooms/room352.cpp
+++ b/engines/mads/nebular/rooms/room352.cpp
@@ -74,14 +74,14 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 0, 0);
int idx = _scene->_dynamicHotspots.add(words_guards_arm2, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(230, 117), FACING_NORTHWEST);
- _scene->changeVariant(0);
+ kernel_load_variant(0);
}
break;
case 3:
_scene->_kernelMessages.reset();
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x100));
- inter_move_object(OBJ_GUARDS_ARM, _scene->_currentSceneId);
+ inter_move_object(OBJ_GUARDS_ARM, room_id);
player.walker_visible = true;
if (corridorExit)
_scene->_sequences.addTimer(48, 6);
@@ -102,7 +102,7 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
case 5:
if (local._leaveRoomFl)
- _scene->_nextSceneId = 351;
+ new_room = 351;
break;
@@ -116,7 +116,7 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
case 7:
if (local._leaveRoomFl)
- _scene->_nextSceneId = 353;
+ new_room = 353;
break;
@@ -158,7 +158,7 @@ static void room_352_init() {
local._vaultOpenFl = false;
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
local._mustPutArmDownFl = false;
if (!player.been_here_before)
global[kHaveYourStuff] = false;
@@ -171,11 +171,11 @@ static void room_352_init() {
} else
local._mustPutArmDownFl = true;
- if (_scene->_priorSceneId == 353) {
+ if (previous_room == 353) {
player.x = 171;
player.y = 155;
}
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 116;
player.y = 107;
}
@@ -321,9 +321,9 @@ static void room_352_parser() {
if (local._mustPutArmDownFl)
putArmDown(exit_corridor, exit_doorway);
else if (exit_corridor)
- _scene->_nextSceneId = 353;
+ new_room = 353;
else
- _scene->_nextSceneId = 351;
+ new_room = 351;
player.command_ready = false;
return;
@@ -351,7 +351,7 @@ static void room_352_parser() {
case 1:
_scene->_sequences.remove(g_sequence_ids[2]);
inter_give_to_player(OBJ_GUARDS_ARM);
- _scene->changeVariant(1);
+ kernel_load_variant(1);
break;
case 2:
@@ -611,10 +611,10 @@ void room_352_preload() {
section_3_walker();
section_3_interface();
- _scene->addActiveVocab(words_walkto);
- _scene->addActiveVocab(words_your_stuff);
- _scene->addActiveVocab(words_other_stuff);
- _scene->addActiveVocab(words_lamp);
+ vocab_make_active(words_walkto);
+ vocab_make_active(words_your_stuff);
+ vocab_make_active(words_other_stuff);
+ vocab_make_active(words_lamp);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room353.cpp b/engines/mads/nebular/rooms/room353.cpp
index a4ab3cba959..2276932afe1 100644
--- a/engines/mads/nebular/rooms/room353.cpp
+++ b/engines/mads/nebular/rooms/room353.cpp
@@ -43,7 +43,7 @@ static void room_353_init() {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 5, 0, 5, 0);
_scene->_sequences.setDepth(g_sequence_ids[1], 1);
- if (_scene->_priorSceneId == 352) {
+ if (previous_room == 352) {
player.x = 144;
player.y = 95;
}
@@ -59,9 +59,9 @@ static void room_353_parser() {
if (player.look_around)
text_show(35315);
else if (player_said_2(walk_through, doorway))
- _scene->_nextSceneId = 352;
+ new_room = 352;
else if (player_said_2(walk_down, corridor_to_south))
- _scene->_nextSceneId = 354;
+ new_room = 354;
else if (player_said_2(look, rock_chunk))
text_show(35310);
else if (player_said_2(look, pipes) || player_said_2(look, pipe))
diff --git a/engines/mads/nebular/rooms/room354.cpp b/engines/mads/nebular/rooms/room354.cpp
index e5542839e2b..30ecc4d295e 100644
--- a/engines/mads/nebular/rooms/room354.cpp
+++ b/engines/mads/nebular/rooms/room354.cpp
@@ -41,19 +41,19 @@ static void room_354_init() {
global[kAfterHavoc] = true;
global[kTeleporterRoom + 1] = 351;
- if (_scene->_priorSceneId == 361) {
+ if (previous_room == 361) {
player.x = 231;
player.y = 110;
}
- else if (_scene->_priorSceneId == 401) {
+ else if (previous_room == 401) {
player.x = 106;
player.y = 152;
player.facing = FACING_NORTH;
- } else if (_scene->_priorSceneId == 316) {
+ } else if (previous_room == 316) {
player.x = 71;
player.y = 107;
}
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 167;
player.y = 57;
}
@@ -73,11 +73,11 @@ static void room_354_parser() {
player_start_walking(208, 0, FACING_NORTHEAST);
player.walk_off_edge_to_room = 353;
} else if (player_said_2(walk_down, corridor_to_east))
- _scene->_nextSceneId = 361;
+ new_room = 361;
else if (player_said_2(walk_down, corridor_to_west))
- _scene->_nextSceneId = 316;
+ new_room = 316;
else if (player_said_2(walk_down, corridor_to_south))
- _scene->_nextSceneId = 401;
+ new_room = 401;
else if (player_said_2(look, controls))
text_show(35410);
else if (player_said_2(look, signal))
diff --git a/engines/mads/nebular/rooms/room357.cpp b/engines/mads/nebular/rooms/room357.cpp
index 4d62762da6a..24018328c06 100644
--- a/engines/mads/nebular/rooms/room357.cpp
+++ b/engines/mads/nebular/rooms/room357.cpp
@@ -38,15 +38,15 @@ static void room_357_init() {
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(127, 78));
_scene->_sequences.setDepth(g_sequence_ids[1], 15);
- if (_scene->_priorSceneId == 318) {
+ if (previous_room == 318) {
player.x = 298;
player.y = 142;
}
- else if (_scene->_priorSceneId == 313) {
+ else if (previous_room == 313) {
player.x = 127;
player.y = 101;
}
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 15;
player.y = 148;
}
diff --git a/engines/mads/nebular/rooms/room358.cpp b/engines/mads/nebular/rooms/room358.cpp
index 5be07b40972..c5b72426a0c 100644
--- a/engines/mads/nebular/rooms/room358.cpp
+++ b/engines/mads/nebular/rooms/room358.cpp
@@ -37,11 +37,11 @@ static void room_358_init() {
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(127, 78));
_scene->_sequences.setDepth(g_sequence_ids[1], 15);
- if (_scene->_priorSceneId == 357) {
+ if (previous_room == 357) {
player.x = 305;
player.y = 142;
}
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 12;
player.y = 141;
}
diff --git a/engines/mads/nebular/rooms/room359.cpp b/engines/mads/nebular/rooms/room359.cpp
index 208c2892b57..887c432468b 100644
--- a/engines/mads/nebular/rooms/room359.cpp
+++ b/engines/mads/nebular/rooms/room359.cpp
@@ -57,11 +57,11 @@ static void room_359_init() {
_scene->_dynamicHotspots.setPosition(local._cardHotspotId, Common::Point(107, 107), FACING_SOUTH);
}
- if (_scene->_priorSceneId == 358) {
+ if (previous_room == 358) {
player.x = 301;
player.y = 141;
}
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 15;
player.y = 148;
}
@@ -110,7 +110,7 @@ static void room_359_parser() {
g_engine->_soundManager->command(57, 0);
inter_give_to_player(OBJ_SECURITY_CARD);
object_examine(OBJ_SECURITY_CARD, 0x330, 0);
- _scene->changeVariant(1);
+ kernel_load_variant(1);
break;
case 2:
@@ -182,7 +182,7 @@ void room_359_preload() {
section_3_walker();
section_3_interface();
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room360.cpp b/engines/mads/nebular/rooms/room360.cpp
index 7716fec704c..f8891a11191 100644
--- a/engines/mads/nebular/rooms/room360.cpp
+++ b/engines/mads/nebular/rooms/room360.cpp
@@ -37,11 +37,11 @@ static void room_360_init() {
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(127, 78));
_scene->_sequences.setDepth(g_sequence_ids[1], 15);
- if (_scene->_priorSceneId == 359) {
+ if (previous_room == 359) {
player.x = 304;
player.y = 143;
}
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 13;
player.y = 141;
}
diff --git a/engines/mads/nebular/rooms/room361.cpp b/engines/mads/nebular/rooms/room361.cpp
index 246f3286f6f..24613f1804f 100644
--- a/engines/mads/nebular/rooms/room361.cpp
+++ b/engines/mads/nebular/rooms/room361.cpp
@@ -121,7 +121,7 @@ static void handleRexAction() {
break;
case 7:
- _scene->_nextSceneId = 313;
+ new_room = 313;
break;
default:
@@ -224,7 +224,7 @@ static void handleRoxAction() {
break;
case 7:
- _scene->_nextSceneId = 313;
+ new_room = 313;
break;
default:
@@ -245,7 +245,7 @@ static void room_361_init() {
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
_scene->_sequences.setDepth(g_sequence_ids[1], 15);
- if (_scene->_priorSceneId == 391) {
+ if (previous_room == 391) {
global[kSexOfRex] = REX_MALE;
player.commands_allowed = false;
player.walker_visible = false;
@@ -253,22 +253,22 @@ static void room_361_init() {
player.x = 166;
player.y = 101;
_scene->_sequences.addTimer(120, 70);
- } else if (_scene->_priorSceneId == 360) {
+ } else if (previous_room == 360) {
player.x = 302;
player.y = 145;
}
- else if (_scene->_priorSceneId == 320) {
+ else if (previous_room == 320) {
player.x = 129;
player.y = 113;
player.facing = FACING_SOUTH;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 13;
player.y = 145;
}
kernel.quotes = quote_load(0xFB, 0xFC, 0);
- if (_scene->_priorSceneId == 320)
+ if (previous_room == 320)
_scene->_kernelMessages.setQuoted(_scene->_kernelMessages.addQuote(0xFB, 0, 0x78), 4, true);
section_3_music();
@@ -431,7 +431,7 @@ void room_361_preload() {
room_parser_code_pointer = room_361_parser;
room_daemon_code_pointer = room_361_daemon;
- if (_scene->_currentSceneId == 391)
+ if (room_id == 391)
global[kSexOfRex] = REX_MALE;
section_3_walker();
diff --git a/engines/mads/nebular/rooms/room366.cpp b/engines/mads/nebular/rooms/room366.cpp
index 4408980accf..33793d2f19a 100644
--- a/engines/mads/nebular/rooms/room366.cpp
+++ b/engines/mads/nebular/rooms/room366.cpp
@@ -39,13 +39,13 @@ static void room_366_init() {
static void room_366_parser() {
if (player_said_2(return_to, air_shaft))
- _scene->_nextSceneId = 302;
+ new_room = 302;
else if (player_said_2(open, grate)) {
if (player_has_been_in_room(316))
text_show(36612);
else
text_show(36613);
- _scene->_nextSceneId = 316;
+ new_room = 316;
} else if (player_said_2(look_through, grate)) {
if (player_has_been_in_room(321))
text_show(36611);
diff --git a/engines/mads/nebular/rooms/room387.cpp b/engines/mads/nebular/rooms/room387.cpp
index d2e208a2fbb..44c3fe0d449 100644
--- a/engines/mads/nebular/rooms/room387.cpp
+++ b/engines/mads/nebular/rooms/room387.cpp
@@ -40,7 +40,7 @@ static void room_387_init() {
static void room_387_parser() {
if (player_said_2(return_to, air_shaft))
- _scene->_nextSceneId = 313;
+ new_room = 313;
else if (player_said_2(look_through, grate))
text_show(38710);
else if (player_said_2(open, grate))
diff --git a/engines/mads/nebular/rooms/room388.cpp b/engines/mads/nebular/rooms/room388.cpp
index 375881c218a..e1fd078f307 100644
--- a/engines/mads/nebular/rooms/room388.cpp
+++ b/engines/mads/nebular/rooms/room388.cpp
@@ -52,7 +52,7 @@ static void room_388_init() {
static void room_388_parser() {
if (player_said_2(return_to, air_shaft))
- _scene->_nextSceneId = 313;
+ new_room = 313;
else if (player_said_2(talkto, sauropod)) {
switch (kernel.trigger) {
case 0:
diff --git a/engines/mads/nebular/rooms/room389.cpp b/engines/mads/nebular/rooms/room389.cpp
index 8e5fe3d7165..7779adeccac 100644
--- a/engines/mads/nebular/rooms/room389.cpp
+++ b/engines/mads/nebular/rooms/room389.cpp
@@ -66,16 +66,16 @@ static void room_389_init() {
static void room_389_daemon() {
_scene->_kernelMessages.randomServer();
- if (_scene->_frameStartTime >= local._monsterTime) {
+ if (kernel.clock >= local._monsterTime) {
int chanceMinor = _scene->_kernelMessages.checkRandom() * 4 + 1;
_scene->_kernelMessages.generateRandom(20, chanceMinor);
- local._monsterTime = _scene->_frameStartTime + 2;
+ local._monsterTime = kernel.clock + 2;
}
}
static void room_389_parser() {
if (player_said_2(return_to, air_shaft))
- _scene->_nextSceneId = 313;
+ new_room = 313;
else if (player_said_2(talkto, monster)) {
switch (kernel.trigger) {
case 0:
diff --git a/engines/mads/nebular/rooms/room390.cpp b/engines/mads/nebular/rooms/room390.cpp
index 81e78a40a59..11e5af3b1f2 100644
--- a/engines/mads/nebular/rooms/room390.cpp
+++ b/engines/mads/nebular/rooms/room390.cpp
@@ -40,7 +40,7 @@ static void room_390_init() {
static void room_390_parser() {
if (player_said_2(return_to, air_shaft))
- _scene->_nextSceneId = 313;
+ new_room = 313;
else if (player_said_2(look_through, grate))
text_show(39010);
else if (player_said_2(open, grate))
diff --git a/engines/mads/nebular/rooms/room391.cpp b/engines/mads/nebular/rooms/room391.cpp
index d2658f096ef..43420ad6bc4 100644
--- a/engines/mads/nebular/rooms/room391.cpp
+++ b/engines/mads/nebular/rooms/room391.cpp
@@ -39,7 +39,7 @@ static void room_391_init() {
static void room_391_parser() {
if (player_said_2(return_to, air_shaft))
- _scene->_nextSceneId = 313;
+ new_room = 313;
else if (player_said_2(open, grate)) {
if (global[kKickedIn391Grate])
text_show(39113);
@@ -49,9 +49,9 @@ static void room_391_parser() {
}
if (global[kAfterHavoc])
- _scene->_nextSceneId = 361;
+ new_room = 361;
else
- _scene->_nextSceneId = 311;
+ new_room = 311;
} else if (player_said_2(look_through, grate)) {
if (global[kAfterHavoc])
text_show(39111);
diff --git a/engines/mads/nebular/rooms/room399.cpp b/engines/mads/nebular/rooms/room399.cpp
index 0d8e140d9d5..921c70f99d7 100644
--- a/engines/mads/nebular/rooms/room399.cpp
+++ b/engines/mads/nebular/rooms/room399.cpp
@@ -39,7 +39,7 @@ static void room_399_init() {
static void room_399_parser() {
if (player_said_2(return_to, air_shaft))
- _scene->_nextSceneId = 313;
+ new_room = 313;
else if (player_said_2(look_through, grate)) {
if (global[kAfterHavoc]) {
if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_SECURITY_CARD].location == 359))
diff --git a/engines/mads/nebular/rooms/room401.cpp b/engines/mads/nebular/rooms/room401.cpp
index 59ccf0da92c..9b9fc537480 100644
--- a/engines/mads/nebular/rooms/room401.cpp
+++ b/engines/mads/nebular/rooms/room401.cpp
@@ -43,21 +43,21 @@ static Scratch local;
static void room_401_init() {
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
+ if (previous_room != RETURNING_FROM_DIALOG)
local._northFl = false;
local._timer = 0;
- if (_scene->_priorSceneId == 402) {
+ if (previous_room == 402) {
player.x = 203;
player.y = 115;
player.facing = FACING_WEST;
- } else if (_scene->_priorSceneId == 354) {
+ } else if (previous_room == 354) {
player.x = 149;
player.y = 90;
player.facing = FACING_SOUTH;
local._northFl = true;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 142;
player.y = 131;
player.facing = FACING_NORTH;
@@ -69,19 +69,19 @@ static void room_401_init() {
static void room_401_daemon() {
if (kernel.trigger == 70) {
- _scene->_nextSceneId = 354;
- _scene->_reloadSceneFlag = true;
+ new_room = 354;
+ kernel.force_restart = true;
}
if (kernel.trigger == 80) {
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
player.commands_allowed = true;
player.walker_visible = true;
local._northFl = false;
player_walk(149, 110, FACING_SOUTH);
}
- if (_scene->_frameStartTime >= local._timer) {
+ if (kernel.clock >= local._timer) {
int dist = 64 - ((Math::hypotenuse(player.x - 219, player.y - 115) * 64) / 120);
if (dist > 64)
@@ -90,7 +90,7 @@ static void room_401_daemon() {
dist = 1;
g_engine->_soundManager->command(12, dist);
- local._timer = _scene->_frameStartTime + player.frame_delay;
+ local._timer = kernel.clock + player.frame_delay;
}
}
@@ -127,7 +127,7 @@ static void room_401_parser() {
player.commands_allowed = false;
player.walker_visible = false;
g_engine->_soundManager->command(21, 0);
- _scene->loadAnimation(kernel_name('s', 1), 70);
+ kernel_run_animation(kernel_name('s', 1), 70);
global[kHasBeenScanned] = true;
g_engine->_soundManager->command(22, 0);
int idx = _scene->_kernelMessages.add(Common::Point(153, 46), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 0x1D4));
@@ -139,7 +139,7 @@ static void room_401_parser() {
player.commands_allowed = false;
player.walker_visible = false;
g_engine->_soundManager->command(21, 0);
- _scene->loadAnimation(kernel_name('s', 2), 80);
+ kernel_run_animation(kernel_name('s', 2), 80);
g_engine->_soundManager->command(23, 0);
global[kHasBeenScanned] = true;
}
@@ -147,9 +147,9 @@ static void room_401_parser() {
if (player_said_2(walk_into, bar)) {
if (!local._northFl)
- _scene->_nextSceneId = 402;
+ new_room = 402;
} else if (player_said_2(walk_down, corridor_to_north))
- _scene->_nextSceneId = 354;
+ new_room = 354;
else if (player_said_2(look, scanner)) {
if (global[kHasBeenScanned])
text_show(40111);
diff --git a/engines/mads/nebular/rooms/room402.cpp b/engines/mads/nebular/rooms/room402.cpp
index 2d803157e30..57dd378e9e8 100644
--- a/engines/mads/nebular/rooms/room402.cpp
+++ b/engines/mads/nebular/rooms/room402.cpp
@@ -402,7 +402,7 @@ static void handleDialogs() {
_scene->_kernelMessages.reset();
player.commands_allowed = false;
const char *curQuote = quote_string(kernel.quotes, player2.words[0]);
- if (_scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing) > 200) {
+ if (_scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing) > 200) {
static char subQuote1[34], subQuote2[34];
quote_split_string(curQuote, subQuote1, subQuote2);
_scene->_kernelMessages.add(Common::Point(230, 42), 0x1110, 32, 0, 140, subQuote1);
@@ -462,14 +462,14 @@ static void room_402_init() {
g_sprite_ids[21] = kernel_load_series("*ROXRC_9", 0);
g_sprite_ids[22] = kernel_load_series("*ROXCL_8", 0);
- if (_scene->_priorSceneId == 401) {
+ if (previous_room == 401) {
player.x = 160;
player.y = 150;
player.facing = FACING_NORTH;
local._roxOnStool = false;
local._bartenderDialogNode = 1;
local._conversationFl = false;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 160;
player.y = 150;
player.facing = FACING_NORTH;
@@ -627,7 +627,7 @@ static void room_402_init() {
local._rexMode = 0;
local._refuseAlienLiquor = false;
- _scene->loadAnimation(kernel_full_name(402, 'd', 1, "", EXT_AA));
+ kernel_run_animation(kernel_full_name(402, 'd', 1, "", EXT_AA), 0);
_scene->_animation[0]->_repeatFlag = true;
g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
@@ -679,7 +679,7 @@ static void room_402_init() {
static void room_402_daemon() {
if (kernel.trigger == 104) {
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
_scene->_sequences.remove(g_sequence_ids[15]);
inter_give_to_player(OBJ_CREDIT_CHIP);
@@ -1742,13 +1742,13 @@ static void room_402_daemon() {
if (kernel.trigger == 102) {
_scene->_sequences.remove(g_sequence_ids[6]);
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[7], 14, 18);
_scene->_sequences.setDepth(g_sequence_ids[7], 5);
_scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 103);
} else if (kernel.trigger == 103) {
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
local._roxOnStool = false;
player.facing = FACING_SOUTH;
player_select_series();
@@ -1869,7 +1869,7 @@ static void room_402_parser() {
inter_give_to_player(OBJ_REPAIR_LIST);
}
} else if (kernel.trigger == 166) {
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
_scene->_sequences.addTimer(20, 167);
} else if (kernel.trigger == 167) {
@@ -1878,7 +1878,7 @@ static void room_402_parser() {
} else if (inter_input_mode == kInputConversation)
handleDialogs();
else if (player_said_2(walk_into, corridor_to_south))
- _scene->_nextSceneId = 401;
+ new_room = 401;
else if (player_said_2(walk_onto, dance_floor))
; // just... nothing
else if (player_said_2(talkto, repair_woman)) {
@@ -2229,15 +2229,15 @@ void room_402_preload() {
section_4_walker();
section_4_interface();
- _scene->addActiveVocab(words_bartender);
- _scene->addActiveVocab(words_alien_liquor);
- _scene->addActiveVocab(words_drink);
- _scene->addActiveVocab(words_binoculars);
- _scene->addActiveVocab(words_walkto);
- _scene->addActiveVocab(words_credit_chip);
- _scene->addActiveVocab(words_take);
- _scene->addActiveVocab(words_repair_list);
- _scene->addActiveVocab(words_look_at);
+ vocab_make_active(words_bartender);
+ vocab_make_active(words_alien_liquor);
+ vocab_make_active(words_drink);
+ vocab_make_active(words_binoculars);
+ vocab_make_active(words_walkto);
+ vocab_make_active(words_credit_chip);
+ vocab_make_active(words_take);
+ vocab_make_active(words_repair_list);
+ vocab_make_active(words_look_at);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room405.cpp b/engines/mads/nebular/rooms/room405.cpp
index a5ef5d5b61b..c627c76d4cb 100644
--- a/engines/mads/nebular/rooms/room405.cpp
+++ b/engines/mads/nebular/rooms/room405.cpp
@@ -36,23 +36,23 @@ static void room_405_init() {
g_sprite_ids[2] = kernel_load_series(kernel_name('x', 1), 0);
g_sprite_ids[3] = kernel_load_series("*ROXCL_8", 0);
- if (_scene->_priorSceneId == 401) {
+ if (previous_room == 401) {
player.x = 23;
player.y = 123;
player.facing = FACING_EAST;
- } else if (_scene->_priorSceneId == 406) {
+ } else if (previous_room == 406) {
player.x = 300;
player.y = 128;
player.facing = FACING_WEST;
- } else if (_scene->_priorSceneId == 408) {
+ } else if (previous_room == 408) {
player.x = 154;
player.y = 109;
player.facing = FACING_SOUTH;
- } else if (_scene->_priorSceneId == 413) {
+ } else if (previous_room == 413) {
player.x = 284;
player.y = 109;
player.facing = FACING_SOUTH;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 23;
player.y = 123;
player.facing = FACING_EAST;
@@ -63,7 +63,7 @@ static void room_405_init() {
else
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
- if (_scene->_roomChanged) {
+ if (kernel.teleported_in) {
global[kArmoryDoorOpen] = false;
inter_give_to_player(OBJ_SECURITY_CARD);
}
@@ -75,7 +75,7 @@ static void room_405_init() {
static void room_405_daemon() {
if (kernel.trigger == 80) {
_scene->_sequences.addTimer(20, 81);
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
}
@@ -85,7 +85,7 @@ static void room_405_daemon() {
}
if (kernel.trigger == 70) {
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
g_sequence_ids[1] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[1], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
@@ -100,7 +100,7 @@ static void room_405_daemon() {
}
if (kernel.trigger == 75) {
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
_scene->_sequences.remove(g_sequence_ids[1]);
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 1, 0, 0);
@@ -128,9 +128,9 @@ static void room_405_pre_parser() {
static void room_405_parser() {
if (player_said_2(walk_through, door))
- _scene->_nextSceneId = 413;
+ new_room = 413;
else if (player_said_2(walk_through, wide_door) && global[kArmoryDoorOpen])
- _scene->_nextSceneId = 408;
+ new_room = 408;
else if (player_said_2(walk_through, wide_door) && !global[kArmoryDoorOpen])
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, quote_string(kernel.quotes, 0x24F));
else if (player_said_3(put, security_card, card_slot) && !global[kArmoryDoorOpen]) {
diff --git a/engines/mads/nebular/rooms/room406.cpp b/engines/mads/nebular/rooms/room406.cpp
index df237d734bf..e0035624858 100644
--- a/engines/mads/nebular/rooms/room406.cpp
+++ b/engines/mads/nebular/rooms/room406.cpp
@@ -40,23 +40,23 @@ static Scratch local;
static void room_406_init() {
player.walker_visible = true;
- if (_scene->_priorSceneId == 405) {
+ if (previous_room == 405) {
player.x = 15;
player.y = 129;
player.facing = FACING_EAST;
- } else if (_scene->_priorSceneId == 407) {
+ } else if (previous_room == 407) {
player.x = 270;
player.y = 127;
player.facing = FACING_WEST;
- } else if (_scene->_priorSceneId == 410) {
+ } else if (previous_room == 410) {
player.x = 30;
player.y = 108;
player.facing = FACING_SOUTH;
- } else if (_scene->_priorSceneId == 411) {
+ } else if (previous_room == 411) {
player.x = 153;
player.y = 108;
player.facing = FACING_SOUTH;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 15;
player.y = 129;
player.facing = FACING_EAST;
@@ -66,7 +66,7 @@ static void room_406_init() {
g_sprite_ids[1] = kernel_load_series(kernel_name('x', 0), 0);
g_sprite_ids[3] = kernel_load_series(kernel_name('x', 1), 0);
- if (_scene->_roomChanged) {
+ if (kernel.teleported_in) {
global[kStorageDoorOpen] = false;
inter_give_to_player(OBJ_SECURITY_CARD);
}
@@ -74,7 +74,7 @@ static void room_406_init() {
if (!global[kStorageDoorOpen])
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
- if (_scene->_priorSceneId != 411)
+ if (previous_room != 411)
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
else {
player.commands_allowed = false;
@@ -96,7 +96,7 @@ static void room_406_daemon() {
}
if (kernel.trigger == 80)
- _scene->_nextSceneId = 411;
+ new_room = 411;
if (kernel.trigger == 100) {
text_show(40622);
@@ -105,7 +105,7 @@ static void room_406_daemon() {
if (kernel.trigger == 110) {
_scene->_sequences.addTimer(20, 111);
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
}
@@ -115,7 +115,7 @@ static void room_406_daemon() {
}
if (kernel.trigger == 70) {
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
g_sequence_ids[1] = _scene->_sequences.startPingPongCycle(g_sprite_ids[1], false, 4, 1, 0, 0);
_scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
@@ -133,7 +133,7 @@ static void room_406_daemon() {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 4, 1, 0, 0);
global[kStorageDoorOpen] = true;
player.commands_allowed = true;
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
g_engine->_soundManager->command(19, 0);
}
@@ -162,7 +162,7 @@ static void room_406_parser() {
_scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
g_engine->_soundManager->command(19, 0);
} else if (player_said_2(walk_through, door) && global[kStorageDoorOpen] && (player.target_x < 100))
- _scene->_nextSceneId = 410;
+ new_room = 410;
else if (player_said_2(walk_through, door) && !global[kStorageDoorOpen] && (player.target_x < 100)) {
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, quote_string(kernel.quotes, 0x24F));
if (!local._hitStorageDoor) {
diff --git a/engines/mads/nebular/rooms/room407.cpp b/engines/mads/nebular/rooms/room407.cpp
index 697676267be..d107580b69f 100644
--- a/engines/mads/nebular/rooms/room407.cpp
+++ b/engines/mads/nebular/rooms/room407.cpp
@@ -41,15 +41,15 @@ static Scratch local;
static void room_407_init() {
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
+ if (previous_room != RETURNING_FROM_DIALOG)
local._fromNorth = false;
- if (_scene->_priorSceneId == 318) {
+ if (previous_room == 318) {
player.x = 172;
player.y = 92;
player.facing = FACING_SOUTH;
local._fromNorth = true;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 172;
player.y = 132;
player.facing = FACING_NORTH;
@@ -61,12 +61,12 @@ static void room_407_init() {
static void room_407_daemon() {
if (kernel.trigger == 70) {
- _scene->_nextSceneId = 318;
- _scene->_reloadSceneFlag = true;
+ new_room = 318;
+ kernel.force_restart = true;
}
if (kernel.trigger == 80) {
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
player.commands_allowed = true;
player.walker_visible = true;
local._fromNorth = false;
@@ -105,7 +105,7 @@ static void room_407_parser() {
player.commands_allowed = false;
player.walker_visible = false;
g_engine->_soundManager->command(21, 0);
- _scene->loadAnimation(kernel_name('s', 1), 70);
+ kernel_run_animation(kernel_name('s', 1), 70);
global[kHasBeenScanned] = true;
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, quote_string(kernel.quotes, 592));
g_engine->_soundManager->command(22, 0);
@@ -116,16 +116,16 @@ static void room_407_parser() {
player.commands_allowed = false;
player.walker_visible = false;
g_engine->_soundManager->command(21, 0);
- _scene->loadAnimation(kernel_name('s', 2), 80);
+ kernel_run_animation(kernel_name('s', 2), 80);
g_engine->_soundManager->command(23, 0);
global[kHasBeenScanned] = true;
}
}
if (player_said_2(walk_down, corridor_to_south) && !local._fromNorth)
- _scene->_nextSceneId = 406;
+ new_room = 406;
else if (player_said_2(walk_down, corridor_to_north))
- _scene->_nextSceneId = 318;
+ new_room = 318;
else if (player_said_2(look, scanner)) {
if (global[kHasBeenScanned])
text_show(40711);
diff --git a/engines/mads/nebular/rooms/room408.cpp b/engines/mads/nebular/rooms/room408.cpp
index a7430382203..a5afb40fd87 100644
--- a/engines/mads/nebular/rooms/room408.cpp
+++ b/engines/mads/nebular/rooms/room408.cpp
@@ -58,7 +58,7 @@ static void room_408_pre_parser() {
static void room_408_parser() {
if (player_said_2(walk_into, corridor_to_south)) {
- _scene->_nextSceneId = 405;
+ new_room = 405;
g_engine->_soundManager->command(58, 0);
} else if (player_said_2(take, target_module) && (object_is_here(OBJ_TARGET_MODULE) || kernel.trigger)) {
switch (kernel.trigger) {
@@ -80,7 +80,7 @@ static void room_408_parser() {
break;
case 2:
- player.clock = player.frame_delay + _scene->_frameStartTime;
+ player.clock = player.frame_delay + kernel.clock;
player.walker_visible = true;
_scene->_sequences.addTimer(20, 3);
break;
@@ -188,8 +188,8 @@ void room_408_preload() {
section_4_walker();
section_4_interface();
- _scene->addActiveVocab(words_target_module);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_target_module);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room410.cpp b/engines/mads/nebular/rooms/room410.cpp
index cc4221bf1d6..4026b9145e9 100644
--- a/engines/mads/nebular/rooms/room410.cpp
+++ b/engines/mads/nebular/rooms/room410.cpp
@@ -40,7 +40,7 @@ static void room_410_init() {
else
_scene->_hotspots.activate(words_charge_cases, false);
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 155;
player.y = 150;
player.facing = FACING_NORTH;
@@ -48,7 +48,7 @@ static void room_410_init() {
section_4_music();
- _scene->loadAnimation(kernel_full_name(410, 'r', -1, "", EXT_AA));
+ kernel_run_animation(kernel_full_name(410, 'r', -1, "", EXT_AA), 0);
_scene->_animation[0]->_repeatFlag = true;
}
@@ -98,7 +98,7 @@ static void room_410_pre_parser() {
static void room_410_parser() {
if (player_said_2(walk_into, corridor_to_south))
- _scene->_nextSceneId = 406;
+ new_room = 406;
else if (player_said_2(take, charge_cases) && (object_is_here(OBJ_CHARGE_CASES) || kernel.trigger)) {
switch (kernel.trigger) {
case 0:
@@ -120,7 +120,7 @@ static void room_410_parser() {
break;
case 2:
- player.clock = player.frame_delay + _scene->_frameStartTime;
+ player.clock = player.frame_delay + kernel.clock;
player.walker_visible = true;
_scene->_sequences.addTimer(20, 3);
break;
diff --git a/engines/mads/nebular/rooms/room411.cpp b/engines/mads/nebular/rooms/room411.cpp
index b837b89a99e..44243dd1475 100644
--- a/engines/mads/nebular/rooms/room411.cpp
+++ b/engines/mads/nebular/rooms/room411.cpp
@@ -249,7 +249,7 @@ static void handleDialog() {
break;
}
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = false;
player.commands_allowed = false;
_scene->_animation[0]->setCurrentFrame(local._resetFrame);
@@ -294,7 +294,7 @@ static void giveToRex(int object_id) {
}
static void room_411_init() {
- if (_scene->_priorSceneId == 411) {
+ if (previous_room == 411) {
if ((global[kNextIngredient] == 1) && (global[kBadFirstIngredient] > -1))
giveToRex(global[kBadFirstIngredient]);
else if (global[kNextIngredient] > 0) {
@@ -397,7 +397,7 @@ static void room_411_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(220, 121), FACING_NORTHEAST);
}
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 60;
player.y = 146;
player.facing = FACING_NORTHEAST;
@@ -405,14 +405,14 @@ static void room_411_init() {
section_4_music();
- if (_scene->_roomChanged) {
+ if (kernel.teleported_in) {
inter_give_to_player(OBJ_ALIEN_LIQUOR);
inter_give_to_player(OBJ_CHARGE_CASES);
inter_give_to_player(OBJ_TAPE_PLAYER);
inter_give_to_player(OBJ_AUDIO_TAPE);
}
- _scene->loadAnimation(kernel_name('a', -1));
+ kernel_run_animation(kernel_name('a', -1), 0);
_scene->_animation[0]->setCurrentFrame(128);
local._makeMushroomCloud = false;
@@ -428,7 +428,7 @@ static void room_411_daemon() {
switch (local._curAnimationFrame) {
case 16:
player.commands_allowed = true;
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
local._resetFrame = 128;
break;
@@ -479,7 +479,7 @@ static void room_411_daemon() {
case 111:
local._resetFrame = 111;
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
break;
case 129:
@@ -528,7 +528,7 @@ static void room_411_parser() {
}
if (player_said_2(walk_into, corridor_to_south)) {
- _scene->_nextSceneId = 406;
+ new_room = 406;
g_engine->_soundManager->command(10, 0);
player.command_ready = false;
return;
@@ -574,7 +574,7 @@ static void room_411_parser() {
_scene->_sequences.addSubEntry(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 112);
// fall through
case 112:
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
player.walker_visible = true;
player.commands_allowed = true;
object_set_quality(OBJ_CHARGE_CASES, 3, 1);
@@ -612,8 +612,8 @@ static void room_411_parser() {
break;
case 2:
- player.clock = _scene->_frameStartTime + player.frame_delay;
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
_scene->_sequences.addTimer(20, 3);
break;
@@ -649,7 +649,7 @@ static void room_411_parser() {
break;
case 2:
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
_scene->_sequences.addTimer(20, 3);
break;
@@ -680,7 +680,7 @@ static void room_411_parser() {
if (kernel.trigger == 100) {
_scene->_sequences.remove(g_sequence_ids[11]);
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
player.walker_visible = true;
player.commands_allowed = true;
_scene->_sequences.addTimer(20, 10);
@@ -806,11 +806,11 @@ void room_411_preload() {
section_4_walker();
section_4_interface();
- _scene->addActiveVocab(words_walkto);
- _scene->addActiveVocab(words_alien_liquor);
- _scene->addActiveVocab(words_formaldehyde);
- _scene->addActiveVocab(words_petrox);
- _scene->addActiveVocab(words_lecithin);
+ vocab_make_active(words_walkto);
+ vocab_make_active(words_alien_liquor);
+ vocab_make_active(words_formaldehyde);
+ vocab_make_active(words_petrox);
+ vocab_make_active(words_lecithin);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room413.cpp b/engines/mads/nebular/rooms/room413.cpp
index 2ab217ab2f1..0b47b31be94 100644
--- a/engines/mads/nebular/rooms/room413.cpp
+++ b/engines/mads/nebular/rooms/room413.cpp
@@ -43,14 +43,14 @@ static void room_413_init() {
g_sprite_ids[1] = kernel_load_series(kernel_name('a', 2), 0);
local._rexDeath = false;
- if (_scene->_priorSceneId == 405) {
+ if (previous_room == 405) {
player.x = 142;
player.y = 146;
player.facing = FACING_NORTH;
player.walker_visible = true;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
if (global[kSexOfRex] == REX_MALE) {
- _scene->loadAnimation(kernel_full_name(413, 'd', 1, "", EXT_AA), 78);
+ kernel_run_animation(kernel_full_name(413, 'd', 1, "", EXT_AA), 78);
g_engine->_soundManager->command(30, 0);
player.walker_visible = false;
player.commands_allowed = false;
@@ -125,13 +125,13 @@ static void room_413_daemon() {
if (kernel.trigger == 77) {
global[kTeleporterCommand] = TELEPORTER_BEAM_IN;
- _scene->_nextSceneId = global[kTeleporterDestination];
- _scene->_reloadSceneFlag = true;
+ new_room = global[kTeleporterDestination];
+ kernel.force_restart = true;
}
if (kernel.trigger == 78) {
- _scene->_reloadSceneFlag = true;
- _scene->_nextSceneId = _scene->_priorSceneId;
+ kernel.force_restart = true;
+ new_room = previous_room;
global[kTeleporterCommand] = TELEPORTER_NONE;
}
}
@@ -150,9 +150,9 @@ static void room_413_parser() {
if (player_said_2(walk_inside, teleporter)) {
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_nextSceneId = 409;
+ new_room = 409;
} else if (player_said_2(walk_into, corridor_to_south))
- _scene->_nextSceneId = 405;
+ new_room = 405;
else if (player_said_2(look, wooden_statue))
text_show(41310);
else if (player_said_2(take, wooden_statue))
diff --git a/engines/mads/nebular/rooms/room501.cpp b/engines/mads/nebular/rooms/room501.cpp
index 3cb7fbcca22..8efb0bfd4de 100644
--- a/engines/mads/nebular/rooms/room501.cpp
+++ b/engines/mads/nebular/rooms/room501.cpp
@@ -107,7 +107,7 @@ static void room_501_init() {
_scene->_sequences.setDepth(g_sequence_ids[2], 4);
local._rexPunched = true;
- if (_scene->_priorSceneId == 504) {
+ if (previous_room == 504) {
player.commands_allowed = false;
player.x = 74;
player.y = 121;
@@ -118,20 +118,20 @@ static void room_501_init() {
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -2);
_scene->_sequences.setDepth(g_sequence_ids[2], 4);
if (global[kSexOfRex] == REX_MALE)
- _scene->loadAnimation(kernel_name('G', 2), 70);
+ kernel_run_animation(kernel_name('G', 2), 70);
else
- _scene->loadAnimation(kernel_name('R', 2), 70);
- } else if (_scene->_priorSceneId == 503) {
+ kernel_run_animation(kernel_name('R', 2), 70);
+ } else if (previous_room == 503) {
player.x = 317;
player.y = 102;
player.facing = FACING_SOUTHWEST;
_scene->_sequences.addTimer(15, 80);
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 299;
player.y = 131;
}
- if (_scene->_roomChanged) {
+ if (kernel.teleported_in) {
inter_give_to_player(OBJ_FAKE_ID);
inter_give_to_player(OBJ_SECURITY_CARD);
inter_give_to_player(OBJ_ID_CARD);
@@ -191,7 +191,7 @@ static void room_501_daemon() {
switch (kernel.trigger) {
case 70:
player.walker_visible = true;
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
_scene->_sequences.addTimer(15, 71);
break;
@@ -268,7 +268,7 @@ static void room_501_parser() {
break;
case 4:
- _scene->_nextSceneId = 504;
+ new_room = 504;
break;
default:
@@ -289,7 +289,7 @@ static void room_501_parser() {
if (global[kSexOfRex] == REX_MALE) {
player.walker_visible = false;
g_engine->_soundManager->command(13, 0);
- _scene->loadAnimation(kernel_name('G', 1), 5);
+ kernel_run_animation(kernel_name('G', 1), 5);
} else {
local._rexPunched = false;
_scene->_kernelMessages.reset();
@@ -299,7 +299,7 @@ static void room_501_parser() {
case 5:
player.walker_visible = true;
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
_scene->_sequences.addTimer(30, 6);
break;
@@ -361,7 +361,7 @@ static void room_501_parser() {
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
_scene->_sequences.setDepth(g_sequence_ids[3], 7);
_scene->_sequences.updateTimeout(g_sequence_ids[3], syncIdx);
- _scene->_nextSceneId = 503;
+ new_room = 503;
}
break;
@@ -421,8 +421,8 @@ void room_501_preload() {
section_5_walker();
section_5_interface();
- _scene->addActiveVocab(words_door);
- _scene->addActiveVocab(words_walk_through);
+ vocab_make_active(words_door);
+ vocab_make_active(words_walk_through);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room502.cpp b/engines/mads/nebular/rooms/room502.cpp
index fa3f9b616d9..e3f38b1fb25 100644
--- a/engines/mads/nebular/rooms/room502.cpp
+++ b/engines/mads/nebular/rooms/room502.cpp
@@ -44,7 +44,7 @@ static void room_502_init() {
// The original uses scene5xx_section_5_music
if (!config_file.music_flag)
g_engine->_soundManager->command(2, 0);
- else if (_scene->_priorSceneId == 503)
+ else if (previous_room == 503)
g_engine->_soundManager->command(38, 0);
else
g_engine->_soundManager->command(29, 0);
diff --git a/engines/mads/nebular/rooms/room503.cpp b/engines/mads/nebular/rooms/room503.cpp
index 221367bb450..30de37adef1 100644
--- a/engines/mads/nebular/rooms/room503.cpp
+++ b/engines/mads/nebular/rooms/room503.cpp
@@ -47,13 +47,13 @@ static void room_503_init() {
else
g_sprite_ids[3] = kernel_load_series("*ROXBD_2", 0);
- if (object[OBJ_DETONATORS].location == _scene->_currentSceneId) {
+ if (object[OBJ_DETONATORS].location == room_id) {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 9, 0, 0, 0);
local._detonatorHotspotId = _scene->_dynamicHotspots.add(words_detonators, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(local._detonatorHotspotId, Common::Point(254, 135), FACING_SOUTH);
}
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 191;
player.y = 152;
player.facing = FACING_NORTHWEST;
@@ -64,7 +64,7 @@ static void room_503_init() {
static void room_503_parser() {
if (player_said_2(walk, outside))
- _scene->_nextSceneId = 501;
+ new_room = 501;
else if (player_said_2(take, detonators)) {
if (kernel.trigger || !player_has(OBJ_DETONATORS)) {
switch (kernel.trigger) {
@@ -163,8 +163,8 @@ void room_503_preload() {
section_5_walker();
section_5_interface();
- _scene->addActiveVocab(words_detonators);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_detonators);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room504.cpp b/engines/mads/nebular/rooms/room504.cpp
index 499c119e0a6..a5ac5d73bff 100644
--- a/engines/mads/nebular/rooms/room504.cpp
+++ b/engines/mads/nebular/rooms/room504.cpp
@@ -50,7 +50,7 @@ static void room_504_init() {
g_sprite_ids[1] = kernel_load_series(kernel_name('a', 0), 0);
else {
g_sprite_ids[1] = kernel_load_series(kernel_name('a', 1), 0);
- _scene->changeVariant(1);
+ kernel_load_variant(1);
}
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 1, 0, 0);
@@ -58,18 +58,18 @@ static void room_504_init() {
g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 0, 0);
local._carFrame = -1;
- if ((_scene->_priorSceneId == 505) && (global[kHoverCarDestination] != global[kHoverCarLocation])) {
+ if ((previous_room == 505) && (global[kHoverCarDestination] != global[kHoverCarLocation])) {
local._carAnimationMode = 1;
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
g_engine->_soundManager->command(14, 0);
_scene->_sequences.addTimer(1, 70);
player.commands_allowed = false;
} else {
g_sprite_ids[3] = kernel_load_series(kernel_name('a', 3), 0);
local._carAnimationMode = 1;
- _scene->loadAnimation(kernel_name('A', -1));
- if ((_scene->_priorSceneId != RETURNING_FROM_DIALOG) && (_scene->_priorSceneId != 505))
- global[kHoverCarLocation] = _scene->_priorSceneId;
+ kernel_run_animation(kernel_name('A', -1), 0);
+ if ((previous_room != RETURNING_FROM_DIALOG) && (previous_room != 505))
+ global[kHoverCarLocation] = previous_room;
g_sequence_ids[7] = _scene->_sequences.startCycle(g_sprite_ids[7], false, 1);
}
@@ -104,23 +104,23 @@ static void room_504_daemon() {
case 70:
if (global[kHoverCarDestination] != -1) {
player.commands_allowed = false;
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._carAnimationMode = 2;
if (((global[kHoverCarLocation] >= 500 && global[kHoverCarLocation] <= 599) &&
(global[kHoverCarDestination] >= 500 && global[kHoverCarDestination] <= 599)) ||
((global[kHoverCarLocation] >= 600 && global[kHoverCarLocation] <= 699) &&
(global[kHoverCarDestination] >= 600 && global[kHoverCarDestination] <= 699))) {
- _scene->loadAnimation(kernel_name('A', -1), 71);
+ kernel_run_animation(kernel_name('A', -1), 71);
} else if (global[kHoverCarLocation] > global[kHoverCarDestination])
- _scene->loadAnimation(kernel_name('C', -1), 71);
+ kernel_run_animation(kernel_name('C', -1), 71);
else
- _scene->loadAnimation(kernel_name('B', -1), 71);
+ kernel_run_animation(kernel_name('B', -1), 71);
}
break;
case 71:
g_engine->_soundManager->command(15, 0);
- _scene->_nextSceneId = global[kHoverCarDestination];
+ new_room = global[kHoverCarDestination];
break;
default:
@@ -132,7 +132,7 @@ static void room_504_daemon() {
global[kTimebombStatus] = TIMEBOMB_DEAD;
global[kTimebombTimer] = 0;
global[kCheckDaemonTimebomb] = false;
- _scene->_nextSceneId = 620;
+ new_room = 620;
}
}
@@ -143,7 +143,7 @@ static void room_504_pre_parser() {
static void room_504_parser() {
if (player_said_2(exit_from, car)) {
g_engine->_soundManager->command(15, 0);
- _scene->_nextSceneId = global[kHoverCarLocation];
+ new_room = global[kHoverCarLocation];
} else if (player_said_2(activate, car_controls)) {
switch (kernel.trigger) {
case 0:
@@ -190,7 +190,7 @@ static void room_504_parser() {
case 4:
player.commands_allowed = true;
global[kHoverCarDestination] = global[kHoverCarLocation];
- _scene->_nextSceneId = 505;
+ new_room = 505;
break;
case 5:
diff --git a/engines/mads/nebular/rooms/room505.cpp b/engines/mads/nebular/rooms/room505.cpp
index 39f43ad3b14..f79ebc57376 100644
--- a/engines/mads/nebular/rooms/room505.cpp
+++ b/engines/mads/nebular/rooms/room505.cpp
@@ -54,7 +54,7 @@ static void room_505_init() {
g_sprite_ids[11] = kernel_load_series(kernel_name('t', -1), 0);
g_sprite_ids[12] = kernel_load_series(kernel_name('e', -1), 0);
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
+ if (previous_room != RETURNING_FROM_DIALOG)
g_sequence_ids[12] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[12], false, 6, 1, 0, 0);
g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 6, 1, 120, 0);
@@ -76,7 +76,7 @@ static void room_505_init() {
for (int i = 0; i < 9; i++) {
if (global[kHoverCarLocation] == local._carLocations[i]) {
local._homeSelectedId = i;
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
+ if (previous_room != RETURNING_FROM_DIALOG)
local._selectedId = i;
}
}
@@ -84,7 +84,7 @@ static void room_505_init() {
player.walker_visible = false;
player.commands_allowed = false;
local._frame = -1;
- _scene->loadAnimation(kernel_name('a', -1));
+ kernel_run_animation(kernel_name('a', -1), 0);
_scene->_animation[0]->setCurrentFrame(86);
section_5_music();
@@ -270,7 +270,7 @@ static void room_505_daemon() {
case 63:
global[kHoverCarDestination] = local._carLocations[local._selectedId];
- _scene->_nextSceneId = 504;
+ new_room = 504;
break;
default:
@@ -282,7 +282,7 @@ static void room_505_parser() {
if (player_said_1(press))
local._nextButtonId = player2.words[1];
else if (player_said_2(return_to, inside_of_car))
- _scene->_nextSceneId = 504;
+ new_room = 504;
else if (player_said_2(look, view_screen))
text_show(50510);
else if (player_said_2(look, control_panel))
diff --git a/engines/mads/nebular/rooms/room506.cpp b/engines/mads/nebular/rooms/room506.cpp
index b456fc995c5..c85866f10f9 100644
--- a/engines/mads/nebular/rooms/room506.cpp
+++ b/engines/mads/nebular/rooms/room506.cpp
@@ -52,7 +52,7 @@ static void handleDoorSequences() {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
if (local._firstDoorFl) {
- if (player_said_2(walk_into, software_store) || ((_scene->_priorSceneId == 507) && !local._actionFl)) {
+ if (player_said_2(walk_into, software_store) || ((previous_room == 507) && !local._actionFl)) {
local._doorDepth = 13;
local._doorSpriteIdx = g_sprite_ids[2];
local._doorSequenceIdx = g_sequence_ids[2];
@@ -73,7 +73,7 @@ static void handleDoorSequences() {
_scene->_sequences.remove(local._doorSequenceIdx);
local._doorSequenceIdx = _scene->_sequences.addSpriteCycle(local._doorSpriteIdx, false, 7, 1, 0, 0);
_scene->_sequences.setDepth(local._doorSequenceIdx, local._doorDepth);
- _scene->changeVariant(1);
+ kernel_load_variant(1);
_scene->_sequences.addSubEntry(local._doorSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 81);
break;
@@ -121,9 +121,9 @@ static void handleDoorSequences() {
local._actionFl = false;
player.commands_allowed = true;
if (local._labDoorFl)
- _scene->_nextSceneId = 508;
+ new_room = 508;
else
- _scene->_nextSceneId = 507;
+ new_room = 507;
break;
@@ -144,7 +144,7 @@ static void room_506_init() {
_scene->_sequences.remove(g_sequence_ids[3]);
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, -2);
_scene->_sequences.setDepth(g_sequence_ids[3], 5);
- _scene->loadAnimation(kernel_name('R', 1), 70);
+ kernel_run_animation(kernel_name('R', 1), 70);
}
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
@@ -163,19 +163,19 @@ static void room_506_init() {
local._firstDoorFl = true;
local._actionFl = false;
- if (_scene->_priorSceneId == 508) {
+ if (previous_room == 508) {
player.x = 16;
player.y = 111;
player.facing = FACING_SOUTHEAST;
_scene->_sequences.addTimer(15, 80);
player.commands_allowed = false;
- } else if (_scene->_priorSceneId == 507) {
+ } else if (previous_room == 507) {
player.x = 80;
player.y = 102;
player.facing = FACING_SOUTHEAST;
_scene->_sequences.addTimer(60, 80);
player.commands_allowed = false;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 138;
player.y = 116;
player.facing = FACING_NORTHEAST;
@@ -190,7 +190,7 @@ static void room_506_daemon() {
if (kernel.trigger >= 80) {
if (local._firstDoorFl) {
local._heroFacing = FACING_SOUTHEAST;
- if (_scene->_priorSceneId == 507) {
+ if (previous_room == 507) {
local._doorPos_x = 112;
local._doorPos_y = 102;
local._doorWord = 0x336;
@@ -280,7 +280,7 @@ static void room_506_parser() {
g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, -2);
_scene->_sequences.setMsgLayout(g_sequence_ids[4]);
_scene->_sequences.updateTimeout(g_sequence_ids[4], syncIdx);
- _scene->_nextSceneId = 504;
+ new_room = 504;
}
break;
@@ -340,9 +340,9 @@ void room_506_preload() {
section_5_walker();
section_5_interface();
- _scene->addActiveVocab(words_walk_into);
- _scene->addActiveVocab(words_software_store);
- _scene->addActiveVocab(words_laboratory);
+ vocab_make_active(words_walk_into);
+ vocab_make_active(words_software_store);
+ vocab_make_active(words_laboratory);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room507.cpp b/engines/mads/nebular/rooms/room507.cpp
index 6ecfdd8a456..a5e6c588d3e 100644
--- a/engines/mads/nebular/rooms/room507.cpp
+++ b/engines/mads/nebular/rooms/room507.cpp
@@ -43,13 +43,13 @@ static void room_507_init() {
g_sprite_ids[1] = kernel_load_series(kernel_name('p', -1), 0);
g_sprite_ids[2] = kernel_load_series("*RXMRD_3", 0);
- if ((game.difficulty != DIFFICULTY_EASY) && (object[OBJ_PENLIGHT].location == _scene->_currentSceneId)) {
+ if ((game.difficulty != DIFFICULTY_EASY) && (object[OBJ_PENLIGHT].location == room_id)) {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 9, 0, 0, 0);
local._penlightHotspotId = _scene->_dynamicHotspots.add(words_penlight, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(local._penlightHotspotId, Common::Point(233, 152), FACING_SOUTHEAST);
}
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 121;
player.y = 147;
player.facing = FACING_NORTH;
@@ -60,7 +60,7 @@ static void room_507_init() {
static void room_507_parser() {
if (player_said_2(walk_through, entrance))
- _scene->_nextSceneId = 506;
+ new_room = 506;
else if (player_said_2(take, penlight)) {
if (kernel.trigger || !player_has(OBJ_PENLIGHT)) {
switch (kernel.trigger) {
@@ -155,8 +155,8 @@ void room_507_preload() {
section_5_walker();
section_5_interface();
- _scene->addActiveVocab(words_penlight);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_penlight);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room508.cpp b/engines/mads/nebular/rooms/room508.cpp
index 329655b3b93..ff8a2575339 100644
--- a/engines/mads/nebular/rooms/room508.cpp
+++ b/engines/mads/nebular/rooms/room508.cpp
@@ -62,7 +62,7 @@ static void room_508_init() {
_scene->_hotspots.activate(words_hole, false);
_scene->_hotspots.activate(words_laser_beam, false);
} else {
- _scene->changeVariant(1);
+ kernel_load_variant(1);
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, -2);
_scene->_sequences.setDepth(g_sequence_ids[3], 8);
g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, -2);
@@ -81,11 +81,11 @@ static void room_508_init() {
}
g_engine->_soundManager->command(20, 0);
- if (_scene->_priorSceneId == 515) {
+ if (previous_room == 515) {
player.x = 57;
player.y = 116;
player.facing = FACING_NORTHEAST;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 289;
player.y = 139;
player.facing = FACING_WEST;
@@ -94,7 +94,7 @@ static void room_508_init() {
section_5_music();
kernel.quotes = quote_load(0x273, 0);
- if (_scene->_roomChanged) {
+ if (kernel.teleported_in) {
inter_give_to_player(OBJ_COMPACT_CASE);
inter_give_to_player(OBJ_REARVIEW_MIRROR);
}
@@ -149,7 +149,7 @@ static void handlePedestral() {
case 4:
text_show(50834);
global[kLaserHoleIsThere] = true;
- _scene->_nextSceneId = 515;
+ new_room = 515;
break;
default:
@@ -197,7 +197,7 @@ static void room_508_parser() {
case 5:
_scene->_sequences.remove(g_sequence_ids[5]);
- _scene->loadAnimation(kernel_name('B', 1), 6);
+ kernel_run_animation(kernel_name('B', 1), 6);
break;
case 6:
@@ -208,7 +208,7 @@ static void room_508_parser() {
int idx = _scene->_dynamicHotspots.add(words_laser_beam, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(57, 116), FACING_NORTHEAST);
_scene->_kernelMessages.reset();
- _scene->changeVariant(1);
+ kernel_load_variant(1);
_scene->_sequences.addTimer(30, 7);
}
break;
@@ -302,9 +302,9 @@ void room_508_preload() {
section_5_walker();
section_5_interface();
- _scene->addActiveVocab(words_spinach_patch_doll);
- _scene->addActiveVocab(words_walkto);
- _scene->addActiveVocab(words_laser_beam);
+ vocab_make_active(words_spinach_patch_doll);
+ vocab_make_active(words_walkto);
+ vocab_make_active(words_laser_beam);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room511.cpp b/engines/mads/nebular/rooms/room511.cpp
index f056c8f4752..3cae8386fe2 100644
--- a/engines/mads/nebular/rooms/room511.cpp
+++ b/engines/mads/nebular/rooms/room511.cpp
@@ -61,10 +61,10 @@ static void room_511_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(26, 153), FACING_NORTHEAST);
_scene->_sequences.setDepth(g_sequence_ids[7], 3);
if (global[kBoatRaised])
- _scene->changeVariant(2);
+ kernel_load_variant(2);
}
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG)
+ if (previous_room != RETURNING_FROM_DIALOG)
local._handingLine = false;
if (global[kBoatRaised]) {
@@ -91,7 +91,7 @@ static void room_511_init() {
_scene->_hotspots.activate(words_rope, true);
_scene->_hotspots.activate(words_boat, true);
- _scene->changeVariant(1);
+ kernel_load_variant(1);
}
local._lineFrame = -1;
@@ -100,11 +100,11 @@ static void room_511_init() {
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, -2);
_scene->_sequences.setDepth(g_sequence_ids[1], 1);
- if (_scene->_priorSceneId == 512) {
+ if (previous_room == 512) {
player.x = 60;
player.y = 112;
player.facing = FACING_SOUTHEAST;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 55;
player.y = 152;
player.facing = FACING_NORTHWEST;
@@ -113,12 +113,12 @@ static void room_511_init() {
_scene->_sequences.remove(g_sequence_ids[1]);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, -1);
_scene->_sequences.setDepth(g_sequence_ids[1], 1);
- _scene->loadAnimation(kernel_name('R', 1), 70);
+ kernel_run_animation(kernel_name('R', 1), 70);
} else if (local._handingLine) {
player.walker_visible = false;
local._lineAnimationMode = 1;
local._lineAnimationPosition = 1;
- _scene->loadAnimation(kernel_name('R', -1));
+ kernel_run_animation(kernel_name('R', -1), 0);
local._lineFrame = 2;
}
section_5_music();
@@ -186,9 +186,9 @@ static void room_511_pre_parser() {
if (kernel.trigger == 0) {
player.ready_to_walk = false;
player.commands_allowed = false;
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._lineAnimationMode = 2;
- _scene->loadAnimation(kernel_name('R', 2), 1);
+ kernel_run_animation(kernel_name('R', 2), 1);
} else if (kernel.trigger == 1) {
player.walker_visible = true;
player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
@@ -202,7 +202,7 @@ static void room_511_pre_parser() {
static void room_511_parser() {
if (player_said_2(walk_into, restaurant))
- _scene->_nextSceneId = 512;
+ new_room = 512;
else if (player_said_2(get_into, car)) {
switch (kernel.trigger) {
case 0:
@@ -236,7 +236,7 @@ static void room_511_parser() {
g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, -2);
_scene->_sequences.setMsgLayout(g_sequence_ids[4]);
_scene->_sequences.updateTimeout(g_sequence_ids[4], syncIdx);
- _scene->_nextSceneId = 504;
+ new_room = 504;
}
break;
@@ -254,7 +254,7 @@ static void room_511_parser() {
local._lineAnimationMode = 1;
local._lineAnimationPosition = 1;
local._lineMoving = true;
- _scene->loadAnimation(kernel_name('R', -1));
+ kernel_run_animation(kernel_name('R', -1), 0);
_scene->_sequences.addTimer(1, 1);
} else if (kernel.trigger == 1) {
if (local._lineMoving) {
@@ -377,9 +377,9 @@ void room_511_preload() {
section_5_walker();
section_5_interface();
- _scene->addActiveVocab(words_boat);
- _scene->addActiveVocab(words_fishing_line);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_boat);
+ vocab_make_active(words_fishing_line);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room512.cpp b/engines/mads/nebular/rooms/room512.cpp
index e09153fd000..f9596447e25 100644
--- a/engines/mads/nebular/rooms/room512.cpp
+++ b/engines/mads/nebular/rooms/room512.cpp
@@ -49,7 +49,7 @@ static void room_512_init() {
g_sprite_ids[5] = kernel_load_series(kernel_name('x', 2), 0);
g_sprite_ids[6] = kernel_load_series(kernel_name('x', 3), 0);
- if (object[OBJ_FISHING_ROD].location == _scene->_currentSceneId) {
+ if (object[OBJ_FISHING_ROD].location == room_id) {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 9, 0, 0, 0);
local._fishingRodHotspotId = _scene->_dynamicHotspots.add(words_fishing_rod, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(local._fishingRodHotspotId, Common::Point(199, 101), FACING_NORTHEAST);
@@ -60,7 +60,7 @@ static void room_512_init() {
_scene->_hotspots.activate(words_padlock_key, false);
if (game.difficulty == DIFFICULTY_EASY) {
- if (object[OBJ_PADLOCK_KEY].location == _scene->_currentSceneId) {
+ if (object[OBJ_PADLOCK_KEY].location == room_id) {
g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 10, 0, 0, 0);
_scene->_sequences.setDepth(g_sequence_ids[6], 3);
local._keyHotspotId = _scene->_dynamicHotspots.add(words_padlock_key, words_walkto, g_sequence_ids[6], Common::Rect(0, 0, 0, 0));
@@ -72,7 +72,7 @@ static void room_512_init() {
_scene->_hotspots.activate(words_padlock_key, false);
}
} else if (global[kRegisterOpen]) {
- if (object[OBJ_PADLOCK_KEY].location == _scene->_currentSceneId) {
+ if (object[OBJ_PADLOCK_KEY].location == room_id) {
_scene->_hotspots.activate(words_padlock_key, true);
g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, -2);
_scene->_sequences.setDepth(g_sequence_ids[5], 3);
@@ -84,7 +84,7 @@ static void room_512_init() {
} else
_scene->_hotspots.activate(words_padlock_key, false);
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 144;
player.y = 152;
player.facing = FACING_NORTHEAST;
@@ -95,7 +95,7 @@ static void room_512_init() {
static void room_512_parser() {
if (player_said_2(walk, outside))
- _scene->_nextSceneId = 511;
+ new_room = 511;
else if (player_said_2(take, fishing_rod)) {
if (kernel.trigger || !player_has(OBJ_FISHING_ROD)) {
switch (kernel.trigger) {
@@ -338,10 +338,10 @@ void room_512_preload() {
section_5_walker();
section_5_interface();
- _scene->addActiveVocab(words_fishing_rod);
- _scene->addActiveVocab(words_walkto);
- _scene->addActiveVocab(words_padlock_key);
- _scene->addActiveVocab(words_register_drawer);
+ vocab_make_active(words_fishing_rod);
+ vocab_make_active(words_walkto);
+ vocab_make_active(words_padlock_key);
+ vocab_make_active(words_register_drawer);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room513.cpp b/engines/mads/nebular/rooms/room513.cpp
index 828ce6f44ce..33e4601ef39 100644
--- a/engines/mads/nebular/rooms/room513.cpp
+++ b/engines/mads/nebular/rooms/room513.cpp
@@ -44,13 +44,13 @@ static void room_513_init() {
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, -2);
_scene->_sequences.setDepth(g_sequence_ids[1], 1);
- if ((_scene->_priorSceneId == 751) || (_scene->_priorSceneId == 701)) {
+ if ((previous_room == 751) || (previous_room == 701)) {
player.x = 296;
player.y = 147;
player.facing = FACING_WEST;
player.commands_allowed = false;
_scene->_sequences.addTimer(15, 80);
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 63;
player.y = 149;
player.facing = FACING_NORTHEAST;
@@ -59,12 +59,12 @@ static void room_513_init() {
_scene->_sequences.remove(g_sequence_ids[1]);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, -1);
_scene->_sequences.setDepth(g_sequence_ids[1], 1);
- _scene->loadAnimation(kernel_name('R', 1), 70);
+ kernel_run_animation(kernel_name('R', 1), 70);
}
section_5_music();
- if (_scene->_roomChanged)
+ if (kernel.teleported_in)
inter_give_to_player(OBJ_SECURITY_CARD);
kernel.quotes = quote_load(0x278, 0);
@@ -162,7 +162,7 @@ static void room_513_parser() {
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, -2);
_scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.updateTimeout(g_sequence_ids[3], syncIdx);
- _scene->_nextSceneId = 504;
+ new_room = 504;
}
break;
@@ -209,9 +209,9 @@ static void room_513_parser() {
_scene->_sequences.setDepth(g_sequence_ids[2], 2);
player.commands_allowed = true;
if (global[kCityFlooded])
- _scene->_nextSceneId = 701;
+ new_room = 701;
else
- _scene->_nextSceneId = 751;
+ new_room = 751;
break;
@@ -261,8 +261,8 @@ void room_513_preload() {
section_5_walker();
section_5_interface();
- _scene->addActiveVocab(words_elevator_door);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_elevator_door);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room515.cpp b/engines/mads/nebular/rooms/room515.cpp
index 72d0ee4a3c1..4c275109a23 100644
--- a/engines/mads/nebular/rooms/room515.cpp
+++ b/engines/mads/nebular/rooms/room515.cpp
@@ -42,9 +42,9 @@ static void room_515_init() {
static void room_515_daemon() {
if (kernel.trigger == 70)
- _scene->loadAnimation(kernel_name('A', -1), 71);
+ kernel_run_animation(kernel_name('A', -1), 71);
else if (kernel.trigger == 71)
- _scene->_nextSceneId = 508;
+ new_room = 508;
}
void room_515_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/room551.cpp b/engines/mads/nebular/rooms/room551.cpp
index 4b2ae61ba33..79161cfbadd 100644
--- a/engines/mads/nebular/rooms/room551.cpp
+++ b/engines/mads/nebular/rooms/room551.cpp
@@ -38,11 +38,11 @@ static void room_551_init() {
else
g_sprite_ids[3] = kernel_load_series(kernel_name('a', 1), 0);
- if (_scene->_priorSceneId == 501) {
+ if (previous_room == 501) {
player.x = 18;
player.y = 130;
}
- else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 124;
player.y = 119;
player.facing = FACING_NORTH;
@@ -86,7 +86,7 @@ static void room_551_init() {
global[kTeleporterCommand] = 0;
if (suffixNum > 0)
- _scene->loadAnimation(kernel_name(sepChar, suffixNum), trigger);
+ kernel_run_animation(kernel_name(sepChar, suffixNum), trigger);
else {
player.walker_visible = true;
player.commands_allowed = true;
@@ -101,13 +101,13 @@ static void room_551_daemon() {
case 75:
player.commands_allowed = true;
player.walker_visible = true;
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
break;
case 80:
global[kTeleporterCommand] = 1;
- _scene->_nextSceneId = global[kTeleporterDestination];
- _scene->_reloadSceneFlag = true;
+ new_room = global[kTeleporterDestination];
+ kernel.force_restart = true;
break;
case 90:
@@ -123,7 +123,7 @@ static void room_551_daemon() {
break;
case 91:
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
break;
default:
@@ -138,7 +138,7 @@ static void room_551_pre_parser() {
static void room_551_parser() {
if (player_said_2(step_into, teleporter))
- _scene->_nextSceneId = 502;
+ new_room = 502;
else if ((player.look_around))
text_show(55117);
else if (player_said_2(look, skeleton))
diff --git a/engines/mads/nebular/rooms/room601.cpp b/engines/mads/nebular/rooms/room601.cpp
index 3f811c52801..0f7c333cdcb 100644
--- a/engines/mads/nebular/rooms/room601.cpp
+++ b/engines/mads/nebular/rooms/room601.cpp
@@ -44,7 +44,7 @@ static void room_601_init() {
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -1);
_scene->_sequences.setDepth(g_sequence_ids[2], 3);
- if (_scene->_priorSceneId == 504) {
+ if (previous_room == 504) {
player.x = 73;
player.y = 148;
player.facing = FACING_WEST;
@@ -53,8 +53,8 @@ static void room_601_init() {
_scene->_sequences.remove(g_sequence_ids[2]);
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -2);
_scene->_sequences.setDepth(g_sequence_ids[2], 3);
- _scene->loadAnimation(kernel_name('R', 1), 70);
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ kernel_run_animation(kernel_name('R', 1), 70);
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 229;
player.y = 129;
player.facing = FACING_SOUTHWEST;
@@ -91,7 +91,7 @@ static void room_601_daemon() {
static void room_601_parser() {
if (player_said_2(walk_through, entrance))
- _scene->_nextSceneId = 602;
+ new_room = 602;
else if (player_said_2(get_inside, car)) {
switch (kernel.trigger) {
case 0:
@@ -124,7 +124,7 @@ static void room_601_parser() {
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, -2);
_scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.updateTimeout(g_sequence_ids[3], syncIdx);
- _scene->_nextSceneId = 504;
+ new_room = 504;
}
break;
@@ -171,8 +171,8 @@ void room_601_preload() {
section_6_walker();
section_6_interface();
- _scene->addActiveVocab(words_laser_beam);
- _scene->addActiveVocab(words_look_at);
+ vocab_make_active(words_laser_beam);
+ vocab_make_active(words_look_at);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room602.cpp b/engines/mads/nebular/rooms/room602.cpp
index 3073620c459..aa5a1f0bd8f 100644
--- a/engines/mads/nebular/rooms/room602.cpp
+++ b/engines/mads/nebular/rooms/room602.cpp
@@ -58,7 +58,7 @@ static void room_602_init() {
_scene->_sequences.setDepth(g_sequence_ids[4], 9);
int idx = _scene->_dynamicHotspots.add(words_laser_beam, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(80, 134), FACING_NORTHEAST);
- _scene->changeVariant(1);
+ kernel_load_variant(1);
} else
_scene->_hotspots.activate(words_hole, false);
@@ -90,11 +90,11 @@ static void room_602_init() {
} else
_scene->_hotspots.activate(words_door_key, false);
- if (_scene->_priorSceneId == 603) {
+ if (previous_room == 603) {
player.x = 228;
player.y = 126;
player.facing = FACING_WEST;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 50;
player.y = 127;
player.facing = FACING_EAST;
@@ -103,7 +103,7 @@ static void room_602_init() {
section_6_music();
kernel.quotes = quote_load(0x2F1, 0x2F2, 0x2F3, 0);
- if (_scene->_roomChanged) {
+ if (kernel.teleported_in) {
inter_give_to_player(OBJ_NOTE);
inter_give_to_player(OBJ_REARVIEW_MIRROR);
inter_give_to_player(OBJ_COMPACT_CASE);
@@ -137,7 +137,7 @@ static void handleSafeActions() {
local._lastSequenceIdx = _scene->_sequences.addSpriteCycle(local._lastSpriteIdx, false, 12, 1, 0, 0);
_scene->_sequences.setDepth(local._lastSequenceIdx, 14);
- if (object[OBJ_DOOR_KEY].location == _scene->_currentSceneId)
+ if (object[OBJ_DOOR_KEY].location == room_id)
_scene->_hotspots.activate(words_door_key, true);
_scene->_sequences.addSubEntry(local._lastSequenceIdx,
@@ -152,7 +152,7 @@ static void handleSafeActions() {
local._lastSequenceIdx = _scene->_sequences.startPingPongCycle(local._lastSpriteIdx, false, 12, 1, 0, 0);
_scene->_sequences.setDepth(local._lastSequenceIdx, 14);
- if (object[OBJ_DOOR_KEY].location == _scene->_currentSceneId)
+ if (object[OBJ_DOOR_KEY].location == room_id)
_scene->_hotspots.activate(words_door_key, false);
_scene->_sequences.addSubEntry(local._lastSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 2);
@@ -203,9 +203,9 @@ static void handleSafeActions() {
static void room_602_parser() {
if (player_said_2(walk_through, hallway))
- _scene->_nextSceneId = 601;
+ new_room = 601;
else if (player_said_2(walk_through, doorway))
- _scene->_nextSceneId = 603;
+ new_room = 603;
else if (player_said_2(open, safe) && ((global[kSafeStatus] == 0) || (global[kSafeStatus] == 2))) {
local._safeMode = 1;
local._cycleIndex = -2;
@@ -229,7 +229,7 @@ static void room_602_parser() {
player.walker_visible = false;
_scene->_sequences.remove(g_sequence_ids[4]);
_scene->_sequences.remove(local._lastSequenceIdx);
- _scene->loadAnimation(kernel_name('L', 1), 1);
+ kernel_run_animation(kernel_name('L', 1), 1);
break;
case 1:
@@ -361,9 +361,9 @@ void room_602_preload() {
section_6_walker();
section_6_interface();
- _scene->addActiveVocab(words_walkto);
- _scene->addActiveVocab(words_safe);
- _scene->addActiveVocab(words_laser_beam);
+ vocab_make_active(words_walkto);
+ vocab_make_active(words_safe);
+ vocab_make_active(words_laser_beam);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room603.cpp b/engines/mads/nebular/rooms/room603.cpp
index 6ae9086f2c7..8be6abb021c 100644
--- a/engines/mads/nebular/rooms/room603.cpp
+++ b/engines/mads/nebular/rooms/room603.cpp
@@ -40,7 +40,7 @@ static Scratch local;
static void room_603_init() {
- if (object[OBJ_COMPACT_CASE].location == _scene->_currentSceneId) {
+ if (object[OBJ_COMPACT_CASE].location == room_id) {
g_sprite_ids[4] = kernel_load_series("*RXMRD_3", 0);
g_sprite_ids[1] = kernel_load_series(kernel_name('c', -1), 0);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, -1);
@@ -49,7 +49,7 @@ static void room_603_init() {
_scene->_dynamicHotspots.setPosition(local._compactCaseHotspotId, Common::Point(250, 152), FACING_SOUTHEAST);
}
- if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_NOTE].location == _scene->_currentSceneId)) {
+ if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_NOTE].location == room_id)) {
g_sprite_ids[3] = kernel_load_series("*RXMRC_9", 0);
g_sprite_ids[2] = kernel_load_series(kernel_name('p', -1), 0);
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -1);
@@ -58,7 +58,7 @@ static void room_603_init() {
_scene->_dynamicHotspots.setPosition(local._noteHotspotId, Common::Point(242, 118), FACING_NORTHEAST);
}
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 113;
player.y = 134;
}
@@ -68,7 +68,7 @@ static void room_603_init() {
static void room_603_parser() {
if (player_said_2(walk_towards, livingroom))
- _scene->_nextSceneId = 602;
+ new_room = 602;
else if (player_said_2(take, compact_case)) {
if (kernel.trigger || !player_has(OBJ_COMPACT_CASE)) {
switch (kernel.trigger) {
@@ -114,7 +114,7 @@ static void room_603_parser() {
_scene->_dynamicHotspots.remove(local._noteHotspotId);
inter_give_to_player(OBJ_NOTE);
_scene->_sequences.remove(g_sequence_ids[3]);
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
player.walker_visible = true;
player.commands_allowed = true;
}
@@ -147,15 +147,15 @@ static void room_603_parser() {
else if (player_said_2(take, perfume))
text_show(60322);
else if (player_said_2(look, note)) {
- if (object[OBJ_NOTE].location == _scene->_currentSceneId)
+ if (object[OBJ_NOTE].location == room_id)
text_show(60324);
} else if (player_said_2(look, corner_table)) {
- if (object[OBJ_NOTE].location == _scene->_currentSceneId)
+ if (object[OBJ_NOTE].location == room_id)
text_show(60326);
else
text_show(60325);
} else if (player_said_2(look, vanity)) {
- if (object[OBJ_COMPACT_CASE].location == _scene->_currentSceneId)
+ if (object[OBJ_COMPACT_CASE].location == room_id)
text_show(60327);
else
text_show(60328);
@@ -183,9 +183,9 @@ void room_603_preload() {
section_6_walker();
section_6_interface();
- _scene->addActiveVocab(words_walkto);
- _scene->addActiveVocab(words_compact_case);
- _scene->addActiveVocab(words_note);
+ vocab_make_active(words_walkto);
+ vocab_make_active(words_compact_case);
+ vocab_make_active(words_note);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room604.cpp b/engines/mads/nebular/rooms/room604.cpp
index 6702dff2ac8..9e5aa803408 100644
--- a/engines/mads/nebular/rooms/room604.cpp
+++ b/engines/mads/nebular/rooms/room604.cpp
@@ -56,14 +56,14 @@ static void room_604_init() {
_scene->_dynamicHotspots.setPosition(local._timebombHotspotId, Common::Point(166, 118), FACING_NORTHEAST);
}
- if (_scene->_roomChanged)
+ if (kernel.teleported_in)
inter_give_to_player(OBJ_TIMEBOMB);
pal_change_color(252, 63, 37, 26);
pal_change_color(253, 45, 24, 17);
local._animationActiveFl = false;
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 72;
player.y = 149;
player.facing = FACING_NORTHEAST;
@@ -71,14 +71,14 @@ static void room_604_init() {
player.commands_allowed = false;
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -1);
_scene->_sequences.setDepth(g_sequence_ids[2], 1);
- _scene->loadAnimation(kernel_name('R', 1), 70);
+ kernel_run_animation(kernel_name('R', 1), 70);
local._animationActiveFl = true;
} else {
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -2);
_scene->_sequences.setDepth(g_sequence_ids[2], 1);
}
- local._monsterTimer = _scene->_frameStartTime;
+ local._monsterTimer = kernel.clock;
local._monsterActive = false;
section_6_music();
@@ -158,12 +158,12 @@ static void room_604_daemon() {
}
}
- if ((!local._monsterActive && !local._animationActiveFl) && (_scene->_frameStartTime > (local._monsterTimer + 4))) {
- local._monsterTimer = _scene->_frameStartTime;
+ if ((!local._monsterActive && !local._animationActiveFl) && (kernel.clock > (local._monsterTimer + 4))) {
+ local._monsterTimer = kernel.clock;
if ((g_engine->getRandomNumber(1, 1000) < 25) || !player.been_here_before) {
local._monsterActive = true;
- _scene->freeAnimation();
- _scene->loadAnimation(kernel_name('m', -1));
+ kernel_abort_animation(0);
+ kernel_run_animation(kernel_name('m', -1), 0);
}
}
}
@@ -188,7 +188,7 @@ static void handleBombActions() {
g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, -1);
local._timebombHotspotId = _scene->_dynamicHotspots.add(words_timebomb, words_walkto, g_sequence_ids[6], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(local._timebombHotspotId, Common::Point(166, 118), FACING_NORTHEAST);
- inter_move_object(OBJ_TIMEBOMB, _scene->_currentSceneId);
+ inter_move_object(OBJ_TIMEBOMB, room_id);
break;
case 2:
@@ -251,7 +251,7 @@ static void room_604_parser() {
g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, -2);
_scene->_sequences.setMsgLayout(g_sequence_ids[4]);
_scene->_sequences.updateTimeout(g_sequence_ids[4], syncIdx);
- _scene->_nextSceneId = 504;
+ new_room = 504;
}
break;
@@ -328,9 +328,9 @@ void room_604_preload() {
section_6_walker();
section_6_interface();
- _scene->addActiveVocab(words_sea_monster);
- _scene->addActiveVocab(words_walkto);
- _scene->addActiveVocab(words_timebomb);
+ vocab_make_active(words_sea_monster);
+ vocab_make_active(words_walkto);
+ vocab_make_active(words_timebomb);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room605.cpp b/engines/mads/nebular/rooms/room605.cpp
index 9791a553d1e..d82a744f91c 100644
--- a/engines/mads/nebular/rooms/room605.cpp
+++ b/engines/mads/nebular/rooms/room605.cpp
@@ -62,7 +62,7 @@ static void room_605_daemon() {
else
text_show(60599);
- _scene->_nextSceneId = global[kResurrectRoom];
+ new_room = global[kResurrectRoom];
}
}
diff --git a/engines/mads/nebular/rooms/room607.cpp b/engines/mads/nebular/rooms/room607.cpp
index 38626efe9c0..4fe1449784d 100644
--- a/engines/mads/nebular/rooms/room607.cpp
+++ b/engines/mads/nebular/rooms/room607.cpp
@@ -51,10 +51,10 @@ static void room_607_init() {
g_sprite_ids[2] = kernel_load_series(kernel_name('c', 0), 0);
g_sprite_ids[3] = kernel_load_series("*RXCD_3", 0);
- if (!player.been_here_before && (_scene->_priorSceneId != 608))
+ if (!player.been_here_before && (previous_room != 608))
global[kDogStatus] = DOG_PRESENT;
- if ((_scene->_priorSceneId == 608) && (global[kDogStatus] < DOG_GONE))
+ if ((previous_room == 608) && (global[kDogStatus] < DOG_GONE))
global[kDogStatus] = DOG_GONE;
local._animationActive = 0;
@@ -77,11 +77,11 @@ static void room_607_init() {
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -2);
_scene->_sequences.setDepth(g_sequence_ids[2], 4);
- if (_scene->_priorSceneId == 608) {
+ if (previous_room == 608) {
player.x = 297;
player.y = 50;
player.facing = FACING_SOUTHEAST;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 40;
player.y = 104;
player.facing = FACING_SOUTHEAST;
@@ -90,7 +90,7 @@ static void room_607_init() {
_scene->_sequences.remove(g_sequence_ids[2]);
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -1);
_scene->_sequences.setDepth(g_sequence_ids[2], 4);
- _scene->loadAnimation(kernel_name('R', 1), 80);
+ kernel_run_animation(kernel_name('R', 1), 80);
} else if (global[kDogStatus] == DOG_LEFT) {
g_sprite_ids[4] = kernel_load_series(kernel_name('g', 3), 0);
g_sprite_ids[5] = kernel_load_series(kernel_name('g', 7), 0);
@@ -99,7 +99,7 @@ static void room_607_init() {
section_6_music();
- if (_scene->_roomChanged)
+ if (kernel.teleported_in)
inter_give_to_player(OBJ_BONES);
pal_change_color(252, 63, 44, 30);
@@ -109,13 +109,13 @@ static void room_607_init() {
static void room_607_daemon() {
if (global[kDogStatus] == DOG_LEFT) {
- int32 diff = _scene->_frameStartTime - local._lastFrameTime;
+ int32 diff = kernel.clock - local._lastFrameTime;
if ((diff >= 0) && (diff <= 4))
local._dogTimer += diff;
else
local._dogTimer++;
- local._lastFrameTime = _scene->_frameStartTime;
+ local._lastFrameTime = kernel.clock;
}
if ((local._dogTimer >= 480) && !local._dogLoop && !local._shopAvailable && (global[kDogStatus] == DOG_LEFT) && !player.special_code) {
@@ -251,7 +251,7 @@ static void room_607_daemon() {
text_show(60729);
local._animationActive = 0;
local._dogEatsRex = false;
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
player.commands_allowed = true;
break;
@@ -299,7 +299,7 @@ static void handleThrowingBone() {
player.commands_allowed = false;
_scene->_sequences.remove(g_sequence_ids[1]);
player.walker_visible = false;
- _scene->loadAnimation(kernel_name('D', local._animationMode), 1);
+ kernel_run_animation(kernel_name('D', local._animationMode), 1);
break;
case 1:
@@ -371,7 +371,7 @@ static void room_607_pre_parser() {
static void room_607_parser() {
if (player_said_2(walk_through, side_entrance))
- _scene->_nextSceneId = 608;
+ new_room = 608;
else if (player_said_2(get_inside, car)) {
switch (kernel.trigger) {
case 0:
@@ -404,7 +404,7 @@ static void room_607_parser() {
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, -2);
_scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.updateTimeout(g_sequence_ids[3], syncIdx);
- _scene->_nextSceneId = 504;
+ new_room = 504;
}
break;
@@ -501,8 +501,8 @@ void room_607_preload() {
section_6_walker();
section_6_interface();
- _scene->addActiveVocab(words_obnoxious_dog);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_obnoxious_dog);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room608.cpp b/engines/mads/nebular/rooms/room608.cpp
index ae4413f75a2..ea06fa151a1 100644
--- a/engines/mads/nebular/rooms/room608.cpp
+++ b/engines/mads/nebular/rooms/room608.cpp
@@ -76,7 +76,7 @@ static void resetDogVariables() {
}
static void restoreAnimations() {
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._carMode = 0;
player.commands_allowed = true;
if (local._throwMode == 6)
@@ -85,18 +85,18 @@ static void restoreAnimations() {
if (global[kCarStatus] == CAR_UP) {
_scene->_sequences.remove(g_sequence_ids[6]);
_scene->_sequences.remove(g_sequence_ids[7]);
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
} else {
_scene->_sequences.remove(g_sequence_ids[8]);
_scene->_sequences.remove(g_sequence_ids[6]);
_scene->_sequences.remove(g_sequence_ids[7]);
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
_scene->_animation[0]->setCurrentFrame(6);
}
}
static void setCarAnimations() {
- _scene->freeAnimation();
+ kernel_abort_animation(0);
if (global[kCarStatus] == CAR_UP) {
g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, 1);
_scene->_sequences.setPosition(g_sequence_ids[6], Common::Point(143, 98));
@@ -127,11 +127,11 @@ static void handleThrowingBone() {
player.walker_visible = false;
local._carMode = local._throwMode;
if (local._throwMode == 4)
- _scene->loadAnimation(kernel_name('X', 2), 1);
+ kernel_run_animation(kernel_name('X', 2), 1);
else if (local._throwMode == 5)
- _scene->loadAnimation(kernel_name('X', 1), 1);
+ kernel_run_animation(kernel_name('X', 1), 1);
else
- _scene->loadAnimation(kernel_name('X', 3), 1);
+ kernel_run_animation(kernel_name('X', 3), 1);
break;
case 1:
@@ -235,14 +235,14 @@ static void room_608_init() {
local._resetPositionsFl = false;
int idx = _scene->_dynamicHotspots.add(words_car, words_walkto, -1, Common::Rect(99, 69, 99 + 82, 69 + 25));
local._carHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(96, 132), FACING_NORTHEAST);
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
} else if (global[kCarStatus] == CAR_DOWN) {
local._carMode = 0;
local._dogDeathMode = 0;
local._resetPositionsFl = false;
int idx = _scene->_dynamicHotspots.add(words_car, words_walkto, -1, Common::Rect(100, 100, 100 + 82, 100 + 25));
local._carHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(96, 132), FACING_NORTHEAST);
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
_scene->_animation[0]->setCurrentFrame(6);
} else if (global[kCarStatus] == CAR_SQUASHES_DOG) {
local._carMode = 2;
@@ -250,27 +250,27 @@ static void room_608_init() {
local._resetPositionsFl = false;
int idx = _scene->_dynamicHotspots.add(words_car, words_walkto, -1, Common::Rect(99, 69, 99 + 82, 69 + 25));
local._carHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(96, 132), FACING_NORTHEAST);
- _scene->loadAnimation(kernel_name('C', -1));
+ kernel_run_animation(kernel_name('C', -1), 0);
} else if (global[kCarStatus] == CAR_SQUASHES_DOG_AGAIN) {
local._carMode = 1;
local._dogDeathMode = 2;
local._resetPositionsFl = true;
int idx = _scene->_dynamicHotspots.add(words_car, words_walkto, -1, Common::Rect(99, 69, 99 + 82, 69 + 25));
local._carHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(96, 132), FACING_NORTHEAST);
- _scene->loadAnimation(kernel_name('B', -1));
+ kernel_run_animation(kernel_name('B', -1), 0);
} else {
local._carMode = 3;
local._dogDeathMode = 2;
local._resetPositionsFl = true;
int idx = _scene->_dynamicHotspots.add(words_car, words_walkto, -1, Common::Rect(100, 100, 100 + 82, 100 + 25));
local._carHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(96, 132), FACING_NORTHEAST);
- _scene->loadAnimation(kernel_name('D', -1));
+ kernel_run_animation(kernel_name('D', -1), 0);
}
pal_change_color(252, 63, 44, 30);
pal_change_color(253, 63, 20, 22);
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 46;
player.y = 132;
player.facing = FACING_EAST;
@@ -292,7 +292,7 @@ static void room_608_init() {
section_6_music();
- if (_scene->_roomChanged)
+ if (kernel.teleported_in)
inter_give_to_player(OBJ_BONES);
kernel.quotes = quote_load(0x2FB, 0x2FC, 0x2FE, 0x2FD, 0x2FF, 0x300, 0x301, 0x302, 0x303, 0x304, 0);
@@ -300,13 +300,13 @@ static void room_608_init() {
static void room_608_daemon() {
if (local._dogFirstEncounter) {
- long diff = _scene->_frameStartTime - local._dogTimer1;
+ long diff = kernel.clock - local._dogTimer1;
if ((diff >= 0) && (diff <= 1))
local._dogWindowTimer += diff;
else
local._dogWindowTimer++;
- local._dogTimer1 = _scene->_frameStartTime;
+ local._dogTimer1 = kernel.clock;
}
if (local._dogActiveFl && (local._dogWindowTimer >= 2) && !local._dogHitWindow) {
@@ -375,13 +375,13 @@ static void room_608_daemon() {
}
if (local._dogSquashFl && !local._dogFirstEncounter && local._dogUnderCar && local._dogActiveFl) {
- long diff = _scene->_frameStartTime - local._dogTimer2;
+ long diff = kernel.clock - local._dogTimer2;
if ((diff >= 0) && (diff <= 4))
local._dogRunTimer += diff;
else
local._dogRunTimer++;
- local._dogTimer2 = _scene->_frameStartTime;
+ local._dogTimer2 = kernel.clock;
}
if (local._dogRunTimer >= 480 && !local._checkFl && !local._buttonPressedonTimeFl && !local._dogFirstEncounter && local._dogUnderCar && local._dogActiveFl) {
@@ -665,7 +665,7 @@ static void room_608_daemon() {
case 84:
local._rexBeingEaten = false;
local._animationMode = 0;
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
player.commands_allowed = true;
break;
@@ -707,7 +707,7 @@ static void room_608_pre_parser() {
static void room_608_parser() {
if (player_said_2(walk_through, doorway))
- _scene->_nextSceneId = 607;
+ new_room = 607;
else if (player_said_2(push, down_button)) {
player.commands_allowed = true;
switch (kernel.trigger) {
@@ -737,13 +737,13 @@ static void room_608_parser() {
local._dogActiveFl = false;
local._dogUnderCar = false;
_scene->_sequences.remove(g_sequence_ids[10]);
- _scene->freeAnimation();
- _scene->loadAnimation(kernel_name('C', -1));
+ kernel_abort_animation(0);
+ kernel_run_animation(kernel_name('C', -1), 0);
} else {
local._resetPositionsFl = false;
local._carMode = 1;
- _scene->freeAnimation();
- _scene->loadAnimation(kernel_name('B', -1));
+ kernel_abort_animation(0);
+ kernel_run_animation(kernel_name('B', -1), 0);
}
local._carMoveMode = 2;
@@ -805,8 +805,8 @@ static void room_608_parser() {
else {
local._carMode = 3;
local._resetPositionsFl = false;
- _scene->freeAnimation();
- _scene->loadAnimation(kernel_name('D', -1));
+ kernel_abort_animation(0);
+ kernel_run_animation(kernel_name('D', -1), 0);
}
local._carMoveMode = 1;
_scene->_sequences.addTimer(1, 2);
@@ -961,7 +961,7 @@ static void room_608_parser() {
else if (player_said_2(look, calendar))
text_show(60823);
else if (player_said_2(look, storage_box)) {
- if (object[OBJ_REARVIEW_MIRROR].location == _scene->_currentSceneId)
+ if (object[OBJ_REARVIEW_MIRROR].location == room_id)
text_show(60825);
else
text_show(60824);
@@ -970,7 +970,7 @@ static void room_608_parser() {
else if (player_said_2(look, rearview_mirror) && (player.main_object_source == CAT_HOTSPOT))
text_show(60828);
else if (player_said_2(look, tool_box)) {
- if (object[OBJ_POLYCEMENT].location == _scene->_currentSceneId)
+ if (object[OBJ_POLYCEMENT].location == room_id)
text_show(60829);
else
text_show(60830);
@@ -1032,10 +1032,10 @@ void room_608_preload() {
section_6_walker();
section_6_interface();
- _scene->addActiveVocab(words_walkto);
- _scene->addActiveVocab(words_polycement);
- _scene->addActiveVocab(words_car);
- _scene->addActiveVocab(words_obnoxious_dog);
+ vocab_make_active(words_walkto);
+ vocab_make_active(words_polycement);
+ vocab_make_active(words_car);
+ vocab_make_active(words_obnoxious_dog);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room609.cpp b/engines/mads/nebular/rooms/room609.cpp
index c4812ae897d..790d4ab7d02 100644
--- a/engines/mads/nebular/rooms/room609.cpp
+++ b/engines/mads/nebular/rooms/room609.cpp
@@ -53,17 +53,17 @@ static void room_609_init() {
if (!player.been_here_before)
global[kBeenInVideoStore] = false;
- if (_scene->_priorSceneId == 611) {
+ if (previous_room == 611) {
player.x = 264;
player.y = 69;
player.facing = FACING_SOUTHWEST;
- } else if (_scene->_priorSceneId == 610) {
+ } else if (previous_room == 610) {
player.x = 23;
player.y = 90;
player.facing = FACING_EAST;
_scene->_sequences.addTimer(60, 60);
player.commands_allowed = false;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 86;
player.y = 136;
player.facing = FACING_NORTHEAST;
@@ -72,10 +72,10 @@ static void room_609_init() {
_scene->_sequences.remove(g_sequence_ids[1]);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, -1);
_scene->_sequences.setDepth(g_sequence_ids[1], 5);
- _scene->loadAnimation(kernel_name('R', 1), 70);
+ kernel_run_animation(kernel_name('R', 1), 70);
}
- if (_scene->_roomChanged) {
+ if (kernel.teleported_in) {
inter_give_to_player(OBJ_DOOR_KEY);
if (game.difficulty != DIFFICULTY_EASY)
inter_give_to_player(OBJ_PENLIGHT);
@@ -199,7 +199,7 @@ static void enterStore() {
case 5:
_scene->_sequences.remove(g_sequence_ids[5]);
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
player.walker_visible = true;
_scene->_sequences.remove(g_sequence_ids[2]);
g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 7, 1, 0, 0);
@@ -230,7 +230,7 @@ static void enterStore() {
_scene->_sequences.setDepth(g_sequence_ids[2], 9);
global[kBeenInVideoStore] = true;
player.commands_allowed = true;
- _scene->_nextSceneId = 610;
+ new_room = 610;
break;
default:
@@ -245,7 +245,7 @@ static void room_609_pre_parser() {
static void room_609_parser() {
if (player_said_2(walk_towards, alley))
- _scene->_nextSceneId = 611;
+ new_room = 611;
else if (player_said_2(walk_through, video_store_door)) {
if (!global[kBeenInVideoStore]) {
switch (kernel.trigger) {
@@ -265,7 +265,7 @@ static void room_609_parser() {
case 2:
_scene->_sequences.remove(g_sequence_ids[5]);
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
player.walker_visible = true;
_scene->_sequences.addTimer(60, 3);
break;
@@ -323,7 +323,7 @@ static void room_609_parser() {
g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, -2);
_scene->_sequences.setMsgLayout(g_sequence_ids[4]);
_scene->_sequences.updateTimeout(g_sequence_ids[4], syncIdx);
- _scene->_nextSceneId = 504;
+ new_room = 504;
}
break;
diff --git a/engines/mads/nebular/rooms/room610.cpp b/engines/mads/nebular/rooms/room610.cpp
index f4180aa767f..5510624b807 100644
--- a/engines/mads/nebular/rooms/room610.cpp
+++ b/engines/mads/nebular/rooms/room610.cpp
@@ -56,7 +56,7 @@ static void room_610_init() {
if (!player.been_here_before)
local._cellCharging = false;
- if (object[OBJ_PHONE_HANDSET].location == _scene->_currentSceneId) {
+ if (object[OBJ_PHONE_HANDSET].location == room_id) {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 9, 0, 0, 0);
local._handsetHotspotId = _scene->_dynamicHotspots.add(words_phone_handset, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(local._handsetHotspotId, Common::Point(132, 121), FACING_NORTHWEST);
@@ -64,10 +64,10 @@ static void room_610_init() {
global[kHandsetCellStatus] = 1;
}
- if (_scene->_roomChanged && game.difficulty != DIFFICULTY_EASY)
+ if (kernel.teleported_in && game.difficulty != DIFFICULTY_EASY)
inter_give_to_player(OBJ_PENLIGHT);
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 175;
player.y = 152;
player.facing = FACING_NORTHWEST;
@@ -78,13 +78,13 @@ static void room_610_init() {
static void room_610_daemon() {
if (local._cellCharging) {
- long diff = _scene->_frameStartTime - local._lastFrameTimer;
+ long diff = kernel.clock - local._lastFrameTimer;
if ((diff >= 0) && (diff <= 60))
local._cellChargingTimer += diff;
else
local._cellChargingTimer++;
- local._lastFrameTimer = _scene->_frameStartTime;
+ local._lastFrameTimer = kernel.clock;
}
// CHECKME: local._checkVal is always false, could be removed
@@ -99,7 +99,7 @@ static void room_610_daemon() {
static void room_610_parser() {
if (player_said_2(exit_from, video_store))
- _scene->_nextSceneId = 609;
+ new_room = 609;
else if (player_said_2(take, phone_handset)) {
if (kernel.trigger || !player_has(OBJ_PHONE_HANDSET)) {
switch (kernel.trigger) {
@@ -147,7 +147,7 @@ static void room_610_parser() {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 9, 0, 0, 0);
local._handsetHotspotId = _scene->_dynamicHotspots.add(words_phone_handset, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(local._handsetHotspotId, Common::Point(132, 121), FACING_NORTHWEST);
- inter_move_object(OBJ_PHONE_HANDSET, _scene->_currentSceneId);
+ inter_move_object(OBJ_PHONE_HANDSET, room_id);
break;
case 2:
@@ -234,8 +234,8 @@ void room_610_preload() {
section_6_walker();
section_6_interface();
- _scene->addActiveVocab(words_phone_handset);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_phone_handset);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room611.cpp b/engines/mads/nebular/rooms/room611.cpp
index 5d3a8193368..b2ab39cf79e 100644
--- a/engines/mads/nebular/rooms/room611.cpp
+++ b/engines/mads/nebular/rooms/room611.cpp
@@ -145,12 +145,12 @@ static void displayHermitQuestions(int question) {
case 1:
{
const char *curQuote = quote_string(kernel.quotes, 0x281);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x282);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -159,12 +159,12 @@ static void displayHermitQuestions(int question) {
case 2:
{
const char *curQuote = quote_string(kernel.quotes, 0x283);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x284);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -173,7 +173,7 @@ static void displayHermitQuestions(int question) {
case 3:
{
const char *curQuote = quote_string(kernel.quotes, 0x285);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -182,7 +182,7 @@ static void displayHermitQuestions(int question) {
case 4:
{
const char *curQuote = quote_string(kernel.quotes, 0x286);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -191,17 +191,17 @@ static void displayHermitQuestions(int question) {
case 5:
{
const char *curQuote = quote_string(kernel.quotes, 0x297);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y - 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x298);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x299);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -210,12 +210,12 @@ static void displayHermitQuestions(int question) {
case 6:
{
const char *curQuote = quote_string(kernel.quotes, 0x29A);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x29B);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -224,12 +224,12 @@ static void displayHermitQuestions(int question) {
case 7:
{
const char *curQuote = quote_string(kernel.quotes, 0x2A0);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2A1);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -238,17 +238,17 @@ static void displayHermitQuestions(int question) {
case 8:
{
const char *curQuote = quote_string(kernel.quotes, 0x2A2);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2A3);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2A4);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -257,12 +257,12 @@ static void displayHermitQuestions(int question) {
case 9:
{
const char *curQuote = quote_string(kernel.quotes, 0x2A5);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2A6);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -271,17 +271,17 @@ static void displayHermitQuestions(int question) {
case 10:
{
const char *curQuote = quote_string(kernel.quotes, 0x2A8);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2A9);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2AA);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -290,22 +290,22 @@ static void displayHermitQuestions(int question) {
case 11:
{
const char *curQuote = quote_string(kernel.quotes, 0x2AB);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2AC);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2AD);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2AE);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -314,22 +314,22 @@ static void displayHermitQuestions(int question) {
case 12:
{
const char *curQuote = quote_string(kernel.quotes, 0x2AF);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2B0);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2B1);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2B2);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -338,22 +338,22 @@ static void displayHermitQuestions(int question) {
case 13:
{
const char *curQuote = quote_string(kernel.quotes, 0x2B3);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2B4);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2B5);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2B6);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
@@ -366,22 +366,22 @@ static void displayHermitQuestions(int question) {
case 14:
{
const char *curQuote = quote_string(kernel.quotes, 0x2BA);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2BB);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2BC);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2BD);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -390,22 +390,22 @@ static void displayHermitQuestions(int question) {
case 15:
{
const char *curQuote = quote_string(kernel.quotes, 0x2BE);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2BF);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2C0);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2C1);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -414,27 +414,27 @@ static void displayHermitQuestions(int question) {
case 16:
{
const char *curQuote = quote_string(kernel.quotes, 0x2C2);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2C3);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2C4);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2C5);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2C6);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -443,22 +443,22 @@ static void displayHermitQuestions(int question) {
case 17:
{
const char *curQuote = quote_string(kernel.quotes, 0x2C7);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2C8);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2C9);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2CA);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -467,17 +467,17 @@ static void displayHermitQuestions(int question) {
case 18:
{
const char *curQuote = quote_string(kernel.quotes, 0x2CB);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2CC);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2CD);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -486,17 +486,17 @@ static void displayHermitQuestions(int question) {
case 19:
{
const char *curQuote = quote_string(kernel.quotes, 0x2CE);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2CF);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2D0);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -505,27 +505,27 @@ static void displayHermitQuestions(int question) {
case 20:
{
const char *curQuote = quote_string(kernel.quotes, 0x2E1);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2E2);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2E3);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2E4);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
curQuote = quote_string(kernel.quotes, 0x2E5);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
}
@@ -534,27 +534,27 @@ static void displayHermitQuestions(int question) {
case 21:
{
const char *curQuote = quote_string(kernel.quotes, 0x2D3);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, 800, curQuote);
curQuote = quote_string(kernel.quotes, 0x2D4);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, 800, curQuote);
curQuote = quote_string(kernel.quotes, 0x2D5);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, 800, curQuote);
curQuote = quote_string(kernel.quotes, 0x2D6);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, 800, curQuote);
curQuote = quote_string(kernel.quotes, 0x2D7);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, 800, curQuote);
}
@@ -563,22 +563,22 @@ static void displayHermitQuestions(int question) {
case 22:
{
const char *curQuote = quote_string(kernel.quotes, 0x2D8);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, 700, curQuote);
curQuote = quote_string(kernel.quotes, 0x2D9);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, 700, curQuote);
curQuote = quote_string(kernel.quotes, 0x2DA);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, 700, curQuote);
curQuote = quote_string(kernel.quotes, 0x2DB);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, 700, curQuote);
}
@@ -587,27 +587,27 @@ static void displayHermitQuestions(int question) {
case 23:
{
const char *curQuote = quote_string(kernel.quotes, 0x2DC);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, 700, curQuote);
curQuote = quote_string(kernel.quotes, 0x2DD);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, 700, curQuote);
curQuote = quote_string(kernel.quotes, 0x2DE);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, 700, curQuote);
curQuote = quote_string(kernel.quotes, 0x2DF);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, 700, curQuote);
curQuote = quote_string(kernel.quotes, 0x2E0);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, 700, curQuote);
}
@@ -758,12 +758,12 @@ static void handleSubDialog1() {
_scene->_kernelMessages.reset();
const char *curQuote = quote_string(kernel.quotes, 0x2D1);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, 120, curQuote);
curQuote = quote_string(kernel.quotes, 0x2D2);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, 120, curQuote);
@@ -818,7 +818,7 @@ static void handleSubDialog1() {
_scene->_kernelMessages.reset();
const char *curQuote = quote_string(kernel.quotes, 0x2E6);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, 120, curQuote);
@@ -856,7 +856,7 @@ static void handleSubDialog2() {
{
_scene->_kernelMessages.reset();
const char *curQuote = quote_string(kernel.quotes, 0x2A7);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, 120, curQuote);
setDialogNode(0);
@@ -875,7 +875,7 @@ static void handleDialog() {
player.commands_allowed = false;
const char *curQuote = quote_string(kernel.quotes, player2.words[0]);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
if (width > 200) {
static char subQuote1[34], subQuote2[34];
@@ -942,7 +942,7 @@ static void room_611_init() {
local._alreadyTalkingFl = false;
local._startTradingFl = false;
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 22;
player.y = 132;
player.facing = FACING_EAST;
@@ -950,7 +950,7 @@ static void room_611_init() {
}
if (!global[kHasTalkedToHermit]) {
- _scene->loadAnimation(kernel_full_name(611, 'h', -1, "", EXT_AA), 0);
+ kernel_run_animation(kernel_full_name(611, 'h', -1, "", EXT_AA), 0);
local._nextFrame = 47;
local._hermitMode = 1;
local._hermitTalkingFl = false;
@@ -1251,7 +1251,7 @@ static void room_611_daemon() {
}
if (kernel.trigger == 112) {
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
player.walker_visible = true;
}
@@ -1311,7 +1311,7 @@ static void room_611_daemon() {
}
if (kernel.trigger == 115) {
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
player.walker_visible = true;
if (local._hermitDisplayedQuestion == 21) {
player.commands_allowed = false;
@@ -1351,12 +1351,12 @@ static void room_611_parser() {
_scene->_kernelMessages.reset();
const char *curQuote = quote_string(kernel.quotes, 0x323);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, 120, curQuote);
curQuote = quote_string(kernel.quotes, 0x324);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, _scene->_textSpacing);
+ width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
_scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, 120, curQuote);
} else if (kernel.trigger == 90) {
@@ -1498,8 +1498,8 @@ void room_611_preload() {
section_6_walker();
section_6_interface();
- _scene->addActiveVocab(words_rat);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_rat);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room612.cpp b/engines/mads/nebular/rooms/room612.cpp
index d7e20688174..c505026c817 100644
--- a/engines/mads/nebular/rooms/room612.cpp
+++ b/engines/mads/nebular/rooms/room612.cpp
@@ -115,7 +115,7 @@ static void room_612_init() {
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, local._cycleIndex);
_scene->_sequences.setDepth(g_sequence_ids[2], 1);
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 280;
player.y = 75;
player.facing = FACING_SOUTHWEST;
@@ -123,12 +123,12 @@ static void room_612_init() {
player.commands_allowed = false;
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, -1);
_scene->_sequences.setDepth(g_sequence_ids[1], 3);
- _scene->loadAnimation(kernel_name('R', 1), 70);
+ kernel_run_animation(kernel_name('R', 1), 70);
}
section_6_music();
- if (_scene->_roomChanged)
+ if (kernel.teleported_in)
inter_give_to_player(OBJ_PADLOCK_KEY);
kernel.quotes = quote_load(0x2F5, 0x2F4, 0);
@@ -194,7 +194,7 @@ static void room_612_parser() {
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], true, -2);
_scene->_sequences.setMsgLayout(g_sequence_ids[3]);
_scene->_sequences.updateTimeout(g_sequence_ids[3], syncIdx);
- _scene->_nextSceneId = 504;
+ new_room = 504;
}
break;
@@ -255,8 +255,8 @@ void room_612_preload() {
section_6_walker();
section_6_interface();
- _scene->addActiveVocab(words_fishing_line);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_fishing_line);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room620.cpp b/engines/mads/nebular/rooms/room620.cpp
index 432c7303bb4..49353d0a304 100644
--- a/engines/mads/nebular/rooms/room620.cpp
+++ b/engines/mads/nebular/rooms/room620.cpp
@@ -45,28 +45,28 @@ static void room_620_daemon() {
switch (kernel.trigger) {
case 70:
_scene->_sequences.remove(g_sequence_ids[1]);
- _scene->loadAnimation(kernel_name('E', -1), 71);
+ kernel_run_animation(kernel_name('E', -1), 71);
break;
case 71:
- if (_scene->_priorSceneId == 751) {
+ if (previous_room == 751) {
global[kCityFlooded] = true;
global[kTeleporterRoom + 5] = 0;
- _scene->_nextSceneId = 701;
- } else if (_scene->_priorSceneId == 752) {
+ new_room = 701;
+ } else if (previous_room == 752) {
global[kCityFlooded] = true;
global[kTeleporterRoom + 5] = 0;
- _scene->_nextSceneId = 702;
- } else if (_scene->_priorSceneId < 501 || _scene->_priorSceneId > 752) {
+ new_room = 702;
+ } else if (previous_room < 501 || previous_room > 752) {
global[kCityFlooded] = true;
global[kTeleporterRoom + 5] = 0;
- _scene->_nextSceneId = _scene->_priorSceneId;
- } else if (_scene->_priorSceneId >= 501 && _scene->_priorSceneId <= 612) {
+ new_room = previous_room;
+ } else if (previous_room >= 501 && previous_room <= 612) {
global[kResurrectRoom] = global[kHoverCarLocation];
inter_give_to_player(OBJ_TIMEBOMB);
global[kTimebombStatus] = 0;
global[kTimebombTimer] = 0;
- _scene->_nextSceneId = 605;
+ new_room = 605;
}
player.commands_allowed = true;
break;
diff --git a/engines/mads/nebular/rooms/room701.cpp b/engines/mads/nebular/rooms/room701.cpp
index 883995f0eef..8b947d769ea 100644
--- a/engines/mads/nebular/rooms/room701.cpp
+++ b/engines/mads/nebular/rooms/room701.cpp
@@ -46,7 +46,7 @@ static void room_701_init() {
g_sprite_ids[5] = kernel_load_series("*RM202A1", 0);
g_sprite_ids[6] = kernel_load_series(kernel_name('b', 8), 0);
- if (_scene->_roomChanged) {
+ if (kernel.teleported_in) {
inter_give_to_player(OBJ_BINOCULARS);
inter_give_to_player(OBJ_TWINKIFRUIT);
inter_give_to_player(OBJ_BOMB);
@@ -73,7 +73,7 @@ static void room_701_init() {
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(48, 136));
_scene->_sequences.setDepth(g_sequence_ids[1], 10);
- int boatStatus = (_scene->_priorSceneId == 703) ? BOAT_GONE : global[kBoatStatus];
+ int boatStatus = (previous_room == 703) ? BOAT_GONE : global[kBoatStatus];
switch (boatStatus) {
case BOAT_TIED_FLOATING:
@@ -106,11 +106,11 @@ static void room_701_init() {
local._fishingLineId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(234, 129), FACING_NORTHEAST);
}
- if (_scene->_priorSceneId == 702) {
+ if (previous_room == 702) {
player.x = 309;
player.y = 138;
player.facing = FACING_WEST;
- } else if (_scene->_priorSceneId == 710) {
+ } else if (previous_room == 710) {
player.x = 154;
player.y = 129;
player.facing = FACING_NORTH;
@@ -119,15 +119,15 @@ static void room_701_init() {
g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
_scene->_sequences.setPosition(g_sequence_ids[5], Common::Point(155, 129));
_scene->_sequences.addTimer(15, 60);
- } else if (_scene->_priorSceneId == 703) {
+ } else if (previous_room == 703) {
player.x = 231;
player.y = 127;
player.facing = FACING_SOUTH;
player.walker_visible = false;
player.commands_allowed = false;
- _scene->loadAnimation(kernel_name('B', 1), 80);
+ kernel_run_animation(kernel_name('B', 1), 80);
g_engine->_soundManager->command(28, 0);
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG && _scene->_priorSceneId != 620) {
+ } else if (previous_room != RETURNING_FROM_DIALOG && previous_room != 620) {
player.x = 22;
player.y = 131;
player.facing = FACING_EAST;
@@ -187,7 +187,7 @@ static void room_701_daemon() {
case 80:
{
player.walker_visible = true;
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -1);
_scene->_sequences.setDepth(g_sequence_ids[2], 9);
int idx = _scene->_dynamicHotspots.add(words_boat, words_climb_into, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
@@ -236,7 +236,7 @@ static void room_701_parser() {
break;
case 2:
- _scene->_nextSceneId = 710;
+ new_room = 710;
break;
default:
@@ -274,7 +274,7 @@ static void room_701_parser() {
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(48, 136));
_scene->_sequences.setDepth(g_sequence_ids[1], 10);
global[kResurrectRoom] = 701;
- _scene->_nextSceneId = 605;
+ new_room = 605;
break;
default:
@@ -292,7 +292,7 @@ static void room_701_parser() {
_scene->_dynamicHotspots.remove(local._fishingLineId);
_scene->_hotspots.activate(words_boat, false);
player.walker_visible = false;
- _scene->loadAnimation(kernel_name('E', -1), 1);
+ kernel_run_animation(kernel_name('E', -1), 1);
break;
case 1:
@@ -333,11 +333,11 @@ static void room_701_parser() {
player.commands_allowed = false;
_scene->_sequences.remove(g_sequence_ids[2]);
player.walker_visible = false;
- _scene->loadAnimation(kernel_name('B', 0), 1);
+ kernel_run_animation(kernel_name('B', 0), 1);
break;
case 1:
- _scene->_nextSceneId = 703;
+ new_room = 703;
break;
default:
@@ -397,10 +397,10 @@ void room_701_preload() {
section_7_walker();
section_7_interface();
- _scene->addActiveVocab(words_boat);
- _scene->addActiveVocab(words_climb_into);
- _scene->addActiveVocab(words_fishing_line);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_boat);
+ vocab_make_active(words_climb_into);
+ vocab_make_active(words_fishing_line);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room702.cpp b/engines/mads/nebular/rooms/room702.cpp
index 8df2cf7f8c0..01b63fb89d2 100644
--- a/engines/mads/nebular/rooms/room702.cpp
+++ b/engines/mads/nebular/rooms/room702.cpp
@@ -34,11 +34,11 @@ namespace Rooms {
static void room_702_init() {
g_sprite_ids[12] = kernel_load_series("*RXMBD_8", 0);
- if (_scene->_priorSceneId == 701) {
+ if (previous_room == 701) {
player.x = 13;
player.y = 145;
player.facing = FACING_EAST;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG && _scene->_priorSceneId != 620) {
+ } else if (previous_room != RETURNING_FROM_DIALOG && previous_room != 620) {
player.x = 289;
player.y = 138;
player_walk(262, 148, FACING_WEST);
@@ -75,7 +75,7 @@ static void room_702_parser() {
else if (player_said_2(step_into, teleporter)) {
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_nextSceneId = 711;
+ new_room = 711;
} else if (player_said_2(take, bones) && (player.main_object_source == CAT_HOTSPOT) && (!player_has(OBJ_BONES) || kernel.trigger)) {
switch (kernel.trigger) {
case 0:
diff --git a/engines/mads/nebular/rooms/room703.cpp b/engines/mads/nebular/rooms/room703.cpp
index ac8ff46aa28..689a9893d78 100644
--- a/engines/mads/nebular/rooms/room703.cpp
+++ b/engines/mads/nebular/rooms/room703.cpp
@@ -135,7 +135,7 @@ static void room_703_init() {
player.walker_visible = false;
if (!player.been_here_before) {
- if (_scene->_priorSceneId == 704)
+ if (previous_room == 704)
global[kMonsterAlive] = false;
else
global[kMonsterAlive] = true;
@@ -151,44 +151,44 @@ static void room_703_init() {
if (!global[kMonsterAlive])
_scene->_hotspots.activate(words_sea_monster, false);
- if (_scene->_priorSceneId == 704) {
+ if (previous_room == 704) {
player.commands_allowed = false;
local._curSequence = 2;
local._boatDir = 2;
local._monsterMode = 0;
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
_scene->_animation[0]->setCurrentFrame(34);
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.commands_allowed = false;
local._boatDir = 1;
if (global[kMonsterAlive]) {
local._monsterMode = 1;
local._curSequence = 0;
- _scene->loadAnimation(kernel_name('B', -1));
+ kernel_run_animation(kernel_name('B', -1), 0);
} else {
local._curSequence = 0;
local._monsterMode = 0;
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
}
} else if (global[kMonsterAlive]) {
local._curSequence = 0;
local._boatDir = 1;
local._monsterMode = 1;
- _scene->loadAnimation(kernel_name('B', -1));
+ kernel_run_animation(kernel_name('B', -1), 0);
_scene->_animation[0]->setCurrentFrame(39);
} else if (local._boatDir == 1) {
local._curSequence = 0;
local._monsterMode = 0;
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
_scene->_animation[0]->setCurrentFrame(9);
} else if (local._boatDir == 2) {
local._curSequence = 0;
local._monsterMode = 0;
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
_scene->_animation[0]->setCurrentFrame(56);
}
- if (_scene->_roomChanged) {
+ if (kernel.teleported_in) {
inter_give_to_player(OBJ_TWINKIFRUIT);
inter_give_to_player(OBJ_BOMB);
inter_give_to_player(OBJ_CHICKEN);
@@ -203,29 +203,29 @@ static void room_703_init() {
static void room_703_daemon() {
if (local._startMonsterTimer) {
- long diff = _scene->_frameStartTime - local._lastFrameTime;
+ long diff = kernel.clock - local._lastFrameTime;
if ((diff >= 0) && (diff <= 12))
local._monsterTime += diff;
else
local._monsterTime++;
- local._lastFrameTime = _scene->_frameStartTime;
+ local._lastFrameTime = kernel.clock;
}
if ((local._monsterTime >= 2400) && !local._rexDeathFl && !local._useBomb) {
local._startMonsterTimer = false;
local._rexDeathFl = true;
player.commands_allowed = false;
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._monsterMode = 3;
- _scene->loadAnimation(kernel_name('D', -1));
+ kernel_run_animation(kernel_name('D', -1), 0);
local._rexDeathFl = false;
local._monsterTime = 0;
}
if (kernel.trigger == 70)
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
if ((local._monsterMode == 3) && (_scene->_animation[0] != nullptr)) {
if (_scene->_animation[0]->getCurrentFrame() != local._boatFrame) {
@@ -248,7 +248,7 @@ static void room_703_daemon() {
}
if (kernel.trigger == 70)
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
if ((local._monsterMode == 0) && (_scene->_animation[0] != nullptr)) {
if (_scene->_animation[0]->getCurrentFrame() != local._boatFrame) {
@@ -273,7 +273,7 @@ static void room_703_daemon() {
case 34:
if (local._curSequence != 2)
- _scene->_nextSceneId = 704;
+ new_room = 704;
break;
case 57:
@@ -292,7 +292,7 @@ static void room_703_daemon() {
break;
case 73:
- _scene->_nextSceneId = 701;
+ new_room = 701;
break;
case 82:
@@ -390,7 +390,7 @@ static void room_703_daemon() {
break;
case 151:
- _scene->_nextSceneId = 701;
+ new_room = 701;
break;
default:
@@ -443,18 +443,18 @@ static void room_703_daemon() {
} else
text_show(70317);
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._monsterMode = 1;
- _scene->loadAnimation(kernel_name('B', -1));
+ kernel_run_animation(kernel_name('B', -1), 0);
_scene->_animation[0]->setCurrentFrame(39);
player.commands_allowed = true;
break;
case 91:
if (!local._useBomb) {
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._monsterMode = 1;
- _scene->loadAnimation(kernel_name('B', -1));
+ kernel_run_animation(kernel_name('B', -1), 0);
_scene->_animation[0]->setCurrentFrame(39);
player.commands_allowed = true;
} else
@@ -465,9 +465,9 @@ static void room_703_daemon() {
case 126:
_scene->_hotspots.activate(words_sea_monster, false);
global[kMonsterAlive] = false;
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._monsterMode = 0;
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
_scene->_animation[0]->setCurrentFrame(9);
player.commands_allowed = true;
if (config_file.naughtiness == STORYMODE_NAUGHTY)
@@ -506,42 +506,42 @@ static void room_703_parser() {
local._startMonsterTimer = false;
local._rexDeathFl = true;
local._monsterTime = 0;
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._monsterMode = 3;
- _scene->loadAnimation(kernel_name('D', -1));
+ kernel_run_animation(kernel_name('D', -1), 0);
} else if (local._boatDir == 2)
local._curSequence = 4;
else
local._curSequence = 1;
} else if (player_said_3(throw, bone, sea_monster) || player_said_3(throw, bones, sea_monster)) {
player.commands_allowed = false;
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._monsterMode = 2;
- _scene->loadAnimation(kernel_name('C', -1));
+ kernel_run_animation(kernel_name('C', -1), 0);
_scene->_animation[0]->setCurrentFrame(19);
} else if (player_said_3(throw, chicken, sea_monster)) {
player.commands_allowed = false;
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._monsterMode = 2;
- _scene->loadAnimation(kernel_name('C', -1));
+ kernel_run_animation(kernel_name('C', -1), 0);
} else if (player_said_3(throw, twinkifruit, sea_monster)) {
player.commands_allowed = false;
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._monsterMode = 2;
- _scene->loadAnimation(kernel_name('C', -1));
+ kernel_run_animation(kernel_name('C', -1), 0);
_scene->_animation[0]->setCurrentFrame(39);
} else if (player_said_3(throw, bomb, sea_monster)) {
player.commands_allowed = false;
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._monsterMode = 2;
- _scene->loadAnimation(kernel_name('C', -1));
+ kernel_run_animation(kernel_name('C', -1), 0);
_scene->_animation[0]->setCurrentFrame(59);
} else if (player_said_3(throw, chicken_bomb, sea_monster)) {
local._useBomb = true;
player.commands_allowed = false;
- _scene->freeAnimation();
+ kernel_abort_animation(0);
local._monsterMode = 2;
- _scene->loadAnimation(kernel_name('C', -1));
+ kernel_run_animation(kernel_name('C', -1), 0);
} else if (player_said_3(put, bottle, water) || player_said_3(fill, bottle, water)) {
if (global[kBottleStatus] != 4) {
handleBottleInterface();
diff --git a/engines/mads/nebular/rooms/room704.cpp b/engines/mads/nebular/rooms/room704.cpp
index b78a9c63bd0..b18f16fc2a8 100644
--- a/engines/mads/nebular/rooms/room704.cpp
+++ b/engines/mads/nebular/rooms/room704.cpp
@@ -124,11 +124,11 @@ static void handleFillBottle(int quote) {
}
static void room_704_init() {
- if (object[OBJ_BOTTLE].location == _scene->_currentSceneId) {
+ if (object[OBJ_BOTTLE].location == room_id) {
g_sprite_ids[1] = kernel_load_series(kernel_name('b', 0), 0);
g_sequence_ids[1] = _scene->_sequences.startPingPongCycle(g_sprite_ids[1], false, 6, 0, 0, 0);
_scene->_sequences.setDepth(g_sequence_ids[1], 1);
- if (_scene->_priorSceneId == 705) {
+ if (previous_room == 705) {
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(123, 125));
_scene->_sequences.setDepth(g_sequence_ids[1], 1);
} else {
@@ -143,29 +143,29 @@ static void room_704_init() {
local._takeBottleFl = false;
local._boatCurrentFrame = -1;
- if (_scene->_priorSceneId == 705) {
+ if (previous_room == 705) {
player.commands_allowed = false;
local._animationMode = 2;
local._boatDirection = 2;
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
_scene->_animation[0]->setCurrentFrame(36);
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.commands_allowed = false;
local._boatDirection = 1;
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
} else if (local._boatDirection == 1) {
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
_scene->_animation[0]->setCurrentFrame(8);
} else if (local._boatDirection == 2) {
- if (object[OBJ_BOTTLE].location == _scene->_currentSceneId) {
+ if (object[OBJ_BOTTLE].location == room_id) {
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(123, 125));
_scene->_sequences.setDepth(g_sequence_ids[1], 1);
}
- _scene->loadAnimation(kernel_name('A', -1));
+ kernel_run_animation(kernel_name('A', -1), 0);
_scene->_animation[0]->setCurrentFrame(57);
}
- if (_scene->_roomChanged)
+ if (kernel.teleported_in)
global[kMonsterAlive] = false;
kernel.quotes = quote_load(0x311, 0x312, 0x313, 0x314, 0x315, 0);
@@ -205,7 +205,7 @@ static void room_704_daemon() {
case 36:
if (local._animationMode != 2)
- _scene->_nextSceneId = 705;
+ new_room = 705;
break;
case 59:
@@ -233,7 +233,7 @@ static void room_704_daemon() {
break;
case 65:
- _scene->_nextSceneId = 703;
+ new_room = 703;
break;
case 74:
@@ -390,8 +390,8 @@ void room_704_preload() {
*player.series_name = '\0';
section_7_interface();
- _scene->addActiveVocab(words_bottle);
- _scene->addActiveVocab(words_look_at);
+ vocab_make_active(words_bottle);
+ vocab_make_active(words_look_at);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room705.cpp b/engines/mads/nebular/rooms/room705.cpp
index afbbccac57c..7618bc01c93 100644
--- a/engines/mads/nebular/rooms/room705.cpp
+++ b/engines/mads/nebular/rooms/room705.cpp
@@ -83,7 +83,7 @@ static void setBottleSequence() {
player.commands_allowed = false;
_scene->_sequences.remove(g_sequence_ids[3]);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->loadAnimation(kernel_name('F', -1), 90);
+ kernel_run_animation(kernel_name('F', -1), 90);
}
static void handleFillBottle(int quote) {
@@ -124,19 +124,19 @@ static void room_705_init() {
player.walker_visible = false;
- if (_scene->_priorSceneId == 706) {
+ if (previous_room == 706) {
player.commands_allowed = false;
g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 9, 1, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 4);
_scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.commands_allowed = false;
_scene->_sequences.addTimer(1, 80);
g_engine->_soundManager->command(28, 0);
} else
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
- if (_scene->_roomChanged)
+ if (kernel.teleported_in)
inter_give_to_player(OBJ_BOTTLE);
kernel.quotes = quote_load(0x311, 0x312, 0x313, 0x314, 0x315, 0);
@@ -245,7 +245,7 @@ static void room_705_parser() {
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -2);
_scene->_sequences.setDepth(g_sequence_ids[2], 2);
_scene->_sequences.updateTimeout(g_sequence_ids[2], syncIdx);
- _scene->_nextSceneId = 704;
+ new_room = 704;
player.commands_allowed = true;
}
break;
@@ -268,7 +268,7 @@ static void room_705_parser() {
int syncIdx = g_sequence_ids[3];
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 16);
_scene->_sequences.updateTimeout(g_sequence_ids[3], syncIdx);
- _scene->_nextSceneId = 706;
+ new_room = 706;
player.commands_allowed = true;
}
break;
diff --git a/engines/mads/nebular/rooms/room706.cpp b/engines/mads/nebular/rooms/room706.cpp
index 13fcc7906cc..53b1dc66008 100644
--- a/engines/mads/nebular/rooms/room706.cpp
+++ b/engines/mads/nebular/rooms/room706.cpp
@@ -46,7 +46,7 @@ static void handleRexDeath() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- _scene->loadAnimation(kernel_name('a', -1), 2);
+ kernel_run_animation(kernel_name('a', -1), 2);
break;
case 2:
@@ -57,12 +57,12 @@ static void handleRexDeath() {
else
text_show(70629);
- inter_move_object(OBJ_VASE, _scene->_currentSceneId);
+ inter_move_object(OBJ_VASE, room_id);
if (local._animationMode == 2)
inter_move_object(OBJ_BOTTLE, 2);
local._animationMode = 0;
- _scene->_reloadSceneFlag = true;
+ kernel.force_restart = true;
break;
default:
@@ -92,7 +92,7 @@ static void handleTakeVase() {
_scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(195, 99));
int idx = _scene->_dynamicHotspots.add(words_bottle, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(175, 124), FACING_SOUTHEAST);
- inter_move_object(OBJ_BOTTLE, _scene->_currentSceneId);
+ inter_move_object(OBJ_BOTTLE, room_id);
}
break;
@@ -115,7 +115,7 @@ static void room_706_init() {
if (!player.been_here_before)
local._emptyPedestral = false;
- if (object[OBJ_VASE].location == _scene->_currentSceneId) {
+ if (object[OBJ_VASE].location == room_id) {
g_sprite_ids[1] = kernel_load_series(kernel_name('v', -1), 0);
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
_scene->_sequences.setDepth(g_sequence_ids[1], 4);
@@ -131,11 +131,11 @@ static void room_706_init() {
player.walker_visible = true;
- if (_scene->_priorSceneId == 707) {
+ if (previous_room == 707) {
player.x = 277;
player.y = 103;
player.facing = FACING_SOUTHWEST;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 167;
player.y = 152;
player.facing = FACING_NORTH;
@@ -147,11 +147,11 @@ static void room_706_init() {
switch (global[kTeleporterCommand]) {
case 1:
- _scene->loadAnimation(kernel_name('E', 1), 75);
+ kernel_run_animation(kernel_name('E', 1), 75);
break;
case 2:
- _scene->loadAnimation(kernel_name('E', -1), 80);
+ kernel_run_animation(kernel_name('E', -1), 80);
break;
default:
@@ -165,7 +165,7 @@ static void room_706_init() {
local._animationMode = 0;
- if (_scene->_roomChanged) {
+ if (kernel.teleported_in) {
inter_give_to_player(OBJ_BOTTLE);
global[kBottleStatus] = 2;
}
@@ -177,14 +177,14 @@ static void room_706_daemon() {
if (kernel.trigger == 75) {
player.commands_allowed = true;
player.walker_visible = true;
- player.clock = _scene->_frameStartTime - player.frame_delay;
+ player.clock = kernel.clock - player.frame_delay;
player_walk(264, 116, FACING_SOUTHWEST);
}
if (kernel.trigger == 80) {
global[kTeleporterCommand] = 1;
- _scene->_nextSceneId = global[kTeleporterDestination];
- _scene->_reloadSceneFlag = true;
+ new_room = global[kTeleporterDestination];
+ kernel.force_restart = true;
}
if (_scene->_animation[0] != nullptr) {
@@ -218,13 +218,13 @@ static void room_706_parser() {
if (player_said_2(walk_inside, teleporter)) {
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_nextSceneId = 707;
+ new_room = 707;
player.command_ready = false;
return;
}
if (player_said_2(exit, room)) {
- _scene->_nextSceneId = 705;
+ new_room = 705;
player.command_ready = false;
return;
}
@@ -267,7 +267,7 @@ static void room_706_parser() {
} else if (player_said_2(take, bottle) && player_has(OBJ_VASE))
text_show(70631);
else if (player.look_around) {
- if (object[OBJ_VASE].location == _scene->_currentSceneId)
+ if (object[OBJ_VASE].location == room_id)
text_show(70610);
else
text_show(70611);
@@ -288,15 +288,15 @@ static void room_706_parser() {
else if (player_said_2(look, wall))
text_show(70619);
else if (player_said_2(look, pedestal)) {
- if (object[OBJ_VASE].location == _scene->_currentSceneId)
+ if (object[OBJ_VASE].location == room_id)
text_show(70620);
- else if (object[OBJ_BOTTLE].location == _scene->_currentSceneId)
+ else if (object[OBJ_BOTTLE].location == room_id)
text_show(70622);
else
text_show(70621);
} else if (player_said_2(look, teleporter))
text_show(70623);
- else if (player_said_2(look, vase) && (object[OBJ_VASE].location == _scene->_currentSceneId))
+ else if (player_said_2(look, vase) && (object[OBJ_VASE].location == room_id))
text_show(70624);
else if (player_said_2(look, bottle) && (player.main_object_source == CAT_HOTSPOT))
text_show(70632);
@@ -323,9 +323,9 @@ void room_706_preload() {
section_7_walker();
section_7_interface();
- _scene->addActiveVocab(words_bottle);
- _scene->addActiveVocab(words_vase);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_bottle);
+ vocab_make_active(words_vase);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room710.cpp b/engines/mads/nebular/rooms/room710.cpp
index 5c65baccc07..56fe2f92fcd 100644
--- a/engines/mads/nebular/rooms/room710.cpp
+++ b/engines/mads/nebular/rooms/room710.cpp
@@ -48,9 +48,9 @@ static void room_710_init() {
static void room_710_daemon() {
if (kernel.trigger == 70) {
if (global[kCityFlooded])
- _scene->_nextSceneId = 701;
+ new_room = 701;
else
- _scene->_nextSceneId = 751;
+ new_room = 751;
}
}
@@ -59,9 +59,9 @@ static void room_710_parser() {
player.commands_allowed = false;
if (global[kCityFlooded])
- _scene->_nextSceneId = 701;
+ new_room = 701;
else
- _scene->_nextSceneId = 751;
+ new_room = 751;
player.command_ready = false;
}
diff --git a/engines/mads/nebular/rooms/room751.cpp b/engines/mads/nebular/rooms/room751.cpp
index 3f7d967a963..e18052f3d35 100644
--- a/engines/mads/nebular/rooms/room751.cpp
+++ b/engines/mads/nebular/rooms/room751.cpp
@@ -58,11 +58,11 @@ static void room_751_init() {
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(48, 136));
_scene->_sequences.setDepth(g_sequence_ids[1], 10);
- if (_scene->_priorSceneId == 752) {
+ if (previous_room == 752) {
player.x = 309;
player.y = 138;
player.facing = FACING_WEST;
- } else if (_scene->_priorSceneId == 710) {
+ } else if (previous_room == 710) {
player.x = 154;
player.y = 129;
player.facing = FACING_NORTH;
@@ -71,7 +71,7 @@ static void room_751_init() {
g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, -2);
_scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(155, 129));
_scene->_sequences.addTimer(15, 70);
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 22;
player.y = 131;
player.facing = FACING_EAST;
@@ -92,7 +92,7 @@ static void room_751_init() {
_scene->_dynamicHotspots.setPosition(idx, Common::Point(268, 140), FACING_NORTHWEST);
}
- if (_scene->_roomChanged) {
+ if (kernel.teleported_in) {
inter_give_to_player(OBJ_FISHING_LINE);
inter_give_to_player(OBJ_BINOCULARS);
}
@@ -127,7 +127,7 @@ static void room_751_daemon() {
global[kTimebombStatus] = 3;
global[kTimebombTimer] = 0;
global[kCheckDaemonTimebomb] = false;
- _scene->_nextSceneId = 620;
+ new_room = 620;
}
switch (kernel.trigger) {
@@ -232,7 +232,7 @@ static void room_751_parser() {
break;
case 2:
- _scene->_nextSceneId = 710;
+ new_room = 710;
break;
default:
@@ -274,7 +274,7 @@ static void room_751_parser() {
case 5:
player.commands_allowed = true;
- _scene->_nextSceneId = 513;
+ new_room = 513;
break;
default:
@@ -318,7 +318,7 @@ static void room_751_parser() {
int idx = _scene->_dynamicHotspots.add(words_fishing_line, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(268, 140), FACING_NORTHWEST);
_scene->_kernelMessages.reset();
- inter_move_object(OBJ_FISHING_LINE, _scene->_currentSceneId);
+ inter_move_object(OBJ_FISHING_LINE, room_id);
local._rexHandingLine = false;
global[kLineStatus] = 2;
player.commands_allowed = true;
@@ -373,8 +373,8 @@ void room_751_preload() {
section_7_walker();
section_7_interface();
- _scene->addActiveVocab(words_fishing_line);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_fishing_line);
+ vocab_make_active(words_walkto);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room752.cpp b/engines/mads/nebular/rooms/room752.cpp
index a8a5a9883d3..77b04267c7e 100644
--- a/engines/mads/nebular/rooms/room752.cpp
+++ b/engines/mads/nebular/rooms/room752.cpp
@@ -42,11 +42,11 @@ static void room_752_init() {
g_sprite_ids[14] = kernel_load_series(kernel_name('l', -1), 0);
g_sprite_ids[12] = kernel_load_series("*RXMBD_8", 0);
- if (_scene->_priorSceneId == 751) {
+ if (previous_room == 751) {
player.x = 13;
player.y = 145;
player.facing = FACING_EAST;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 289;
player.y = 138;
player_walk(262, 148, FACING_WEST);
@@ -100,7 +100,7 @@ static void room_752_daemon() {
global[kTimebombStatus] = TIMEBOMB_DEAD;
global[kTimebombTimer] = global[kTimebombTimer + 1] = 0;
global[kCheckDaemonTimebomb] = false;
- _scene->_nextSceneId = 620;
+ new_room = 620;
}
}
@@ -116,7 +116,7 @@ static void room_752_parser() {
else if (player_said_2(step_into, teleporter)) {
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_nextSceneId = 711;
+ new_room = 711;
} else if (player_said_2(take, id_card) && (!player_has(OBJ_ID_CARD) || kernel.trigger)) {
switch (kernel.trigger) {
case 0:
@@ -210,10 +210,10 @@ void room_752_preload() {
section_7_walker();
section_7_interface();
- _scene->addActiveVocab(words_id_card);
- _scene->addActiveVocab(words_walkto);
- _scene->addActiveVocab(words_look_at);
- _scene->addActiveVocab(words_laser_beam);
+ vocab_make_active(words_id_card);
+ vocab_make_active(words_walkto);
+ vocab_make_active(words_look_at);
+ vocab_make_active(words_laser_beam);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room801.cpp b/engines/mads/nebular/rooms/room801.cpp
index 3eaa8127375..216dab16734 100644
--- a/engines/mads/nebular/rooms/room801.cpp
+++ b/engines/mads/nebular/rooms/room801.cpp
@@ -45,7 +45,7 @@ static void room_801_init() {
g_sprite_ids[4] = kernel_load_series(kernel_name('x', 3), 0);
g_sprite_ids[5] = kernel_load_series(kernel_name('a', -1), 0);
- if (_scene->_priorSceneId != 802) {
+ if (previous_room != 802) {
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 5);
_scene->_sequences.setDepth(g_sequence_ids[2], 13);
}
@@ -60,16 +60,16 @@ static void room_801_init() {
global[kBeamIsUp] = false;
global[kForceBeamDown] = false;
global[kDontRepeat] = false;
- } else if (_scene->_priorSceneId == 808) {
+ } else if (previous_room == 808) {
player.x = 148;
player.y = 110;
player.facing = FACING_NORTH;
- } else if (_scene->_priorSceneId == 802) {
+ } else if (previous_room == 802) {
player.x = 307;
player.y = 111;
player_walk(270, 118, FACING_WEST);
player.walker_visible = true;
- } else if ((_scene->_priorSceneId != RETURNING_FROM_DIALOG) && !global[kTeleporterCommand]) {
+ } else if ((previous_room != RETURNING_FROM_DIALOG) && !global[kTeleporterCommand]) {
player.x = 8;
player.y = 117;
player_walk(41, 115, FACING_EAST);
@@ -119,7 +119,7 @@ static void room_801_init() {
}
local._walkThroughDoor = false;
- if (_scene->_priorSceneId == 802) {
+ if (previous_room == 802) {
player.commands_allowed = false;
local._walkThroughDoor = true;
}
@@ -157,15 +157,15 @@ static void room_801_daemon() {
}
if (kernel.trigger == 141) {
- _scene->_reloadSceneFlag = true;
- _scene->_nextSceneId = _scene->_priorSceneId;
+ kernel.force_restart = true;
+ new_room = previous_room;
global[kTeleporterCommand] = 0;
}
if (kernel.trigger == 80) {
global[kTeleporterCommand] = 1;
- _scene->_nextSceneId = global[kTeleporterDestination];
- _scene->_reloadSceneFlag = true;
+ new_room = global[kTeleporterDestination];
+ kernel.force_restart = true;
}
if (local._walkThroughDoor && (Common::Point(player.x, player.y) == Common::Point(270, 118))) {
@@ -201,7 +201,7 @@ static void room_801_daemon() {
if (kernel.trigger == 110) {
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 5);
_scene->_sequences.setDepth(g_sequence_ids[2], 10);
- _scene->_nextSceneId = 802;
+ new_room = 802;
}
}
@@ -218,17 +218,17 @@ static void room_801_pre_parser() {
global[kCutFacing] = player.facing;
global[kForceBeamDown] = true;
global[kDontRepeat] = true;
- _scene->_nextSceneId = 803;
+ new_room = 803;
}
}
static void room_801_parser() {
if (player_said_2(look, control_panel))
- _scene->_nextSceneId = 808;
+ new_room = 808;
else if (player_said_2(walk_inside, teleporter)) {
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_nextSceneId = 807;
+ new_room = 807;
} else if (player_said_2(walk_through, door) && (Common::Point(player.x, player.y) == Common::Point(270, 118))) {
player.commands_allowed = false;
player.facing = FACING_EAST;
diff --git a/engines/mads/nebular/rooms/room802.cpp b/engines/mads/nebular/rooms/room802.cpp
index cda52d55585..92b4fd1b21c 100644
--- a/engines/mads/nebular/rooms/room802.cpp
+++ b/engines/mads/nebular/rooms/room802.cpp
@@ -49,17 +49,17 @@ static void room_802_init() {
global[kBeamIsUp] = false;
global[kForceBeamDown] = false;
global[kDontRepeat] = false;
- global[kAntigravClock] = _scene->_frameStartTime;
- } else if (_scene->_priorSceneId == 801) {
+ global[kAntigravClock] = kernel.clock;
+ } else if (previous_room == 801) {
player.x = 15;
player.y = 129;
player.facing = FACING_EAST;
- } else if (_scene->_priorSceneId == 803) {
+ } else if (previous_room == 803) {
player.x = 303;
player.y = 119;
player.facing = FACING_WEST;
- } else if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 15;
player.y = 129;
player.facing = FACING_EAST;
@@ -146,7 +146,7 @@ static void room_802_parser() {
break;
case 2:
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
_scene->_sequences.addTimer(20, 3);
break;
@@ -179,7 +179,7 @@ static void room_802_parser() {
break;
case 2:
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
_scene->_sequences.addTimer(20, 3);
break;
@@ -244,9 +244,9 @@ void room_802_preload() {
section_8_walker();
section_8_interface();
- _scene->addActiveVocab(words_shield_modulator);
- _scene->addActiveVocab(words_walkto);
- _scene->addActiveVocab(words_remote);
+ vocab_make_active(words_shield_modulator);
+ vocab_make_active(words_walkto);
+ vocab_make_active(words_remote);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room803.cpp b/engines/mads/nebular/rooms/room803.cpp
index 6f544072f19..0e8ae56f2e9 100644
--- a/engines/mads/nebular/rooms/room803.cpp
+++ b/engines/mads/nebular/rooms/room803.cpp
@@ -55,7 +55,7 @@ static void room_803_init() {
if (!global[kFromCockpit]) {
if (!global[kReturnFromCut]) {
- if (_scene->_priorSceneId != RETURNING_FROM_DIALOG) {
+ if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 15;
player.y = 130;
player.facing = FACING_EAST;
@@ -124,7 +124,7 @@ static void room_803_init() {
static void room_803_daemon() {
if (kernel.trigger == 120) {
g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, 19);
- _scene->_nextSceneId = 804;
+ new_room = 804;
}
if (kernel.trigger == 100) {
@@ -148,7 +148,7 @@ static void room_803_daemon() {
global[kHasWatchedAntigrav] = true;
if (global[kForceBeamDown])
- _scene->_nextSceneId = _scene->_priorSceneId;
+ new_room = previous_room;
else
player.commands_allowed = true;
}
@@ -167,7 +167,7 @@ static void room_803_daemon() {
global[kHasWatchedAntigrav] = true;
if (global[kForceBeamDown])
- _scene->_nextSceneId = _scene->_priorSceneId;
+ new_room = previous_room;
else
player.commands_allowed = true;
}
@@ -200,16 +200,16 @@ static void room_803_daemon() {
}
if (kernel.trigger == 110)
- _scene->_nextSceneId = 808;
+ new_room = 808;
if (kernel.trigger == 130) {
global[kBeamIsUp] = true;
- _scene->_nextSceneId = 804;
+ new_room = 804;
}
if (kernel.trigger == 140) {
if (!global[kWindowFixed]) {
- _scene->_nextSceneId = 810;
+ new_room = 810;
global[kInSpace] = true;
} else {
if (!global[kShieldModInstalled])
@@ -288,7 +288,7 @@ static void room_803_parser() {
break;
case 163:
- player.clock = _scene->_frameStartTime + player.frame_delay;
+ player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
player.commands_allowed = true;
break;
@@ -347,8 +347,8 @@ void room_803_preload() {
section_8_walker();
section_8_interface();
- _scene->addActiveVocab(words_guts);
- _scene->addActiveVocab(words_walkto);
+ vocab_make_active(words_guts);
+ vocab_make_active(words_walkto);
if ((!global[kFromCockpit] && global[kReturnFromCut] && !global[kBeamIsUp])
|| (global[kFromCockpit] && !global[kExitShip])) {
diff --git a/engines/mads/nebular/rooms/room804.cpp b/engines/mads/nebular/rooms/room804.cpp
index 6b6efd05483..215647bb935 100644
--- a/engines/mads/nebular/rooms/room804.cpp
+++ b/engines/mads/nebular/rooms/room804.cpp
@@ -97,7 +97,7 @@ static void room_804_init() {
_scene->_sequences.setDepth(g_sequence_ids[1], 8);
}
- _scene->loadAnimation(kernel_full_name(804, 'r', 1, "", EXT_AA));
+ kernel_run_animation(kernel_full_name(804, 'r', 1, "", EXT_AA), 0);
section_8_music();
@@ -170,7 +170,7 @@ static void room_804_daemon() {
}
if (kernel.trigger == 80) {
- _scene->_nextSceneId = 803;
+ new_room = 803;
}
if ((_scene->_animation[0]->getCurrentFrame() == 7) && (!global[kWindowFixed])) {
@@ -266,7 +266,7 @@ static void room_804_daemon() {
}
if (kernel.trigger == 90) {
- _scene->_nextSceneId = 803;
+ new_room = 803;
}
if ((_scene->_animation[0]->getCurrentFrame() == 72) && !local._alreadyPop) {
@@ -283,14 +283,14 @@ static void room_804_daemon() {
static void room_804_parser() {
if (player_said_2(look, service_panel) ||
player_said_2(open, service_panel)) {
- _scene->_nextSceneId = 805;
+ new_room = 805;
} else if ((player_said_2(activate, remote)) && global[kTopButtonPushed]) {
if (!global[kInSpace]) {
// Top button pressed on panel in hanger control
if (!global[kBeamIsUp]) {
global[kFromCockpit] = true;
global[kUpBecauseOfRemote] = true;
- _scene->_nextSceneId = 803;
+ new_room = 803;
} else {
// Player turning off remote
global[kBeamIsUp] = false;
diff --git a/engines/mads/nebular/rooms/room805.cpp b/engines/mads/nebular/rooms/room805.cpp
index 515ecc05326..f0304843f10 100644
--- a/engines/mads/nebular/rooms/room805.cpp
+++ b/engines/mads/nebular/rooms/room805.cpp
@@ -103,7 +103,7 @@ static void room_805_pre_parser() {
static void room_805_parser() {
if (player_said_2(exit, service_panel))
- _scene->_nextSceneId = 804;
+ new_room = 804;
else if (player_said_2(install, shield_modulator) && player_has(OBJ_SHIELD_MODULATOR)) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 7, 1, 0, 0);
@@ -154,9 +154,9 @@ void room_805_preload() {
section_8_walker();
section_8_interface();
- _scene->addActiveVocab(words_remove);
- _scene->addActiveVocab(words_target_module);
- _scene->addActiveVocab(words_shield_modulator);
+ vocab_make_active(words_remove);
+ vocab_make_active(words_target_module);
+ vocab_make_active(words_shield_modulator);
}
} // namespace Rooms
diff --git a/engines/mads/nebular/rooms/room808.cpp b/engines/mads/nebular/rooms/room808.cpp
index ba49d6d6c3b..8ee78820848 100644
--- a/engines/mads/nebular/rooms/room808.cpp
+++ b/engines/mads/nebular/rooms/room808.cpp
@@ -60,11 +60,11 @@ static void room_808_init() {
global[kBeamIsUp] = false;
global[kForceBeamDown] = false;
global[kDontRepeat] = false;
- } else if ((_scene->_priorSceneId == 803) && global[kReturnFromCut]) {
+ } else if ((previous_room == 803) && global[kReturnFromCut]) {
global[kDontRepeat] = false;
global[kBeamIsUp] = true;
- global[kAntigravClock] = _scene->_frameStartTime;
- global[kAntigravTiming] = _scene->_frameStartTime;
+ global[kAntigravClock] = kernel.clock;
+ global[kAntigravTiming] = kernel.clock;
global[kForceBeamDown] = false;
global[kReturnFromCut] = false;
}
@@ -109,7 +109,7 @@ static void room_808_parser() {
if (local._goingTo803 && !global[kTopButtonPushed]) {
local._goingTo803 = false;
global[kReturnFromCut] = true;
- _scene->_nextSceneId = 803;
+ new_room = 803;
}
break;
@@ -229,7 +229,7 @@ static void room_808_parser() {
break;
}
} else if (player_said_2(exit, panel)) {
- _scene->_nextSceneId = 801;
+ new_room = 801;
global[kBetweenRooms] = true;
} else
return;
diff --git a/engines/mads/nebular/rooms/room810.cpp b/engines/mads/nebular/rooms/room810.cpp
index f08b1983f27..a6d040999df 100644
--- a/engines/mads/nebular/rooms/room810.cpp
+++ b/engines/mads/nebular/rooms/room810.cpp
@@ -42,7 +42,7 @@ static void room_810_init() {
_scene->_userInterface.setup(kInputLimitedSentences);
player.walker_visible = false;
player.commands_allowed = false;
- _scene->loadAnimation(kernel_full_name(810, 'a', -1, "", EXT_AA));
+ kernel_run_animation(kernel_full_name(810, 'a', -1, "", EXT_AA), 0);
local._moveAllowed = true;
section_8_music();
@@ -56,7 +56,7 @@ static void room_810_daemon() {
}
if (kernel.trigger == 70)
- _scene->_nextSceneId = 804;
+ new_room = 804;
}
void room_810_synchronize(Common::Serializer &s) {
diff --git a/engines/mads/nebular/rooms/section1.cpp b/engines/mads/nebular/rooms/section1.cpp
index 67d2c32eb07..2f783049101 100644
--- a/engines/mads/nebular/rooms/section1.cpp
+++ b/engines/mads/nebular/rooms/section1.cpp
@@ -47,23 +47,23 @@ extern void room_112_preload();
void section_1_walker() {
g_engine->_soundManager->command(5, 0);
Common::String oldName = (&player.series_name[0]);
- if (_scene->_nextSceneId <= 103 || _scene->_nextSceneId == 111) {
+ if (new_room <= 103 || new_room == 111) {
if (global[kSexOfRex] == SEX_FEMALE)
Common::strcpy_s(player.series_name, "ROX");
else {
Common::strcpy_s(player.series_name, "RXM");
global[kSexOfRex] = SEX_MALE;
}
- } else if (_scene->_nextSceneId <= 110) {
+ } else if (new_room <= 110) {
Common::strcpy_s(player.series_name, "RXSW");
global[kSexOfRex] = SEX_UNKNOWN;
- } else if (_scene->_nextSceneId == 112)
+ } else if (new_room == 112)
Common::strcpy_s(player.series_name, "");
if (oldName != (&player.series_name[0]))
player.walker_must_reload = true;
- if (_scene->_nextSceneId == 105 || (_scene->_nextSceneId == 109 && global[kHoovicAlive])) {
+ if (new_room == 105 || (new_room == 109 && global[kHoovicAlive])) {
player.walker_must_reload = true;
player.walker_loads_first = false;
}
@@ -74,7 +74,7 @@ void section_1_walker() {
}
void section_1_interface() {
- int idx = (_scene->_nextSceneId > 103 && _scene->_nextSceneId < 112) ? 1 : 0;
+ int idx = (new_room > 103 && new_room < 112) ? 1 : 0;
Common::strcpy_s(kernel.interface, kernel_interface_name(idx));
}
@@ -135,7 +135,7 @@ void section_1_constructor() {
void section_1_music() {
if (config_file.music_flag) {
- switch (_scene->_nextSceneId) {
+ switch (new_room) {
case 101:
g_engine->_soundManager->command(11, 0);
break;
@@ -159,7 +159,7 @@ void section_1_music() {
g_engine->_soundManager->command(15, 0);
break;
default:
- if (_scene->_priorSceneId < 104 || _scene->_priorSceneId > 108)
+ if (previous_room < 104 || previous_room > 108)
g_engine->_soundManager->command(10, 0);
break;
}
diff --git a/engines/mads/nebular/rooms/teleporter.cpp b/engines/mads/nebular/rooms/teleporter.cpp
index 820d3ccc906..a1ad3092ca1 100644
--- a/engines/mads/nebular/rooms/teleporter.cpp
+++ b/engines/mads/nebular/rooms/teleporter.cpp
@@ -57,23 +57,23 @@ void teleporter_init() {
player.walker_visible = false;
player.commands_allowed = (global[kMeteorologistWatch] == METEOROLOGIST_NORMAL);
_scene->_kernelMessages._talkFont = font_tele;
- _scene->_textSpacing = 0;
+ kernel_message_spacing = 0;
_curCode = 0;
_digitCount = 0;
_finishedCodeCounter = 0;
_curMessageId = -1;
Common::strcpy_s(_msgText2, "_");
- if (_scene->_priorSceneId == RETURNING_FROM_DIALOG)
- _scene->_priorSceneId = global[kTeleporterDestination];
+ if (previous_room == RETURNING_FROM_DIALOG)
+ previous_room = global[kTeleporterDestination];
- if (_scene->_priorSceneId < 101)
- _scene->_priorSceneId = 201;
+ if (previous_room < 101)
+ previous_room = 201;
- global[kTeleporterDestination] = _scene->_priorSceneId;
+ global[kTeleporterDestination] = previous_room;
pal_change_color(252, 63, 63, 0);
pal_change_color(253, 0, 0, 0);
- _teleporterSceneId = _scene->_priorSceneId;
+ _teleporterSceneId = previous_room;
if (_teleporterSceneId == 202)
_teleporterSceneId = 201;
@@ -88,7 +88,7 @@ void teleporter_init() {
Common::sprintf_s(_msgText1, "#%.4d", codeVal);
- if (_scene->_currentSceneId != 711) {
+ if (room_id != 711) {
_scene->_kernelMessages.add(Common::Point(133, 34), 0, 32, 0, INDEFINITE_TIMEOUT, _msgText1);
_scene->_kernelMessages.add(Common::Point(143, 61), 0xFDFC, 16, 0, INDEFINITE_TIMEOUT, _msgText2);
}
@@ -201,31 +201,31 @@ void teleporter_handle_key() {
if (_digitCount < 4)
Common::strcat_s(_msgText2, "_");
- if (_scene->_currentSceneId != 711)
+ if (room_id != 711)
g_engine->_soundManager->command(32, 0);
}
} else if (_buttonTyped == 11) {
_digitCount = 0;
_curCode = 0;
Common::strcpy_s(_msgText2, "_");
- if (_scene->_currentSceneId != 711)
+ if (room_id != 711)
g_engine->_soundManager->command(33, 0);
} else if (_digitCount == 4) {
- if (_scene->_currentSceneId != 711)
+ if (room_id != 711)
_finishedCodeCounter = 1;
if (teleporter_address(_curCode, true) > 0) {
pal_change_color(252, 0, 63, 0);
- if (_scene->_currentSceneId != 711)
+ if (room_id != 711)
g_engine->_soundManager->command(34, 0);
} else {
pal_change_color(252, 63, 0, 0);
- if (_scene->_currentSceneId != 711)
+ if (room_id != 711)
g_engine->_soundManager->command(35, 0);
}
}
- if (_scene->_currentSceneId != 711) {
+ if (room_id != 711) {
if (_curMessageId >= 0)
_scene->_kernelMessages.remove(_curMessageId);
_curMessageId = _scene->_kernelMessages.add(Common::Point(143, 61), 0xFDFC, 16, 0, INDEFINITE_TIMEOUT, _msgText2);
@@ -237,18 +237,18 @@ void teleporter_handle_key() {
_finishedCodeCounter++;
if (global[kMeteorologistWatch] != METEOROLOGIST_NORMAL)
- _scene->_nextSceneId = 202;
+ new_room = 202;
else {
mouse_show();
int destination = teleporter_address(_curCode, true);
if (destination > 0) {
global[kTeleporterCommand] = 2;
- _scene->_nextSceneId = _teleporterSceneId;
+ new_room = _teleporterSceneId;
global[kTeleporterDestination] = destination;
} else {
global[kTeleporterCommand] = 4;
- _scene->_nextSceneId = _teleporterSceneId;
+ new_room = _teleporterSceneId;
}
}
} else if (global[kMeteorologistWatch] != METEOROLOGIST_NORMAL)
@@ -285,7 +285,7 @@ bool teleporter_parser() {
if (player_said_2(exit_from, device)) {
global[kTeleporterCommand] = 3;
- _scene->_nextSceneId = _teleporterSceneId;
+ new_room = _teleporterSceneId;
retVal = true;
}
diff --git a/engines/mads/nebular/rooms/thunks.cpp b/engines/mads/nebular/rooms/thunks.cpp
index b30fc42444a..1e145be3c0c 100644
--- a/engines/mads/nebular/rooms/thunks.cpp
+++ b/engines/mads/nebular/rooms/thunks.cpp
@@ -259,34 +259,6 @@ int Scene::Sequences::findByTrigger(int trigger) {
return kernel_seq_find_by_trigger(trigger);
}
-int Scene::loadAnimation(const char *name, int trigger_code) {
- return kernel_run_animation(name, trigger_code);
-}
-
-void Scene::freeAnimation() {
- kernel_abort_animation(0);
-}
-
-void Scene::changeVariant(int num) {
- kernel_load_variant(num);
-}
-
-void Scene::drawElements(int transitionType, bool surfaceFlag) {
- matte_frame(transitionType, surfaceFlag);
-}
-
-void Scene::resetScene() {
- kernel_dump_all();
-}
-
-void Scene::clearSequenceList() {
- kernel_seq_init();
-}
-
-void Scene::addActiveVocab(int vocab_id) {
- vocab_make_active(vocab_id);
-}
-
} // namespace Rooms
} // namespace RexNebular
} // namespace MADS
diff --git a/engines/mads/nebular/rooms/thunks.h b/engines/mads/nebular/rooms/thunks.h
index eac3b041e1b..9fa16fc6a91 100644
--- a/engines/mads/nebular/rooms/thunks.h
+++ b/engines/mads/nebular/rooms/thunks.h
@@ -307,22 +307,6 @@ struct Scene {
void selectObject(int item_id);
};
UserInterface _userInterface;
-
- int16 &_priorSceneId = previous_room;
- int16 &_nextSceneId = new_room;
- long &_frameStartTime = kernel.clock;
- byte &_reloadSceneFlag = kernel.force_restart;
- byte &_roomChanged = kernel.teleported_in;
- int &_currentSceneId = room_id;
- int &_textSpacing = kernel_message_spacing;
-
- int loadAnimation(const char *name, int trigger_code = 0);
- void freeAnimation();
- void changeVariant(int num);
- void drawElements(int transitionType, bool surfaceFlag);
- void resetScene();
- void clearSequenceList();
- void addActiveVocab(int vocab_id);
};
extern Scene _scene;
Commit: f6e6e1978f8d005e5fc43c755ad1ffd7d66ec6fb
https://github.com/scummvm/scummvm/commit/f6e6e1978f8d005e5fc43c755ad1ffd7d66ec6fb
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:54+10:00
Commit Message:
MADS: NEBULAR: Refactor KernelMessages thunk
Changed paths:
engines/mads/core/game.h
engines/mads/nebular/rooms/room101.cpp
engines/mads/nebular/rooms/room102.cpp
engines/mads/nebular/rooms/room103.cpp
engines/mads/nebular/rooms/room104.cpp
engines/mads/nebular/rooms/room105.cpp
engines/mads/nebular/rooms/room106.cpp
engines/mads/nebular/rooms/room107.cpp
engines/mads/nebular/rooms/room108.cpp
engines/mads/nebular/rooms/room109.cpp
engines/mads/nebular/rooms/room110.cpp
engines/mads/nebular/rooms/room201.cpp
engines/mads/nebular/rooms/room202.cpp
engines/mads/nebular/rooms/room203.cpp
engines/mads/nebular/rooms/room205.cpp
engines/mads/nebular/rooms/room208.cpp
engines/mads/nebular/rooms/room209.cpp
engines/mads/nebular/rooms/room210.cpp
engines/mads/nebular/rooms/room211.cpp
engines/mads/nebular/rooms/room215.cpp
engines/mads/nebular/rooms/room304.cpp
engines/mads/nebular/rooms/room307.cpp
engines/mads/nebular/rooms/room308.cpp
engines/mads/nebular/rooms/room309.cpp
engines/mads/nebular/rooms/room311.cpp
engines/mads/nebular/rooms/room316.cpp
engines/mads/nebular/rooms/room318.cpp
engines/mads/nebular/rooms/room319.cpp
engines/mads/nebular/rooms/room320.cpp
engines/mads/nebular/rooms/room352.cpp
engines/mads/nebular/rooms/room361.cpp
engines/mads/nebular/rooms/room388.cpp
engines/mads/nebular/rooms/room389.cpp
engines/mads/nebular/rooms/room401.cpp
engines/mads/nebular/rooms/room402.cpp
engines/mads/nebular/rooms/room405.cpp
engines/mads/nebular/rooms/room406.cpp
engines/mads/nebular/rooms/room407.cpp
engines/mads/nebular/rooms/room411.cpp
engines/mads/nebular/rooms/room501.cpp
engines/mads/nebular/rooms/room508.cpp
engines/mads/nebular/rooms/room513.cpp
engines/mads/nebular/rooms/room602.cpp
engines/mads/nebular/rooms/room607.cpp
engines/mads/nebular/rooms/room608.cpp
engines/mads/nebular/rooms/room609.cpp
engines/mads/nebular/rooms/room611.cpp
engines/mads/nebular/rooms/room612.cpp
engines/mads/nebular/rooms/room701.cpp
engines/mads/nebular/rooms/room751.cpp
engines/mads/nebular/rooms/room803.cpp
engines/mads/nebular/rooms/room804.cpp
engines/mads/nebular/rooms/teleporter.cpp
engines/mads/nebular/rooms/thunks.cpp
engines/mads/nebular/rooms/thunks.h
diff --git a/engines/mads/core/game.h b/engines/mads/core/game.h
index ee10b06afc8..53d1a230c6b 100644
--- a/engines/mads/core/game.h
+++ b/engines/mads/core/game.h
@@ -31,6 +31,7 @@
#include "mads/core/mads.h"
#include "mads/core/heap.h"
#include "mads/core/popup.h"
+#include "mads/core/text.h"
namespace MADS {
diff --git a/engines/mads/nebular/rooms/room101.cpp b/engines/mads/nebular/rooms/room101.cpp
index 0d0c64810bc..583667c481c 100644
--- a/engines/mads/nebular/rooms/room101.cpp
+++ b/engines/mads/nebular/rooms/room101.cpp
@@ -61,7 +61,7 @@ static void room_101_say_dang() {
case 72:
g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 6, 0, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 17);
- _scene->_kernelMessages.add(Common::Point(143, 61), 0x1110, 0, 0, 60, quote_string(kernel.quotes, 57));
+ kernel_message_add(quote_string(kernel.quotes, 57), 143, 61, 0x1110, 60, 0, 0);
_scene->_sequences.addTimer(120, 73);
break;
@@ -182,31 +182,31 @@ static void room_101_daemon() {
if (_scene->_animation[0] != nullptr) {
if ((_scene->_animation[0]->getCurrentFrame() >= 6) && (local._messageNum == 0)) {
local._messageNum++;
- _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, quote_string(kernel.quotes, 49));
+ kernel_message_add(quote_string(kernel.quotes, 49), 63, local._posY, 0x1110, 240, 0, 0);
local._posY += 14;
}
if ((_scene->_animation[0]->getCurrentFrame() >= 7) && (local._messageNum == 1)) {
local._messageNum++;
- _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, quote_string(kernel.quotes, 54));
+ kernel_message_add(quote_string(kernel.quotes, 54), 63, local._posY, 0x1110, 240, 0, 0);
local._posY += 14;
}
if ((_scene->_animation[0]->getCurrentFrame() >= 10) && (local._messageNum == 2)) {
local._messageNum++;
- _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, quote_string(kernel.quotes, 55));
+ kernel_message_add(quote_string(kernel.quotes, 55), 63, local._posY, 0x1110, 240, 0, 0);
local._posY += 14;
}
if ((_scene->_animation[0]->getCurrentFrame() >= 17) && (local._messageNum == 3)) {
local._messageNum++;
- _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, quote_string(kernel.quotes, 56));
+ kernel_message_add(quote_string(kernel.quotes, 56), 63, local._posY, 0x1110, 240, 0, 0);
local._posY += 14;
}
if ((_scene->_animation[0]->getCurrentFrame() >= 20) && (local._messageNum == 4)) {
local._messageNum++;
- _scene->_kernelMessages.add(Common::Point(63, local._posY), 0x1110, 0, 0, 240, quote_string(kernel.quotes, 50));
+ kernel_message_add(quote_string(kernel.quotes, 50), 63, local._posY, 0x1110, 240, 0, 0);
local._posY += 14;
}
}
diff --git a/engines/mads/nebular/rooms/room102.cpp b/engines/mads/nebular/rooms/room102.cpp
index 9bb61396e57..5d05b7b1484 100644
--- a/engines/mads/nebular/rooms/room102.cpp
+++ b/engines/mads/nebular/rooms/room102.cpp
@@ -45,10 +45,10 @@ struct Scratch {
static Scratch local;
static void addRandomMessage() {
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
int quoteId = g_engine->getRandomNumber(65, 69);
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 73, 120, quote_string(kernel.quotes, quoteId));
+ kernel_message_add(quote_string(kernel.quotes, quoteId), 0, 0, 0x1110, 120, 73, 34);
local._activeMsgFl = true;
}
@@ -172,7 +172,7 @@ static void room_102_daemon() {
if (!local._activeMsgFl && (Common::Point(player.x, player.y) == Common::Point(177, 114)) && (player.facing == FACING_NORTH)
&& (g_engine->getRandomNumber(1, 5000) == 1)) {
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
local._activeMsgFl = false;
addRandomMessage();
}
@@ -213,7 +213,7 @@ static void room_102_pre_parser() {
}
if (player.need_to_walk)
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
}
static void room_102_parser() {
@@ -281,12 +281,12 @@ static void room_102_parser() {
if (player_said_2(walkto, refrigerator) && justOpenedFl) {
local._fridgeFirstOpenFl = false;
int quoteId = g_engine->getRandomNumber(59, 63);
- const char *curQuote = quote_string(kernel.quotes, quoteId);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, -1);
- _scene->_kernelMessages.reset();
+ char *curQuote = quote_string(kernel.quotes, quoteId);
+ int width = font_string_width(kernel_message_font, curQuote, -1);
+ kernel_message_purge();
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_kernelMessages.add(Common::Point(210, 60), 0x1110, 0, 73, 120, curQuote);
- _scene->_kernelMessages.add(Common::Point(214 + width, 60), 0x1110, 0, 73, 120, quote_string(kernel.quotes, 64));
+ kernel_message_add(curQuote, 210, 60, 0x1110, 120, 73, 0);
+ kernel_message_add(quote_string(kernel.quotes, 64), 214 + width, 60, 0x1110, 120, 73, 0);
local._activeMsgFl = true;
player.command_ready = false;
return;
diff --git a/engines/mads/nebular/rooms/room103.cpp b/engines/mads/nebular/rooms/room103.cpp
index 83bbf800bdb..1f245c52536 100644
--- a/engines/mads/nebular/rooms/room103.cpp
+++ b/engines/mads/nebular/rooms/room103.cpp
@@ -104,8 +104,8 @@ static void room_103_init() {
kernel.quotes = quote_load(70, 51, 71, 7, 73, 0);
if (!player.been_here_before) {
- int msgIndex = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 70));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 70), 0, 0, 0x1110, 120, 0, 34);
+ kernel_message_teletype(msgIndex, 4, true);
}
if (previous_room == 102)
@@ -255,8 +255,8 @@ static void room_103_parser() {
_scene->_sequences.setAnimRange(g_sequence_ids[9], -2, -2);
// Rex says "Gads.."
- const char *msg = quote_string(kernel.quotes, 51);
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 18, 0, 60, msg);
+ char *msg = quote_string(kernel.quotes, 51);
+ kernel_message_add(msg, 0, 0, 0x1110, 60, 0, 18);
_scene->_sequences.addTimer(120, kernel.trigger + 1);
} else {
// Initial turky explosion
@@ -280,20 +280,20 @@ static void room_103_parser() {
case 0:
{
player.commands_allowed = false;
- const char *msg = quote_string(kernel.quotes, 71);
- _scene->_kernelMessages.add(Common::Point(), 0x1110, 18, 1, 120, msg);
+ char *msg = quote_string(kernel.quotes, 71);
+ kernel_message_add(msg, Common::Point().x, Common::Point().y, 0x1110, 120, 1, 18);
break;
}
case 1:
{
- const char *msg = quote_string(kernel.quotes, 72);
- _scene->_kernelMessages.add(Common::Point(310, 132), 0xFDFC, 16, 2, 120, msg);
+ char *msg = quote_string(kernel.quotes, 72);
+ kernel_message_add(msg, 310, 132, 0xFDFC, 120, 2, 16);
break;
}
case 2:
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
_scene->_sequences.addTimer(1, 3);
break;
@@ -348,8 +348,8 @@ void room_103_error() {
text_show(10305);
player.command_ready = false;
} else if (player_said_3(put, coal, furnace)) {
- const char *msg = quote_string(kernel.quotes, 73);
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, msg);
+ char *msg = quote_string(kernel.quotes, 73);
+ kernel_message_add(msg, 0, 0, 0x1110, 120, 0, 34);
player.command_ready = false;
}
}
diff --git a/engines/mads/nebular/rooms/room104.cpp b/engines/mads/nebular/rooms/room104.cpp
index 984fb8f52ff..2285da9ec6c 100644
--- a/engines/mads/nebular/rooms/room104.cpp
+++ b/engines/mads/nebular/rooms/room104.cpp
@@ -84,7 +84,7 @@ static void room_104_daemon() {
case FACING_EAST:
switch (kernel.trigger) {
case 0:
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
kernel_abort_animation(0);
kernel_dump_all();
player.commands_allowed = false;
@@ -117,7 +117,7 @@ static void room_104_daemon() {
case FACING_SOUTH:
switch (kernel.trigger) {
case 0:
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
kernel_abort_animation(0);
kernel_dump_all();
player.commands_allowed = false;
@@ -159,7 +159,7 @@ static void room_104_daemon() {
case FACING_NORTH:
switch (kernel.trigger) {
case 0:
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
kernel_abort_animation(0);
kernel_dump_all();
player.commands_allowed = false;
@@ -208,7 +208,7 @@ static void room_104_daemon() {
player.commands_allowed = false;
if (local._kargShootingFl && (_scene->_animation[0]->getCurrentFrame() >= 19)) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 52));
+ kernel_message_add(quote_string(kernel.quotes, 52), 0, 0, 0x1110, 120, 0, 34);
local._kargShootingFl = false;
}
}
diff --git a/engines/mads/nebular/rooms/room105.cpp b/engines/mads/nebular/rooms/room105.cpp
index e792f8e7a1f..adc5e2c875f 100644
--- a/engines/mads/nebular/rooms/room105.cpp
+++ b/engines/mads/nebular/rooms/room105.cpp
@@ -71,7 +71,7 @@ static void room_105_daemon() {
local._explosionFl = true;
switch (kernel.trigger) {
case 0:
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
kernel_dump_all();
player.commands_allowed = false;
player.walker_visible = false;
@@ -150,8 +150,8 @@ static void room_105_parser() {
else if (player_said_2(take, dead_fish) && global[kFishIn105]) {
if (player_has(OBJ_DEAD_FISH)) {
int randVal = g_engine->getRandomNumber(74, 76);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, randVal));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, randVal), 0, 0, 0x1110, 120, 0, 34);
} else {
_scene->_sequences.remove(g_sequence_ids[4]);
inter_give_to_player(OBJ_DEAD_FISH);
diff --git a/engines/mads/nebular/rooms/room106.cpp b/engines/mads/nebular/rooms/room106.cpp
index 2a2f53073c5..8a3af7c2839 100644
--- a/engines/mads/nebular/rooms/room106.cpp
+++ b/engines/mads/nebular/rooms/room106.cpp
@@ -128,7 +128,7 @@ static void room_106_daemon() {
if (local._firstEmergingFl && (_scene->_animation[0]->getCurrentFrame() >= 19)) {
local._firstEmergingFl = false;
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 52));
+ kernel_message_add(quote_string(kernel.quotes, 52), 0, 0, 0x1110, 120, 0, 34);
}
if ((kernel.trigger >= 80) && (kernel.trigger <= 87)) {
@@ -160,7 +160,7 @@ static void room_106_daemon() {
if (msgId >= 0) {
int nextTrigger = kernel.trigger + 1;
- _scene->_kernelMessages.add(Common::Point(15, local._positionY), 0x1110, 0, 0, 360, quote_string(kernel.quotes, msgId));
+ kernel_message_add(quote_string(kernel.quotes, msgId), 15, local._positionY, 0x1110, 360, 0, 0);
_scene->_sequences.addTimer(150, nextTrigger);
local._positionY += 14;
}
diff --git a/engines/mads/nebular/rooms/room107.cpp b/engines/mads/nebular/rooms/room107.cpp
index 760a2429067..f605a508bee 100644
--- a/engines/mads/nebular/rooms/room107.cpp
+++ b/engines/mads/nebular/rooms/room107.cpp
@@ -94,7 +94,7 @@ static void room_107_init() {
static void room_107_daemon() {
if (local._shootingFl && (_scene->_animation[0]->getCurrentFrame() >= 19)) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 52));
+ kernel_message_add(quote_string(kernel.quotes, 52), 0, 0, 0x1110, 120, 0, 34);
local._shootingFl = false;
}
}
@@ -113,8 +113,8 @@ static void room_107_parser() {
else if (player_said_2(take, dead_fish) && global[kFishIn107]) {
if (player_has(OBJ_DEAD_FISH)) {
int randVal = g_engine->getRandomNumber(74, 76);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, randVal));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, randVal), 0, 0, 0x1110, 120, 0, 34);
} else {
_scene->_sequences.remove(g_sequence_ids[4]);
inter_give_to_player(OBJ_DEAD_FISH);
diff --git a/engines/mads/nebular/rooms/room108.cpp b/engines/mads/nebular/rooms/room108.cpp
index 19754e31a3d..5841eb671ba 100644
--- a/engines/mads/nebular/rooms/room108.cpp
+++ b/engines/mads/nebular/rooms/room108.cpp
@@ -84,8 +84,8 @@ static void room_108_parser() {
else if (player_said_2(take, dead_fish) && global[kFishIn108]) {
if (player_has(OBJ_DEAD_FISH)) {
int randVal = g_engine->getRandomNumber(74, 76);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, randVal));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, randVal), 0, 0, 0x1110, 120, 0, 34);
} else {
_scene->_sequences.remove(g_sequence_ids[4]);
inter_give_to_player(OBJ_DEAD_FISH);
diff --git a/engines/mads/nebular/rooms/room109.cpp b/engines/mads/nebular/rooms/room109.cpp
index 3b3ff090ff2..de4e359e2a5 100644
--- a/engines/mads/nebular/rooms/room109.cpp
+++ b/engines/mads/nebular/rooms/room109.cpp
@@ -192,9 +192,9 @@ static void room_109_daemon() {
_scene->_spriteSlots.fullRefresh();
int randVal = g_engine->getRandomNumber(85, 88);
- int idx = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, randVal));
- _scene->_kernelMessages.setQuoted(idx, 4, true);
- _scene->_kernelMessages._entries[idx]._frameTimer = kernel.clock + 4;
+ int idx = kernel_message_add(quote_string(kernel.quotes, randVal), 0, 0, 0x1110, 120, 0, 34);
+ kernel_message_teletype(idx, 4, true);
+ kernel_message[idx].update_time = kernel.clock + 4;
}
}
@@ -340,7 +340,7 @@ static void room_109_parser() {
if (global[kHoovicFishEaten] >= threshold) {
int randVal = g_engine->getRandomNumber(83, 84);
- _scene->_kernelMessages.add(Common::Point(230, 24), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, randVal));
+ kernel_message_add(quote_string(kernel.quotes, randVal), 230, 24, 0xFDFC, 120, 0, 0);
global[kHoovicFishEaten] = 0;
global[kHoovicSated] = 1;
kernel_load_variant(1);
diff --git a/engines/mads/nebular/rooms/room110.cpp b/engines/mads/nebular/rooms/room110.cpp
index f531077e1a6..7b12f244d0e 100644
--- a/engines/mads/nebular/rooms/room110.cpp
+++ b/engines/mads/nebular/rooms/room110.cpp
@@ -79,7 +79,7 @@ static void room_110_init() {
kernel.quotes = quote_load(89, 0);
if (!player.been_here_before && (previous_room == 109))
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 89));
+ kernel_message_add(quote_string(kernel.quotes, 89), 0, 0, 0x1110, 120, 0, 34);
}
static void room_110_daemon() {
diff --git a/engines/mads/nebular/rooms/room201.cpp b/engines/mads/nebular/rooms/room201.cpp
index 80a98d0bc1e..010ebcf60f3 100644
--- a/engines/mads/nebular/rooms/room201.cpp
+++ b/engines/mads/nebular/rooms/room201.cpp
@@ -111,7 +111,7 @@ static void room_201_init() {
player_walk(157, 143, FACING_NORTH);
pal_change_color(252, 45, 63, 45);
pal_change_color(253, 20, 45, 20);
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 2, 0, 120, quote_string(kernel.quotes, 90));
+ kernel_message_add(quote_string(kernel.quotes, 90), 0, 0, 0x1110, 120, 0, 2);
} else
local._pterodactylFlag = true;
@@ -145,7 +145,7 @@ static void room_201_daemon() {
}
if (kernel.trigger == 81) {
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
}
if (kernel.trigger == 71) {
@@ -164,7 +164,7 @@ static void room_201_daemon() {
if (kernel.trigger == 74) {
g_engine->_soundManager->command(40, 0);
- _scene->_kernelMessages.add(Common::Point(125, 56), 0xFDFC, 32, 82, 180, quote_string(kernel.quotes, 91));
+ kernel_message_add(quote_string(kernel.quotes, 91), 125, 56, 0xFDFC, 180, 82, 32);
g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 9, 0, 0, 0);
_scene->_sequences.setDepth(g_sequence_ids[6], 1);
_scene->_sequences.setAnimRange(g_sequence_ids[6], -2, -2);
diff --git a/engines/mads/nebular/rooms/room202.cpp b/engines/mads/nebular/rooms/room202.cpp
index ba822574c98..bf335ea367f 100644
--- a/engines/mads/nebular/rooms/room202.cpp
+++ b/engines/mads/nebular/rooms/room202.cpp
@@ -173,9 +173,9 @@ static void room_202_init() {
static void setRandomKernelMessage() {
int vocabId = g_engine->getRandomNumber(92, 96);
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 70, 120, quote_string(kernel.quotes, vocabId));
+ kernel_message_add(quote_string(kernel.quotes, vocabId), 0, 0, 0x1110, 120, 70, 34);
local._activeMsgFl = true;
}
@@ -230,7 +230,7 @@ static int subStep4(int randVal) {
static void room_202_daemon() {
if (!local._activeMsgFl && (Common::Point(player.x, player.y) == Common::Point(77, 105)) && (player.facing == FACING_NORTH) && (g_engine->getRandomNumber(999) == 0)) {
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
local._activeMsgFl = false;
if (g_engine->getRandomNumber(4) == 0)
setRandomKernelMessage();
@@ -255,8 +255,8 @@ static void room_202_daemon() {
msgPos = Common::Point(248, 15);
msgFlag = 0;
}
- int msgIndex = _scene->_kernelMessages.add(msgPos, 0x1110, msgFlag | 32, 0, 120, quote_string(kernel.quotes, 102));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 102), msgPos.x, msgPos.y, 0x1110, 120, 0, msgFlag | 32);
+ kernel_message_teletype(msgIndex, 4, true);
if (global[kMeteorologistWatch] == METEOROLOGIST_GROUND) {
player2.words[0] = words_look;
@@ -294,9 +294,9 @@ static void room_202_daemon() {
g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 6, 1, 0, 0);
_scene->_sequences.setDepth(g_sequence_ids[11], 1);
_scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 93);
- _scene->_kernelMessages.reset();
- int msgIndex = _scene->_kernelMessages.add(Common::Point(0, -65), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 98));
- _scene->_kernelMessages.setSeqIndex(msgIndex, g_sequence_ids[11]);
+ kernel_message_purge();
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 98), 0, -65, 0x1110, 60, 0, 32);
+ kernel_message_attach(msgIndex, g_sequence_ids[11]);
}
break;
case 93:
@@ -311,8 +311,8 @@ static void room_202_daemon() {
player.commands_allowed = true;
player.walker_visible = true;
local._ladderTopFl = false;
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 99));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 99), 0, 0, 0x1110, 120, 0, 34);
}
break;
default:
@@ -361,8 +361,8 @@ static void room_202_daemon() {
msgPos = Common::Point(248, 15);
msgFlag = 0;
}
- int msgIndex = _scene->_kernelMessages.add(msgPos, 0x1110, msgFlag | 32, 0, 120, quote_string(kernel.quotes, 101));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 101), msgPos.x, msgPos.y, 0x1110, 120, 0, msgFlag | 32);
+ kernel_message_teletype(msgIndex, 4, true);
}
}
@@ -427,7 +427,7 @@ static void room_202_daemon() {
static void room_202_pre_parser() {
if (player.need_to_walk)
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
if (local._ladderTopFl && (player_said_2(climb_down, ladder) || player.need_to_walk)) {
if (kernel.trigger == 0) {
@@ -541,8 +541,8 @@ static void room_202_parser() {
_scene->_sequences.updateTimeout(g_sequence_ids[8], g_sequence_ids[9]);
local._ladderTopFl = true;
player.commands_allowed = true;
- int msgIndex = _scene->_kernelMessages.add(Common::Point(248, 15), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 97));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 97), 248, 15, 0x1110, 60, 0, 32);
+ kernel_message_teletype(msgIndex, 4, true);
}
break;
default:
@@ -616,9 +616,9 @@ static void room_202_parser() {
local._waitingMeteoFl = true;
global[kMeteorologistWatch] = METEOROLOGIST_GONE;
if ((_scene->_animation[0]->getCurrentFrame() >= 44) && (_scene->_animation[0]->getCurrentFrame() <= 75)) {
- _scene->_kernelMessages.reset();
- int msgIndex = _scene->_kernelMessages.add(Common::Point(248, 15), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 100));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, false);
+ kernel_message_purge();
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 100), 248, 15, 0x1110, 60, 0, 32);
+ kernel_message_teletype(msgIndex, 4, false);
} else {
player.command_ready = false;
return;
diff --git a/engines/mads/nebular/rooms/room203.cpp b/engines/mads/nebular/rooms/room203.cpp
index 44d7e681d9f..f0fda388fb0 100644
--- a/engines/mads/nebular/rooms/room203.cpp
+++ b/engines/mads/nebular/rooms/room203.cpp
@@ -80,7 +80,7 @@ static void room_203_init() {
kernel.quotes = quote_load(0x67, 0x68, 0x69, 0x6A, 0x5A, 0);
if (local._rhotundaEatFl) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, g_engine->getRandomNumber(103, 106)));
+ kernel_message_add(quote_string(kernel.quotes, g_engine->getRandomNumber(103, 106)), 0, 0, 0x1110, 120, 0, 34);
}
section_2_music();
@@ -102,7 +102,7 @@ static void room_203_daemon() {
player.walker_visible = false;
player.commands_allowed = false;
pal_lock();
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
kernel_dump_all();
cursor_id = CURSOR_WAIT;
mouse_cursor_sprite(cursor, CURSOR_WAIT);
diff --git a/engines/mads/nebular/rooms/room205.cpp b/engines/mads/nebular/rooms/room205.cpp
index fcabdff1bc0..6f7ff114809 100644
--- a/engines/mads/nebular/rooms/room205.cpp
+++ b/engines/mads/nebular/rooms/room205.cpp
@@ -96,9 +96,7 @@ static void room_205_init() {
local._chickenTime = kernel.clock;
if (global[kSexOfRex] == SEX_FEMALE)
- _scene->_kernelMessages.initRandomMessages(3,
- Common::Rect(195, 99, 264, 134), 13, 2, 0xFDFC, 60,
- 108, 108, 109, 109, 110, 110, 111, 108, 0);
+ kernel_random_messages_init(3, 195, 264, 99, 134, 13, 2, 0xFDFC, 60, 108, 108, 109, 109, 110, 110, 111, 108, 0);
if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 99;
@@ -124,11 +122,11 @@ static void room_205_init() {
static void room_205_daemon() {
if (global[kSexOfRex] == SEX_FEMALE) {
- _scene->_kernelMessages.randomServer();
+ kernel_random_message_server();
if (kernel.clock >= local._chickenTime) {
- int chanceMinor = _scene->_kernelMessages.checkRandom() + 1;
- if (_scene->_kernelMessages.generateRandom(100, chanceMinor))
+ int chanceMinor = kernel_check_random() + 1;
+ if (kernel_generate_random_message(100, chanceMinor))
g_engine->_soundManager->command(28, 0);
local._chickenTime = kernel.clock + 2;
@@ -145,19 +143,19 @@ static void room_205_daemon() {
}
if (kernel.trigger == 73)
- _scene->_kernelMessages.add(Common::Point(160, 68), 0xFBFA, 32, 0, 60, quote_string(kernel.quotes, 112));
+ kernel_message_add(quote_string(kernel.quotes, 112), 160, 68, 0xFBFA, 60, 0, 32);
if (kernel.trigger == 74) {
g_engine->_soundManager->command(26, 0);
- _scene->_kernelMessages.add(Common::Point(106, 90), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 113));
+ kernel_message_add(quote_string(kernel.quotes, 113), 106, 90, 0x1110, 60, 0, 32);
}
if (kernel.trigger == 71) {
g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 6, 0, 0, 0);
_scene->_sequences.setDepth(g_sequence_ids[8], 2);
_scene->_sequences.setAnimRange(g_sequence_ids[8], -2, -2);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(160, 68), 0xFBFA, 32, 72, 180, quote_string(kernel.quotes, 114));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 114), 160, 68, 0xFBFA, 180, 72, 32);
}
if (kernel.trigger == 72)
@@ -165,18 +163,18 @@ static void room_205_daemon() {
}
static void handleWomanSpeech(int quote) {
- local._kernelMessage = _scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, quote));
+ local._kernelMessage = kernel_message_add(quote_string(kernel.quotes, quote), 186, 27, 0xFBFA, INDEFINITE_TIMEOUT, 0, 0);
}
static void room_205_parser() {
if (inter_input_mode == kInputConversation) {
if (local._kernelMessage >= 0)
- _scene->_kernelMessages.remove(local._kernelMessage);
+ kernel_message_delete(local._kernelMessage);
local._kernelMessage = -1;
if (kernel.trigger == 0) {
player.commands_allowed = false;
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 18, 1, 120, quote_string(kernel.quotes, player2.words[0]));
+ kernel_message_add(quote_string(kernel.quotes, player2.words[0]), 0, 0, 0x1110, 120, 1, 18);
} else {
if ((kernel.trigger > 1) || (player2.words[0] != 0x76))
player.commands_allowed = true;
@@ -213,7 +211,7 @@ static void room_205_parser() {
break;
case 0x77:
- _scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 0, 0, 120, quote_string(kernel.quotes, 0x7F));
+ kernel_message_add(quote_string(kernel.quotes, 0x7F), 186, 27, 0xFBFA, 120, 0, 0);
_scene->_userInterface.setup(kInputBuildingSentences);
break;
@@ -231,7 +229,7 @@ static void room_205_parser() {
else if (player_said_2(talkto, native_woman)) {
if (kernel.trigger == 0) {
player.commands_allowed = false;
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 18, 1, 120, quote_string(kernel.quotes, 0x73));
+ kernel_message_add(quote_string(kernel.quotes, 0x73), 0, 0, 0x1110, 120, 1, 18);
} else if (kernel.trigger == 1) {
player.commands_allowed = true;
handleWomanSpeech(0x79);
@@ -243,7 +241,7 @@ static void room_205_parser() {
if (kernel.trigger == 0) {
player.commands_allowed = false;
int rndVal = g_engine->getRandomNumber(0xAC, 0xAE);
- _scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 32, 1, 120, quote_string(kernel.quotes, rndVal));
+ kernel_message_add(quote_string(kernel.quotes, rndVal), 186, 27, 0xFBFA, 120, 1, 32);
} else if (kernel.trigger == 1)
player.commands_allowed = true;
} else if (player_said_2(walkto, opposite_bank)) {
@@ -251,7 +249,7 @@ static void room_205_parser() {
player.walker_visible = false;
player.commands_allowed = false;
pal_lock();
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
kernel_dump_walker_only();
g_sprite_ids[9] = kernel_load_series(kernel_name('a', 0), 0);
kernel_new_palette();
@@ -272,8 +270,8 @@ static void room_205_parser() {
if (player_said_2(walkto, fire_pit) || player_said_2(walkto, chicken_on_spit)) {
if (object_is_here(OBJ_CHICKEN)) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x6B));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x6B), 0, 0, 0x1110, 120, 0, 34);
}
} else if (player_said_2(take, chicken_on_spit) && global[kChickenPermitted] && object_is_here(OBJ_CHICKEN)) {
inter_give_to_player(OBJ_CHICKEN);
@@ -281,7 +279,7 @@ static void room_205_parser() {
_scene->_hotspots.activate(words_chicken_on_spit, false);
object_examine(OBJ_CHICKEN, 812, 0);
} else if (player_said_2(take, chicken_on_spit) && (!global[kChickenPermitted]))
- _scene->_kernelMessages.add(Common::Point(186, 27), 0xFBFA, 32, 0, 120, quote_string(kernel.quotes, 0x80));
+ kernel_message_add(quote_string(kernel.quotes, 0x80), 186, 27, 0xFBFA, 120, 0, 32);
else if (player_said_2(look, native_woman))
text_show(20503);
else if (player_said_2(look, hut))
diff --git a/engines/mads/nebular/rooms/room208.cpp b/engines/mads/nebular/rooms/room208.cpp
index d380c4b5568..4131be6b8fc 100644
--- a/engines/mads/nebular/rooms/room208.cpp
+++ b/engines/mads/nebular/rooms/room208.cpp
@@ -86,7 +86,7 @@ static void room_208_init() {
local._rhotundaTurnFl = false;
local._boundingFl = false;
- _scene->_kernelMessages._talkFont = font_inter;
+ kernel_message_font = font_inter;
kernel_message_spacing = 0;
if (previous_room == 207) {
@@ -110,8 +110,8 @@ static void room_208_init() {
kernel.quotes = quote_load(0x81, 0x46, 0);
if ((previous_room == 207) && (global[kMonkeyStatus] == MONKEY_HAS_BINOCULARS)) {
- int msgIndex = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 129));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 129), 0, 0, 0x1110, 120, 0, 34);
+ kernel_message_teletype(msgIndex, 4, true);
}
pal_change_color(16, 0, 0, 63);
@@ -262,8 +262,8 @@ static void room_208_parser() {
new_room = 203;
else if (kernel.trigger == 0) {
player.commands_allowed = false;
- int msgIndex = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 1, 120, quote_string(kernel.quotes, 70));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 70), 0, 0, 0x1110, 120, 1, 34);
+ kernel_message_teletype(msgIndex, 4, true);
} else if (kernel.trigger == 1)
new_room = 203;
} else if (player_said_2(walk_towards, field_to_south))
diff --git a/engines/mads/nebular/rooms/room209.cpp b/engines/mads/nebular/rooms/room209.cpp
index ff18cc97050..21e416f99ec 100644
--- a/engines/mads/nebular/rooms/room209.cpp
+++ b/engines/mads/nebular/rooms/room209.cpp
@@ -700,8 +700,8 @@ static void handleMonkeyEating() {
case 207:
{
g_engine->_soundManager->command(18, 0);
- int msgIndex = _scene->_kernelMessages.add(Common::Point(180, 25), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 130));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 130), 180, 25, 0xFDFC, 90, 0, 0);
+ kernel_message_teletype(msgIndex, 4, true);
int oldIdx = g_sequence_ids[4];
g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 15, 4, 0, 0);
@@ -713,7 +713,7 @@ static void handleMonkeyEating() {
case 208:
{
- _scene->_kernelMessages.add(Common::Point(180, 39), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 131));
+ kernel_message_add(quote_string(kernel.quotes, 131), 180, 39, 0xFDFC, 90, 0, 0);
int oldIdx = g_sequence_ids[4];
g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 10, 4, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[4], 28, 29);
@@ -751,7 +751,7 @@ static void handleMonkeyFall() {
matte_deallocate_series(g_sprite_ids[4], true);
g_sprite_ids[8] = kernel_load_series(kernel_name('m', 4), 0);
- _scene->_kernelMessages.add(Common::Point(180, 26), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 151));
+ kernel_message_add(quote_string(kernel.quotes, 151), 180, 26, 0xFDFC, 90, 0, 0);
_scene->_sequences.addTimer(40, 100);
_scene->_hotspots.activate(227, false);
int oldIdx = g_sequence_ids[3];
@@ -768,7 +768,7 @@ static void handleMonkeyFall() {
case 220:
{
g_engine->_soundManager->command(18, 0);
- _scene->_kernelMessages.add(Common::Point(182, 109), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 159));
+ kernel_message_add(quote_string(kernel.quotes, 159), 182, 109, 0xFDFC, 90, 0, 0);
_scene->_hotspots.activate(227, false);
int oldIdx = g_sequence_ids[3];
local._monkeyPosition = 1;
@@ -801,7 +801,7 @@ static void handleMonkeyFall() {
case 222:
{
- _scene->_kernelMessages.add(Common::Point(182, 109), 0xFDFC, 0, 0, 70, quote_string(kernel.quotes, 160));
+ kernel_message_add(quote_string(kernel.quotes, 160), 182, 109, 0xFDFC, 70, 0, 0);
int oldIdx = g_sequence_ids[8];
g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 1, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[8], 73, 78);
@@ -855,8 +855,8 @@ static void handleMonkey1() {
_scene->_sequences.setAnimRange(g_sequence_ids[7], 23, 26);
_scene->_sequences.updateTimeout(g_sequence_ids[7], oldIdx);
_scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 215);
- int msgIndex = _scene->_kernelMessages.add(Common::Point(170, 21), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 156));
- _scene->_kernelMessages.setQuoted(msgIndex, 3, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 156), 170, 21, 0xFDFC, 90, 0, 0);
+ kernel_message_teletype(msgIndex, 3, true);
}
break;
@@ -896,7 +896,7 @@ static void handleMonkey1() {
static void handleMonkey2() {
switch (kernel.trigger) {
case 251:
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, quote_string(kernel.quotes, 137));
+ kernel_message_add(quote_string(kernel.quotes, 137), 0, 0, 0x1110, 60, 0, 34);
g_engine->_soundManager->command(22, 0);
g_sequence_ids[12] = _scene->_sequences.addSpriteCycle(g_sprite_ids[12], false, 11, 1, 0, 0);
_scene->_sequences.setPosition(g_sequence_ids[12], Common::Point(111, 133));
@@ -909,8 +909,8 @@ static void handleMonkey2() {
case 252:
{
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 132));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 132), 0, 0, 0x1110, 120, 0, 34);
int oldIdx = g_sequence_ids[12];
g_sequence_ids[12] = _scene->_sequences.startCycle(g_sprite_ids[12], false, 7);
_scene->_sequences.setPosition(g_sequence_ids[12], Common::Point(111, 133));
@@ -954,13 +954,13 @@ static void handleDodge() {
g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
local._playingAnimFl = false;
local._pauseMode = 0;
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 155));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 155), 180, 21, 0xFDFC, 90, 0, 0);
if (!local._shootMissedLastFl) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 135));
+ kernel_message_add(quote_string(kernel.quotes, 135), 0, 0, 0x1110, 120, 0, 34);
local._shootMissedLastFl = true;
} else {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 136));
+ kernel_message_add(quote_string(kernel.quotes, 136), 0, 0, 0x1110, 120, 0, 34);
}
break;
@@ -1316,11 +1316,11 @@ static void room_209_daemon() {
_scene->_sequences.setDepth(g_sequence_ids[2], 4);
_scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
_scene->_sequences.addTimer(2, 233);
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
if (local._dodgeFl && (local._monkeyPosition != 1) && (local._monkeyPosition != 2))
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 34463, quote_string(kernel.quotes, 138));
+ kernel_message_add(quote_string(kernel.quotes, 138), 0, 0, 0x1110, 34463, 0, 34);
if (local._fallFl && (local._monkeyPosition != 3))
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 34463, quote_string(kernel.quotes, 138));
+ kernel_message_add(quote_string(kernel.quotes, 138), 0, 0, 0x1110, 34463, 0, 34);
}
break;
@@ -1330,7 +1330,7 @@ static void room_209_daemon() {
case 234:
_scene->_sequences.remove(g_sequence_ids[2]);
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
if (player_said_3(hose_down, blowgun, monkey)) {
g_sequence_ids[2] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[2], false, 7, 16, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[2], 11, 12);
@@ -1405,7 +1405,7 @@ static void room_209_daemon() {
}
if (kernel.trigger == 100)
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 134));
+ kernel_message_add(quote_string(kernel.quotes, 134), 0, 0, 0x1110, 120, 0, 34);
if (local._shootReadyFl && (local._shouldFallFl || local._shouldDodgeFl)) {
_scene->_sequences.addTimer(4, 234);
@@ -1466,89 +1466,89 @@ static void room_209_parser() {
return;
case 5:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 6, 180, quote_string(kernel.quotes, 139));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 139), 0, 0, 0x1110, 180, 6, 34);
player.command_ready = false;
return;
case 6:
- _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 151));
+ kernel_message_add(quote_string(kernel.quotes, 151), 180, 21, 0xFDFC, 60, 0, 0);
_scene->_sequences.addTimer(60, 130);
local._dialogAbortVal = 7;
player.command_ready = false;
return;
case 7:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 8, 180, quote_string(kernel.quotes, 140));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 140), 0, 0, 0x1110, 180, 8, 34);
player.command_ready = false;
return;
case 8:
- _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 149));
+ kernel_message_add(quote_string(kernel.quotes, 149), 180, 21, 0xFDFC, 60, 0, 0);
_scene->_sequences.addTimer(60, 130);
local._dialogAbortVal = 9;
player.command_ready = false;
return;
case 9:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 180, quote_string(kernel.quotes, 141));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 141), 0, 0, 0x1110, 180, 0, 34);
_scene->_sequences.addTimer(200, 10);
player.command_ready = false;
return;
case 10:
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 11, 180, quote_string(kernel.quotes, 142));
+ kernel_message_add(quote_string(kernel.quotes, 142), 0, 0, 0x1110, 180, 11, 34);
player.command_ready = false;
return;
case 11:
- _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 152));
+ kernel_message_add(quote_string(kernel.quotes, 152), 180, 21, 0xFDFC, 60, 0, 0);
_scene->_sequences.addTimer(60, 130);
local._dialogAbortVal = 12;
player.command_ready = false;
return;
case 12:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 130, quote_string(kernel.quotes, 143));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 143), 0, 0, 0x1110, 130, 0, 34);
_scene->_sequences.addTimer(150, 13);
player.command_ready = false;
return;
case 13:
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 14, 180, quote_string(kernel.quotes, 145));
+ kernel_message_add(quote_string(kernel.quotes, 145), 0, 0, 0x1110, 180, 14, 34);
player.command_ready = false;
return;
case 14:
- _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 151));
+ kernel_message_add(quote_string(kernel.quotes, 151), 180, 21, 0xFDFC, 60, 0, 0);
_scene->_sequences.addTimer(60, 130);
local._dialogAbortVal = 15;
player.command_ready = false;
return;
case 15:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 16, 180, quote_string(kernel.quotes, 146));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 146), 0, 0, 0x1110, 180, 16, 34);
player.command_ready = false;
return;
case 16:
- _scene->_kernelMessages.add(Common::Point(180, 21), 0xFDFC, 0, 17, 60, quote_string(kernel.quotes, 154));
+ kernel_message_add(quote_string(kernel.quotes, 154), 180, 21, 0xFDFC, 60, 17, 0);
player.command_ready = false;
return;
case 17:
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 130, 60, quote_string(kernel.quotes, 147));
+ kernel_message_add(quote_string(kernel.quotes, 147), 0, 0, 0x1110, 60, 130, 34);
local._dialogAbortVal = 18;
player.command_ready = false;
return;
case 18:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 180, quote_string(kernel.quotes, 148));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 148), 0, 0, 0x1110, 180, 0, 34);
local._pitchFl = true;
local._playingDialogFl = false;
local._dialogAbortVal = 5;
diff --git a/engines/mads/nebular/rooms/room210.cpp b/engines/mads/nebular/rooms/room210.cpp
index aca5cb21520..66588bec76e 100644
--- a/engines/mads/nebular/rooms/room210.cpp
+++ b/engines/mads/nebular/rooms/room210.cpp
@@ -59,7 +59,7 @@ static Scratch local;
static void handleTwinklesSpeech(int quoteId, int shiftX, uint32 delay) {
- _scene->_kernelMessages.add(Common::Point(10, 70 + (shiftX * 14)), 0xFDFC, 0, 0, (delay == 0) ? INDEFINITE_TIMEOUT : delay, quote_string(kernel.quotes, quoteId));
+ kernel_message_add(quote_string(kernel.quotes, quoteId), 10, 70 + (shiftX * 14), 0xFDFC, (delay == 0) ? INDEFINITE_TIMEOUT : delay, 0, 0);
}
static void newNode(int node) {
@@ -339,7 +339,7 @@ static void setDialogNode(int node) {
global[kCurtainOpen] = true;
player.walker_visible = false;
pal_lock();
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
kernel_abort_animation(0);
kernel_dump_all();
@@ -353,29 +353,29 @@ static void setDialogNode(int node) {
g_sprite_ids[8] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 5);
_scene->_sequences.setDepth(g_sprite_ids[8], 1);
- int msgIndex = _scene->_kernelMessages.add(Common::Point(160, 20), 0x1110, 32, 5, 180, quote_string(kernel.quotes, 231));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 231), 160, 20, 0x1110, 180, 5, 32);
+ kernel_message_teletype(msgIndex, 4, true);
}
break;
case 5:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(160, 40), 0xFDFC, 32, 6, 180, quote_string(kernel.quotes, 233));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 233), 160, 40, 0xFDFC, 180, 6, 32);
+ kernel_message_teletype(msgIndex, 4, true);
}
break;
case 6:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(160, 60), 0x1110, 32, 7, 180, quote_string(kernel.quotes, 232));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 232), 160, 60, 0x1110, 180, 7, 32);
+ kernel_message_teletype(msgIndex, 4, true);
}
break;
case 7:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(160, 80), 0xFDFC, 32, 8, 180, quote_string(kernel.quotes, 234));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 234), 160, 80, 0xFDFC, 180, 8, 32);
+ kernel_message_teletype(msgIndex, 4, true);
}
break;
@@ -546,24 +546,24 @@ static void handleConversation8() {
static void handleConversations() {
if (kernel.trigger == 0) {
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
player.commands_allowed = false;
- const char *curQuote = quote_string(kernel.quotes, player2.words[0]);
- if (_scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing) > 200) {
+ char *curQuote = quote_string(kernel.quotes, player2.words[0]);
+ if (font_string_width(kernel_message_font, curQuote, kernel_message_spacing) > 200) {
static char line1[40], line2[40];
quote_split_string(curQuote, line1, line2);
Common::strcpy_s(local._subQuote2, line2);
- _scene->_kernelMessages.add(Common::Point(0, -14), 0x1110, 34, 0, 240, line1);
+ kernel_message_add(line1, 0, -14, 0x1110, 240, 0, 34);
_scene->_sequences.addTimer(60, 50);
} else {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 1, 120, curQuote);
+ kernel_message_add(curQuote, 0, 0, 0x1110, 120, 1, 34);
}
} else if (kernel.trigger == 50) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 240, local._subQuote2);
+ kernel_message_add(local._subQuote2, 0, 0, 0x1110, 240, 0, 34);
_scene->_sequences.addTimer(180, 1);
} else {
if (kernel.trigger == 1)
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
switch (local._curDialogNode) {
case 1:
@@ -878,7 +878,7 @@ static void room_210_daemon() {
int reset_frame = -1;
if (local._twinklesCurrentFrame == 53) {
- _scene->_kernelMessages.add(Common::Point(151, 61), 0xFDFC, 32, 70, 180, quote_string(kernel.quotes, 230));
+ kernel_message_add(quote_string(kernel.quotes, 230), 151, 61, 0xFDFC, 180, 70, 32);
local._shouldTalk = true;
} else if ((local._twinklesCurrentFrame == 75) && local._shouldTalk)
reset_frame = 60;
@@ -928,8 +928,8 @@ static void room_210_parser() {
local._shouldFaceRex = true;
local._nextHandsPlace = 0;
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.addQuote(quote, 1, 120);
+ kernel_message_purge();
+ kernel_message_player(quote, 120, 1);
}
break;
diff --git a/engines/mads/nebular/rooms/room211.cpp b/engines/mads/nebular/rooms/room211.cpp
index 89be57ee1de..85ff1680941 100644
--- a/engines/mads/nebular/rooms/room211.cpp
+++ b/engines/mads/nebular/rooms/room211.cpp
@@ -82,9 +82,7 @@ static void room_211_init() {
kernel.quotes = quote_load(0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 1, 0);
if (global[kMonkeyStatus] == MONKEY_AMBUSH_READY)
- _scene->_kernelMessages.initRandomMessages(2,
- Common::Rect(0, 0, 54, 30), 13, 2, 0xFDFC, 60,
- 151, 152, 153, 154, 0);
+ kernel_random_messages_init(2, 0, 54, 0, 30, 13, 2, 0xFDFC, 60, 151, 152, 153, 154, 0);
local._monkeyTime = kernel.clock;
local._scrollY = 30;
@@ -97,11 +95,11 @@ static void room_211_init() {
static void room_211_daemon() {
if (global[kMonkeyStatus] == MONKEY_AMBUSH_READY) {
- _scene->_kernelMessages.randomServer();
+ kernel_random_message_server();
if (!local._ambushFl && !local._wakeFl && (kernel.clock >= local._monkeyTime)) {
- int chanceMinor = _scene->_kernelMessages.checkRandom() * 4 + 1;
- if (_scene->_kernelMessages.generateRandom(80, chanceMinor))
+ int chanceMinor = kernel_check_random() * 4 + 1;
+ if (kernel_generate_random_message(80, chanceMinor))
g_engine->_soundManager->command(18, 0);
local._monkeyTime = kernel.clock + 2;
@@ -116,7 +114,7 @@ static void room_211_daemon() {
local._monkeyFrame = 0;
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
kernel_run_animation(kernel_name('A', -1), 90);
g_engine->_soundManager->command(19, 0);
int count = (int)inven_num_objects;
@@ -148,33 +146,33 @@ static void room_211_daemon() {
switch (local._monkeyFrame) {
case 2:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(12, 4), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 157));
- _scene->_kernelMessages.setQuoted(msgIndex, 2, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 157), 12, 4, 0xFDFC, 60, 0, 0);
+ kernel_message_teletype(msgIndex, 2, true);
}
break;
case 12:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(35, 20), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 155));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 155), 35, 20, 0xFDFC, 60, 0, 0);
+ kernel_message_teletype(msgIndex, 4, true);
}
break;
case 42:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(60, 45), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 156));
- _scene->_kernelMessages.setQuoted(msgIndex, 6, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 156), 60, 45, 0xFDFC, 60, 0, 0);
+ kernel_message_teletype(msgIndex, 6, true);
}
break;
case 73:
- _scene->_kernelMessages.add(Common::Point(102, 95), 0xFDFC, 32, 0, 75, quote_string(kernel.quotes, 157));
+ kernel_message_add(quote_string(kernel.quotes, 157), 102, 95, 0xFDFC, 75, 0, 32);
break;
case 90:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(102, 95), 0xFDFC, 32, 0, 60, quote_string(kernel.quotes, 158));
- _scene->_kernelMessages.setQuoted(msgIndex, 6, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 158), 102, 95, 0xFDFC, 60, 0, 32);
+ kernel_message_teletype(msgIndex, 6, true);
}
break;
@@ -185,32 +183,32 @@ static void room_211_daemon() {
case 177:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 161));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 161), 63, local._scrollY, 0x1110, 180, 0, 0);
+ kernel_message_teletype(msgIndex, 4, true);
local._scrollY += 14;
}
break;
case 181:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 162));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 162), 63, local._scrollY, 0x1110, 180, 0, 0);
+ kernel_message_teletype(msgIndex, 4, true);
local._scrollY += 14;
}
break;
case 188:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 163));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 163), 63, local._scrollY, 0x1110, 180, 0, 0);
+ kernel_message_teletype(msgIndex, 4, true);
local._scrollY += 14;
}
break;
case 200:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 164));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 164), 63, local._scrollY, 0x1110, 180, 0, 0);
+ kernel_message_teletype(msgIndex, 4, true);
local._scrollY += 14;
}
break;
@@ -232,32 +230,32 @@ static void room_211_daemon() {
switch (_scene->_animation[0]->getCurrentFrame()) {
case 177:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 165));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 165), 63, local._scrollY, 0x1110, 180, 0, 0);
+ kernel_message_teletype(msgIndex, 4, true);
local._scrollY += 14;
}
break;
case 181:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 166));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 166), 63, local._scrollY, 0x1110, 180, 0, 0);
+ kernel_message_teletype(msgIndex, 4, true);
local._scrollY += 14;
}
break;
case 188:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 167));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 167), 63, local._scrollY, 0x1110, 180, 0, 0);
+ kernel_message_teletype(msgIndex, 4, true);
local._scrollY += 14;
}
break;
case 200:
{
- int msgIndex = _scene->_kernelMessages.add(Common::Point(63, local._scrollY), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 168));
- _scene->_kernelMessages.setQuoted(msgIndex, 4, true);
+ int msgIndex = kernel_message_add(quote_string(kernel.quotes, 168), 63, local._scrollY, 0x1110, 180, 0, 0);
+ kernel_message_teletype(msgIndex, 4, true);
local._scrollY += 14;
}
break;
diff --git a/engines/mads/nebular/rooms/room215.cpp b/engines/mads/nebular/rooms/room215.cpp
index 1efd7ea9942..ac18e948de8 100644
--- a/engines/mads/nebular/rooms/room215.cpp
+++ b/engines/mads/nebular/rooms/room215.cpp
@@ -115,8 +115,8 @@ static void room_215_parser() {
}
} else {
int idx = g_engine->getRandomNumber(169, 170);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, idx));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, idx), 0, 0, 0x1110, 120, 0, 34);
}
} else if (player_said_2(walk_outside, hut))
new_room = 210;
diff --git a/engines/mads/nebular/rooms/room304.cpp b/engines/mads/nebular/rooms/room304.cpp
index e42185d9d6a..8f39a425855 100644
--- a/engines/mads/nebular/rooms/room304.cpp
+++ b/engines/mads/nebular/rooms/room304.cpp
@@ -102,8 +102,8 @@ static void room_304_daemon() {
break;
case 71:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, quote_string(kernel.quotes, 0xEB));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0xEB), 0, 0, 0x1110, 60, 0, 34);
_scene->_sequences.addTimer(1, 72);
break;
@@ -149,8 +149,8 @@ static void room_304_daemon() {
break;
case 77:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(211, 45), 0xFDFC, 32, 0, 180, quote_string(kernel.quotes, 0xEC));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0xEC), 211, 45, 0xFDFC, 180, 0, 32);
_scene->_sequences.addTimer(120, 78);
break;
diff --git a/engines/mads/nebular/rooms/room307.cpp b/engines/mads/nebular/rooms/room307.cpp
index 5b14ba9c458..692a8b6cbc0 100644
--- a/engines/mads/nebular/rooms/room307.cpp
+++ b/engines/mads/nebular/rooms/room307.cpp
@@ -57,16 +57,16 @@ static Scratch local;
static void handleRexDialog(int quote) {
- const char *curQuote = quote_string(kernel.quotes, quote);
- if (_scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing) > 200) {
+ char *curQuote = quote_string(kernel.quotes, quote);
+ if (font_string_width(kernel_message_font, curQuote, kernel_message_spacing) > 200) {
static char subQuote1[34], subQuote2[34];
quote_split_string(curQuote, subQuote1, subQuote2);
Common::strcpy_s(local._subQuote2, subQuote2);
- _scene->_kernelMessages.add(Common::Point(0, -14), 0x1110, 34, 0, 240, subQuote1);
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 1, 180, local._subQuote2);
+ kernel_message_add(subQuote1, 0, -14, 0x1110, 240, 0, 34);
+ kernel_message_add(local._subQuote2, 0, 0, 0x1110, 180, 1, 34);
} else
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 1, 120, curQuote);
+ kernel_message_add(curQuote, 0, 0, 0x1110, 120, 1, 34);
}
static void handlePrisonerSpeech(int firstQuoteId, int number, uint32 timeout) {
@@ -78,13 +78,13 @@ static void handlePrisonerSpeech(int firstQuoteId, int number, uint32 timeout) {
else
posY = 78 - (height / 2);
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
local._activePrisonerFl = true;
int quoteId = firstQuoteId;
for (int count = 0; count < number; count++) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_kernelMessages.add(Common::Point(5, posY), 0xFDFC, 0, 81, timeout, quote_string(kernel.quotes, quoteId));
+ kernel_message_add(quote_string(kernel.quotes, quoteId), 5, posY, 0xFDFC, timeout, 81, 0);
posY += 14;
quoteId++;
}
@@ -261,7 +261,7 @@ static void handlePrisonerDialog() {
static void handleDialog() {
if (kernel.trigger == 0) {
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
player.commands_allowed = false;
handleRexDialog(player2.words[0]);
} else {
@@ -365,7 +365,7 @@ static void room_307_init() {
section_3_music();
if ((previous_room == 318) || (previous_room == 387))
- _scene->_kernelMessages.addQuote(0xF3, 0, 120);
+ kernel_message_player(0xF3, 120, 0);
}
static void room_307_daemon() {
@@ -427,14 +427,14 @@ static void room_307_daemon() {
if (local._prisonerMessageId == -1)
local._prisonerMessageId = 0x104;
- int idx = _scene->_kernelMessages.add(Common::Point(5, 51), 0xFDFC, 0, 81, 120, quote_string(kernel.quotes, local._prisonerMessageId));
- _scene->_kernelMessages.setQuoted(idx, 4, true);
+ int idx = kernel_message_add(quote_string(kernel.quotes, local._prisonerMessageId), 5, 51, 0xFDFC, 120, 81, 0);
+ kernel_message_teletype(idx, 4, true);
local._prisonerMessageId++;
if (local._prisonerMessageId > 0x10A)
local._prisonerMessageId = 0x104;
} else if (global[kKnowsBuddyBeast] && (local._dialog2.read(0) > 1) && (g_engine->getRandomNumber(1, 3) == 1)) {
- int idx = _scene->_kernelMessages.add(Common::Point(5, 51), 0xFDFC, 0, 81, 120, quote_string(kernel.quotes, 267));
- _scene->_kernelMessages.setQuoted(idx, 4, true);
+ int idx = kernel_message_add(quote_string(kernel.quotes, 267), 5, 51, 0xFDFC, 120, 81, 0);
+ kernel_message_teletype(idx, 4, true);
}
local._prisonerTimer = 0;
}
@@ -486,8 +486,8 @@ static void room_307_parser() {
switch (kernel.trigger) {
case 0:
player.commands_allowed = false;
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 239));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 239), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addTimer(120, 1);
break;
@@ -532,8 +532,8 @@ static void room_307_parser() {
case 5:
g_engine->_soundManager->command(10, 0);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 241));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 241), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addTimer(120, 6);
break;
@@ -548,7 +548,7 @@ static void room_307_parser() {
int hotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(129, 104), FACING_NORTH);
_scene->_dynamicHotspots.setCursor(hotspotId, CURSOR_GO_UP);
inter_take_from_player(OBJ_SCALPEL, NOWHERE);
- _scene->_kernelMessages.addQuote(0xF2, 7, 120);
+ kernel_message_player(0xF2, 120, 7);
}
break;
@@ -677,9 +677,9 @@ static void room_307_parser() {
case 3:
{
matte_deallocate_series(g_sprite_ids[3], true);
- _scene->_kernelMessages.reset();
- int idx = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 4, 120, quote_string(kernel.quotes, 237));
- _scene->_kernelMessages.setQuoted(idx, 4, true);
+ kernel_message_purge();
+ int idx = kernel_message_add(quote_string(kernel.quotes, 237), 0, 0, 0x1110, 120, 4, 34);
+ kernel_message_teletype(idx, 4, true);
}
break;
@@ -693,9 +693,9 @@ static void room_307_parser() {
break;
}
} else {
- _scene->_kernelMessages.reset();
- int idx = _scene->_kernelMessages.add(Common::Point(85, 39), 0x1110, 0, 0, 180, quote_string(kernel.quotes, 238));
- _scene->_kernelMessages.setQuoted(idx, 4, true);
+ kernel_message_purge();
+ int idx = kernel_message_add(quote_string(kernel.quotes, 238), 85, 39, 0x1110, 180, 0, 0);
+ kernel_message_teletype(idx, 4, true);
}
} else if (player_said_2(look, air_vent)) {
if (!local._grateOpenedFl)
diff --git a/engines/mads/nebular/rooms/room308.cpp b/engines/mads/nebular/rooms/room308.cpp
index 6ab42b96be4..7f9e4c3eccc 100644
--- a/engines/mads/nebular/rooms/room308.cpp
+++ b/engines/mads/nebular/rooms/room308.cpp
@@ -84,9 +84,9 @@ static void room_308_daemon() {
g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 18, 9, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[3], 2, 3);
_scene->_sequences.setDepth(g_sequence_ids[3], 9);
- _scene->_kernelMessages.reset();
- int idx = _scene->_kernelMessages.add(Common::Point(171, 21), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 244));
- _scene->_kernelMessages.setQuoted(idx, 2, true);
+ kernel_message_purge();
+ int idx = kernel_message_add(quote_string(kernel.quotes, 244), 171, 21, 0xFDFC, 120, 0, 0);
+ kernel_message_teletype(idx, 2, true);
_scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
break;
@@ -106,7 +106,7 @@ static void room_308_daemon() {
g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 20, 5, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[3], 3, 4);
_scene->_sequences.setDepth(g_sequence_ids[3], 9);
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
_scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
break;
@@ -126,9 +126,9 @@ static void room_308_daemon() {
g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 20, 8, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[3], 6, 7);
_scene->_sequences.setDepth(g_sequence_ids[3], 9);
- _scene->_kernelMessages.reset();
- int idx = _scene->_kernelMessages.add(Common::Point(171, 21), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 245));
- _scene->_kernelMessages.setQuoted(idx, 2, true);
+ kernel_message_purge();
+ int idx = kernel_message_add(quote_string(kernel.quotes, 245), 171, 21, 0xFDFC, 120, 0, 0);
+ kernel_message_teletype(idx, 2, true);
_scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
}
break;
@@ -150,9 +150,9 @@ static void room_308_daemon() {
g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 26, 0, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[3], 2, 3);
_scene->_sequences.setDepth(g_sequence_ids[3], 9);
- _scene->_kernelMessages.reset();
- int idx = _scene->_kernelMessages.add(Common::Point(171, 21), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 246));
- _scene->_kernelMessages.setQuoted(idx, 2, true);
+ kernel_message_purge();
+ int idx = kernel_message_add(quote_string(kernel.quotes, 246), 171, 21, 0xFDFC, 120, 0, 0);
+ kernel_message_teletype(idx, 2, true);
_scene->_sequences.updateTimeout(g_sequence_ids[3], seqIdx);
}
break;
diff --git a/engines/mads/nebular/rooms/room309.cpp b/engines/mads/nebular/rooms/room309.cpp
index 23c4603738d..7614c3d66cb 100644
--- a/engines/mads/nebular/rooms/room309.cpp
+++ b/engines/mads/nebular/rooms/room309.cpp
@@ -101,12 +101,12 @@ static void room_309_daemon() {
if (local._lastFrame != _scene->_animation[0]->getCurrentFrame()) {
local._lastFrame = _scene->_animation[0]->getCurrentFrame();
if (local._lastFrame == 39) {
- local._messagesIndexes[0] = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 32, 61, 210, quote_string(kernel.quotes, 348));
- local._messagesIndexes[1] = _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 32, 0, 210, quote_string(kernel.quotes, 349));
+ local._messagesIndexes[0] = kernel_message_add(quote_string(kernel.quotes, 348), 0, 0, 0x1110, 210, 61, 32);
+ local._messagesIndexes[1] = kernel_message_add(quote_string(kernel.quotes, 349), 0, 0, 0x1110, 210, 0, 32);
}
if (local._lastFrame == 97)
- local._messagesIndexes[2] = _scene->_kernelMessages.add(Common::Point(0, 0), 0xFBFA, 32, 62, 180, quote_string(kernel.quotes, 350));
+ local._messagesIndexes[2] = kernel_message_add(quote_string(kernel.quotes, 350), 0, 0, 0xFBFA, 180, 62, 32);
for (int charIdx = 0; charIdx < 3; charIdx++) {
if (local._messagesIndexes[charIdx] >= 0) {
@@ -150,8 +150,8 @@ static void room_309_daemon() {
_scene->_sequences.setAnimRange(g_sequence_ids[3], 4, 7);
_scene->_sequences.setDepth(g_sequence_ids[3], 11);
_scene->_sequences.updateTimeout(g_sequence_ids[3], _oldIdx);
- int idx = _scene->_kernelMessages.add(Common::Point(85, 37), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 248));
- _scene->_kernelMessages.setQuoted(idx, 2, true);
+ int idx = kernel_message_add(quote_string(kernel.quotes, 248), 85, 37, 0xFDFC, 120, 0, 0);
+ kernel_message_teletype(idx, 2, true);
_scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
}
break;
@@ -174,8 +174,8 @@ static void room_309_daemon() {
_scene->_sequences.setAnimRange(g_sequence_ids[3], 12, 20);
_scene->_sequences.setDepth(g_sequence_ids[3], 11);
_scene->_sequences.updateTimeout(g_sequence_ids[3], _oldIdx);
- int idx = _scene->_kernelMessages.add(Common::Point(170, 49), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 249));
- _scene->_kernelMessages.setQuoted(idx, 2, true);
+ int idx = kernel_message_add(quote_string(kernel.quotes, 249), 170, 49, 0xFDFC, 120, 0, 0);
+ kernel_message_teletype(idx, 2, true);
_scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
}
break;
@@ -218,8 +218,8 @@ static void room_309_daemon() {
g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 90, 0, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[3], 29, 30);
_scene->_sequences.setDepth(g_sequence_ids[3], 11);
- int idx = _scene->_kernelMessages.add(Common::Point(15, 46), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 247));
- _scene->_kernelMessages.setQuoted(idx, 2, true);
+ int idx = kernel_message_add(quote_string(kernel.quotes, 247), 15, 46, 0xFDFC, 120, 0, 0);
+ kernel_message_teletype(idx, 2, true);
_scene->_sequences.addTimer(120, 78);
}
break;
diff --git a/engines/mads/nebular/rooms/room311.cpp b/engines/mads/nebular/rooms/room311.cpp
index b79a43ab96e..2e54dd0b3f7 100644
--- a/engines/mads/nebular/rooms/room311.cpp
+++ b/engines/mads/nebular/rooms/room311.cpp
@@ -196,8 +196,8 @@ static void room_311_parser() {
text_show(31119);
else if (local._checkGuardFl) {
local._checkGuardFl = false;
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.addQuote(250, 0, 240);
+ kernel_message_purge();
+ kernel_message_player(250, 240, 0);
} else if (player_said_2(sit_at, desk))
new_room = 320;
else if (player_said_2(climb_into, air_vent)) {
diff --git a/engines/mads/nebular/rooms/room316.cpp b/engines/mads/nebular/rooms/room316.cpp
index 5c7906994fe..5c19cd49fc6 100644
--- a/engines/mads/nebular/rooms/room316.cpp
+++ b/engines/mads/nebular/rooms/room316.cpp
@@ -427,9 +427,9 @@ static void room_316_parser() {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 7, 1, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[1], 8, -2);
_scene->_sequences.setDepth(g_sequence_ids[1], 2);
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
if (!player_has_been_in_room(321))
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 253));
+ kernel_message_add(quote_string(kernel.quotes, 253), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
diff --git a/engines/mads/nebular/rooms/room318.cpp b/engines/mads/nebular/rooms/room318.cpp
index 569f017aafb..14e858c3336 100644
--- a/engines/mads/nebular/rooms/room318.cpp
+++ b/engines/mads/nebular/rooms/room318.cpp
@@ -54,17 +54,17 @@ static Scratch local;
static void handleRexDialogs(int quote) {
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
- const char *curQuote = quote_string(kernel.quotes, quote);
- if (_scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing) > 200) {
+ char *curQuote = quote_string(kernel.quotes, quote);
+ if (font_string_width(kernel_message_font, curQuote, kernel_message_spacing) > 200) {
static char subQuote1[34], subQuote2[34];
quote_split_string(curQuote, subQuote1, subQuote2);
- _scene->_kernelMessages.add(Common::Point(138, 59), 0x1110, 32, 0, 240, subQuote1);
- _scene->_kernelMessages.add(Common::Point(138, 73), 0x1110, 32, 1, 180, subQuote2);
+ kernel_message_add(subQuote1, 138, 59, 0x1110, 240, 0, 32);
+ kernel_message_add(subQuote2, 138, 73, 0x1110, 180, 1, 32);
} else
- _scene->_kernelMessages.add(Common::Point(138, 73), 0x1110, 32, 1, 120, curQuote);
+ kernel_message_add(curQuote, 138, 73, 0x1110, 120, 1, 32);
}
static void handleInternDialog(int quoteId, int quoteNum, uint32 timeout) {
@@ -79,14 +79,14 @@ static void handleInternDialog(int quoteId, int quoteNum, uint32 timeout) {
int maxWidth = 0;
for (int i = 0; i < quoteNum; i++) {
- maxWidth = MAX(maxWidth, _scene->_kernelMessages._talkFont->getWidth(quote_string(kernel.quotes, curQuoteId), -1));
+ maxWidth = MAX(maxWidth, font_string_width(kernel_message_font, quote_string(kernel.quotes, curQuoteId), -1));
curQuoteId++;
}
int posX = MIN(319 - maxWidth, 178 - (maxWidth >> 1));
curQuoteId = quoteId;
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
local._internTalkingFl = true;
// WORKAROUND: In case the player launches multiple talk selections with the
@@ -98,7 +98,7 @@ static void handleInternDialog(int quoteId, int quoteNum, uint32 timeout) {
for (int i = 0; i < quoteNum; i++) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(180, 63);
- _scene->_kernelMessages.add(Common::Point(posX, posY), 0xFDFC, 0, 0, timeout, quote_string(kernel.quotes, curQuoteId));
+ kernel_message_add(quote_string(kernel.quotes, curQuoteId), posX, posY, 0xFDFC, timeout, 0, 0);
posY += 14;
curQuoteId++;
}
diff --git a/engines/mads/nebular/rooms/room319.cpp b/engines/mads/nebular/rooms/room319.cpp
index 774613ef7b8..7a05ca5f7cd 100644
--- a/engines/mads/nebular/rooms/room319.cpp
+++ b/engines/mads/nebular/rooms/room319.cpp
@@ -56,18 +56,18 @@ static Scratch local;
static void handleRexDialogues(int quote) {
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
- const char *curQuote = quote_string(kernel.quotes, quote);
- if (_scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing) > 200) {
+ char *curQuote = quote_string(kernel.quotes, quote);
+ if (font_string_width(kernel_message_font, curQuote, kernel_message_spacing) > 200) {
static char subQuote1[34], subQuote2[34];
quote_split_string(curQuote, subQuote1, subQuote2);
Common::strcpy_s(local._subQuote2, subQuote2);
- _scene->_kernelMessages.add(Common::Point(160, 106), 0x1110, 32, 0, 120, subQuote1);
- _scene->_kernelMessages.add(Common::Point(160, 120), 0x1110, 32, 1, 120, local._subQuote2);
+ kernel_message_add(subQuote1, 160, 106, 0x1110, 120, 0, 32);
+ kernel_message_add(local._subQuote2, 160, 120, 0x1110, 120, 1, 32);
} else
- _scene->_kernelMessages.add(Common::Point(160, 120), 0x1110, 32, 1, 120, curQuote);
+ kernel_message_add(curQuote, 160, 120, 0x1110, 120, 1, 32);
}
static void handleSlacheDialogs(int quoteId, int counter, uint32 timer) {
@@ -75,7 +75,7 @@ static void handleSlacheDialogs(int quoteId, int counter, uint32 timer) {
int posY = 5 + (local._slachePosY * 14);
for (int count = 0; count < counter; count++, curQuote++) {
- _scene->_kernelMessages.add(Common::Point(8, posY), 0xFDFC, 0, 0, timer, quote_string(kernel.quotes, curQuote));
+ kernel_message_add(quote_string(kernel.quotes, curQuote), 8, posY, 0xFDFC, timer, 0, 0);
posY += 14;
}
}
diff --git a/engines/mads/nebular/rooms/room320.cpp b/engines/mads/nebular/rooms/room320.cpp
index c229ebf2a0b..ab822aa88b1 100644
--- a/engines/mads/nebular/rooms/room320.cpp
+++ b/engines/mads/nebular/rooms/room320.cpp
@@ -209,7 +209,7 @@ static void room_320_daemon() {
break;
case 191:
- _scene->_kernelMessages.add(Common::Point(1, 1), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 0xFE));
+ kernel_message_add(quote_string(kernel.quotes, 0xFE), 1, 1, 0xFDFC, 60, 0, 0);
break;
case 417:
@@ -289,7 +289,7 @@ static void room_320_parser() {
player.commands_allowed = false;
setRightView(8);
setLeftView(10);
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
kernel_dump_all();
g_sprite_ids[2] = kernel_load_series(kernel_name('m', 2), 0);
g_sprite_ids[4] = kernel_load_series(kernel_name('m', 4), 0);
diff --git a/engines/mads/nebular/rooms/room352.cpp b/engines/mads/nebular/rooms/room352.cpp
index adf31584e3e..f9b2e940699 100644
--- a/engines/mads/nebular/rooms/room352.cpp
+++ b/engines/mads/nebular/rooms/room352.cpp
@@ -49,7 +49,7 @@ static Scratch local;
static void putArmDown(bool corridorExit, bool doorwayExit) {
switch (kernel.trigger) {
case 0:
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0xFF));
+ kernel_message_add(quote_string(kernel.quotes, 0xFF), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addTimer(48, 1);
break;
@@ -79,8 +79,8 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
break;
case 3:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x100));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x100), 0, 0, 0x1110, 120, 0, 34);
inter_move_object(OBJ_GUARDS_ARM, room_id);
player.walker_visible = true;
if (corridorExit)
@@ -290,7 +290,7 @@ static void room_352_parser() {
break;
case 4:
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x101));
+ kernel_message_add(quote_string(kernel.quotes, 0x101), 0, 0, 0x1110, 120, 0, 34);
player.commands_allowed = true;
break;
@@ -434,10 +434,10 @@ static void room_352_parser() {
idx = _scene->_dynamicHotspots.add(words_your_stuff, words_walkto, -1, Common::Rect(282, 87, 282 + 13, 87 + 7));
local._hotspot2Idx = _scene->_dynamicHotspots.setPosition(idx, Common::Point(280, 111), FACING_NORTHEAST);
g_sequence_ids[1] = local._commonSequenceIdx;
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x102));
+ kernel_message_add(quote_string(kernel.quotes, 0x102), 0, 0, 0x1110, 120, 0, 34);
} else {
g_sequence_ids[13] = local._commonSequenceIdx;
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x103));
+ kernel_message_add(quote_string(kernel.quotes, 0x103), 0, 0, 0x1110, 120, 0, 34);
}
idx = _scene->_dynamicHotspots.add(words_other_stuff, words_walkto, -1, Common::Rect(282, 48, 282 + 36, 48 + 27));
diff --git a/engines/mads/nebular/rooms/room361.cpp b/engines/mads/nebular/rooms/room361.cpp
index 24613f1804f..1a45709cb52 100644
--- a/engines/mads/nebular/rooms/room361.cpp
+++ b/engines/mads/nebular/rooms/room361.cpp
@@ -269,7 +269,7 @@ static void room_361_init() {
kernel.quotes = quote_load(0xFB, 0xFC, 0);
if (previous_room == 320)
- _scene->_kernelMessages.setQuoted(_scene->_kernelMessages.addQuote(0xFB, 0, 0x78), 4, true);
+ kernel_message_teletype(kernel_message_player(0xFB, 0x78, 0), 4, true);
section_3_music();
}
@@ -388,8 +388,8 @@ static void room_361_parser() {
if (player.look_around)
text_show(36119);
else if (player_said_2(sit_at, desk)) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.addQuote(252, 0, 120);
+ kernel_message_purge();
+ kernel_message_player(252, 120, 0);
} else if (player_said_2(climb_into, air_vent)) {
if (global[kSexOfRex] == REX_FEMALE)
handleRoxAction();
diff --git a/engines/mads/nebular/rooms/room388.cpp b/engines/mads/nebular/rooms/room388.cpp
index e1fd078f307..089f45f5ab8 100644
--- a/engines/mads/nebular/rooms/room388.cpp
+++ b/engines/mads/nebular/rooms/room388.cpp
@@ -57,19 +57,19 @@ static void room_388_parser() {
switch (kernel.trigger) {
case 0:
player.commands_allowed = false;
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(160, 136), 0x1110, 32, 1, 120, quote_string(kernel.quotes, 0x154));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x154), 160, 136, 0x1110, 120, 1, 32);
break;
case 1:
- _scene->_kernelMessages.add(Common::Point(82, 38), 0xFDFC, 0, 0, 300, quote_string(kernel.quotes, 0x156));
- _scene->_kernelMessages.add(Common::Point(82, 52), 0xFDFC, 0, 0, 300, quote_string(kernel.quotes, 0x157));
- _scene->_kernelMessages.add(Common::Point(82, 66), 0xFDFC, 0, 2, 300, quote_string(kernel.quotes, 0x158));
+ kernel_message_add(quote_string(kernel.quotes, 0x156), 82, 38, 0xFDFC, 300, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x157), 82, 52, 0xFDFC, 300, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x158), 82, 66, 0xFDFC, 300, 2, 0);
break;
case 2:
player.commands_allowed = true;
- _scene->_kernelMessages.add(Common::Point(160, 136), 0x1110, 32, 0, 120, quote_string(kernel.quotes, 0x155));
+ kernel_message_add(quote_string(kernel.quotes, 0x155), 160, 136, 0x1110, 120, 0, 32);
break;
default:
diff --git a/engines/mads/nebular/rooms/room389.cpp b/engines/mads/nebular/rooms/room389.cpp
index 7779adeccac..c29de5a8cfa 100644
--- a/engines/mads/nebular/rooms/room389.cpp
+++ b/engines/mads/nebular/rooms/room389.cpp
@@ -51,9 +51,7 @@ static void room_389_init() {
else {
g_sprite_ids[0] = kernel_load_series(kernel_name('m', -1), 0);
g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 0, 0, 0);
- _scene->_kernelMessages.initRandomMessages(1,
- Common::Rect(88, 19, 177, 77), 13, 2, 0xFDFC, 60,
- 247, 248, 249, 0);
+ kernel_random_messages_init(1, 88, 177, 19, 77, 13, 2, 0xFDFC, 60, 247, 248, 249, 0);
}
pal_change_color(252, 63, 37, 26);
@@ -65,10 +63,10 @@ static void room_389_init() {
}
static void room_389_daemon() {
- _scene->_kernelMessages.randomServer();
+ kernel_random_message_server();
if (kernel.clock >= local._monsterTime) {
- int chanceMinor = _scene->_kernelMessages.checkRandom() * 4 + 1;
- _scene->_kernelMessages.generateRandom(20, chanceMinor);
+ int chanceMinor = kernel_check_random() * 4 + 1;
+ kernel_generate_random_message(20, chanceMinor);
local._monsterTime = kernel.clock + 2;
}
}
@@ -80,7 +78,7 @@ static void room_389_parser() {
switch (kernel.trigger) {
case 0:
player.commands_allowed = false;
- _scene->_kernelMessages.add(Common::Point(160, 136), 0x1110, 32, 1, 120, quote_string(kernel.quotes, local._circularQuoteId));
+ kernel_message_add(quote_string(kernel.quotes, local._circularQuoteId), 160, 136, 0x1110, 120, 1, 32);
local._circularQuoteId++;
if (local._circularQuoteId > 0x15B)
local._circularQuoteId = 0x159;
diff --git a/engines/mads/nebular/rooms/room401.cpp b/engines/mads/nebular/rooms/room401.cpp
index 9b9fc537480..03939b85257 100644
--- a/engines/mads/nebular/rooms/room401.cpp
+++ b/engines/mads/nebular/rooms/room401.cpp
@@ -130,8 +130,8 @@ static void room_401_parser() {
kernel_run_animation(kernel_name('s', 1), 70);
global[kHasBeenScanned] = true;
g_engine->_soundManager->command(22, 0);
- int idx = _scene->_kernelMessages.add(Common::Point(153, 46), 0x1110, 32, 0, 60, quote_string(kernel.quotes, 0x1D4));
- _scene->_kernelMessages.setQuoted(idx, 4, true);
+ int idx = kernel_message_add(quote_string(kernel.quotes, 0x1D4), 153, 46, 0x1110, 60, 0, 32);
+ kernel_message_teletype(idx, 4, true);
}
if (global[kSexOfRex] == REX_FEMALE) {
diff --git a/engines/mads/nebular/rooms/room402.cpp b/engines/mads/nebular/rooms/room402.cpp
index 57dd378e9e8..42145164d37 100644
--- a/engines/mads/nebular/rooms/room402.cpp
+++ b/engines/mads/nebular/rooms/room402.cpp
@@ -145,8 +145,8 @@ static void handleConversation1() {
default:
break;
}
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(quotePosX, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, quoteId));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, quoteId), quotePosX, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 120;
@@ -155,8 +155,8 @@ static void handleConversation1() {
break;
case 0x215:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(260, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EC));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1EC), 260, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 120;
@@ -165,8 +165,8 @@ static void handleConversation1() {
break;
case 0x237:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(208, 41), 0xFDFC, 0, 0, 100, quote_string(kernel.quotes, 0x1FD));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1FD), 208, 41, 0xFDFC, 100, 0, 0);
setDialogNode(0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
@@ -251,9 +251,9 @@ static void handleConversation2() {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 180;
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(198, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E7));
- _scene->_kernelMessages.add(Common::Point(201, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E8));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1E7), 198, 27, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1E8), 201, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
local._bartenderCurrentQuestion = 7;
break;
@@ -261,9 +261,9 @@ static void handleConversation2() {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 180;
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(220, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E9));
- _scene->_kernelMessages.add(Common::Point(190, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EA));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1E9), 220, 27, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1EA), 190, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
local._bartenderCurrentQuestion = 8;
break;
@@ -271,8 +271,8 @@ static void handleConversation2() {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 150;
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(196, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EB));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1EB), 196, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
local._bartenderCurrentQuestion = 9;
break;
@@ -281,8 +281,8 @@ static void handleConversation2() {
}
local._dialog2.start();
} else {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(208, 41), 0xFDFC, 0, 0, 100, quote_string(kernel.quotes, 0x1FD));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1FD), 208, 41, 0xFDFC, 100, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 1120;
@@ -297,16 +297,16 @@ static void handleConversation3() {
case 0x236:
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 86);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(188, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1ED));
- _scene->_kernelMessages.add(Common::Point(199, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EE));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1ED), 188, 27, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1EE), 199, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
setDialogNode(4);
local._bartenderCurrentQuestion = 2;
break;
case 0x237:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(208, 41), 0xFDFC, 0, 0, 100, quote_string(kernel.quotes, 0x1FD));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1FD), 208, 41, 0xFDFC, 100, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 1120;
@@ -321,12 +321,12 @@ static void handleConversation3() {
static void handleConversation4() {
switch (player2.words[0]) {
case 0x238:
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
setDialogNode(0);
player.commands_allowed = false;
- _scene->_kernelMessages.add(Common::Point(196, 13), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1F0));
- _scene->_kernelMessages.add(Common::Point(184, 27), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1F1));
- _scene->_kernelMessages.add(Common::Point(200, 41), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1F2));
+ kernel_message_add(quote_string(kernel.quotes, 0x1F0), 196, 13, 0xFDFC, 180, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1F1), 184, 27, 0xFDFC, 180, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1F2), 200, 41, 0xFDFC, 180, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 1100;
@@ -349,8 +349,8 @@ static void handleConversation4() {
case 0x23A:
setDialogNode(0);
player.commands_allowed = false;
- _scene->_kernelMessages.add(Common::Point(193, 27), 0xFDFC, 0, 0, 150, quote_string(kernel.quotes, 0x1F4));
- _scene->_kernelMessages.add(Common::Point(230, 41), 0xFDFC, 0, 0, 150, quote_string(kernel.quotes, 0x1F5));
+ kernel_message_add(quote_string(kernel.quotes, 0x1F4), 193, 27, 0xFDFC, 150, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1F5), 230, 41, 0xFDFC, 150, 0, 0);
local._dialog4.write(0x23A, false);
global[kHasSaidTimer] = true;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
@@ -365,8 +365,8 @@ static void handleConversation4() {
case 0x23D:
setDialogNode(0);
player.commands_allowed = false;
- _scene->_kernelMessages.add(Common::Point(153, 27), 0xFDFC, 0, 0, 150, quote_string(kernel.quotes, 0x1F6));
- _scene->_kernelMessages.add(Common::Point(230, 41), 0xFDFC, 0, 0, 150, quote_string(kernel.quotes, 0x1F7));
+ kernel_message_add(quote_string(kernel.quotes, 0x1F6), 153, 27, 0xFDFC, 150, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1F7), 230, 41, 0xFDFC, 150, 0, 0);
local._dialog4.write(0x23D, false);
global[kHasSaidBinocs] = true;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
@@ -379,10 +379,10 @@ static void handleConversation4() {
break;
case 0x23E:
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
setDialogNode(0);
player.commands_allowed = false;
- _scene->_kernelMessages.add(Common::Point(205, 41), 0xFDFC, 0, 0, 100, quote_string(kernel.quotes, 0x1F8));
+ kernel_message_add(quote_string(kernel.quotes, 0x1F8), 205, 41, 0xFDFC, 100, 0, 0);
local._bartenderMode = 22;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
@@ -399,17 +399,17 @@ static void handleConversation4() {
static void handleDialogs() {
if (kernel.trigger == 0) {
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
player.commands_allowed = false;
- const char *curQuote = quote_string(kernel.quotes, player2.words[0]);
- if (_scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing) > 200) {
+ char *curQuote = quote_string(kernel.quotes, player2.words[0]);
+ if (font_string_width(kernel_message_font, curQuote, kernel_message_spacing) > 200) {
static char subQuote1[34], subQuote2[34];
quote_split_string(curQuote, subQuote1, subQuote2);
- _scene->_kernelMessages.add(Common::Point(230, 42), 0x1110, 32, 0, 140, subQuote1);
- _scene->_kernelMessages.add(Common::Point(230, 56), 0x1110, 32, 0, 140, subQuote2);
+ kernel_message_add(subQuote1, 230, 42, 0x1110, 140, 0, 32);
+ kernel_message_add(subQuote2, 230, 56, 0x1110, 140, 0, 32);
_scene->_sequences.addTimer(160, 120);
} else {
- _scene->_kernelMessages.add(Common::Point(230, 56), 0x1110, 32, 1, 140, curQuote);
+ kernel_message_add(curQuote, 230, 56, 0x1110, 140, 1, 32);
_scene->_sequences.addTimer(160, 120);
}
} else if (kernel.trigger == 120) {
@@ -551,47 +551,47 @@ static void room_402_init() {
switch (local._bartenderCurrentQuestion) {
case 1:
- _scene->_kernelMessages.add(Common::Point(260, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EC));
+ kernel_message_add(quote_string(kernel.quotes, 0x1EC), 260, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
break;
case 2:
- _scene->_kernelMessages.add(Common::Point(188, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1ED));
- _scene->_kernelMessages.add(Common::Point(199, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EE));
+ kernel_message_add(quote_string(kernel.quotes, 0x1ED), 188, 27, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1EE), 199, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
break;
case 3:
- _scene->_kernelMessages.add(Common::Point(177, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EF));
+ kernel_message_add(quote_string(kernel.quotes, 0x1EF), 177, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
break;
case 4:
- _scene->_kernelMessages.add(Common::Point(205, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E4));
+ kernel_message_add(quote_string(kernel.quotes, 0x1E4), 205, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
break;
case 5:
- _scene->_kernelMessages.add(Common::Point(203, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E5));
+ kernel_message_add(quote_string(kernel.quotes, 0x1E5), 203, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
break;
case 6:
- _scene->_kernelMessages.add(Common::Point(260, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E6));
+ kernel_message_add(quote_string(kernel.quotes, 0x1E6), 260, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
break;
case 7:
- _scene->_kernelMessages.add(Common::Point(198, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E7));
- _scene->_kernelMessages.add(Common::Point(201, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E8));
+ kernel_message_add(quote_string(kernel.quotes, 0x1E7), 198, 27, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1E8), 201, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
break;
case 8:
- _scene->_kernelMessages.add(Common::Point(220, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E9));
- _scene->_kernelMessages.add(Common::Point(190, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EA));
+ kernel_message_add(quote_string(kernel.quotes, 0x1E9), 220, 27, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1EA), 190, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
break;
case 9:
- _scene->_kernelMessages.add(Common::Point(196, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EB));
+ kernel_message_add(quote_string(kernel.quotes, 0x1EB), 196, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
break;
case 10:
- _scene->_kernelMessages.add(Common::Point(198, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E2));
- _scene->_kernelMessages.add(Common::Point(199, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E3));
+ kernel_message_add(quote_string(kernel.quotes, 0x1E2), 198, 27, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1E3), 199, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
break;
default:
@@ -803,8 +803,8 @@ static void room_402_daemon() {
_scene->_sequences.setDepth(g_sequence_ids[6], 5);
_scene->_sequences.updateTimeout(g_sequence_ids[6], seqIdx);
if (local._roxMode == 22) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(230, 56), 0x1110, 32, 0, 120, quote_string(kernel.quotes, 0x23F));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x23F), 230, 56, 0x1110, 120, 0, 32);
local._bartenderMode = 21;
global[kHasPurchased] = true;
_scene->_sequences.addTimer(140, 95);
@@ -906,8 +906,8 @@ static void room_402_daemon() {
_scene->_sequences.updateTimeout(g_sequence_ids[9], seqIdx);
_scene->_sequences.setDepth(g_sequence_ids[9], 8);
if (local._bartenderMode == 20) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(210, 41), 0xFDFC, 0, 0, 100, quote_string(kernel.quotes, 0x1F3));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1F3), 210, 41, 0xFDFC, 100, 0, 0);
_scene->_sequences.addTimer(5, 100);
local._talkTimer = 180;
local._roxMode = 22;
@@ -1362,29 +1362,29 @@ static void room_402_daemon() {
switch (kernel.trigger) {
case 39:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, quote_string(kernel.quotes, 0x1D8));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1D8), 89, 67, 0xFDFC, 120, 0, 32);
_scene->_sequences.addTimer(150, 40);
break;
case 40:
- _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, quote_string(kernel.quotes, 0x1D9));
+ kernel_message_add(quote_string(kernel.quotes, 0x1D9), 89, 67, 0xFDFC, 120, 0, 32);
_scene->_sequences.addTimer(150, 41);
break;
case 41:
- _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, quote_string(kernel.quotes, 0x1DA));
+ kernel_message_add(quote_string(kernel.quotes, 0x1DA), 89, 67, 0xFDFC, 120, 0, 32);
player.commands_allowed = true;
break;
case 42:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, quote_string(kernel.quotes, 0x1DC));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1DC), 89, 67, 0xFDFC, 120, 0, 32);
_scene->_sequences.addTimer(150, 43);
break;
case 43:
- _scene->_kernelMessages.add(Common::Point(89, 67), 0xFDFC, 32, 0, 120, quote_string(kernel.quotes, 0x1DD));
+ kernel_message_add(quote_string(kernel.quotes, 0x1DD), 89, 67, 0xFDFC, 120, 0, 32);
player.commands_allowed = true;
break;
@@ -1416,8 +1416,8 @@ static void room_402_daemon() {
_scene->_sequences.setDepth(g_sequence_ids[9], 8);
}
player.commands_allowed = false;
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(180, 47), 0xFBFA, 0, 0, 100, quote_string(kernel.quotes, 0x1FE));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1FE), 180, 47, 0xFBFA, 100, 0, 0);
_scene->_sequences.addTimer(120, 56);
break;
@@ -1477,9 +1477,9 @@ static void room_402_daemon() {
break;
case 61:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(181, 33), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x1FF));
- _scene->_kernelMessages.add(Common::Point(171, 47), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x200));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1FF), 181, 33, 0xFBFA, 130, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x200), 171, 47, 0xFBFA, 130, 0, 0);
_scene->_sequences.addTimer(150, 63);
_scene->_sequences.remove(g_sequence_ids[13]);
g_sequence_ids[13] = _scene->_sequences.startPingPongCycle(g_sprite_ids[13], false, 30, 4, 0, 0);
@@ -1498,16 +1498,16 @@ static void room_402_daemon() {
break;
case 63:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(160, 33), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x201));
- _scene->_kernelMessages.add(Common::Point(165, 47), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x202));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x201), 160, 33, 0xFBFA, 130, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x202), 165, 47, 0xFBFA, 130, 0, 0);
_scene->_sequences.addTimer(150, 64);
break;
case 64:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(210, 27), 0xFDFC, 0, 0, 130, quote_string(kernel.quotes, 0x1E0));
- _scene->_kernelMessages.add(Common::Point(198, 41), 0xFDFC, 0, 0, 130, quote_string(kernel.quotes, 0x1E1));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1E0), 210, 27, 0xFDFC, 130, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1E1), 198, 41, 0xFDFC, 130, 0, 0);
_scene->_sequences.addTimer(150, 65);
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 1130;
@@ -1563,9 +1563,9 @@ static void room_402_daemon() {
_scene->_sequences.setDepth(g_sequence_ids[13], 8);
_scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(179, 33), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x203));
- _scene->_kernelMessages.add(Common::Point(167, 47), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x204));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x203), 179, 33, 0xFBFA, 130, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x204), 167, 47, 0xFBFA, 130, 0, 0);
_scene->_sequences.addTimer(150, 71);
_scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
}
@@ -1580,9 +1580,9 @@ static void room_402_daemon() {
case 71:
_scene->_sequences.addTimer(210, 73);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(168, 33), 0xFBFA, 0, 0, 180, quote_string(kernel.quotes, 0x205));
- _scene->_kernelMessages.add(Common::Point(151, 47), 0xFBFA, 0, 0, 180, quote_string(kernel.quotes, 0x206));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x205), 168, 33, 0xFBFA, 180, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x206), 151, 47, 0xFBFA, 180, 0, 0);
if (!player_has(OBJ_REPAIR_LIST))
local._activeArrows = true;
break;
@@ -1597,9 +1597,9 @@ static void room_402_daemon() {
break;
case 73:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(177, 33), 0xFBFA, 0, 0, 150, quote_string(kernel.quotes, 0x207));
- _scene->_kernelMessages.add(Common::Point(172, 47), 0xFBFA, 0, 0, 150, quote_string(kernel.quotes, 0x208));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x207), 177, 33, 0xFBFA, 150, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x208), 172, 47, 0xFBFA, 150, 0, 0);
local._bartenderSteady = true;
player.commands_allowed = true;
local._helgaReady = true;
@@ -1902,17 +1902,17 @@ static void room_402_parser() {
switch (random) {
case 1:
- _scene->_kernelMessages.add(centerPos, 0x1110, 32 | centerFlag, 0, 90, quote_string(kernel.quotes, 0x211));
+ kernel_message_add(quote_string(kernel.quotes, 0x211), centerPos.x, centerPos.y, 0x1110, 90, 0, 32 | centerFlag);
_scene->_sequences.addTimer(110, 25);
break;
case 2:
- _scene->_kernelMessages.add(centerPos, 0x1110, 32 | centerFlag, 0, 90, quote_string(kernel.quotes, 0x212));
+ kernel_message_add(quote_string(kernel.quotes, 0x212), centerPos.x, centerPos.y, 0x1110, 90, 0, 32 | centerFlag);
_scene->_sequences.addTimer(110, 25);
break;
case 3:
- _scene->_kernelMessages.add(centerPos, 0x1110, 32 | centerFlag, 0, 90, quote_string(kernel.quotes, 0x213));
+ kernel_message_add(quote_string(kernel.quotes, 0x213), centerPos.x, centerPos.y, 0x1110, 90, 0, 32 | centerFlag);
_scene->_sequences.addTimer(110, 25);
break;
@@ -1927,8 +1927,8 @@ static void room_402_parser() {
case 0:
player.commands_allowed = false;
local._helgaTalkMode = 1;
- _scene->_kernelMessages.add(Common::Point(177, 33), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x209));
- _scene->_kernelMessages.add(Common::Point(182, 47), 0xFBFA, 0, 0, 130, quote_string(kernel.quotes, 0x20A));
+ kernel_message_add(quote_string(kernel.quotes, 0x209), 177, 33, 0xFBFA, 130, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x20A), 182, 47, 0xFBFA, 130, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(130, 28);
break;
@@ -1936,7 +1936,7 @@ static void room_402_parser() {
case 1:
player.commands_allowed = false;
local._helgaTalkMode = 2;
- _scene->_kernelMessages.add(Common::Point(157, 47), 0xFBFA, 0, 0, 100, quote_string(kernel.quotes, 0x20B));
+ kernel_message_add(quote_string(kernel.quotes, 0x20B), 157, 47, 0xFBFA, 100, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(100, 28);
break;
@@ -1944,7 +1944,7 @@ static void room_402_parser() {
case 2:
player.commands_allowed = false;
local._helgaTalkMode = 3;
- _scene->_kernelMessages.add(Common::Point(172, 47), 0xFBFA, 0, 0, 100, quote_string(kernel.quotes, 0x20C));
+ kernel_message_add(quote_string(kernel.quotes, 0x20C), 172, 47, 0xFBFA, 100, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(100, 28);
break;
@@ -1962,24 +1962,24 @@ static void room_402_parser() {
break;
}
} else if (player_said_2(talkto, woman_in_chair) && !local._firstTalkToGirlInChair) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x1D7));
+ kernel_message_add(quote_string(kernel.quotes, 0x1D7), 0, 0, 0x1110, 120, 0, 34);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(150, 39);
player.commands_allowed = false;
local._firstTalkToGirlInChair = true;
} else if (player_said_2(talkto, woman_in_chair) && local._firstTalkToGirlInChair) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x1DB));
+ kernel_message_add(quote_string(kernel.quotes, 0x1DB), 0, 0, 0x1110, 120, 0, 34);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(150, 42);
player.commands_allowed = false;
} else if (player_said_2(talkto, woman_in_alcove) || player_said_2(walkto, woman_in_alcove)) {
- _scene->_kernelMessages.add(Common::Point(102, 48), 0xFBFA, 0, 0, 120, quote_string(kernel.quotes, 0x1DE));
+ kernel_message_add(quote_string(kernel.quotes, 0x1DE), 102, 48, 0xFBFA, 120, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(120, 44);
player.commands_allowed = false;
} else if (player_said_2(sit_on, bar_stool) && (player.target_x == 248)) {
- _scene->_kernelMessages.add(Common::Point(0, -14), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x20D));
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x20E));
+ kernel_message_add(quote_string(kernel.quotes, 0x20D), 0, -14, 0x1110, 120, 0, 34);
+ kernel_message_add(quote_string(kernel.quotes, 0x20E), 0, 0, 0x1110, 120, 0, 34);
} else if (player_said_2(sit_on, bar_stool) && !local._roxOnStool && (player.target_x != 248)) {
player.walker_visible = false;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
@@ -2025,8 +2025,8 @@ static void room_402_parser() {
quoteId = 0x20F;
local._bartenderCalled = true;
}
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(centerPos, 0x1110, 32 | centerFlag, 0, 90, quote_string(kernel.quotes, quoteId));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, quoteId), centerPos.x, centerPos.y, 0x1110, 90, 0, 32 | centerFlag);
_scene->_sequences.addTimer(110, 29);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(90, 28);
@@ -2034,23 +2034,23 @@ static void room_402_parser() {
break;
case 29:
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
if (!local._roxOnStool) {
if (object_is_here(OBJ_ALIEN_LIQUOR)) {
- _scene->_kernelMessages.add(Common::Point(177, 41), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 0x1DF));
+ kernel_message_add(quote_string(kernel.quotes, 0x1DF), 177, 41, 0xFDFC, 120, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 120;
} else if (local._rexMode == 0) {
- _scene->_kernelMessages.add(Common::Point(175, 13), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1F9));
- _scene->_kernelMessages.add(Common::Point(184, 27), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1FA));
- _scene->_kernelMessages.add(Common::Point(200, 41), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1FB));
+ kernel_message_add(quote_string(kernel.quotes, 0x1F9), 175, 13, 0xFDFC, 180, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1FA), 184, 27, 0xFDFC, 180, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1FB), 200, 41, 0xFDFC, 180, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 180;
local._rexMode = 1;
} else if (local._rexMode == 1) {
- _scene->_kernelMessages.add(Common::Point(205, 41), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 0x1FC));
+ kernel_message_add(quote_string(kernel.quotes, 0x1FC), 205, 41, 0xFDFC, 120, 0, 0);
player.commands_allowed = true;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
@@ -2062,9 +2062,9 @@ static void room_402_parser() {
} else {
if (object_is_here(OBJ_ALIEN_LIQUOR)) {
if (!local._refuseAlienLiquor) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(198, 27), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E2));
- _scene->_kernelMessages.add(Common::Point(199, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1E3));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x1E2), 198, 27, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1E3), 199, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
local._bartenderCurrentQuestion = 10;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
@@ -2076,7 +2076,7 @@ static void room_402_parser() {
local._dialog1.start();
} else {
- _scene->_kernelMessages.add(Common::Point(177, 41), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x1EF));
+ kernel_message_add(quote_string(kernel.quotes, 0x1EF), 177, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 120;
@@ -2091,15 +2091,15 @@ static void room_402_parser() {
}
} else {
if (local._rexMode == 0) {
- _scene->_kernelMessages.add(Common::Point(175, 13), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1F9));
- _scene->_kernelMessages.add(Common::Point(184, 27), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1FA));
- _scene->_kernelMessages.add(Common::Point(200, 41), 0xFDFC, 0, 0, 180, quote_string(kernel.quotes, 0x1FB));
+ kernel_message_add(quote_string(kernel.quotes, 0x1F9), 175, 13, 0xFDFC, 180, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1FA), 184, 27, 0xFDFC, 180, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x1FB), 200, 41, 0xFDFC, 180, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
local._talkTimer = 180;
local._rexMode = 1;
} else if (local._rexMode == 1) {
- _scene->_kernelMessages.add(Common::Point(205, 41), 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 0x1FC));
+ kernel_message_add(quote_string(kernel.quotes, 0x1FC), 205, 41, 0xFDFC, 120, 0, 0);
player.commands_allowed = true;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(1, 100);
diff --git a/engines/mads/nebular/rooms/room405.cpp b/engines/mads/nebular/rooms/room405.cpp
index c627c76d4cb..39a2b06321d 100644
--- a/engines/mads/nebular/rooms/room405.cpp
+++ b/engines/mads/nebular/rooms/room405.cpp
@@ -132,7 +132,7 @@ static void room_405_parser() {
else if (player_said_2(walk_through, wide_door) && global[kArmoryDoorOpen])
new_room = 408;
else if (player_said_2(walk_through, wide_door) && !global[kArmoryDoorOpen])
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, quote_string(kernel.quotes, 0x24F));
+ kernel_message_add(quote_string(kernel.quotes, 0x24F), 0, 0, 0x1110, 60, 0, 34);
else if (player_said_3(put, security_card, card_slot) && !global[kArmoryDoorOpen]) {
player.commands_allowed = false;
player.walker_visible = false;
diff --git a/engines/mads/nebular/rooms/room406.cpp b/engines/mads/nebular/rooms/room406.cpp
index e0035624858..d3fd3d1ffc8 100644
--- a/engines/mads/nebular/rooms/room406.cpp
+++ b/engines/mads/nebular/rooms/room406.cpp
@@ -164,7 +164,7 @@ static void room_406_parser() {
} else if (player_said_2(walk_through, door) && global[kStorageDoorOpen] && (player.target_x < 100))
new_room = 410;
else if (player_said_2(walk_through, door) && !global[kStorageDoorOpen] && (player.target_x < 100)) {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, quote_string(kernel.quotes, 0x24F));
+ kernel_message_add(quote_string(kernel.quotes, 0x24F), 0, 0, 0x1110, 60, 0, 34);
if (!local._hitStorageDoor) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
_scene->_sequences.addTimer(80, 100);
diff --git a/engines/mads/nebular/rooms/room407.cpp b/engines/mads/nebular/rooms/room407.cpp
index d107580b69f..65c64f04cb3 100644
--- a/engines/mads/nebular/rooms/room407.cpp
+++ b/engines/mads/nebular/rooms/room407.cpp
@@ -107,7 +107,7 @@ static void room_407_parser() {
g_engine->_soundManager->command(21, 0);
kernel_run_animation(kernel_name('s', 1), 70);
global[kHasBeenScanned] = true;
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 60, quote_string(kernel.quotes, 592));
+ kernel_message_add(quote_string(kernel.quotes, 592), 0, 0, 0x1110, 60, 0, 34);
g_engine->_soundManager->command(22, 0);
}
diff --git a/engines/mads/nebular/rooms/room411.cpp b/engines/mads/nebular/rooms/room411.cpp
index 44243dd1475..10622890c63 100644
--- a/engines/mads/nebular/rooms/room411.cpp
+++ b/engines/mads/nebular/rooms/room411.cpp
@@ -202,7 +202,7 @@ static int computeQuoteAndQuantity() {
break;
}
- _scene->_kernelMessages.add(Common::Point(202, 82), 0x1110, 32, 0, 120, quote_string(kernel.quotes, quoteId));
+ kernel_message_add(quote_string(kernel.quotes, quoteId), 202, 82, 0x1110, 120, 0, 32);
return quantity;
}
@@ -254,7 +254,7 @@ static void handleDialog() {
player.commands_allowed = false;
_scene->_animation[0]->setCurrentFrame(local._resetFrame);
}
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
local._newQuantity = computeQuoteAndQuantity();
if ((global[kNextIngredient] == 1) && (global[kBadFirstIngredient] > -1))
diff --git a/engines/mads/nebular/rooms/room501.cpp b/engines/mads/nebular/rooms/room501.cpp
index 8efb0bfd4de..8067638a93a 100644
--- a/engines/mads/nebular/rooms/room501.cpp
+++ b/engines/mads/nebular/rooms/room501.cpp
@@ -292,8 +292,8 @@ static void room_501_parser() {
kernel_run_animation(kernel_name('G', 1), 5);
} else {
local._rexPunched = false;
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 6, 120, quote_string(kernel.quotes, 0x277));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x277), 0, 0, 0x1110, 120, 6, 34);
}
break;
@@ -306,12 +306,12 @@ static void room_501_parser() {
case 6:
if (global[kSexOfRex] == REX_MALE) {
if (local._rexPunched) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x275));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x275), 0, 0, 0x1110, 120, 0, 34);
local._rexPunched = false;
} else {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x276));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x276), 0, 0, 0x1110, 120, 0, 34);
}
}
player.commands_allowed = true;
diff --git a/engines/mads/nebular/rooms/room508.cpp b/engines/mads/nebular/rooms/room508.cpp
index ff8a2575339..9d133f74ec0 100644
--- a/engines/mads/nebular/rooms/room508.cpp
+++ b/engines/mads/nebular/rooms/room508.cpp
@@ -164,8 +164,8 @@ static void room_508_parser() {
switch (kernel.trigger) {
case 0:
player.commands_allowed = false;
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 2, 120, quote_string(kernel.quotes, 0x273));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x273), 0, 0, 0x1110, 120, 2, 34);
break;
case 2:
@@ -207,7 +207,7 @@ static void room_508_parser() {
_scene->_sequences.setDepth(g_sequence_ids[4], 11);
int idx = _scene->_dynamicHotspots.add(words_laser_beam, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(57, 116), FACING_NORTHEAST);
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
kernel_load_variant(1);
_scene->_sequences.addTimer(30, 7);
}
diff --git a/engines/mads/nebular/rooms/room513.cpp b/engines/mads/nebular/rooms/room513.cpp
index 33e4601ef39..ecca5b25a1b 100644
--- a/engines/mads/nebular/rooms/room513.cpp
+++ b/engines/mads/nebular/rooms/room513.cpp
@@ -187,8 +187,8 @@ static void room_513_parser() {
g_sequence_ids[2] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[2], false, 7, 1, 0, 0);
_scene->_sequences.setDepth(g_sequence_ids[2], 2);
g_engine->_soundManager->command(24, 0);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x278));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x278), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
diff --git a/engines/mads/nebular/rooms/room602.cpp b/engines/mads/nebular/rooms/room602.cpp
index aa5a1f0bd8f..c86563b9599 100644
--- a/engines/mads/nebular/rooms/room602.cpp
+++ b/engines/mads/nebular/rooms/room602.cpp
@@ -125,8 +125,8 @@ static void handleSafeActions() {
case 1:
if (local._safeMode == 1 || local._safeMode == 3) {
if (global[kSafeStatus] == 0 && local._safeMode == 1) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x2F1));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x2F1), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addTimer(120, 4);
} else {
_scene->_sequences.remove(local._lastSequenceIdx);
@@ -168,8 +168,8 @@ static void handleSafeActions() {
int idx = _scene->_dynamicHotspots.add(words_safe, words_walkto, local._lastSequenceIdx, Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(185, 113), FACING_NORTHWEST);
if (local._safeMode == 3) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x2F3));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x2F3), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addTimer(120, 4);
} else
_scene->_sequences.addTimer(60, 4);
@@ -250,8 +250,8 @@ static void room_602_parser() {
break;
case 2:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x2F2));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x2F2), 0, 0, 0x1110, 120, 0, 34);
global[kSafeStatus] = 2;
player.commands_allowed = true;
break;
diff --git a/engines/mads/nebular/rooms/room607.cpp b/engines/mads/nebular/rooms/room607.cpp
index 4fe1449784d..6dff76897f4 100644
--- a/engines/mads/nebular/rooms/room607.cpp
+++ b/engines/mads/nebular/rooms/room607.cpp
@@ -142,7 +142,7 @@ static void room_607_daemon() {
_scene->_sequences.remove(g_sequence_ids[1]);
g_sequence_ids[1] = _scene->_sequences.startPingPongCycle(g_sprite_ids[1], false, 5, 8, 0, 0);
_scene->_sequences.setDepth(g_sequence_ids[1], 6);
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
_scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 2, 100);
_scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
local._counter = 0;
@@ -153,7 +153,7 @@ static void room_607_daemon() {
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
_scene->_sequences.setDepth(g_sequence_ids[1], 6);
_scene->_sequences.updateTimeout(g_sequence_ids[1], syncIdx);
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
local._dogBarking = false;
}
@@ -183,7 +183,7 @@ static void room_607_daemon() {
default:
break;
}
- _scene->_kernelMessages.add(pos, 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 0x2F9));
+ kernel_message_add(quote_string(kernel.quotes, 0x2F9), pos.x, pos.y, 0xFDFC, 120, 0, 0);
}
}
@@ -208,8 +208,8 @@ static void room_607_daemon() {
g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 10, 1, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[4], -1, 7);
_scene->_sequences.setDepth(g_sequence_ids[4], 1);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x2FA));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x2FA), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
_scene->_sequences.addTimer(10, 64);
break;
@@ -337,8 +337,8 @@ static void handleThrowingBone() {
local._dogTimer = 0;
}
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, quoteId));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, quoteId), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addTimer(60, 3);
}
break;
@@ -414,9 +414,9 @@ static void room_607_parser() {
} else if (player_said_3(throw, bones, obnoxious_dog) || player_said_3(throw, bone, obnoxious_dog)) {
if (game.difficulty != DIFFICULTY_EASY) {
local._animationMode = 1;
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
if (kernel.trigger == 0)
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x2F6));
+ kernel_message_add(quote_string(kernel.quotes, 0x2F6), 0, 0, 0x1110, 120, 0, 34);
handleThrowingBone();
}
@@ -424,8 +424,8 @@ static void room_607_parser() {
&& ((global[kDogStatus] == DOG_PRESENT) || kernel.trigger)) {
local._animationMode = 2;
if (kernel.trigger == 0) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x2F6));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x2F6), 0, 0, 0x1110, 120, 0, 34);
}
handleThrowingBone();
} else if (player.look_around || player_said_2(look, street)) {
diff --git a/engines/mads/nebular/rooms/room608.cpp b/engines/mads/nebular/rooms/room608.cpp
index ea06fa151a1..5ff6f8d534a 100644
--- a/engines/mads/nebular/rooms/room608.cpp
+++ b/engines/mads/nebular/rooms/room608.cpp
@@ -155,8 +155,8 @@ static void handleThrowingBone() {
case 3:
if (local._throwMode != 6) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x304));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x304), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addTimer(120, 4);
} else
restoreAnimations();
@@ -339,7 +339,7 @@ static void room_608_daemon() {
g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
_scene->_sequences.setDepth(g_sequence_ids[5], 6);
_scene->_sequences.updateTimeout(g_sequence_ids[5], syncIdx);
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
local._dogBarkingFl = false;
}
}
@@ -370,7 +370,7 @@ static void room_608_daemon() {
default:
break;
}
- _scene->_kernelMessages.add(_barkPos, 0xFDFC, 0, 0, 120, quote_string(kernel.quotes, 0x2FB));
+ kernel_message_add(quote_string(kernel.quotes, 0x2FB), _barkPos.x, _barkPos.y, 0xFDFC, 120, 0, 0);
}
}
@@ -403,10 +403,10 @@ static void room_608_daemon() {
_scene->_sequences.remove(g_sequence_ids[10]);
local._dogUnderCar = false;
local._dogYelping = false;
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 6, 1, 0, 0);
_scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 92);
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x2FF));
+ kernel_message_add(quote_string(kernel.quotes, 0x2FF), 0, 0, 0x1110, 120, 0, 34);
}
if (kernel.trigger == 92) {
@@ -469,19 +469,19 @@ static void room_608_daemon() {
_scene->_sequences.addTimer(22, 111);
_scene->_sequences.addTimer(120, 112);
}
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
}
} else
local._dogYelping = false;
if (kernel.trigger == 110) {
g_engine->_soundManager->command(12, 0);
- _scene->_kernelMessages.add(Common::Point(150, 97), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 0x303));
+ kernel_message_add(quote_string(kernel.quotes, 0x303), 150, 97, 0xFDFC, 60, 0, 0);
}
if (kernel.trigger == 111) {
g_engine->_soundManager->command(12, 0);
- _scene->_kernelMessages.add(Common::Point(183, 93), 0xFDFC, 0, 0, 60, quote_string(kernel.quotes, 0x303));
+ kernel_message_add(quote_string(kernel.quotes, 0x303), 183, 93, 0xFDFC, 60, 0, 0);
}
if (kernel.trigger == 112)
@@ -624,8 +624,8 @@ static void room_608_daemon() {
_scene->_sequences.setAnimRange(g_sequence_ids[9], 3, 5);
_scene->_sequences.setDepth(g_sequence_ids[9], 5);
_scene->_sequences.updateTimeout(g_sequence_ids[9], -1);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x2FC));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x2FC), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 81);
break;
@@ -729,8 +729,8 @@ static void room_608_parser() {
if (local._dogDeathMode == 0)
local._carMode = 0;
else if (local._dogDeathMode == 1) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x300));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x300), 0, 0, 0x1110, 120, 0, 34);
global[kCarStatus] = CAR_SQUASHES_DOG;
local._carMode = 2;
global[kDogStatus] = DOG_DEAD;
@@ -773,7 +773,7 @@ static void room_608_parser() {
break;
case 3:
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x302));
+ kernel_message_add(quote_string(kernel.quotes, 0x302), 0, 0, 0x1110, 120, 0, 34);
global[kCarStatus] = CAR_DOWN_ON_SQUASHED_DOG;
local._carMode = 3;
local._dogDeathMode = 2;
@@ -838,8 +838,8 @@ static void room_608_parser() {
player.commands_allowed = true;
if (local._dogActiveFl) {
if (kernel.trigger == 0) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x2FE));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x2FE), 0, 0, 0x1110, 120, 0, 34);
}
local._throwMode = 4;
handleThrowingBone();
@@ -849,8 +849,8 @@ static void room_608_parser() {
player.commands_allowed = true;
if (local._dogActiveFl) {
if (kernel.trigger == 0) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x2FD));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x2FD), 0, 0, 0x1110, 120, 0, 34);
}
local._throwMode = 5;
handleThrowingBone();
@@ -862,8 +862,8 @@ static void room_608_parser() {
if ((global[kCarStatus] == CAR_UP) && local._dogActiveFl) {
if (local._dogActiveFl) {
if (kernel.trigger == 0) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x301));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x301), 0, 0, 0x1110, 120, 0, 34);
}
local._throwMode = 6;
handleThrowingBone();
diff --git a/engines/mads/nebular/rooms/room609.cpp b/engines/mads/nebular/rooms/room609.cpp
index 790d4ab7d02..3bcae36b505 100644
--- a/engines/mads/nebular/rooms/room609.cpp
+++ b/engines/mads/nebular/rooms/room609.cpp
@@ -163,15 +163,15 @@ static void enterStore() {
if (local._videoDoorMode == 2)
_scene->_sequences.addTimer(1, 4);
else {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x305));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x305), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addTimer(120, 1);
}
break;
case 1:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x306));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x306), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addTimer(60, 2);
break;
@@ -210,8 +210,8 @@ static void enterStore() {
case 6:
_scene->_hotspots.activate(words_video_store_door, false);
if (local._videoDoorMode == 1) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 180, quote_string(kernel.quotes, 0x307));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x307), 0, 0, 0x1110, 180, 0, 34);
}
player_walk(23, 90, FACING_WEST);
_scene->_sequences.addTimer(180, 7);
@@ -251,8 +251,8 @@ static void room_609_parser() {
switch (kernel.trigger) {
case 0:
player.commands_allowed = false;
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x308));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x308), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addTimer(120, 1);
break;
@@ -271,8 +271,8 @@ static void room_609_parser() {
break;
case 3:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x309));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x309), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addTimer(120, 4);
break;
diff --git a/engines/mads/nebular/rooms/room611.cpp b/engines/mads/nebular/rooms/room611.cpp
index b2ab39cf79e..40e4a07fc55 100644
--- a/engines/mads/nebular/rooms/room611.cpp
+++ b/engines/mads/nebular/rooms/room611.cpp
@@ -138,478 +138,478 @@ static void handleTalking(int delay) {
}
static void displayHermitQuestions(int question) {
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
local._hermitDisplayedQuestion = question;
switch (question) {
case 1:
{
- const char *curQuote = quote_string(kernel.quotes, 0x281);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x281);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x282);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 14, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 2:
{
- const char *curQuote = quote_string(kernel.quotes, 0x283);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x283);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x284);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 14, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 3:
{
- const char *curQuote = quote_string(kernel.quotes, 0x285);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x285);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 14, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 4:
{
- const char *curQuote = quote_string(kernel.quotes, 0x286);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x286);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 14, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 5:
{
- const char *curQuote = quote_string(kernel.quotes, 0x297);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x297);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y - 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y - 14, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x298);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x299);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 14, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 6:
{
- const char *curQuote = quote_string(kernel.quotes, 0x29A);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x29A);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x29B);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 14, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 7:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2A0);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2A0);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2A1);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 8:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2A2);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2A2);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2A3);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2A4);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 9:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2A5);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2A5);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2A6);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 10:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2A8);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2A8);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2A9);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2AA);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 11:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2AB);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2AB);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 17, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2AC);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2AD);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2AE);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 12:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2AF);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2AF);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 17, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2B0);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2B1);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2B2);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 13:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2B3);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2B3);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 3, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2B4);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 17, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2B5);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2B6);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
- _scene->_kernelMessages.add(Common::Point(11, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x2B7));
- _scene->_kernelMessages.add(Common::Point(11, local._defaultDialogPos_y + 73), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x2B8));
- _scene->_kernelMessages.add(Common::Point(11, local._defaultDialogPos_y + 87), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, quote_string(kernel.quotes, 0x2B9));
+ kernel_message_add(quote_string(kernel.quotes, 0x2B7), 11, local._defaultDialogPos_y + 59, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x2B8), 11, local._defaultDialogPos_y + 73, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
+ kernel_message_add(quote_string(kernel.quotes, 0x2B9), 11, local._defaultDialogPos_y + 87, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 14:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2BA);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2BA);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 17, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2BB);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2BC);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2BD);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 15:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2BE);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2BE);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 17, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2BF);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2C0);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2C1);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 16:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2C2);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2C2);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 3, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2C3);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 17, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2C4);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2C5);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2C6);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 17:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2C7);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2C7);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 17, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2C8);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2C9);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2CA);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 18:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2CB);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2CB);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2CC);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2CD);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 19:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2CE);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2CE);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2CF);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2D0);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 20:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2E1);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2E1);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 3, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2E2);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 17, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2E3);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2E4);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2E5);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, INDEFINITE_TIMEOUT, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
}
break;
case 21:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2D3);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2D3);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, 800, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 3, 0xFDFC, 800, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2D4);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, 800, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 17, 0xFDFC, 800, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2D5);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, 800, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, 800, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2D6);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, 800, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, 800, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2D7);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, 800, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, 800, 0, 0);
}
break;
case 22:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2D8);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2D8);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, 700, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 17, 0xFDFC, 700, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2D9);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, 700, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, 700, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2DA);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, 700, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, 700, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2DB);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, 700, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, 700, 0, 0);
}
break;
case 23:
{
- const char *curQuote = quote_string(kernel.quotes, 0x2DC);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2DC);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 3), 0xFDFC, 0, 0, 700, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 3, 0xFDFC, 700, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2DD);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 17), 0xFDFC, 0, 0, 700, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 17, 0xFDFC, 700, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2DE);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 31), 0xFDFC, 0, 0, 700, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 31, 0xFDFC, 700, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2DF);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 45), 0xFDFC, 0, 0, 700, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 45, 0xFDFC, 700, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2E0);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 59), 0xFDFC, 0, 0, 700, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 59, 0xFDFC, 700, 0, 0);
}
break;
@@ -755,17 +755,17 @@ static void handleSubDialog1() {
case 0x293:
{
handleTalking(200);
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
- const char *curQuote = quote_string(kernel.quotes, 0x2D1);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2D1);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, 120, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y, 0xFDFC, 120, 0, 0);
curQuote = quote_string(kernel.quotes, 0x2D2);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, 120, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 14, 0xFDFC, 120, 0, 0);
local._dialog1.write(0x293, false);
setDialogNode(0);
@@ -815,12 +815,12 @@ static void handleSubDialog1() {
case 0x296:
{
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
- const char *curQuote = quote_string(kernel.quotes, 0x2E6);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x2E6);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, 120, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 14, 0xFDFC, 120, 0, 0);
setDialogNode(0);
handleTalking(200);
@@ -854,11 +854,11 @@ static void handleSubDialog2() {
case 0x29F:
{
- _scene->_kernelMessages.reset();
- const char *curQuote = quote_string(kernel.quotes, 0x2A7);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ kernel_message_purge();
+ char *curQuote = quote_string(kernel.quotes, 0x2A7);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, 120, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 14, 0xFDFC, 120, 0, 0);
setDialogNode(0);
local._dialog2.write(0x29F, false);
}
@@ -871,27 +871,27 @@ static void handleSubDialog2() {
static void handleDialog() {
if (kernel.trigger == 0) {
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
player.commands_allowed = false;
- const char *curQuote = quote_string(kernel.quotes, player2.words[0]);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, player2.words[0]);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
if (width > 200) {
static char subQuote1[34], subQuote2[34];
quote_split_string(curQuote, subQuote1, subQuote2);
- _scene->_kernelMessages.add(Common::Point(0, -14), 0x1110, 34, 0, 150, subQuote1);
+ kernel_message_add(subQuote1, 0, -14, 0x1110, 150, 0, 34);
if (player2.words[0] == 0x29D)
- _scene->_kernelMessages.add(Common::Point(-18, 0), 0x1110, 34, 1, 150, subQuote2);
+ kernel_message_add(subQuote2, -18, 0, 0x1110, 150, 1, 34);
else if (player2.words[0] == 0x28A)
- _scene->_kernelMessages.add(Common::Point(-10, 0), 0x1110, 34, 1, 150, subQuote2);
+ kernel_message_add(subQuote2, -10, 0, 0x1110, 150, 1, 34);
else
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 1, 150, subQuote2);
+ kernel_message_add(subQuote2, 0, 0, 0x1110, 150, 1, 34);
_scene->_sequences.addTimer(170, 50);
} else {
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 1, 120, curQuote);
+ kernel_message_add(curQuote, 0, 0, 0x1110, 120, 1, 34);
_scene->_sequences.addTimer(140, 50);
}
} else if (kernel.trigger == 50) {
@@ -1143,19 +1143,19 @@ static void room_611_daemon() {
if (_scene->_animation[0] != nullptr && (_scene->_animation[0]->getCurrentFrame() == 240) && local._check1Fl) {
local._check1Fl = false;
- _scene->_kernelMessages.add(Common::Point(33, 88), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 0x27E));
+ kernel_message_add(quote_string(kernel.quotes, 0x27E), 33, 88, 0xFDFC, 90, 0, 0);
_scene->_sequences.addTimer(120, 120);
}
if (kernel.trigger == 120) {
- int msgIdx = _scene->_kernelMessages.add(Common::Point(28, 102), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 0x27F));
- _scene->_kernelMessages.setQuoted(msgIdx, 4, true);
+ int msgIdx = kernel_message_add(quote_string(kernel.quotes, 0x27F), 28, 102, 0xFDFC, 90, 0, 0);
+ kernel_message_teletype(msgIdx, 4, true);
_scene->_sequences.addTimer(100, 121);
}
if (kernel.trigger == 121) {
- int msgIdx = _scene->_kernelMessages.add(Common::Point(23, 116), 0xFDFC, 0, 0, 90, quote_string(kernel.quotes, 0x280));
- _scene->_kernelMessages.setQuoted(msgIdx, 4, true);
+ int msgIdx = kernel_message_add(quote_string(kernel.quotes, 0x280), 23, 116, 0xFDFC, 90, 0, 0);
+ kernel_message_teletype(msgIdx, 4, true);
}
if (local._hermitMode == 1) {
@@ -1337,7 +1337,7 @@ static void room_611_pre_parser() {
player.walk_off_edge_to_room = 609;
if (local._resetBatterieText)
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
}
static void room_611_parser() {
@@ -1348,17 +1348,17 @@ static void room_611_parser() {
local._giveBatteriesFl = true;
handleSubDialog1();
} else if (player_said_2(give, hermit)) {
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
- const char *curQuote = quote_string(kernel.quotes, 0x323);
- int width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ char *curQuote = quote_string(kernel.quotes, 0x323);
+ int width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
int quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y), 0xFDFC, 0, 0, 120, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y, 0xFDFC, 120, 0, 0);
curQuote = quote_string(kernel.quotes, 0x324);
- width = _scene->_kernelMessages._talkFont->getWidth(curQuote, kernel_message_spacing);
+ width = font_string_width(kernel_message_font, curQuote, kernel_message_spacing);
quotePosX = local._defaultDialogPos_x - (width / 2);
- _scene->_kernelMessages.add(Common::Point(quotePosX, local._defaultDialogPos_y + 14), 0xFDFC, 0, 0, 120, curQuote);
+ kernel_message_add(curQuote, quotePosX, local._defaultDialogPos_y + 14, 0xFDFC, 120, 0, 0);
} else if (kernel.trigger == 90) {
if (local._dialog2.read(0x29C) && local._dialog2.read(0x29D) && local._dialog2.read(0x29E)) {
handleTalking(180);
@@ -1387,8 +1387,8 @@ static void room_611_parser() {
}
} else if (player_said_2(talkto, hermit)) {
if (!local._dialog1.read(0x287)) {
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x27A));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x27A), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addTimer(120, 90);
} else {
int nextQuote = 0;
@@ -1408,15 +1408,15 @@ static void room_611_parser() {
default:
break;
}
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, nextQuote));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, nextQuote), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addTimer(120, 90);
}
} else if ((player_said_1(walkto) || player_said_1(look)) && player_said_1(rat)) {
switch (kernel.trigger) {
case 0:
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x279));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x279), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addTimer(60, 1);
break;
diff --git a/engines/mads/nebular/rooms/room612.cpp b/engines/mads/nebular/rooms/room612.cpp
index c505026c817..4cb165d2ab8 100644
--- a/engines/mads/nebular/rooms/room612.cpp
+++ b/engines/mads/nebular/rooms/room612.cpp
@@ -80,8 +80,8 @@ static void handleWinchMovement() {
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, local._cycleIndex);
_scene->_sequences.setDepth(g_sequence_ids[2], 1);
_scene->_sequences.updateTimeout(g_sequence_ids[2], syncIdx);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x2F4));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x2F4), 0, 0, 0x1110, 120, 0, 34);
player.commands_allowed = true;
text_show(61217);
diff --git a/engines/mads/nebular/rooms/room701.cpp b/engines/mads/nebular/rooms/room701.cpp
index 8b947d769ea..bc1d815b4a8 100644
--- a/engines/mads/nebular/rooms/room701.cpp
+++ b/engines/mads/nebular/rooms/room701.cpp
@@ -181,7 +181,7 @@ static void room_701_daemon() {
g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, -1);
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(48, 136));
_scene->_sequences.setDepth(g_sequence_ids[1], 10);
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
break;
case 80:
@@ -251,8 +251,8 @@ static void room_701_parser() {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 5, 1, 0, 0);
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(48, 136));
_scene->_sequences.setDepth(g_sequence_ids[1], 10);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x310, 34, 0, 120, quote_string(kernel.quotes, 0x30D));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x30D), 0, 0, 0x310, 120, 0, 34);
_scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
diff --git a/engines/mads/nebular/rooms/room751.cpp b/engines/mads/nebular/rooms/room751.cpp
index e18052f3d35..5b1acff6c87 100644
--- a/engines/mads/nebular/rooms/room751.cpp
+++ b/engines/mads/nebular/rooms/room751.cpp
@@ -158,7 +158,7 @@ static void room_751_daemon() {
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(48, 136));
_scene->_sequences.setDepth(g_sequence_ids[1], 10);
player.commands_allowed = true;
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
break;
default:
@@ -247,8 +247,8 @@ static void room_751_parser() {
g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 5, 1, 0, 0);
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(48, 136));
_scene->_sequences.setDepth(g_sequence_ids[1], 10);
- _scene->_kernelMessages.reset();
- _scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 34, 0, 120, quote_string(kernel.quotes, 0x30D));
+ kernel_message_purge();
+ kernel_message_add(quote_string(kernel.quotes, 0x30D), 0, 0, 0x1110, 120, 0, 34);
_scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
@@ -317,7 +317,7 @@ static void room_751_parser() {
_scene->_sequences.setDepth(g_sequence_ids[3], 7);
int idx = _scene->_dynamicHotspots.add(words_fishing_line, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(268, 140), FACING_NORTHWEST);
- _scene->_kernelMessages.reset();
+ kernel_message_purge();
inter_move_object(OBJ_FISHING_LINE, room_id);
local._rexHandingLine = false;
global[kLineStatus] = 2;
diff --git a/engines/mads/nebular/rooms/room803.cpp b/engines/mads/nebular/rooms/room803.cpp
index 0e8ae56f2e9..45db8b966d2 100644
--- a/engines/mads/nebular/rooms/room803.cpp
+++ b/engines/mads/nebular/rooms/room803.cpp
@@ -274,7 +274,7 @@ static void room_803_parser() {
case 161:
{
int quoteId = 0x31A + g_engine->getRandomNumber(1, 8);
- _scene->_kernelMessages.add(Common::Point(64, 67), 0x1110, 32, 0, 80, quote_string(kernel.quotes, quoteId));
+ kernel_message_add(quote_string(kernel.quotes, quoteId), 64, 67, 0x1110, 80, 0, 32);
_scene->_sequences.addTimer(60, 162);
}
break;
diff --git a/engines/mads/nebular/rooms/room804.cpp b/engines/mads/nebular/rooms/room804.cpp
index 215647bb935..da78768f0ed 100644
--- a/engines/mads/nebular/rooms/room804.cpp
+++ b/engines/mads/nebular/rooms/room804.cpp
@@ -310,8 +310,7 @@ static void room_804_parser() {
text_show(80424);
local._pullThrottleReally = true;
- _scene->_kernelMessages.add(Common::Point(78, 75), 0x1110, 0, 0,
- 120, quote_string(kernel.quotes, 791));
+ kernel_message_add(quote_string(kernel.quotes, 791), 78, 75, 0x1110, 120, 0, 0);
}
} else {
local._messWithThrottle = true;
diff --git a/engines/mads/nebular/rooms/teleporter.cpp b/engines/mads/nebular/rooms/teleporter.cpp
index a1ad3092ca1..12dd2352db7 100644
--- a/engines/mads/nebular/rooms/teleporter.cpp
+++ b/engines/mads/nebular/rooms/teleporter.cpp
@@ -56,7 +56,7 @@ void teleporter_init() {
player.walker_visible = false;
player.commands_allowed = (global[kMeteorologistWatch] == METEOROLOGIST_NORMAL);
- _scene->_kernelMessages._talkFont = font_tele;
+ kernel_message_font = font_tele;
kernel_message_spacing = 0;
_curCode = 0;
_digitCount = 0;
@@ -89,8 +89,8 @@ void teleporter_init() {
Common::sprintf_s(_msgText1, "#%.4d", codeVal);
if (room_id != 711) {
- _scene->_kernelMessages.add(Common::Point(133, 34), 0, 32, 0, INDEFINITE_TIMEOUT, _msgText1);
- _scene->_kernelMessages.add(Common::Point(143, 61), 0xFDFC, 16, 0, INDEFINITE_TIMEOUT, _msgText2);
+ kernel_message_add(_msgText1, 133, 34, 0, INDEFINITE_TIMEOUT, 0, 32);
+ kernel_message_add(_msgText2, 143, 61, 0xFDFC, INDEFINITE_TIMEOUT, 0, 16);
}
_meteorologistCurPlace = 0;
@@ -227,8 +227,8 @@ void teleporter_handle_key() {
if (room_id != 711) {
if (_curMessageId >= 0)
- _scene->_kernelMessages.remove(_curMessageId);
- _curMessageId = _scene->_kernelMessages.add(Common::Point(143, 61), 0xFDFC, 16, 0, INDEFINITE_TIMEOUT, _msgText2);
+ kernel_message_delete(_curMessageId);
+ _curMessageId = kernel_message_add(_msgText2, 143, 61, 0xFDFC, INDEFINITE_TIMEOUT, 0, 16);
}
break;
diff --git a/engines/mads/nebular/rooms/thunks.cpp b/engines/mads/nebular/rooms/thunks.cpp
index 1e145be3c0c..3434f3beee6 100644
--- a/engines/mads/nebular/rooms/thunks.cpp
+++ b/engines/mads/nebular/rooms/thunks.cpp
@@ -91,66 +91,6 @@ void Scene::Hotspots::activate(int hotspot, int active) {
kernel_flip_hotspot(hotspot, active);
}
-Scene::KernelMessages::TalkFont &Scene::KernelMessages::TalkFont::operator=(FontPtr font) {
- kernel_message_font = font;
- return *this;
-}
-
-int Scene::KernelMessages::TalkFont::getWidth(const Common::String &message, int spacing) const {
- return font_string_width(kernel_message_font, message.c_str(), spacing);
-}
-
-int Scene::KernelMessages::add(const Common::Point &pt, uint fontColor, uint8 flags, int endTrigger,
- uint32 timeout, const char *msg) {
- return kernel_message_add(const_cast<char *>(msg), pt.x, pt.y, fontColor, timeout, endTrigger, flags);
-}
-
-int Scene::KernelMessages::addQuote(int quoteId, int endTrigger, uint32 timeout) {
- return kernel_message_player(quoteId, timeout, endTrigger);
-}
-
-void Scene::KernelMessages::remove(int msgIndex) {
- kernel_message_delete(msgIndex);
-}
-
-void Scene::KernelMessages::reset() {
- kernel_message_purge();
-}
-
-void Scene::KernelMessages::setQuoted(int msgIndex, int numTicks, bool quoted) {
- kernel_message_teletype(msgIndex, numTicks, quoted);
-}
-
-void Scene::KernelMessages::setSeqIndex(int msgIndex, int seqIndex) {
- kernel_message_attach(msgIndex, seqIndex);
-}
-
-void Scene::KernelMessages::initRandomMessages(int maxSimultaneousMessages,
- const Common::Rect &bounds, int minYSpacing, int scrollRate,
- int color, int duration, int quoteId, ...) {
- va_list marker;
- va_start(marker, quoteId);
- kernel_random_messages_vinit(maxSimultaneousMessages, bounds.left, bounds.right,
- bounds.top, bounds.bottom, minYSpacing, scrollRate, color, duration, quoteId, marker);
- va_end(marker);
-}
-
-void Scene::KernelMessages::randomServer() {
- kernel_random_message_server();
-}
-
-int Scene::KernelMessages::checkRandom() {
- return kernel_check_random();
-}
-
-bool Scene::KernelMessages::generateRandom(int major, int minor) {
- return kernel_generate_random_message(major, minor);
-}
-
-Scene::KernelMessages::KernelMessageProxy Scene::KernelMessages::Entries::operator[](uint handle) {
- return KernelMessageProxy(&kernel_message[handle]);
-}
-
int Scene::Rails::getNext() const {
return player.next_special_code;
}
diff --git a/engines/mads/nebular/rooms/thunks.h b/engines/mads/nebular/rooms/thunks.h
index 9fa16fc6a91..c09749f9303 100644
--- a/engines/mads/nebular/rooms/thunks.h
+++ b/engines/mads/nebular/rooms/thunks.h
@@ -27,7 +27,6 @@
#include "mads/core/inter.h"
#include "mads/core/kernel.h"
#include "mads/core/player.h"
-#include "mads/core/text.h"
namespace MADS {
namespace RexNebular {
@@ -201,47 +200,6 @@ struct Scene {
};
Hotspots _hotspots;
- struct KernelMessages {
- struct TalkFont {
- TalkFont *operator->() {
- return this;
- }
- const TalkFont *operator->() const {
- return this;
- }
- TalkFont &operator=(FontPtr font);
- int getWidth(const Common::String &message, int spacing) const;
- };
- TalkFont _talkFont;
-
- struct KernelMessageProxy {
- long &_frameTimer;
-
- KernelMessageProxy(KernelMessagePtr kmsg) : _frameTimer(kmsg->update_time) {
- }
- };
- struct Entries {
- KernelMessageProxy operator[](uint handle);
- };
- Entries _entries;
-
- int add(const Common::Point &pt, uint fontColor, uint8 flags, int endTrigger,
- uint32 timeout, const char *msg);
- int addQuote(int quoteId, int endTrigger, uint32 timeout);
- void remove(int msgIndex);
- void reset();
- void setQuoted(int msgIndex, int numTicks, bool quoted);
- void setSeqIndex(int msgIndex, int seqIndex);
-
- void initRandomMessages(int maxSimultaneousMessages,
- const Common::Rect &bounds, int minYSpacing, int scrollRate,
- int color, int duration, int quoteId, ...);
- void randomServer();
- int checkRandom();
- bool generateRandom(int major, int minor);
- };
- KernelMessages _kernelMessages;
-
struct PaletteCycles {
int size() const;
Commit: 344464d3f67cfe4e0f9bc08369d5ddf760a76a5e
https://github.com/scummvm/scummvm/commit/344464d3f67cfe4e0f9bc08369d5ddf760a76a5e
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:55+10:00
Commit Message:
MADS: NEBULAR: Refactor Animation thunk
Changed paths:
engines/mads/nebular/rooms/room101.cpp
engines/mads/nebular/rooms/room104.cpp
engines/mads/nebular/rooms/room106.cpp
engines/mads/nebular/rooms/room107.cpp
engines/mads/nebular/rooms/room110.cpp
engines/mads/nebular/rooms/room111.cpp
engines/mads/nebular/rooms/room112.cpp
engines/mads/nebular/rooms/room202.cpp
engines/mads/nebular/rooms/room205.cpp
engines/mads/nebular/rooms/room208.cpp
engines/mads/nebular/rooms/room210.cpp
engines/mads/nebular/rooms/room211.cpp
engines/mads/nebular/rooms/room302.cpp
engines/mads/nebular/rooms/room307.cpp
engines/mads/nebular/rooms/room309.cpp
engines/mads/nebular/rooms/room318.cpp
engines/mads/nebular/rooms/room319.cpp
engines/mads/nebular/rooms/room320.cpp
engines/mads/nebular/rooms/room321.cpp
engines/mads/nebular/rooms/room402.cpp
engines/mads/nebular/rooms/room410.cpp
engines/mads/nebular/rooms/room411.cpp
engines/mads/nebular/rooms/room413.cpp
engines/mads/nebular/rooms/room504.cpp
engines/mads/nebular/rooms/room505.cpp
engines/mads/nebular/rooms/room506.cpp
engines/mads/nebular/rooms/room511.cpp
engines/mads/nebular/rooms/room512.cpp
engines/mads/nebular/rooms/room513.cpp
engines/mads/nebular/rooms/room601.cpp
engines/mads/nebular/rooms/room602.cpp
engines/mads/nebular/rooms/room604.cpp
engines/mads/nebular/rooms/room607.cpp
engines/mads/nebular/rooms/room608.cpp
engines/mads/nebular/rooms/room609.cpp
engines/mads/nebular/rooms/room611.cpp
engines/mads/nebular/rooms/room612.cpp
engines/mads/nebular/rooms/room701.cpp
engines/mads/nebular/rooms/room703.cpp
engines/mads/nebular/rooms/room704.cpp
engines/mads/nebular/rooms/room706.cpp
engines/mads/nebular/rooms/room804.cpp
engines/mads/nebular/rooms/room810.cpp
engines/mads/nebular/rooms/thunks.cpp
engines/mads/nebular/rooms/thunks.h
diff --git a/engines/mads/nebular/rooms/room101.cpp b/engines/mads/nebular/rooms/room101.cpp
index 583667c481c..5fdfca9c35d 100644
--- a/engines/mads/nebular/rooms/room101.cpp
+++ b/engines/mads/nebular/rooms/room101.cpp
@@ -179,32 +179,32 @@ static void room_101_daemon() {
break;
}
- if (_scene->_animation[0] != nullptr) {
- if ((_scene->_animation[0]->getCurrentFrame() >= 6) && (local._messageNum == 0)) {
+ if (kernel_anim[0].anim != nullptr) {
+ if ((kernel_anim[0].frame >= 6) && (local._messageNum == 0)) {
local._messageNum++;
kernel_message_add(quote_string(kernel.quotes, 49), 63, local._posY, 0x1110, 240, 0, 0);
local._posY += 14;
}
- if ((_scene->_animation[0]->getCurrentFrame() >= 7) && (local._messageNum == 1)) {
+ if ((kernel_anim[0].frame >= 7) && (local._messageNum == 1)) {
local._messageNum++;
kernel_message_add(quote_string(kernel.quotes, 54), 63, local._posY, 0x1110, 240, 0, 0);
local._posY += 14;
}
- if ((_scene->_animation[0]->getCurrentFrame() >= 10) && (local._messageNum == 2)) {
+ if ((kernel_anim[0].frame >= 10) && (local._messageNum == 2)) {
local._messageNum++;
kernel_message_add(quote_string(kernel.quotes, 55), 63, local._posY, 0x1110, 240, 0, 0);
local._posY += 14;
}
- if ((_scene->_animation[0]->getCurrentFrame() >= 17) && (local._messageNum == 3)) {
+ if ((kernel_anim[0].frame >= 17) && (local._messageNum == 3)) {
local._messageNum++;
kernel_message_add(quote_string(kernel.quotes, 56), 63, local._posY, 0x1110, 240, 0, 0);
local._posY += 14;
}
- if ((_scene->_animation[0]->getCurrentFrame() >= 20) && (local._messageNum == 4)) {
+ if ((kernel_anim[0].frame >= 20) && (local._messageNum == 4)) {
local._messageNum++;
kernel_message_add(quote_string(kernel.quotes, 50), 63, local._posY, 0x1110, 240, 0, 0);
local._posY += 14;
diff --git a/engines/mads/nebular/rooms/room104.cpp b/engines/mads/nebular/rooms/room104.cpp
index 2285da9ec6c..e82c3e4b80d 100644
--- a/engines/mads/nebular/rooms/room104.cpp
+++ b/engines/mads/nebular/rooms/room104.cpp
@@ -207,7 +207,7 @@ static void room_104_daemon() {
if ((player.special_code > 0) && player.commands_allowed)
player.commands_allowed = false;
- if (local._kargShootingFl && (_scene->_animation[0]->getCurrentFrame() >= 19)) {
+ if (local._kargShootingFl && (kernel_anim[0].frame >= 19)) {
kernel_message_add(quote_string(kernel.quotes, 52), 0, 0, 0x1110, 120, 0, 34);
local._kargShootingFl = false;
}
diff --git a/engines/mads/nebular/rooms/room106.cpp b/engines/mads/nebular/rooms/room106.cpp
index 8a3af7c2839..c3bdb21c072 100644
--- a/engines/mads/nebular/rooms/room106.cpp
+++ b/engines/mads/nebular/rooms/room106.cpp
@@ -126,7 +126,7 @@ static void room_106_daemon() {
}
}
- if (local._firstEmergingFl && (_scene->_animation[0]->getCurrentFrame() >= 19)) {
+ if (local._firstEmergingFl && (kernel_anim[0].frame >= 19)) {
local._firstEmergingFl = false;
kernel_message_add(quote_string(kernel.quotes, 52), 0, 0, 0x1110, 120, 0, 34);
}
diff --git a/engines/mads/nebular/rooms/room107.cpp b/engines/mads/nebular/rooms/room107.cpp
index f605a508bee..6143fbf7010 100644
--- a/engines/mads/nebular/rooms/room107.cpp
+++ b/engines/mads/nebular/rooms/room107.cpp
@@ -93,7 +93,7 @@ static void room_107_init() {
}
static void room_107_daemon() {
- if (local._shootingFl && (_scene->_animation[0]->getCurrentFrame() >= 19)) {
+ if (local._shootingFl && (kernel_anim[0].frame >= 19)) {
kernel_message_add(quote_string(kernel.quotes, 52), 0, 0, 0x1110, 120, 0, 34);
local._shootingFl = false;
}
diff --git a/engines/mads/nebular/rooms/room110.cpp b/engines/mads/nebular/rooms/room110.cpp
index 7b12f244d0e..33394398e12 100644
--- a/engines/mads/nebular/rooms/room110.cpp
+++ b/engines/mads/nebular/rooms/room110.cpp
@@ -122,7 +122,7 @@ static void room_110_parser() {
switch (kernel.trigger) {
case 0:
kernel_run_animation(kernel_full_name(110, 'T', 0, "", EXT_AA), 1);
- _scene->_animation[0]->setNextFrameTimer(player.frame_delay + player.clock);
+ kernel_anim[0].next_clock = player.frame_delay + player.clock;
player.commands_allowed = false;
player.walker_visible = false;
break;
diff --git a/engines/mads/nebular/rooms/room111.cpp b/engines/mads/nebular/rooms/room111.cpp
index bc4b77337f2..009dd89988c 100644
--- a/engines/mads/nebular/rooms/room111.cpp
+++ b/engines/mads/nebular/rooms/room111.cpp
@@ -133,7 +133,7 @@ static void room_111_daemon() {
if (kernel.trigger == 73)
g_engine->_soundManager->command(37, 0);
- if (local._rexDivingFl && (_scene->_animation[0]->getCurrentFrame() >= 9)) {
+ if (local._rexDivingFl && (kernel_anim[0].frame >= 9)) {
g_engine->_soundManager->command(36, 0);
local._rexDivingFl = false;
}
diff --git a/engines/mads/nebular/rooms/room112.cpp b/engines/mads/nebular/rooms/room112.cpp
index fbe8719fec3..732079a4048 100644
--- a/engines/mads/nebular/rooms/room112.cpp
+++ b/engines/mads/nebular/rooms/room112.cpp
@@ -53,8 +53,8 @@ static void room_112_init() {
}
static void room_112_daemon() {
- if ((_scene->_animation[0] != nullptr) && (config_file.naughtiness == STORYMODE_NICE)) {
- if (_scene->_animation[0]->getCurrentFrame() >= 54) {
+ if ((kernel_anim[0].anim != nullptr) && (config_file.naughtiness == STORYMODE_NICE)) {
+ if (kernel_anim[0].frame >= 54) {
kernel_abort_animation(0);
kernel.trigger = 70;
}
diff --git a/engines/mads/nebular/rooms/room202.cpp b/engines/mads/nebular/rooms/room202.cpp
index bf335ea367f..f7b413ebaf9 100644
--- a/engines/mads/nebular/rooms/room202.cpp
+++ b/engines/mads/nebular/rooms/room202.cpp
@@ -153,7 +153,7 @@ static void room_202_init() {
}
kernel_run_animation(kernel_name('M', -1), 71);
- _scene->_animation[0]->setCurrentFrame(200);
+ kernel_reset_animation(0, 200);
} else {
if (local._ladderTopFl) {
player.walker_visible = false;
@@ -319,7 +319,7 @@ static void room_202_daemon() {
break;
}
- if (!_scene->_animation[0] && (global[kMeteorologistStatus] != METEOROLOGIST_GONE) && (local._meteoClock2 <= kernel.clock) && (local._meteoClock1 <= kernel.clock)) {
+ if ((kernel_anim[0].anim == nullptr) && (global[kMeteorologistStatus] != METEOROLOGIST_GONE) && (local._meteoClock2 <= kernel.clock) && (local._meteoClock1 <= kernel.clock)) {
int randVal = g_engine->getRandomNumber(1, 500);
int threshold = 1;
if (local._ladderTopFl)
@@ -338,11 +338,11 @@ static void room_202_daemon() {
}
}
- if (!_scene->_animation[0])
+ if ((kernel_anim[0].anim == nullptr))
return;
if (local._waitingMeteoFl) {
- if (_scene->_animation[0]->getCurrentFrame() >= 200) {
+ if (kernel_anim[0].frame >= 200) {
if ((global[kMeteorologistWatch] == METEOROLOGIST_TOWER) || global[kLadderBroken]) {
new_room = 213;
} else {
@@ -351,7 +351,7 @@ static void room_202_daemon() {
}
}
- if ((_scene->_animation[0]->getCurrentFrame() == 160) && (local._meteoFrame != _scene->_animation[0]->getCurrentFrame())) {
+ if ((kernel_anim[0].frame == 160) && (local._meteoFrame != kernel_anim[0].frame)) {
Common::Point msgPos;
int msgFlag;
if (!local._ladderTopFl) {
@@ -370,15 +370,15 @@ static void room_202_daemon() {
local._toTeleportFl = true;
}
- if (_scene->_animation[0]->getCurrentFrame() == local._meteoFrame) {
+ if (kernel_anim[0].frame == local._meteoFrame) {
return;
}
- local._meteoFrame = _scene->_animation[0]->getCurrentFrame();
+ local._meteoFrame = kernel_anim[0].frame;
int randVal = g_engine->getRandomNumber(1, 1000);
int frameStep = -1;
- switch (_scene->_animation[0]->getCurrentFrame()) {
+ switch (kernel_anim[0].frame) {
case 42:
case 77:
case 96:
@@ -418,8 +418,8 @@ static void room_202_daemon() {
break;
}
- if (frameStep >= 0 && frameStep != _scene->_animation[0]->getCurrentFrame() + 1) {
- _scene->_animation[0]->setCurrentFrame(frameStep);
+ if (frameStep >= 0 && frameStep != kernel_anim[0].frame + 1) {
+ kernel_reset_animation(0, frameStep);
local._meteoFrame = frameStep;
}
}
@@ -472,7 +472,7 @@ static void room_202_parser() {
new_room = 203;
} else if (player_said_2(walk_towards, field_to_north)) {
if (global[kMeteorologistStatus] != METEOROLOGIST_GONE) {
- if (_scene->_animation[0])
+ if ((kernel_anim[0].anim != nullptr))
global[kMeteorologistStatus] = METEOROLOGIST_PRESENT;
else
global[kMeteorologistStatus] = METEOROLOGIST_ABSENT;
@@ -567,7 +567,7 @@ static void room_202_parser() {
g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 6);
_scene->_sequences.setDepth(g_sequence_ids[10], 1);
_scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(172, 123));
- if (_scene->_animation[0]) {
+ if ((kernel_anim[0].anim != nullptr)) {
local._waitingMeteoFl = true;
global[kMeteorologistWatch] = METEOROLOGIST_GROUND;
} else {
@@ -575,7 +575,7 @@ static void room_202_parser() {
}
break;
case 2:
- if (!_scene->_animation[0] && !local._meteorologistSpecial) {
+ if ((kernel_anim[0].anim == nullptr) && !local._meteorologistSpecial) {
text_show(20222);
}
_scene->_sequences.remove(g_sequence_ids[10]);
@@ -609,13 +609,13 @@ static void room_202_parser() {
g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[9], true, -2);
_scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(247, 82));
_scene->_sequences.setDepth(g_sequence_ids[10], 1);
- if (_scene->_animation[0]) {
- if (_scene->_animation[0]->getCurrentFrame() > 200) {
+ if ((kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame > 200) {
_scene->_sequences.addTimer(120, 2);
} else {
local._waitingMeteoFl = true;
global[kMeteorologistWatch] = METEOROLOGIST_GONE;
- if ((_scene->_animation[0]->getCurrentFrame() >= 44) && (_scene->_animation[0]->getCurrentFrame() <= 75)) {
+ if ((kernel_anim[0].frame >= 44) && (kernel_anim[0].frame <= 75)) {
kernel_message_purge();
int msgIndex = kernel_message_add(quote_string(kernel.quotes, 100), 248, 15, 0x1110, 60, 0, 32);
kernel_message_teletype(msgIndex, 4, false);
@@ -629,7 +629,7 @@ static void room_202_parser() {
}
break;
case 2:
- if (!_scene->_animation[0])
+ if ((kernel_anim[0].anim == nullptr))
text_show(20222);
local._meteorologistSpecial = false;
_scene->_sequences.remove(g_sequence_ids[10]);
diff --git a/engines/mads/nebular/rooms/room205.cpp b/engines/mads/nebular/rooms/room205.cpp
index 6f7ff114809..36092d96cab 100644
--- a/engines/mads/nebular/rooms/room205.cpp
+++ b/engines/mads/nebular/rooms/room205.cpp
@@ -105,7 +105,7 @@ static void room_205_init() {
if (global[kSexOfRex] != SEX_MALE) {
kernel_run_animation(kernel_name('a', -1), 0);
- _scene->_animation[0]->_repeatFlag = true;
+ kernel_anim[0].repeat = true;
} else {
local._beingKicked = true;
g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 1, 0, 0);
@@ -258,8 +258,8 @@ static void room_205_parser() {
_scene->_sequences.updateTimeout(g_sequence_ids[9], -1);
g_engine->_soundManager->command(27, 0);
} else if (kernel.trigger == 1) {
- if (_scene->_animation[0] != nullptr)
- _scene->_animation[0]->resetSpriteSetsCount();
+ if (kernel_anim[0].anim != nullptr)
+ kernel_anim[0].anim->num_series = 0;
text_show(20516);
kernel.force_restart = true;
diff --git a/engines/mads/nebular/rooms/room208.cpp b/engines/mads/nebular/rooms/room208.cpp
index 4131be6b8fc..fd6afb54265 100644
--- a/engines/mads/nebular/rooms/room208.cpp
+++ b/engines/mads/nebular/rooms/room208.cpp
@@ -121,9 +121,9 @@ static void room_208_init() {
}
static void room_208_daemon() {
- if (local._boundingFl && _scene->_animation[0] &&
- (local._rhotundaTime <= _scene->_animation[0]->getCurrentFrame())) {
- local._rhotundaTime = _scene->_animation[0]->getCurrentFrame();
+ if (local._boundingFl && (kernel_anim[0].anim != nullptr) &&
+ (local._rhotundaTime <= kernel_anim[0].frame)) {
+ local._rhotundaTime = kernel_anim[0].frame;
if (local._rhotundaTime == 125)
_scene->_sequences.remove(g_sequence_ids[4]);
diff --git a/engines/mads/nebular/rooms/room210.cpp b/engines/mads/nebular/rooms/room210.cpp
index 66588bec76e..9bc57773221 100644
--- a/engines/mads/nebular/rooms/room210.cpp
+++ b/engines/mads/nebular/rooms/room210.cpp
@@ -721,8 +721,8 @@ static void room_210_init() {
}
restoreDialogNode(local._curDialogNode, quote, number);
- if (_scene->_animation[0])
- _scene->_animation[0]->setCurrentFrame(131);
+ if ((kernel_anim[0].anim != nullptr))
+ kernel_reset_animation(0, 131);
}
pal_change_color(252, 63, 63, 10);
@@ -732,9 +732,9 @@ static void room_210_init() {
}
static void room_210_daemon() {
- if ((local._twinkleAnimationType == 1) && _scene->_animation[0]) {
- if (local._twinklesCurrentFrame != _scene->_animation[0]->getCurrentFrame()) {
- local._twinklesCurrentFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._twinkleAnimationType == 1) && (kernel_anim[0].anim != nullptr)) {
+ if (local._twinklesCurrentFrame != kernel_anim[0].frame) {
+ local._twinklesCurrentFrame = kernel_anim[0].frame;
int reset_frame = -1;
int random = g_engine->getRandomNumber(1, 1000);
@@ -857,8 +857,8 @@ static void room_210_daemon() {
}
if (reset_frame >= 0) {
- if (reset_frame != _scene->_animation[0]->getCurrentFrame()) {
- _scene->_animation[0]->setCurrentFrame(reset_frame);
+ if (reset_frame != kernel_anim[0].frame) {
+ kernel_reset_animation(0, reset_frame);
local._twinklesCurrentFrame = reset_frame;
}
@@ -872,9 +872,9 @@ static void room_210_daemon() {
}
}
- if ((local._twinkleAnimationType == 2) && _scene->_animation[0]) {
- if (local._twinklesCurrentFrame != _scene->_animation[0]->getCurrentFrame()) {
- local._twinklesCurrentFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._twinkleAnimationType == 2) && (kernel_anim[0].anim != nullptr)) {
+ if (local._twinklesCurrentFrame != kernel_anim[0].frame) {
+ local._twinklesCurrentFrame = kernel_anim[0].frame;
int reset_frame = -1;
if (local._twinklesCurrentFrame == 53) {
@@ -883,8 +883,8 @@ static void room_210_daemon() {
} else if ((local._twinklesCurrentFrame == 75) && local._shouldTalk)
reset_frame = 60;
- if ((reset_frame >= 0) && (reset_frame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(reset_frame);
+ if ((reset_frame >= 0) && (reset_frame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, reset_frame);
local._twinklesCurrentFrame = reset_frame;
}
}
diff --git a/engines/mads/nebular/rooms/room211.cpp b/engines/mads/nebular/rooms/room211.cpp
index 85ff1680941..c1b2248e6d4 100644
--- a/engines/mads/nebular/rooms/room211.cpp
+++ b/engines/mads/nebular/rooms/room211.cpp
@@ -59,7 +59,7 @@ static void room_211_init() {
player.commands_allowed = false;
player.walker_visible = false;
kernel_run_animation(kernel_name('A', -1), 100);
- _scene->_animation[0]->setCurrentFrame(169);
+ kernel_reset_animation(0, 169);
} else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 310;
player.y = 31;
@@ -141,8 +141,8 @@ static void room_211_daemon() {
}
}
- if (local._ambushFl && (_scene->_animation[0]->getCurrentFrame() > local._monkeyFrame)) {
- local._monkeyFrame = _scene->_animation[0]->getCurrentFrame();
+ if (local._ambushFl && (kernel_anim[0].frame > local._monkeyFrame)) {
+ local._monkeyFrame = kernel_anim[0].frame;
switch (local._monkeyFrame) {
case 2:
{
@@ -225,9 +225,9 @@ static void room_211_daemon() {
local._wakeFl = false;
}
- if (_scene->_animation[0]->getCurrentFrame() > local._monkeyFrame) {
- local._monkeyFrame = _scene->_animation[0]->getCurrentFrame();
- switch (_scene->_animation[0]->getCurrentFrame()) {
+ if (kernel_anim[0].frame > local._monkeyFrame) {
+ local._monkeyFrame = kernel_anim[0].frame;
+ switch (kernel_anim[0].frame) {
case 177:
{
int msgIndex = kernel_message_add(quote_string(kernel.quotes, 165), 63, local._scrollY, 0x1110, 180, 0, 0);
diff --git a/engines/mads/nebular/rooms/room302.cpp b/engines/mads/nebular/rooms/room302.cpp
index a763e1757a4..a84e698d9e0 100644
--- a/engines/mads/nebular/rooms/room302.cpp
+++ b/engines/mads/nebular/rooms/room302.cpp
@@ -50,8 +50,8 @@ static void room_302_daemon() {
if (kernel.trigger == 71)
new_room = 303;
- if ((_scene->_animation[0] != nullptr) && (_scene->_animation[0]->getCurrentFrame() != local._oldFrame)) {
- local._oldFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((kernel_anim[0].anim != nullptr) && (kernel_anim[0].frame != local._oldFrame)) {
+ local._oldFrame = kernel_anim[0].frame;
if (local._oldFrame == 147) {
inter_move_object(OBJ_POISON_DARTS, 1);
inter_move_object(OBJ_BLOWGUN, 1);
diff --git a/engines/mads/nebular/rooms/room307.cpp b/engines/mads/nebular/rooms/room307.cpp
index 692a8b6cbc0..7db6fa3722c 100644
--- a/engines/mads/nebular/rooms/room307.cpp
+++ b/engines/mads/nebular/rooms/room307.cpp
@@ -371,23 +371,23 @@ static void room_307_init() {
static void room_307_daemon() {
handle_forcefield(&local._forcefield, &g_sprite_ids[0]);
- if ((local._animationMode == 1) && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() == 126) {
+ if ((local._animationMode == 1) && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame == 126) {
local._forcefield._flag = false;
g_engine->_soundManager->command(5, 0);
}
- if (_scene->_animation[0]->getCurrentFrame() == 194) {
+ if (kernel_anim[0].frame == 194) {
local._forcefield._flag = true;
g_engine->_soundManager->command(24, 0);
}
}
- if ((local._animationMode == 2) && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() == 54)
+ if ((local._animationMode == 2) && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame == 54)
local._forcefield._flag = false;
- if (_scene->_animation[0]->getCurrentFrame() == 150) {
+ if (kernel_anim[0].frame == 150) {
player.walker_visible = false;
player.clock = kernel.clock - player.frame_delay;
}
@@ -412,7 +412,7 @@ static void room_307_daemon() {
}
local._lastFrameTime = kernel.clock;
- if ((local._guardTime > 3000) && !local._duringPeeingFl && (_scene->_animation[0] == nullptr)
+ if ((local._guardTime > 3000) && !local._duringPeeingFl && (kernel_anim[0].anim == nullptr)
&& (inter_input_mode != kInputConversation) && global[kMetBuddyBeast] && !local._activePrisonerFl) {
if (!player_has(OBJ_SCALPEL) && !local._grateOpenedFl) {
player.commands_allowed = false;
@@ -422,7 +422,7 @@ static void room_307_daemon() {
kernel_run_animation(kernel_name('b', -1), 70);
}
local._guardTime = 0;
- } else if ((local._prisonerTimer > 300) && (inter_input_mode != kInputConversation) && (_scene->_animation[0] == nullptr) && !local._activePrisonerFl) {
+ } else if ((local._prisonerTimer > 300) && (inter_input_mode != kInputConversation) && (kernel_anim[0].anim == nullptr) && !local._activePrisonerFl) {
if (!global[kMetBuddyBeast]) {
if (local._prisonerMessageId == -1)
local._prisonerMessageId = 0x104;
diff --git a/engines/mads/nebular/rooms/room309.cpp b/engines/mads/nebular/rooms/room309.cpp
index 7614c3d66cb..69d18631d4d 100644
--- a/engines/mads/nebular/rooms/room309.cpp
+++ b/engines/mads/nebular/rooms/room309.cpp
@@ -73,9 +73,9 @@ static void room_309_init() {
player.commands_allowed = false;
kernel_run_animation(kernel_name('a', -1), 60);
- local._characterSpriteIndexes[0] = _scene->_animation[0]->_spriteListIndexes[2];
- local._characterSpriteIndexes[1] = _scene->_animation[0]->_spriteListIndexes[2];
- local._characterSpriteIndexes[2] = _scene->_animation[0]->_spriteListIndexes[1];
+ local._characterSpriteIndexes[0] = kernel_anim[0].anim->series_id[2];
+ local._characterSpriteIndexes[1] = kernel_anim[0].anim->series_id[2];
+ local._characterSpriteIndexes[2] = kernel_anim[0].anim->series_id[1];
local._messagesIndexes[0] = -1;
local._messagesIndexes[1] = -1;
@@ -97,9 +97,9 @@ static void room_309_daemon() {
if (kernel.trigger == 62)
local._messagesIndexes[2] = -1;
- if (_scene->_animation[0] != nullptr) {
- if (local._lastFrame != _scene->_animation[0]->getCurrentFrame()) {
- local._lastFrame = _scene->_animation[0]->getCurrentFrame();
+ if (kernel_anim[0].anim != nullptr) {
+ if (local._lastFrame != kernel_anim[0].frame) {
+ local._lastFrame = kernel_anim[0].frame;
if (local._lastFrame == 39) {
local._messagesIndexes[0] = kernel_message_add(quote_string(kernel.quotes, 348), 0, 0, 0x1110, 210, 61, 32);
local._messagesIndexes[1] = kernel_message_add(quote_string(kernel.quotes, 349), 0, 0, 0x1110, 210, 0, 32);
@@ -112,15 +112,15 @@ static void room_309_daemon() {
if (local._messagesIndexes[charIdx] >= 0) {
bool match = false;
int j = -1;
- for (j = _scene->_animation[0]->_oldFrameEntry; j < _scene->_animation[0]->_frameEntriesCount; j++) {
- if (_scene->_animation[0]->_frameEntries[j].series_id == local._characterSpriteIndexes[charIdx]) {
+ for (j = kernel_anim[0].image; j < (kernel_anim[0].anim ? kernel_anim[0].anim->num_images : 0); j++) {
+ if (kernel_anim[0].anim->image[j].series_id == local._characterSpriteIndexes[charIdx]) {
match = true;
break;
}
}
if (match) {
- const Image &img = _scene->_animation[0]->_frameEntries[j];
+ const Image &img = kernel_anim[0].anim->image[j];
KernelMessage &kmsg = kernel_message[local._messagesIndexes[charIdx]];
kmsg.x = img.x;
kmsg.y = img.y - (50 + (14 * ((charIdx == 0) ? 2 : 1)));
diff --git a/engines/mads/nebular/rooms/room318.cpp b/engines/mads/nebular/rooms/room318.cpp
index 14e858c3336..8a2ba5df22f 100644
--- a/engines/mads/nebular/rooms/room318.cpp
+++ b/engines/mads/nebular/rooms/room318.cpp
@@ -213,7 +213,7 @@ static void room_318_init() {
if (global[kAfterHavoc]) {
kernel_run_animation(kernel_name('f', -1), 0);
- _scene->_animation[0]->_repeatFlag = true;
+ kernel_anim[0].repeat = true;
} else if (!global[kHasSeenProfPyro]) {
_scene->_hotspots.activate(words_professors_gurney, false);
_scene->_hotspots.activate(words_professor, false);
@@ -320,9 +320,9 @@ static void room_318_init() {
}
static void room_318_daemon() {
- if ((_scene->_animation[0] != nullptr) && (local._animMode == 2)) {
- if (local._lastFrame != _scene->_animation[0]->getCurrentFrame()) {
- local._lastFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((kernel_anim[0].anim != nullptr) && (local._animMode == 2)) {
+ if (local._lastFrame != kernel_anim[0].frame) {
+ local._lastFrame = kernel_anim[0].frame;
int nextFrame = -1;
switch (local._lastFrame) {
@@ -377,8 +377,8 @@ static void room_318_daemon() {
break;
}
- if ((nextFrame >= 0) && (nextFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(nextFrame);
+ if ((nextFrame >= 0) && (nextFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, nextFrame);
local._lastFrame = nextFrame;
}
}
diff --git a/engines/mads/nebular/rooms/room319.cpp b/engines/mads/nebular/rooms/room319.cpp
index 7a05ca5f7cd..a675b241a8a 100644
--- a/engines/mads/nebular/rooms/room319.cpp
+++ b/engines/mads/nebular/rooms/room319.cpp
@@ -171,11 +171,11 @@ static void room_319_init() {
}
static void room_319_daemon() {
- if (_scene->_animation[0] == nullptr)
+ if (kernel_anim[0].anim == nullptr)
return;
- if (local._animFrame != _scene->_animation[0]->getCurrentFrame()) {
- local._animFrame = _scene->_animation[0]->getCurrentFrame();
+ if (local._animFrame != kernel_anim[0].frame) {
+ local._animFrame = kernel_anim[0].frame;
int nextFrame = -1;
if (local._animMode == 1) {
switch (local._animFrame) {
@@ -291,8 +291,8 @@ static void room_319_daemon() {
if ((local._animMode == 4) && (local._animFrame == 16))
mcga_shakes = 80;
- if ((nextFrame >= 0) && (nextFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(nextFrame);
+ if ((nextFrame >= 0) && (nextFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, nextFrame);
local._animFrame = nextFrame;
}
}
@@ -307,11 +307,11 @@ static void room_319_daemon() {
kernel_abort_animation(0);
kernel_run_animation(kernel_name('b', 0), 0);
if (local._nextAction1 == 3)
- _scene->_animation[0]->setCurrentFrame(85);
+ kernel_reset_animation(0, 85);
else if (local._nextAction1 == 1)
- _scene->_animation[0]->setCurrentFrame(40);
+ kernel_reset_animation(0, 40);
- local._animFrame = _scene->_animation[0]->getCurrentFrame();
+ local._animFrame = kernel_anim[0].frame;
local._slacheTalkingFl = true;
mcga_shakes = 1;
diff --git a/engines/mads/nebular/rooms/room320.cpp b/engines/mads/nebular/rooms/room320.cpp
index ab822aa88b1..b9015374cfd 100644
--- a/engines/mads/nebular/rooms/room320.cpp
+++ b/engines/mads/nebular/rooms/room320.cpp
@@ -193,9 +193,9 @@ static void room_320_init() {
}
static void room_320_daemon() {
- if (_scene->_animation[0] != nullptr) {
- if (local._lastFrame != _scene->_animation[0]->getCurrentFrame()) {
- local._lastFrame = _scene->_animation[0]->getCurrentFrame();
+ if (kernel_anim[0].anim != nullptr) {
+ if (local._lastFrame != kernel_anim[0].frame) {
+ local._lastFrame = kernel_anim[0].frame;
switch (local._lastFrame) {
case 95:
local._blinkFl = true;
diff --git a/engines/mads/nebular/rooms/room321.cpp b/engines/mads/nebular/rooms/room321.cpp
index 7dc9e5335f1..4047dd0c648 100644
--- a/engines/mads/nebular/rooms/room321.cpp
+++ b/engines/mads/nebular/rooms/room321.cpp
@@ -52,8 +52,8 @@ static void room_321_init() {
}
static void room_321_daemon() {
- if (_scene->_animation[0] != nullptr) {
- if ((_scene->_animation[0]->getCurrentFrame() >= 260) && (global[kSexOfRex] == REX_MALE) && (config_file.naughtiness >= STORYMODE_NICE))
+ if (kernel_anim[0].anim != nullptr) {
+ if ((kernel_anim[0].frame >= 260) && (global[kSexOfRex] == REX_MALE) && (config_file.naughtiness >= STORYMODE_NICE))
new_room = 316;
}
diff --git a/engines/mads/nebular/rooms/room402.cpp b/engines/mads/nebular/rooms/room402.cpp
index 42145164d37..d53dfdee20e 100644
--- a/engines/mads/nebular/rooms/room402.cpp
+++ b/engines/mads/nebular/rooms/room402.cpp
@@ -628,7 +628,7 @@ static void room_402_init() {
local._refuseAlienLiquor = false;
kernel_run_animation(kernel_full_name(402, 'd', 1, "", EXT_AA), 0);
- _scene->_animation[0]->_repeatFlag = true;
+ kernel_anim[0].repeat = true;
g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
_scene->_sequences.setDepth(g_sequence_ids[5], 1);
@@ -1317,43 +1317,43 @@ static void room_402_daemon() {
if (kernel.trigger == 32)
local._rightWomanMoving = false;
- if (_scene->_animation[0]->getCurrentFrame() == 1) {
+ if (kernel_anim[0].frame == 1) {
switch (g_engine->getRandomNumber(1, 50)) {
case 1:
- _scene->_animation[0]->setCurrentFrame(2);
+ kernel_reset_animation(0, 2);
break;
case 2:
- _scene->_animation[0]->setCurrentFrame(7);
+ kernel_reset_animation(0, 7);
break;
case 3:
- _scene->_animation[0]->setCurrentFrame(11);
+ kernel_reset_animation(0, 11);
break;
default:
- _scene->_animation[0]->setCurrentFrame(0);
+ kernel_reset_animation(0, 0);
break;
}
}
- if ((_scene->_animation[0]->getCurrentFrame() == 4) && (local._drinkTimer < 10)) {
+ if ((kernel_anim[0].frame == 4) && (local._drinkTimer < 10)) {
++local._drinkTimer;
- _scene->_animation[0]->setCurrentFrame(3);
+ kernel_reset_animation(0, 3);
}
if (local._drinkTimer == 10) {
local._drinkTimer = 0;
- _scene->_animation[0]->setCurrentFrame(4);
- _scene->_animation[0]->_currentFrame = 5;
+ kernel_reset_animation(0, 4);
+ kernel_anim[0].frame = 5;
}
- switch (_scene->_animation[0]->getCurrentFrame()) {
+ switch (kernel_anim[0].frame) {
case 6:
case 10:
case 14:
- _scene->_animation[0]->setCurrentFrame(0);
+ kernel_reset_animation(0, 0);
break;
default:
diff --git a/engines/mads/nebular/rooms/room410.cpp b/engines/mads/nebular/rooms/room410.cpp
index 4026b9145e9..a90071be770 100644
--- a/engines/mads/nebular/rooms/room410.cpp
+++ b/engines/mads/nebular/rooms/room410.cpp
@@ -49,36 +49,36 @@ static void room_410_init() {
section_4_music();
kernel_run_animation(kernel_full_name(410, 'r', -1, "", EXT_AA), 0);
- _scene->_animation[0]->_repeatFlag = true;
+ kernel_anim[0].repeat = true;
}
static void room_410_daemon() {
- if (_scene->_animation[0]->getCurrentFrame() == 1) {
+ if (kernel_anim[0].frame == 1) {
if (g_engine->getRandomNumber(1, 30) == 1)
- _scene->_animation[0]->setCurrentFrame(2);
+ kernel_reset_animation(0, 2);
else
- _scene->_animation[0]->setCurrentFrame(0);
+ kernel_reset_animation(0, 0);
}
- if (_scene->_animation[0]->getCurrentFrame() == 9) {
+ if (kernel_anim[0].frame == 9) {
if (g_engine->getRandomNumber(1, 30) == 1)
- _scene->_animation[0]->setCurrentFrame(10);
+ kernel_reset_animation(0, 10);
else
- _scene->_animation[0]->setCurrentFrame(8);
+ kernel_reset_animation(0, 8);
}
- if (_scene->_animation[0]->getCurrentFrame() == 5) {
+ if (kernel_anim[0].frame == 5) {
if (g_engine->getRandomNumber(1, 30) == 1)
- _scene->_animation[0]->setCurrentFrame(6);
+ kernel_reset_animation(0, 6);
else
- _scene->_animation[0]->setCurrentFrame(4);
+ kernel_reset_animation(0, 4);
}
- if (_scene->_animation[0]->getCurrentFrame() == 3) {
+ if (kernel_anim[0].frame == 3) {
if (g_engine->getRandomNumber(1, 2) == 1)
- _scene->_animation[0]->setCurrentFrame(4);
+ kernel_reset_animation(0, 4);
else // == 2
- _scene->_animation[0]->setCurrentFrame(8);
+ kernel_reset_animation(0, 8);
}
}
diff --git a/engines/mads/nebular/rooms/room411.cpp b/engines/mads/nebular/rooms/room411.cpp
index 10622890c63..00884eeca4a 100644
--- a/engines/mads/nebular/rooms/room411.cpp
+++ b/engines/mads/nebular/rooms/room411.cpp
@@ -252,7 +252,7 @@ static void handleDialog() {
player.clock = kernel.clock + player.frame_delay;
player.walker_visible = false;
player.commands_allowed = false;
- _scene->_animation[0]->setCurrentFrame(local._resetFrame);
+ kernel_reset_animation(0, local._resetFrame);
}
kernel_message_purge();
local._newQuantity = computeQuoteAndQuantity();
@@ -413,16 +413,16 @@ static void room_411_init() {
}
kernel_run_animation(kernel_name('a', -1), 0);
- _scene->_animation[0]->setCurrentFrame(128);
+ kernel_reset_animation(0, 128);
local._makeMushroomCloud = false;
local._killRox = false;
}
static void room_411_daemon() {
- if (_scene->_animation[0] != nullptr) {
- if (local._curAnimationFrame != _scene->_animation[0]->getCurrentFrame()) {
- local._curAnimationFrame = _scene->_animation[0]->getCurrentFrame();
+ if (kernel_anim[0].anim != nullptr) {
+ if (local._curAnimationFrame != kernel_anim[0].frame) {
+ local._curAnimationFrame = kernel_anim[0].frame;
local._resetFrame = -1;
switch (local._curAnimationFrame) {
@@ -490,14 +490,14 @@ static void room_411_daemon() {
break;
}
- if ((local._resetFrame >= 0) && (local._resetFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(local._resetFrame);
+ if ((local._resetFrame >= 0) && (local._resetFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, local._resetFrame);
local._curAnimationFrame = local._resetFrame;
}
}
}
- if (_scene->_animation[0]->getCurrentFrame() == 86)
+ if (kernel_anim[0].frame == 86)
g_engine->_soundManager->command(59, 0);
}
diff --git a/engines/mads/nebular/rooms/room413.cpp b/engines/mads/nebular/rooms/room413.cpp
index 0b47b31be94..a1aa5f61ad8 100644
--- a/engines/mads/nebular/rooms/room413.cpp
+++ b/engines/mads/nebular/rooms/room413.cpp
@@ -105,10 +105,10 @@ static void room_413_init() {
}
static void room_413_daemon() {
- if (_scene->_animation[0] && _scene->_animation[0]->getCurrentFrame() == 38)
- _scene->_animation[0]->setCurrentFrame(37);
+ if ((kernel_anim[0].anim != nullptr) && kernel_anim[0].frame == 38)
+ kernel_reset_animation(0, 37);
- if (_scene->_animation[0] && _scene->_animation[0]->getCurrentFrame() == 21 && local._canMove) {
+ if ((kernel_anim[0].anim != nullptr) && kernel_anim[0].frame == 21 && local._canMove) {
g_engine->_soundManager->command(27, 0);
local._canMove = false;
}
diff --git a/engines/mads/nebular/rooms/room504.cpp b/engines/mads/nebular/rooms/room504.cpp
index a5ac5d73bff..4401dbcab71 100644
--- a/engines/mads/nebular/rooms/room504.cpp
+++ b/engines/mads/nebular/rooms/room504.cpp
@@ -81,9 +81,9 @@ static void room_504_init() {
}
static void room_504_daemon() {
- if ((local._carAnimationMode == 1) && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() != local._carFrame) {
- local._carFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._carAnimationMode == 1) && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame != local._carFrame) {
+ local._carFrame = kernel_anim[0].frame;
int nextFrame;
if (local._carFrame == 1)
@@ -91,8 +91,8 @@ static void room_504_daemon() {
else
nextFrame = -1;
- if ((nextFrame >= 0) && (nextFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(nextFrame);
+ if ((nextFrame >= 0) && (nextFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, nextFrame);
local._carFrame = nextFrame;
}
}
diff --git a/engines/mads/nebular/rooms/room505.cpp b/engines/mads/nebular/rooms/room505.cpp
index f79ebc57376..6f781409278 100644
--- a/engines/mads/nebular/rooms/room505.cpp
+++ b/engines/mads/nebular/rooms/room505.cpp
@@ -85,15 +85,15 @@ static void room_505_init() {
player.commands_allowed = false;
local._frame = -1;
kernel_run_animation(kernel_name('a', -1), 0);
- _scene->_animation[0]->setCurrentFrame(86);
+ kernel_reset_animation(0, 86);
section_5_music();
g_engine->_soundManager->command(16, 0);
}
static void room_505_daemon() {
- if (local._frame != _scene->_animation[0]->getCurrentFrame()) {
- local._frame = _scene->_animation[0]->getCurrentFrame();
+ if (local._frame != kernel_anim[0].frame) {
+ local._frame = kernel_anim[0].frame;
int resetFrame = -1;
switch (local._frame) {
@@ -231,8 +231,8 @@ static void room_505_daemon() {
break;
}
- if ((resetFrame >= 0) && (resetFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(resetFrame);
+ if ((resetFrame >= 0) && (resetFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, resetFrame);
local._frame = resetFrame;
}
}
diff --git a/engines/mads/nebular/rooms/room506.cpp b/engines/mads/nebular/rooms/room506.cpp
index c85866f10f9..07c1f0bb669 100644
--- a/engines/mads/nebular/rooms/room506.cpp
+++ b/engines/mads/nebular/rooms/room506.cpp
@@ -208,7 +208,7 @@ static void room_506_daemon() {
switch (kernel.trigger) {
case 70:
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
_scene->_sequences.addTimer(6, 71);
break;
diff --git a/engines/mads/nebular/rooms/room511.cpp b/engines/mads/nebular/rooms/room511.cpp
index 3cae8386fe2..0864cd162de 100644
--- a/engines/mads/nebular/rooms/room511.cpp
+++ b/engines/mads/nebular/rooms/room511.cpp
@@ -125,9 +125,9 @@ static void room_511_init() {
}
static void room_511_daemon() {
- if ((local._lineAnimationMode == 1) && _scene->_animation[0]) {
- if (local._lineFrame != _scene->_animation[0]->getCurrentFrame()) {
- local._lineFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._lineAnimationMode == 1) && (kernel_anim[0].anim != nullptr)) {
+ if (local._lineFrame != kernel_anim[0].frame) {
+ local._lineFrame = kernel_anim[0].frame;
int resetFrame = -1;
if ((local._lineAnimationPosition == 2) && (local._lineFrame == 14))
@@ -143,8 +143,8 @@ static void room_511_daemon() {
resetFrame = 2;
}
- if ((resetFrame >= 0) && (resetFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(resetFrame);
+ if ((resetFrame >= 0) && (resetFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, resetFrame);
local._lineFrame = resetFrame;
}
}
@@ -153,7 +153,7 @@ static void room_511_daemon() {
switch (kernel.trigger) {
case 70:
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
_scene->_sequences.addTimer(6, 71);
break;
@@ -191,7 +191,7 @@ static void room_511_pre_parser() {
kernel_run_animation(kernel_name('R', 2), 1);
} else if (kernel.trigger == 1) {
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
inter_move_object(OBJ_FISHING_LINE, 1);
local._handingLine = false;
player.commands_allowed = true;
diff --git a/engines/mads/nebular/rooms/room512.cpp b/engines/mads/nebular/rooms/room512.cpp
index f9596447e25..2aaaab4608e 100644
--- a/engines/mads/nebular/rooms/room512.cpp
+++ b/engines/mads/nebular/rooms/room512.cpp
@@ -272,8 +272,8 @@ static void room_512_parser() {
text_show(51225);
else if (player_said_2(look, padlock_key) && object_is_here(OBJ_PADLOCK_KEY))
text_show(51215);
- else if (player_said_2(look, fishing_rod) && (!_scene->_animation[0] ||
- _scene->_animation[0]->getCurrentFrame() == 4))
+ else if (player_said_2(look, fishing_rod) && ((kernel_anim[0].anim == nullptr) ||
+ kernel_anim[0].frame == 4))
text_show(51216);
else if (player_said_2(look, ships_wheel))
text_show(51218);
diff --git a/engines/mads/nebular/rooms/room513.cpp b/engines/mads/nebular/rooms/room513.cpp
index ecca5b25a1b..23a3b297e8e 100644
--- a/engines/mads/nebular/rooms/room513.cpp
+++ b/engines/mads/nebular/rooms/room513.cpp
@@ -106,7 +106,7 @@ static void room_513_daemon() {
switch (kernel.trigger) {
case 70:
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
_scene->_sequences.addTimer(6, 71);
break;
diff --git a/engines/mads/nebular/rooms/room601.cpp b/engines/mads/nebular/rooms/room601.cpp
index 0f7c333cdcb..a57781042b1 100644
--- a/engines/mads/nebular/rooms/room601.cpp
+++ b/engines/mads/nebular/rooms/room601.cpp
@@ -67,7 +67,7 @@ static void room_601_daemon() {
switch (kernel.trigger) {
case 70:
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
_scene->_sequences.addTimer(30, 71);
break;
diff --git a/engines/mads/nebular/rooms/room602.cpp b/engines/mads/nebular/rooms/room602.cpp
index c86563b9599..0344f63696b 100644
--- a/engines/mads/nebular/rooms/room602.cpp
+++ b/engines/mads/nebular/rooms/room602.cpp
@@ -235,7 +235,7 @@ static void room_602_parser() {
case 1:
{
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
local._lastSpriteIdx = g_sprite_ids[3];
local._lastSequenceIdx = _scene->_sequences.startCycle(local._lastSpriteIdx, false, -1);
_scene->_sequences.setDepth(local._lastSequenceIdx, 14);
diff --git a/engines/mads/nebular/rooms/room604.cpp b/engines/mads/nebular/rooms/room604.cpp
index 9e5aa803408..d22ae97164b 100644
--- a/engines/mads/nebular/rooms/room604.cpp
+++ b/engines/mads/nebular/rooms/room604.cpp
@@ -89,7 +89,7 @@ static void room_604_daemon() {
switch (kernel.trigger) {
case 70:
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
_scene->_sequences.addTimer(30, 71);
break;
@@ -111,9 +111,9 @@ static void room_604_daemon() {
break;
}
- if (local._monsterActive && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() != local._monsterFrame) {
- local._monsterFrame = _scene->_animation[0]->getCurrentFrame();
+ if (local._monsterActive && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame != local._monsterFrame) {
+ local._monsterFrame = kernel_anim[0].frame;
int nextMonsterFrame = -1;
switch (local._monsterFrame) {
@@ -152,7 +152,7 @@ static void room_604_daemon() {
}
if ((nextMonsterFrame >= 0) && (nextMonsterFrame != local._monsterFrame)) {
- _scene->_animation[0]->setCurrentFrame(nextMonsterFrame);
+ kernel_reset_animation(0, nextMonsterFrame);
local._monsterFrame = nextMonsterFrame;
}
}
diff --git a/engines/mads/nebular/rooms/room607.cpp b/engines/mads/nebular/rooms/room607.cpp
index 6dff76897f4..bd7722ac9d8 100644
--- a/engines/mads/nebular/rooms/room607.cpp
+++ b/engines/mads/nebular/rooms/room607.cpp
@@ -270,7 +270,7 @@ static void room_607_daemon() {
switch (kernel.trigger) {
case 80:
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
_scene->_sequences.addTimer(6, 81);
break;
@@ -304,7 +304,7 @@ static void handleThrowingBone() {
case 1:
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
if (local._animationMode != 1)
_scene->_hotspots.activate(words_obnoxious_dog, false);
diff --git a/engines/mads/nebular/rooms/room608.cpp b/engines/mads/nebular/rooms/room608.cpp
index 5ff6f8d534a..d1415e80917 100644
--- a/engines/mads/nebular/rooms/room608.cpp
+++ b/engines/mads/nebular/rooms/room608.cpp
@@ -91,7 +91,7 @@ static void restoreAnimations() {
_scene->_sequences.remove(g_sequence_ids[6]);
_scene->_sequences.remove(g_sequence_ids[7]);
kernel_run_animation(kernel_name('A', -1), 0);
- _scene->_animation[0]->setCurrentFrame(6);
+ kernel_reset_animation(0, 6);
}
}
@@ -243,7 +243,7 @@ static void room_608_init() {
int idx = _scene->_dynamicHotspots.add(words_car, words_walkto, -1, Common::Rect(100, 100, 100 + 82, 100 + 25));
local._carHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(96, 132), FACING_NORTHEAST);
kernel_run_animation(kernel_name('A', -1), 0);
- _scene->_animation[0]->setCurrentFrame(6);
+ kernel_reset_animation(0, 6);
} else if (global[kCarStatus] == CAR_SQUASHES_DOG) {
local._carMode = 2;
local._dogDeathMode = 0;
@@ -414,13 +414,13 @@ static void room_608_daemon() {
local._animationMode = 0;
}
- if ((local._carMode == 4) && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() != local._carFrame) {
- local._carFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._carMode == 4) && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame != local._carFrame) {
+ local._carFrame = kernel_anim[0].frame;
if (local._carFrame == 10) {
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
} else if (local._carFrame == 56) {
resetDogVariables();
local._animationMode = 0;
@@ -429,12 +429,12 @@ static void room_608_daemon() {
}
}
- if ((local._carMode == 5) && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() != local._carFrame) {
- local._carFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._carMode == 5) && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame != local._carFrame) {
+ local._carFrame = kernel_anim[0].frame;
if (local._carFrame == 10) {
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
} else if (local._carFrame == 52) {
resetDogVariables();
local._animationMode = 0;
@@ -443,13 +443,13 @@ static void room_608_daemon() {
}
}
- if ((local._carMode == 6) && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() != local._carFrame) {
- local._carFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._carMode == 6) && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame != local._carFrame) {
+ local._carFrame = kernel_anim[0].frame;
if (local._carFrame == 11) {
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
} else if (local._carFrame == 41) {
g_sequence_ids[10] = _scene->_sequences.startPingPongCycle(g_sprite_ids[10], false, 9, 0, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[10], 10, 11);
@@ -487,9 +487,9 @@ static void room_608_daemon() {
if (kernel.trigger == 112)
local._dogYelping = false;
- if ((local._carMode == 0) && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() != local._carFrame) {
- local._carFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._carMode == 0) && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame != local._carFrame) {
+ local._carFrame = kernel_anim[0].frame;
int nextFrame = -1;
if ((global[kCarStatus] == CAR_UP) || (global[kCarStatus] == CAR_DOWN)) {
@@ -502,7 +502,7 @@ static void room_608_daemon() {
break;
case 1:
- if (_scene->_animation[0]->getCurrentFrame() >= 12) {
+ if (kernel_anim[0].frame >= 12) {
nextFrame = 0;
local._carMoveMode = 0;
global[kCarStatus] = CAR_UP;
@@ -510,7 +510,7 @@ static void room_608_daemon() {
break;
case 2:
- if (_scene->_animation[0]->getCurrentFrame() >= 6) {
+ if (kernel_anim[0].frame >= 6) {
nextFrame = 6;
local._carMoveMode = 0;
global[kCarStatus] = CAR_DOWN;
@@ -522,35 +522,35 @@ static void room_608_daemon() {
}
}
- if ((nextFrame >= 0) && (nextFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(nextFrame);
+ if ((nextFrame >= 0) && (nextFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, nextFrame);
local._carFrame = nextFrame;
}
}
}
- if ((local._carMode == 2) && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() != local._carFrame) {
- local._carFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._carMode == 2) && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame != local._carFrame) {
+ local._carFrame = kernel_anim[0].frame;
int nextFrame = -1;
if (local._carMoveMode == 0)
nextFrame = 28;
- else if (_scene->_animation[0]->getCurrentFrame() >= 28) {
+ else if (kernel_anim[0].frame >= 28) {
nextFrame = 28;
local._carMoveMode = 0;
}
- if ((nextFrame >= 0) && (nextFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(nextFrame);
+ if ((nextFrame >= 0) && (nextFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, nextFrame);
local._carFrame = nextFrame;
}
}
}
- if ((local._carMode == 3) && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() != local._carFrame) {
- local._carFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._carMode == 3) && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame != local._carFrame) {
+ local._carFrame = kernel_anim[0].frame;
int nextFrame = -1;
if (local._resetPositionsFl) {
@@ -558,22 +558,22 @@ static void room_608_daemon() {
local._carMoveMode = 0;
} else if (local._carMoveMode == 0)
nextFrame = 6;
- else if (_scene->_animation[0]->getCurrentFrame() >= 6) {
+ else if (kernel_anim[0].frame >= 6) {
nextFrame = 6;
local._carMoveMode = 0;
}
- if ((nextFrame >= 0) && (nextFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(nextFrame);
+ if ((nextFrame >= 0) && (nextFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, nextFrame);
local._carFrame = nextFrame;
}
}
}
- if ((local._carMode == 1) && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() != local._carFrame) {
- local._carFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._carMode == 1) && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame != local._carFrame) {
+ local._carFrame = kernel_anim[0].frame;
int nextFrame = -1;
if (local._resetPositionsFl) {
@@ -581,13 +581,13 @@ static void room_608_daemon() {
local._carMoveMode = 0;
} else if (local._carMoveMode == 0)
nextFrame = 6;
- else if (_scene->_animation[0]->getCurrentFrame() >= 6) {
+ else if (kernel_anim[0].frame >= 6) {
nextFrame = 6;
local._carMoveMode = 0;
}
- if ((nextFrame >= 0) && (nextFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(nextFrame);
+ if ((nextFrame >= 0) && (nextFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, nextFrame);
local._carFrame = nextFrame;
}
}
diff --git a/engines/mads/nebular/rooms/room609.cpp b/engines/mads/nebular/rooms/room609.cpp
index 3bcae36b505..bc275318222 100644
--- a/engines/mads/nebular/rooms/room609.cpp
+++ b/engines/mads/nebular/rooms/room609.cpp
@@ -128,7 +128,7 @@ static void room_609_daemon() {
switch (kernel.trigger) {
case 70:
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
_scene->_sequences.addTimer(6, 71);
break;
diff --git a/engines/mads/nebular/rooms/room611.cpp b/engines/mads/nebular/rooms/room611.cpp
index 40e4a07fc55..e85880edafb 100644
--- a/engines/mads/nebular/rooms/room611.cpp
+++ b/engines/mads/nebular/rooms/room611.cpp
@@ -1135,13 +1135,13 @@ static void room_611_daemon() {
local._hermitMovingFl = true;
}
- if (local._stickFingerFl && (_scene->_animation[0]->getCurrentFrame() == 47)) {
+ if (local._stickFingerFl && (kernel_anim[0].frame == 47)) {
local._stickFingerFl = false;
local._hermitMovingFl = true;
local._hermitMode = 1;
}
- if (_scene->_animation[0] != nullptr && (_scene->_animation[0]->getCurrentFrame() == 240) && local._check1Fl) {
+ if (kernel_anim[0].anim != nullptr && (kernel_anim[0].frame == 240) && local._check1Fl) {
local._check1Fl = false;
kernel_message_add(quote_string(kernel.quotes, 0x27E), 33, 88, 0xFDFC, 90, 0, 0);
_scene->_sequences.addTimer(120, 120);
@@ -1230,7 +1230,7 @@ static void room_611_daemon() {
}
}
- if (_scene->_animation[0] != nullptr && _scene->_animation[0]->getCurrentFrame() == 254)
+ if (kernel_anim[0].anim != nullptr && kernel_anim[0].frame == 254)
player.commands_allowed = true;
if (kernel.trigger == 110) {
@@ -1256,7 +1256,7 @@ static void room_611_daemon() {
}
if (local._hermitMode == 6) {
- if ((_scene->_animation[0]->getCurrentFrame() == 9) && local._check1Fl) {
+ if ((kernel_anim[0].frame == 9) && local._check1Fl) {
_scene->_sequences.remove(g_sequence_ids[3]);
g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 7, 1, 0, 0);
_scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 2);
@@ -1265,7 +1265,7 @@ static void room_611_daemon() {
local._check1Fl = false;
}
- if ((_scene->_animation[0]->getCurrentFrame() == 17) && !local._check1Fl) {
+ if ((kernel_anim[0].frame == 17) && !local._check1Fl) {
local._nextFrame = 26;
local._hermitMode = 4;
local._check1Fl = true;
@@ -1273,13 +1273,13 @@ static void room_611_daemon() {
}
if (local._hermitMode == 4) {
- if ((_scene->_animation[0]->getCurrentFrame() == 33) && local._check1Fl) {
+ if ((kernel_anim[0].frame == 33) && local._check1Fl) {
displayHermitQuestions(local._hermitDisplayedQuestion);
local._nextFrame = 1;
local._check1Fl = false;
}
- if ((_scene->_animation[0]->getCurrentFrame() == 9) && !local._check1Fl) {
+ if ((kernel_anim[0].frame == 9) && !local._check1Fl) {
local._nextFrame = 8;
_scene->_sequences.addTimer(1, 113);
local._check1Fl = true;
@@ -1305,8 +1305,8 @@ static void room_611_daemon() {
_scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 115);
}
- if ((local._nextFrame >= 0) && (local._nextFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(local._nextFrame);
+ if ((local._nextFrame >= 0) && (local._nextFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, local._nextFrame);
local._nextFrame = -1;
}
diff --git a/engines/mads/nebular/rooms/room612.cpp b/engines/mads/nebular/rooms/room612.cpp
index 4cb165d2ab8..7560321f505 100644
--- a/engines/mads/nebular/rooms/room612.cpp
+++ b/engines/mads/nebular/rooms/room612.cpp
@@ -138,7 +138,7 @@ static void room_612_daemon() {
switch (kernel.trigger) {
case 70:
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
_scene->_sequences.addTimer(6, 71);
break;
diff --git a/engines/mads/nebular/rooms/room701.cpp b/engines/mads/nebular/rooms/room701.cpp
index bc1d815b4a8..d2595a16e89 100644
--- a/engines/mads/nebular/rooms/room701.cpp
+++ b/engines/mads/nebular/rooms/room701.cpp
@@ -298,7 +298,7 @@ static void room_701_parser() {
case 1:
{
player.walker_visible = true;
- player.clock = _scene->_animation[0]->getNextFrameTimer() - player.frame_delay;
+ player.clock = kernel_anim[0].next_clock - player.frame_delay;
g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -1);
_scene->_sequences.setDepth(g_sequence_ids[2], 9);
int idx = _scene->_dynamicHotspots.add(words_boat, words_climb_into, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
diff --git a/engines/mads/nebular/rooms/room703.cpp b/engines/mads/nebular/rooms/room703.cpp
index 689a9893d78..ce300aeffa3 100644
--- a/engines/mads/nebular/rooms/room703.cpp
+++ b/engines/mads/nebular/rooms/room703.cpp
@@ -157,7 +157,7 @@ static void room_703_init() {
local._boatDir = 2;
local._monsterMode = 0;
kernel_run_animation(kernel_name('A', -1), 0);
- _scene->_animation[0]->setCurrentFrame(34);
+ kernel_reset_animation(0, 34);
} else if (previous_room != RETURNING_FROM_DIALOG) {
player.commands_allowed = false;
local._boatDir = 1;
@@ -175,17 +175,17 @@ static void room_703_init() {
local._boatDir = 1;
local._monsterMode = 1;
kernel_run_animation(kernel_name('B', -1), 0);
- _scene->_animation[0]->setCurrentFrame(39);
+ kernel_reset_animation(0, 39);
} else if (local._boatDir == 1) {
local._curSequence = 0;
local._monsterMode = 0;
kernel_run_animation(kernel_name('A', -1), 0);
- _scene->_animation[0]->setCurrentFrame(9);
+ kernel_reset_animation(0, 9);
} else if (local._boatDir == 2) {
local._curSequence = 0;
local._monsterMode = 0;
kernel_run_animation(kernel_name('A', -1), 0);
- _scene->_animation[0]->setCurrentFrame(56);
+ kernel_reset_animation(0, 56);
}
if (kernel.teleported_in) {
@@ -227,9 +227,9 @@ static void room_703_daemon() {
if (kernel.trigger == 70)
kernel.force_restart = true;
- if ((local._monsterMode == 3) && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() != local._boatFrame) {
- local._boatFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._monsterMode == 3) && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame != local._boatFrame) {
+ local._boatFrame = kernel_anim[0].frame;
int nextBoatFrame = -1;
if (local._boatFrame == 62) {
@@ -240,8 +240,8 @@ static void room_703_daemon() {
}
}
- if ((nextBoatFrame >= 0) && (nextBoatFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(nextBoatFrame);
+ if ((nextBoatFrame >= 0) && (nextBoatFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, nextBoatFrame);
local._boatFrame = nextBoatFrame;
}
}
@@ -250,9 +250,9 @@ static void room_703_daemon() {
if (kernel.trigger == 70)
kernel.force_restart = true;
- if ((local._monsterMode == 0) && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() != local._boatFrame) {
- local._boatFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._monsterMode == 0) && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame != local._boatFrame) {
+ local._boatFrame = kernel_anim[0].frame;
int nextBoatFrame = -1;
switch (local._boatFrame) {
@@ -323,8 +323,8 @@ static void room_703_daemon() {
break;
}
- if ((nextBoatFrame >= 0) && (nextBoatFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(nextBoatFrame);
+ if ((nextBoatFrame >= 0) && (nextBoatFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, nextBoatFrame);
local._boatFrame = nextBoatFrame;
}
}
@@ -358,9 +358,9 @@ static void room_703_daemon() {
}
- if ((local._monsterMode == 1) && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() != local._boatFrame) {
- local._boatFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._monsterMode == 1) && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame != local._boatFrame) {
+ local._boatFrame = kernel_anim[0].frame;
int nextBoatFrame = -1;
switch (local._boatFrame) {
@@ -397,16 +397,16 @@ static void room_703_daemon() {
break;
}
- if ((nextBoatFrame >= 0) && (nextBoatFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(nextBoatFrame);
+ if ((nextBoatFrame >= 0) && (nextBoatFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, nextBoatFrame);
local._boatFrame = nextBoatFrame;
}
}
}
- if ((local._monsterMode == 2) && (_scene->_animation[0] != nullptr)) {
- if (_scene->_animation[0]->getCurrentFrame() != local._boatFrame) {
- local._boatFrame = _scene->_animation[0]->getCurrentFrame();
+ if ((local._monsterMode == 2) && (kernel_anim[0].anim != nullptr)) {
+ if (kernel_anim[0].frame != local._boatFrame) {
+ local._boatFrame = kernel_anim[0].frame;
int nextBoatFrame = -1;
switch (local._boatFrame) {
@@ -446,7 +446,7 @@ static void room_703_daemon() {
kernel_abort_animation(0);
local._monsterMode = 1;
kernel_run_animation(kernel_name('B', -1), 0);
- _scene->_animation[0]->setCurrentFrame(39);
+ kernel_reset_animation(0, 39);
player.commands_allowed = true;
break;
@@ -455,7 +455,7 @@ static void room_703_daemon() {
kernel_abort_animation(0);
local._monsterMode = 1;
kernel_run_animation(kernel_name('B', -1), 0);
- _scene->_animation[0]->setCurrentFrame(39);
+ kernel_reset_animation(0, 39);
player.commands_allowed = true;
} else
inter_move_object(OBJ_CHICKEN_BOMB, 1);
@@ -468,7 +468,7 @@ static void room_703_daemon() {
kernel_abort_animation(0);
local._monsterMode = 0;
kernel_run_animation(kernel_name('A', -1), 0);
- _scene->_animation[0]->setCurrentFrame(9);
+ kernel_reset_animation(0, 9);
player.commands_allowed = true;
if (config_file.naughtiness == STORYMODE_NAUGHTY)
text_show(70321);
@@ -481,8 +481,8 @@ static void room_703_daemon() {
break;
}
- if ((nextBoatFrame >= 0) && (nextBoatFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(nextBoatFrame);
+ if ((nextBoatFrame >= 0) && (nextBoatFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, nextBoatFrame);
local._boatFrame = nextBoatFrame;
}
}
@@ -518,7 +518,7 @@ static void room_703_parser() {
kernel_abort_animation(0);
local._monsterMode = 2;
kernel_run_animation(kernel_name('C', -1), 0);
- _scene->_animation[0]->setCurrentFrame(19);
+ kernel_reset_animation(0, 19);
} else if (player_said_3(throw, chicken, sea_monster)) {
player.commands_allowed = false;
kernel_abort_animation(0);
@@ -529,13 +529,13 @@ static void room_703_parser() {
kernel_abort_animation(0);
local._monsterMode = 2;
kernel_run_animation(kernel_name('C', -1), 0);
- _scene->_animation[0]->setCurrentFrame(39);
+ kernel_reset_animation(0, 39);
} else if (player_said_3(throw, bomb, sea_monster)) {
player.commands_allowed = false;
kernel_abort_animation(0);
local._monsterMode = 2;
kernel_run_animation(kernel_name('C', -1), 0);
- _scene->_animation[0]->setCurrentFrame(59);
+ kernel_reset_animation(0, 59);
} else if (player_said_3(throw, chicken_bomb, sea_monster)) {
local._useBomb = true;
player.commands_allowed = false;
diff --git a/engines/mads/nebular/rooms/room704.cpp b/engines/mads/nebular/rooms/room704.cpp
index b18f16fc2a8..60b33862303 100644
--- a/engines/mads/nebular/rooms/room704.cpp
+++ b/engines/mads/nebular/rooms/room704.cpp
@@ -148,21 +148,21 @@ static void room_704_init() {
local._animationMode = 2;
local._boatDirection = 2;
kernel_run_animation(kernel_name('A', -1), 0);
- _scene->_animation[0]->setCurrentFrame(36);
+ kernel_reset_animation(0, 36);
} else if (previous_room != RETURNING_FROM_DIALOG) {
player.commands_allowed = false;
local._boatDirection = 1;
kernel_run_animation(kernel_name('A', -1), 0);
} else if (local._boatDirection == 1) {
kernel_run_animation(kernel_name('A', -1), 0);
- _scene->_animation[0]->setCurrentFrame(8);
+ kernel_reset_animation(0, 8);
} else if (local._boatDirection == 2) {
if (object[OBJ_BOTTLE].location == room_id) {
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(123, 125));
_scene->_sequences.setDepth(g_sequence_ids[1], 1);
}
kernel_run_animation(kernel_name('A', -1), 0);
- _scene->_animation[0]->setCurrentFrame(57);
+ kernel_reset_animation(0, 57);
}
if (kernel.teleported_in)
@@ -176,9 +176,9 @@ static void room_704_init() {
}
static void room_704_daemon() {
- if (_scene->_animation[0] != nullptr) {
- if (_scene->_animation[0]->getCurrentFrame() != local._boatCurrentFrame) {
- local._boatCurrentFrame = _scene->_animation[0]->getCurrentFrame();
+ if (kernel_anim[0].anim != nullptr) {
+ if (kernel_anim[0].frame != local._boatCurrentFrame) {
+ local._boatCurrentFrame = kernel_anim[0].frame;
int nextFrame = -1;
switch (local._boatCurrentFrame) {
@@ -284,8 +284,8 @@ static void room_704_daemon() {
break;
}
- if ((nextFrame >= 0) && (nextFrame != _scene->_animation[0]->getCurrentFrame())) {
- _scene->_animation[0]->setCurrentFrame(nextFrame);
+ if ((nextFrame >= 0) && (nextFrame != kernel_anim[0].frame)) {
+ kernel_reset_animation(0, nextFrame);
local._boatCurrentFrame = nextFrame;
}
}
diff --git a/engines/mads/nebular/rooms/room706.cpp b/engines/mads/nebular/rooms/room706.cpp
index 53b1dc66008..cb4fad92779 100644
--- a/engines/mads/nebular/rooms/room706.cpp
+++ b/engines/mads/nebular/rooms/room706.cpp
@@ -187,9 +187,9 @@ static void room_706_daemon() {
kernel.force_restart = true;
}
- if (_scene->_animation[0] != nullptr) {
- if ((local._animationMode != 0) && (_scene->_animation[0]->getCurrentFrame() != local._animationFrame)) {
- local._animationFrame = _scene->_animation[0]->getCurrentFrame();
+ if (kernel_anim[0].anim != nullptr) {
+ if ((local._animationMode != 0) && (kernel_anim[0].frame != local._animationFrame)) {
+ local._animationFrame = kernel_anim[0].frame;
if (local._animationFrame == 6) {
_scene->_sequences.remove(g_sequence_ids[1]);
diff --git a/engines/mads/nebular/rooms/room804.cpp b/engines/mads/nebular/rooms/room804.cpp
index da78768f0ed..1e95bdabc36 100644
--- a/engines/mads/nebular/rooms/room804.cpp
+++ b/engines/mads/nebular/rooms/room804.cpp
@@ -110,7 +110,7 @@ static void room_804_init() {
static void room_804_daemon() {
if (!local._messWithThrottle) {
- if ((local._throttleGone) && (local._movingThrottle) && (_scene->_animation[0]->getCurrentFrame() == 39)) {
+ if ((local._throttleGone) && (local._movingThrottle) && (kernel_anim[0].frame == 39)) {
g_sequence_ids[1] = _scene->_sequences.startCycle
(g_sprite_ids[1], false, 1);
_scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(133, 139));
@@ -118,7 +118,7 @@ static void room_804_daemon() {
local._throttleGone = false;
}
- if ((local._movingThrottle) && (_scene->_animation[0]->getCurrentFrame() == 42)) {
+ if ((local._movingThrottle) && (kernel_anim[0].frame == 42)) {
local._resetFrame = 0;
local._movingThrottle = false;
}
@@ -127,13 +127,13 @@ static void room_804_daemon() {
local._resetFrame = 42;
}
- if (_scene->_animation[0]->getCurrentFrame() == 65)
+ if (kernel_anim[0].frame == 65)
_scene->_sequences.remove(g_sequence_ids[7]);
switch (config_file.naughtiness) {
case STORYMODE_NAUGHTY:
default:
- if (_scene->_animation[0]->getCurrentFrame() == 81) {
+ if (kernel_anim[0].frame == 81) {
local._resetFrame = 80;
global[kInSpace] = false;
global[kBeamIsUp] = true;
@@ -145,7 +145,7 @@ static void room_804_daemon() {
break;
case STORYMODE_NICE:
- if (_scene->_animation[0]->getCurrentFrame() == 68) {
+ if (kernel_anim[0].frame == 68) {
local._resetFrame = 66;
global[kInSpace] = false;
global[kBeamIsUp] = true;
@@ -156,12 +156,12 @@ static void room_804_daemon() {
}
}
- if (_scene->_animation[0]->getCurrentFrame() == 34) {
+ if (kernel_anim[0].frame == 34) {
local._resetFrame = 36;
_scene->_sequences.remove(g_sequence_ids[1]);
}
- if (_scene->_animation[0]->getCurrentFrame() == 37) {
+ if (kernel_anim[0].frame == 37) {
local._resetFrame = 36;
if (!local._dontPullThrottleAgain) {
local._dontPullThrottleAgain = true;
@@ -173,20 +173,20 @@ static void room_804_daemon() {
new_room = 803;
}
- if ((_scene->_animation[0]->getCurrentFrame() == 7) && (!global[kWindowFixed])) {
+ if ((kernel_anim[0].frame == 7) && (!global[kWindowFixed])) {
g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
_scene->_sequences.addTimer(20, 110);
global[kWindowFixed] = true;
}
- if (_scene->_animation[0]->getCurrentFrame() == 10) {
+ if (kernel_anim[0].frame == 10) {
local._resetFrame = 0;
player.commands_allowed = true;
inter_move_object(OBJ_POLYCEMENT, NOWHERE);
}
// FIXME: Original doesn't have resetFrame check. Check why this has been needed
- if (local._resetFrame == -1 && _scene->_animation[0]->getCurrentFrame() == 1) {
+ if (local._resetFrame == -1 && kernel_anim[0].frame == 1) {
int randomVal = g_engine->getRandomNumber(29) + 1;
switch (randomVal) {
case 1:
@@ -204,7 +204,7 @@ static void room_804_daemon() {
}
}
- switch (_scene->_animation[0]->getCurrentFrame()) {
+ switch (kernel_anim[0].frame) {
case 26:
case 28:
case 31:
@@ -214,12 +214,12 @@ static void room_804_daemon() {
break;
}
} else {
- if ((_scene->_animation[0]->getCurrentFrame() == 36) && (!local._throttleGone)) {
+ if ((kernel_anim[0].frame == 36) && (!local._throttleGone)) {
_scene->_sequences.remove(g_sequence_ids[1]);
local._throttleGone = true;
}
- if (_scene->_animation[0]->getCurrentFrame() == 39) {
+ if (kernel_anim[0].frame == 39) {
local._movingThrottle = false;
switch (local._throttleCounter) {
case 1:
@@ -259,8 +259,8 @@ static void room_804_daemon() {
}
if (local._resetFrame >= 0) {
- if (local._resetFrame != _scene->_animation[0]->getCurrentFrame()) {
- _scene->_animation[0]->setCurrentFrame(local._resetFrame);
+ if (local._resetFrame != kernel_anim[0].frame) {
+ kernel_reset_animation(0, local._resetFrame);
local._resetFrame = -1;
}
}
@@ -269,12 +269,12 @@ static void room_804_daemon() {
new_room = 803;
}
- if ((_scene->_animation[0]->getCurrentFrame() == 72) && !local._alreadyPop) {
+ if ((kernel_anim[0].frame == 72) && !local._alreadyPop) {
g_engine->_soundManager->command(21, 0);
local._alreadyPop = true;
}
- if ((_scene->_animation[0]->getCurrentFrame() == 80) && !local._alreadyOrgan) {
+ if ((kernel_anim[0].frame == 80) && !local._alreadyOrgan) {
g_engine->_soundManager->command(22, 0);
local._alreadyOrgan = true;
}
diff --git a/engines/mads/nebular/rooms/room810.cpp b/engines/mads/nebular/rooms/room810.cpp
index a6d040999df..ce387890f7e 100644
--- a/engines/mads/nebular/rooms/room810.cpp
+++ b/engines/mads/nebular/rooms/room810.cpp
@@ -49,7 +49,7 @@ static void room_810_init() {
}
static void room_810_daemon() {
- if (_scene->_animation[0] && (_scene->_animation[0]->getCurrentFrame() == 200)
+ if ((kernel_anim[0].anim != nullptr) && (kernel_anim[0].frame == 200)
&& local._moveAllowed) {
_scene->_sequences.addTimer(100, 70);
local._moveAllowed = false;
diff --git a/engines/mads/nebular/rooms/thunks.cpp b/engines/mads/nebular/rooms/thunks.cpp
index 3434f3beee6..c3420594656 100644
--- a/engines/mads/nebular/rooms/thunks.cpp
+++ b/engines/mads/nebular/rooms/thunks.cpp
@@ -32,36 +32,6 @@ namespace Rooms {
Scene _scene;
-static uint16 dummy_num_images;
-Scene::Animation::Animation(int anim_id) : _id(anim_id),
- _currentFrame(kernel_anim[anim_id].frame),
- _repeatFlag(kernel_anim[anim_id].repeat),
- _spriteListIndexes(kernel_anim[anim_id].anim ? &kernel_anim[anim_id].anim->series_id[0] : nullptr),
- _oldFrameEntry(kernel_anim[anim_id].image),
- _frameEntriesCount(kernel_anim[anim_id].anim ? kernel_anim[anim_id].anim->num_images : dummy_num_images),
- _frameEntries(kernel_anim[anim_id].anim ? kernel_anim[anim_id].anim->image : nullptr) {
-}
-
-int Scene::Animation::getCurrentFrame() const {
- return _currentFrame;
-}
-
-void Scene::Animation::setNextFrameTimer(long time) {
- kernel_anim[_id].next_clock = time;
-}
-
-long Scene::Animation::getNextFrameTimer() {
- return kernel_anim[_id].next_clock;
-}
-
-void Scene::Animation::setCurrentFrame(int frameNum) {
- kernel_reset_animation(_id, frameNum);
-}
-
-void Scene::Animation::resetSpriteSetsCount() {
- kernel_anim[_id].anim->num_series = 0;
-}
-
int Scene::DynamicHotspots::add(int vocab_id, int verb_id, int auto_sequence, const Common::Rect &r) {
return kernel_add_dynamic(vocab_id, verb_id, 0, auto_sequence,
r.left, r.top, r.width(), r.height());
diff --git a/engines/mads/nebular/rooms/thunks.h b/engines/mads/nebular/rooms/thunks.h
index c09749f9303..0f9e79af385 100644
--- a/engines/mads/nebular/rooms/thunks.h
+++ b/engines/mads/nebular/rooms/thunks.h
@@ -128,51 +128,6 @@ struct Scene {
return this;
}
- struct Animation {
- int16 _id;
- int &_currentFrame;
- int &_repeatFlag;
- int *const _spriteListIndexes;
- int &_oldFrameEntry;
- uint16 &_frameEntriesCount;
- Image *const _frameEntries;
-
- Animation(int anim_id);
-
- Animation *operator->() {
- return this;
- }
- const Animation *operator->() const {
- return this;
- }
-
- bool operator!() const {
- return kernel_anim[_id].anim == nullptr;
- }
- bool operator!=(std::nullptr_t) const {
- return kernel_anim[_id].anim != nullptr;
- }
- bool operator==(std::nullptr_t) const {
- return kernel_anim[_id].anim == nullptr;
- }
- explicit operator bool() const {
- return kernel_anim[_id].anim != nullptr;
- }
-
-
- int getCurrentFrame() const;
- void setNextFrameTimer(long time);
- long getNextFrameTimer();
- void setCurrentFrame(int frameNum);
- void resetSpriteSetsCount();
- };
- struct Animations {
- Animation operator[](int anim_id) {
- return Animation(anim_id);
- }
- };
- Animations _animation;
-
struct CustomDest {
int &x = inter_point_x;
int &y = inter_point_y;
Commit: a494dfee3bffe3c587b874c7e7d04ee5e1ed649b
https://github.com/scummvm/scummvm/commit/a494dfee3bffe3c587b874c7e7d04ee5e1ed649b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:56+10:00
Commit Message:
MADS: NEBULAR: Refactored Sequences thunk
Changed paths:
engines/mads/nebular/rooms/forcefield.cpp
engines/mads/nebular/rooms/room101.cpp
engines/mads/nebular/rooms/room102.cpp
engines/mads/nebular/rooms/room103.cpp
engines/mads/nebular/rooms/room104.cpp
engines/mads/nebular/rooms/room105.cpp
engines/mads/nebular/rooms/room106.cpp
engines/mads/nebular/rooms/room107.cpp
engines/mads/nebular/rooms/room108.cpp
engines/mads/nebular/rooms/room109.cpp
engines/mads/nebular/rooms/room110.cpp
engines/mads/nebular/rooms/room111.cpp
engines/mads/nebular/rooms/room112.cpp
engines/mads/nebular/rooms/room201.cpp
engines/mads/nebular/rooms/room202.cpp
engines/mads/nebular/rooms/room203.cpp
engines/mads/nebular/rooms/room205.cpp
engines/mads/nebular/rooms/room207.cpp
engines/mads/nebular/rooms/room208.cpp
engines/mads/nebular/rooms/room209.cpp
engines/mads/nebular/rooms/room210.cpp
engines/mads/nebular/rooms/room211.cpp
engines/mads/nebular/rooms/room214.cpp
engines/mads/nebular/rooms/room215.cpp
engines/mads/nebular/rooms/room301.cpp
engines/mads/nebular/rooms/room303.cpp
engines/mads/nebular/rooms/room304.cpp
engines/mads/nebular/rooms/room307.cpp
engines/mads/nebular/rooms/room308.cpp
engines/mads/nebular/rooms/room309.cpp
engines/mads/nebular/rooms/room310.cpp
engines/mads/nebular/rooms/room311.cpp
engines/mads/nebular/rooms/room316.cpp
engines/mads/nebular/rooms/room318.cpp
engines/mads/nebular/rooms/room319.cpp
engines/mads/nebular/rooms/room320.cpp
engines/mads/nebular/rooms/room351.cpp
engines/mads/nebular/rooms/room352.cpp
engines/mads/nebular/rooms/room353.cpp
engines/mads/nebular/rooms/room357.cpp
engines/mads/nebular/rooms/room358.cpp
engines/mads/nebular/rooms/room359.cpp
engines/mads/nebular/rooms/room360.cpp
engines/mads/nebular/rooms/room361.cpp
engines/mads/nebular/rooms/room388.cpp
engines/mads/nebular/rooms/room389.cpp
engines/mads/nebular/rooms/room402.cpp
engines/mads/nebular/rooms/room405.cpp
engines/mads/nebular/rooms/room406.cpp
engines/mads/nebular/rooms/room408.cpp
engines/mads/nebular/rooms/room410.cpp
engines/mads/nebular/rooms/room411.cpp
engines/mads/nebular/rooms/room413.cpp
engines/mads/nebular/rooms/room501.cpp
engines/mads/nebular/rooms/room503.cpp
engines/mads/nebular/rooms/room504.cpp
engines/mads/nebular/rooms/room505.cpp
engines/mads/nebular/rooms/room506.cpp
engines/mads/nebular/rooms/room507.cpp
engines/mads/nebular/rooms/room508.cpp
engines/mads/nebular/rooms/room511.cpp
engines/mads/nebular/rooms/room512.cpp
engines/mads/nebular/rooms/room513.cpp
engines/mads/nebular/rooms/room515.cpp
engines/mads/nebular/rooms/room551.cpp
engines/mads/nebular/rooms/room601.cpp
engines/mads/nebular/rooms/room602.cpp
engines/mads/nebular/rooms/room603.cpp
engines/mads/nebular/rooms/room604.cpp
engines/mads/nebular/rooms/room605.cpp
engines/mads/nebular/rooms/room607.cpp
engines/mads/nebular/rooms/room608.cpp
engines/mads/nebular/rooms/room609.cpp
engines/mads/nebular/rooms/room610.cpp
engines/mads/nebular/rooms/room611.cpp
engines/mads/nebular/rooms/room612.cpp
engines/mads/nebular/rooms/room620.cpp
engines/mads/nebular/rooms/room701.cpp
engines/mads/nebular/rooms/room702.cpp
engines/mads/nebular/rooms/room703.cpp
engines/mads/nebular/rooms/room704.cpp
engines/mads/nebular/rooms/room705.cpp
engines/mads/nebular/rooms/room706.cpp
engines/mads/nebular/rooms/room710.cpp
engines/mads/nebular/rooms/room751.cpp
engines/mads/nebular/rooms/room752.cpp
engines/mads/nebular/rooms/room801.cpp
engines/mads/nebular/rooms/room802.cpp
engines/mads/nebular/rooms/room803.cpp
engines/mads/nebular/rooms/room804.cpp
engines/mads/nebular/rooms/room805.cpp
engines/mads/nebular/rooms/room808.cpp
engines/mads/nebular/rooms/room810.cpp
engines/mads/nebular/rooms/teleporter.cpp
engines/mads/nebular/rooms/thunks.cpp
engines/mads/nebular/rooms/thunks.h
diff --git a/engines/mads/nebular/rooms/forcefield.cpp b/engines/mads/nebular/rooms/forcefield.cpp
index 3a30f76ad4f..4baf0b12e23 100644
--- a/engines/mads/nebular/rooms/forcefield.cpp
+++ b/engines/mads/nebular/rooms/forcefield.cpp
@@ -114,11 +114,11 @@ void handle_forcefield(Forcefield *force, int16 *sprites) {
}
if (id >= 0) {
- force->_seqId[id] = _scene->_sequences.addSpriteCycle(sprites[spriteId], mirror, 2, 0, 0, 0);
- _scene->_sequences.setDepth(force->_seqId[id], 8);
- _scene->_sequences.setPosition(force->_seqId[id], Common::Point(posX, posY));
- _scene->_sequences.setMotion(force->_seqId[id], 2, speedX, speedY);
- _scene->_sequences.addSubEntry(force->_seqId[id], SEQUENCE_TRIGGER_EXPIRE, 0, 150 + id);
+ force->_seqId[id] = kernel_seq_forward(sprites[spriteId], mirror, 2, 0, 0, 0);
+ kernel_seq_depth(force->_seqId[id], 8);
+ kernel_seq_loc(force->_seqId[id], posX, posY);
+ kernel_seq_motion(force->_seqId[id], 2, speedX, speedY);
+ kernel_seq_trigger(force->_seqId[id], SEQUENCE_TRIGGER_EXPIRE, 0, 150 + id);
if (spriteId == 2)
force->_horizontal++;
else
diff --git a/engines/mads/nebular/rooms/room101.cpp b/engines/mads/nebular/rooms/room101.cpp
index 5fdfca9c35d..84403cb4034 100644
--- a/engines/mads/nebular/rooms/room101.cpp
+++ b/engines/mads/nebular/rooms/room101.cpp
@@ -50,19 +50,19 @@ static void room_101_say_dang() {
switch (kernel.trigger) {
case 0:
- _scene->_sequences.remove(g_sequence_ids[11]);
- g_sequence_ids[11] = _scene->_sequences.startPingPongCycle(g_sprite_ids[11], false, 3, 6, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 21);
- _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_delete(g_sequence_ids[11]);
+ g_sequence_ids[11] = kernel_seq_pingpong(g_sprite_ids[11], false, 3, 0, 0, 6);
+ kernel_seq_range(g_sequence_ids[11], 17, 21);
+ kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
g_engine->_soundManager->command(17, 0);
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 3, 2, 0, 0);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 3, 0, 0, 2);
break;
case 72:
- g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 17);
+ g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 6, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[11], 17, 17);
kernel_message_add(quote_string(kernel.quotes, 57), 143, 61, 0x1110, 60, 0, 0);
- _scene->_sequences.addTimer(120, 73);
+ kernel_timing_trigger(120, 73);
break;
case 73:
@@ -91,16 +91,16 @@ static void room_101_init() {
g_sprite_ids[13] = kernel_load_series(kernel_name('x', 8), 0);
g_sprite_ids[14] = kernel_load_series(kernel_name('x', 0), 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 5, 0, 0, 25);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 4, 0, 1, 0);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 2, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 7, 70);
- g_sequence_ids[4] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[4], false, 10, 0, 0, 60);
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 5, 0, 1, 0);
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 10, 0, 2, 0);
- g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 6, 0, 0, 0);
- g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 6, 0, 10, 4);
- g_sequence_ids[10] = _scene->_sequences.addSpriteCycle(g_sprite_ids[10], false, 6, 0, 32, 47);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 5, 25, 0, 0);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 4, 0, 1, 0);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 2, 0);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 7, 70);
+ g_sequence_ids[4] = kernel_seq_backward(g_sprite_ids[4], false, 10, 60, 0, 0);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 5, 0, 1, 0);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 10, 0, 2, 0);
+ g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 6, 0, 0, 0);
+ g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 6, 4, 10, 0);
+ g_sequence_ids[10] = kernel_seq_forward(g_sprite_ids[10], false, 6, 47, 32, 0);
_scene->_hotspots.activate(words_shield_modulator, false);
local._panelOpened = false;
@@ -119,15 +119,15 @@ static void room_101_init() {
player.x = 161;
player.y = 123;
player.facing = FACING_NORTHEAST;
- g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 3, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 17);
+ g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 3, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[11], 17, 17);
_scene->_hotspots.activate(words_chair, false);
local._chairHotspotId = _scene->_dynamicHotspots.add(words_chair, words_sit_in, -1, Common::Rect(159, 84, 159 + 33, 84 + 36));
if (previous_room == 112)
room_101_say_dang();
} else {
- g_sequence_ids[12] = _scene->_sequences.addSpriteCycle(g_sprite_ids[12], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[12], 4);
+ g_sequence_ids[12] = kernel_seq_forward(g_sprite_ids[12], false, 6, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[12], 4);
}
kernel.quotes = quote_load(0x31, 0x32, 0x39, 0x36, 0x37, 0x38, 0);
@@ -225,10 +225,10 @@ static void room_101_pre_parser() {
case 0:
player.ready_to_walk = false;
player.commands_allowed = false;
- _scene->_sequences.remove(g_sequence_ids[11]);
- g_sequence_ids[11] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[11], false, 3, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.setAnimRange(g_sequence_ids[11], 1, 17);
+ kernel_seq_delete(g_sequence_ids[11]);
+ g_sequence_ids[11] = kernel_seq_backward(g_sprite_ids[11], false, 3, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_range(g_sequence_ids[11], 1, 17);
g_engine->_soundManager->command(16, 0);
break;
@@ -239,8 +239,8 @@ static void room_101_pre_parser() {
player.ready_to_walk = true;
_scene->_hotspots.activate(71, true);
_scene->_dynamicHotspots.remove(local._chairHotspotId);
- g_sequence_ids[12] = _scene->_sequences.addSpriteCycle(g_sprite_ids[12], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[12], 4);
+ g_sequence_ids[12] = kernel_seq_forward(g_sprite_ids[12], false, 6, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[12], 4);
break;
default:
@@ -253,10 +253,10 @@ static void room_101_pre_parser() {
switch (kernel.trigger) {
case 0:
if (player.need_to_walk) {
- _scene->_sequences.remove(g_sequence_ids[13]);
+ kernel_seq_delete(g_sequence_ids[13]);
local._shieldSpriteIdx = object_is_here(OBJ_SHIELD_MODULATOR) ? 13 : 14;
- g_sequence_ids[13] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[local._shieldSpriteIdx], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[13] = kernel_seq_backward(g_sprite_ids[local._shieldSpriteIdx], false, 6, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
}
@@ -291,11 +291,11 @@ static void room_101_parser() {
if (!local._sittingFl) {
switch (kernel.trigger) {
case 0:
- _scene->_sequences.remove(g_sequence_ids[12]);
- g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 3, 1);
- _scene->_sequences.setAnimRange(g_sequence_ids[11], 1, 17);
- _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_SPRITE, 10, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_delete(g_sequence_ids[12]);
+ g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 3, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[11], 1, 17);
+ kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_SPRITE, 10, 1);
+ kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
player.commands_allowed = false;
player.walker_visible = false;
player.command_ready = false;
@@ -306,8 +306,8 @@ static void room_101_parser() {
break;
case 2:
- g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 3, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 17);
+ g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 3, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[11], 17, 17);
player.commands_allowed = true;
local._sittingFl = true;
_scene->_hotspots.activate(71, false);
@@ -333,16 +333,16 @@ static void room_101_parser() {
switch (kernel.trigger) {
case 0:
local._shieldSpriteIdx = object_is_here(OBJ_SHIELD_MODULATOR) ? 13 : 14;
- g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[local._shieldSpriteIdx], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[local._shieldSpriteIdx], false, 6, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
break;
case 1:
- _scene->_sequences.remove(g_sequence_ids[13]);
- g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[local._shieldSpriteIdx], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], -2, -2);
+ kernel_seq_delete(g_sequence_ids[13]);
+ g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[local._shieldSpriteIdx], false, 6, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[13], -2, -2);
player.commands_allowed = true;
local._panelOpened = true;
if (object_is_here(OBJ_SHIELD_MODULATOR))
@@ -358,9 +358,9 @@ static void room_101_parser() {
if ((player_said_2(take, shield_modulator) || player_said_2(pull, shield_modulator)) && object_is_here(OBJ_SHIELD_MODULATOR)) {
inter_give_to_player(OBJ_SHIELD_MODULATOR);
- _scene->_sequences.remove(g_sequence_ids[13]);
- g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[14], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], -2, -2);
+ kernel_seq_delete(g_sequence_ids[13]);
+ g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[14], false, 6, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[13], -2, -2);
_scene->_hotspots.activate(words_shield_modulator, false);
object_examine(OBJ_SHIELD_MODULATOR, 10120, 0);
g_engine->_soundManager->command(22, 0);
@@ -394,24 +394,24 @@ static void room_101_parser() {
switch (kernel.trigger) {
case 0:
player.commands_allowed = false;
- _scene->_sequences.remove(g_sequence_ids[11]);
- g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 3, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 21);
- _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_delete(g_sequence_ids[11]);
+ g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 3, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[11], 17, 21);
+ kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
g_engine->_soundManager->command(17, 0);
break;
case 1:
- g_sequence_ids[11] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[11], false, 3, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
- _scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 21);
+ g_sequence_ids[11] = kernel_seq_backward(g_sprite_ids[11], false, 3, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_range(g_sequence_ids[11], 17, 21);
break;
case 2:
- g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 3, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[11], 17, 17);
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 3, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 3, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[11], 17, 17);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 3, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room102.cpp b/engines/mads/nebular/rooms/room102.cpp
index 5d05b7b1484..9d201937d37 100644
--- a/engines/mads/nebular/rooms/room102.cpp
+++ b/engines/mads/nebular/rooms/room102.cpp
@@ -68,30 +68,30 @@ static void room_102_init() {
g_sprite_ids[11] = kernel_load_series("*RXMRC_8", 0);
g_sprite_ids[13] = kernel_load_series(kernel_name('x', 0), 0);
- g_sequence_ids[1] = _scene->_sequences.startPingPongCycle(g_sprite_ids[1], false, 8, 0, 0, 0);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 170, 0, 1, 6);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 11, 0, 2, 3);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 4, 0, 1, 0);
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 3, 0, 0, 5);
+ g_sequence_ids[1] = kernel_seq_pingpong(g_sprite_ids[1], false, 8, 0, 0, 0);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 170, 6, 1, 0);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 11, 3, 2, 0);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 4, 0, 1, 0);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 3, 5, 0, 0);
if (object_is_here(OBJ_BINOCULARS))
- g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 24, 0, 0, 24);
+ g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 24, 24, 0, 0);
else
_scene->_hotspots.activate(words_binoculars, false);
_scene->_hotspots.activate(words_burger, false);
if (global[kMedicineCabinetOpen]) {
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 6, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[8], -2, -2);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 6, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[8], -2, -2);
}
if (previous_room == 101) {
player.x = 229;
player.y = 109;
player.commands_allowed = false;
- g_sequence_ids[6] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[6], false, 6, 1, 2, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ g_sequence_ids[6] = kernel_seq_backward(g_sprite_ids[6], false, 6, 0, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
} else if (previous_room == 103) {
player.x = 47;
player.y = 152;
@@ -104,16 +104,16 @@ static void room_102_init() {
if (previous_room != 106) {
if (global[kWaterInAPuddle]) {
- g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], -2, -2);
- _scene->_sequences.setDepth(g_sequence_ids[13], 5);
+ g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 6, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[13], -2, -2);
+ kernel_seq_depth(g_sequence_ids[13], 5);
}
} else {
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
- _scene->_sequences.setDepth(g_sequence_ids[13], 5);
+ g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 6, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_depth(g_sequence_ids[13], 5);
g_engine->_soundManager->command(24, 0);
g_engine->_soundManager->command(28, 0);
}
@@ -136,10 +136,10 @@ static void room_102_daemon() {
player.commands_allowed = true;
if (kernel.trigger == 72) {
- g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], -2, -2);
- _scene->_sequences.setDepth(g_sequence_ids[13], 5);
- _scene->_sequences.addTimer(48, 90);
+ g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 6, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[13], -2, -2);
+ kernel_seq_depth(g_sequence_ids[13], 5);
+ kernel_timing_trigger(48, 90);
}
if (kernel.trigger >= 90) {
@@ -152,7 +152,7 @@ static void room_102_daemon() {
g_engine->_soundManager->command(24, 0);
} else {
g_engine->_soundManager->command(23, 0);
- _scene->_sequences.addTimer(48, kernel.trigger + 1);
+ kernel_timing_trigger(48, kernel.trigger + 1);
}
}
@@ -189,10 +189,10 @@ static void room_102_pre_parser() {
switch (kernel.trigger) {
case 0:
if (player.need_to_walk) {
- _scene->_sequences.remove(g_sequence_ids[7]);
- g_sequence_ids[7] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[7], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.setDepth(g_sequence_ids[7], 15);
+ kernel_seq_delete(g_sequence_ids[7]);
+ g_sequence_ids[7] = kernel_seq_backward(g_sprite_ids[7], false, 6, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_depth(g_sequence_ids[7], 15);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
}
@@ -200,7 +200,7 @@ static void room_102_pre_parser() {
case 1:
if (object_is_here(OBJ_BURGER)) {
- _scene->_sequences.remove(g_sequence_ids[10]);
+ kernel_seq_delete(g_sequence_ids[10]);
_scene->_hotspots.activate(words_burger, false);
}
local._fridgeOpenedFl = false;
@@ -227,12 +227,12 @@ static void room_102_parser() {
if (player_said_1(refrigerator) && !local._fridgeOpenedFl) {
switch (kernel.trigger) {
case 0:
- g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[7], 15);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 6, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[7], 15);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
if (object_is_here(OBJ_BURGER)) {
- g_sequence_ids[10] = _scene->_sequences.addSpriteCycle(g_sprite_ids[10], false, 7, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[10], 14);
+ g_sequence_ids[10] = kernel_seq_forward(g_sprite_ids[10], false, 7, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[10], 14);
}
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
@@ -240,15 +240,15 @@ static void room_102_parser() {
return;
case 1:
- g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[7], -2, -2);
- _scene->_sequences.setDepth(g_sequence_ids[7], 15);
+ g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 6, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[7], -2, -2);
+ kernel_seq_depth(g_sequence_ids[7], 15);
int delay;
if (player_said_1(walkto) && !local._fridgeFirstOpenFl)
delay = 0;
else
delay = 48;
- _scene->_sequences.addTimer(delay, 2);
+ kernel_timing_trigger(delay, 2);
player.command_ready = false;
return;
@@ -307,8 +307,8 @@ static void room_102_parser() {
if (player_said_2(walk_through, door)) {
switch (kernel.trigger) {
case 0:
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 6, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
break;
@@ -426,19 +426,19 @@ static void room_102_parser() {
case 1:
g_engine->_soundManager->command(24, 0);
- _scene->_sequences.addTimer(48, 2);
+ kernel_timing_trigger(48, 2);
break;
case 2:
case 3:
case 4:
g_engine->_soundManager->command(23, 0);
- _scene->_sequences.addTimer(48, kernel.trigger + 1);
+ kernel_timing_trigger(48, kernel.trigger + 1);
break;
case 5:
g_engine->_soundManager->command(24, 0);
- _scene->_sequences.addTimer(48, kernel.trigger + 1);
+ kernel_timing_trigger(48, kernel.trigger + 1);
break;
case 6:
@@ -517,15 +517,15 @@ static void room_102_parser() {
if (player_said_2(close, medicine_cabinet) && global[kMedicineCabinetOpen]) {
switch (kernel.trigger) {
case 0:
- _scene->_sequences.remove(g_sequence_ids[8]);
- g_sequence_ids[8] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[8], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_delete(g_sequence_ids[8]);
+ g_sequence_ids[8] = kernel_seq_backward(g_sprite_ids[8], false, 6, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(21, 0);
break;
case 1:
- _scene->_sequences.addTimer(48, 2);
+ kernel_timing_trigger(48, 2);
break;
case 2:
@@ -544,16 +544,16 @@ static void room_102_parser() {
if (player_said_2(open, medicine_cabinet) && !global[kMedicineCabinetOpen]) {
switch (kernel.trigger) {
case 0:
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 6, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(21, 0);
break;
case 1:
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[8], -2, -2);
- _scene->_sequences.addTimer(48, 2);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 6, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[8], -2, -2);
+ kernel_timing_trigger(48, 2);
break;
case 2:
@@ -577,16 +577,16 @@ static void room_102_parser() {
if (player_said_2(take, binoculars) && object_is_here(OBJ_BINOCULARS)) {
switch (kernel.trigger) {
case 0:
- g_sequence_ids[11] = _scene->_sequences.startPingPongCycle(g_sprite_ids[11], false, 3, 1, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[11]);
- _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[11] = kernel_seq_pingpong(g_sprite_ids[11], false, 3, 0, 0, 1);
+ kernel_seq_player(g_sequence_ids[11], false);
+ kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.walker_visible = false;
player.commands_allowed = false;
break;
case 1:
inter_give_to_player(OBJ_BINOCULARS);
- _scene->_sequences.remove(g_sequence_ids[9]);
+ kernel_seq_delete(g_sequence_ids[9]);
_scene->_hotspots.activate(words_binoculars, false);
player.walker_visible = true;
player.commands_allowed = true;
@@ -604,7 +604,7 @@ static void room_102_parser() {
if (player_said_2(take, burger) && object_is_here(OBJ_BURGER)) {
if (kernel.trigger == 0) {
object_examine(OBJ_BURGER, 10235, 0);
- _scene->_sequences.remove(g_sequence_ids[10]);
+ kernel_seq_delete(g_sequence_ids[10]);
inter_give_to_player(OBJ_BURGER);
_scene->_hotspots.activate(words_burger, false);
g_engine->_soundManager->command(22, 0);
diff --git a/engines/mads/nebular/rooms/room103.cpp b/engines/mads/nebular/rooms/room103.cpp
index 1f245c52536..78d58c3d979 100644
--- a/engines/mads/nebular/rooms/room103.cpp
+++ b/engines/mads/nebular/rooms/room103.cpp
@@ -56,35 +56,35 @@ static void room_103_init() {
g_sprite_ids[11] = kernel_load_series(kernel_name('c', -1), 0);
g_sprite_ids[12] = kernel_load_series("*RXMBD_2", 0);
g_sprite_ids[13] = kernel_load_series("*RXMRD_3", 0);
- g_sprite_ids[15] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 7, 0, 1, 0);
+ g_sprite_ids[15] = kernel_seq_forward(g_sprite_ids[0], false, 7, 0, 1, 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 2, 0);
- _scene->_sequences.setDepth(g_sequence_ids[1], 0);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 2, 0);
+ kernel_seq_depth(g_sequence_ids[1], 0);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 0, 25);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 2, 72);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 25, 0, 0);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 2, 72);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 1, 37);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 2, 73);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 37, 1, 0);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 2, 73);
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8);
- g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 6);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6);
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 6);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 8, 0, 0, 0);
+ g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 6, 0, 0, 0);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 0);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 6, 0, 0, 0);
if (object_is_here(OBJ_TIMER_MODULE))
- g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 6);
+ g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 6, 0, 0, 0);
else
_scene._hotspots.activate(371, false);
if (object_is_here(OBJ_REBREATHER))
- g_sequence_ids[10] = _scene->_sequences.addSpriteCycle(g_sprite_ids[10], false, 6);
+ g_sequence_ids[10] = kernel_seq_forward(g_sprite_ids[10], false, 6, 0, 0, 0);
else
_scene._hotspots.activate(289, false);
if (global[kTurkeyExploded]) {
- g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 6);
- _scene->_sequences.setAnimRange(g_sequence_ids[9], -2, -2);
+ g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 6, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[9], -2, -2);
_scene->_hotspots.activate(362, false);
}
@@ -95,8 +95,8 @@ static void room_103_init() {
if (previous_room == 102) {
player.commands_allowed = false;
- g_sequence_ids[6] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[6], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ g_sequence_ids[6] = kernel_seq_backward(g_sprite_ids[6], false, 6, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
}
section_1_music();
@@ -169,8 +169,8 @@ static void room_103_parser() {
else if (player_said_2(walk_through, door)) {
switch (kernel.trigger) {
case 0:
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 6, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 6, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
break;
@@ -188,16 +188,16 @@ static void room_103_parser() {
switch (kernel.trigger) {
case 0:
kernel_load_variant(1);
- g_sequence_ids[13] = _scene->_sequences.startPingPongCycle(g_sprite_ids[13], false, 3, 2);
- _scene->_sequences.setMsgLayout(g_sequence_ids[13]);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_SPRITE, 7, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[13] = kernel_seq_pingpong(g_sprite_ids[13], false, 3, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[13], false);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_SPRITE, 7, 1);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
player.walker_visible = false;
player.commands_allowed = false;
break;
case 1:
- _scene->_sequences.remove(g_sequence_ids[11]);
+ kernel_seq_delete(g_sequence_ids[11]);
break;
case 2:
@@ -217,16 +217,16 @@ static void room_103_parser() {
} else if (player_said_2(take, rebreather) && object_is_here(OBJ_REBREATHER)) {
switch (kernel.trigger) {
case 0:
- g_sequence_ids[12] = _scene->_sequences.startPingPongCycle(g_sprite_ids[12], false, 3, 2);
- _scene->_sequences.setMsgLayout(g_sequence_ids[12]);
- _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[12] = kernel_seq_pingpong(g_sprite_ids[12], false, 3, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[12], false);
+ kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
player.walker_visible = false;
player.commands_allowed = false;
break;
case 1:
- _scene->_sequences.remove(g_sequence_ids[10]);
+ kernel_seq_delete(g_sequence_ids[10]);
break;
case 2:
@@ -249,18 +249,18 @@ static void room_103_parser() {
g_engine->_soundManager->command(31, 0);
if (kernel.trigger < 2) {
- g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 6, kernel.trigger < 1 ? 1 : 0);
+ g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 6, 0, 0, kernel.trigger < 1 ? 1 : 0);
if (kernel.trigger) {
// Lock the turkey into a permanent "exploded" frame
- _scene->_sequences.setAnimRange(g_sequence_ids[9], -2, -2);
+ kernel_seq_range(g_sequence_ids[9], -2, -2);
// Rex says "Gads.."
char *msg = quote_string(kernel.quotes, 51);
kernel_message_add(msg, 0, 0, 0x1110, 60, 0, 18);
- _scene->_sequences.addTimer(120, kernel.trigger + 1);
+ kernel_timing_trigger(120, kernel.trigger + 1);
} else {
// Initial turky explosion
- _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
}
}
@@ -294,7 +294,7 @@ static void room_103_parser() {
case 2:
kernel_message_purge();
- _scene->_sequences.addTimer(1, 3);
+ kernel_timing_trigger(1, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room104.cpp b/engines/mads/nebular/rooms/room104.cpp
index e82c3e4b80d..383b06a3ae4 100644
--- a/engines/mads/nebular/rooms/room104.cpp
+++ b/engines/mads/nebular/rooms/room104.cpp
@@ -41,8 +41,8 @@ static Scratch local;
static void room_104_init() {
g_sprite_ids[1] = kernel_load_series(kernel_name('h', -1), 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 14, 0, 0, 1);
- _scene->_sequences.setDepth(g_sequence_ids[1], 8);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 14, 1, 0, 0);
+ kernel_seq_depth(g_sequence_ids[1], 8);
if (previous_room == 105) {
player.x = 302;
@@ -91,17 +91,17 @@ static void room_104_daemon() {
player.walker_visible = false;
g_sprite_ids[2] = kernel_load_series(kernel_name('a', 0), 0);
kernel_new_palette();
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], mirrorFl, 7, 1, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(198, 143));
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], mirrorFl, 7, 0, 0, 1);
+ kernel_seq_loc(g_sequence_ids[2], 198, 143);
+ kernel_seq_depth(g_sequence_ids[2], 4);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], mirrorFl, 7, 0, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(198, 143));
- _scene->_sequences.setAnimRange(g_sequence_ids[2], -2, -2);
- _scene->_sequences.addTimer(90, 2);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], mirrorFl, 7, 0, 0, 0);
+ kernel_seq_loc(g_sequence_ids[2], 198, 143);
+ kernel_seq_range(g_sequence_ids[2], -2, -2);
+ kernel_timing_trigger(90, 2);
break;
case 2:
@@ -124,26 +124,26 @@ static void room_104_daemon() {
player.walker_visible = false;
g_sprite_ids[3] = kernel_load_series(kernel_name('a', 1), 0);
kernel_new_palette();
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 1, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(198, 143));
- _scene->_sequences.setDepth(g_sequence_ids[3], 4);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 14);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 0, 1);
+ kernel_seq_loc(g_sequence_ids[3], 198, 143);
+ kernel_seq_depth(g_sequence_ids[3], 4);
+ kernel_seq_range(g_sequence_ids[3], 1, 14);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 5, 1, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(198, 143));
- _scene->_sequences.setDepth(g_sequence_ids[3], 4);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 15, 32);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 5, 0, 0, 1);
+ kernel_seq_loc(g_sequence_ids[3], 198, 143);
+ kernel_seq_depth(g_sequence_ids[3], 4);
+ kernel_seq_range(g_sequence_ids[3], 15, 32);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 3, 0, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(198, 143));
- _scene->_sequences.setAnimRange(g_sequence_ids[3], -2, -2);
- _scene->_sequences.addTimer(90, 3);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 3, 0, 0, 0);
+ kernel_seq_loc(g_sequence_ids[3], 198, 143);
+ kernel_seq_range(g_sequence_ids[3], -2, -2);
+ kernel_timing_trigger(90, 3);
break;
case 3:
@@ -166,19 +166,19 @@ static void room_104_daemon() {
player.walker_visible = false;
g_sprite_ids[4] = kernel_load_series(kernel_name('a', 2), 0);
kernel_new_palette();
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 8, 1, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(198, 143));
- _scene->_sequences.setDepth(g_sequence_ids[4], 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 8, 0, 0, 1);
+ kernel_seq_loc(g_sequence_ids[4], 198, 143);
+ kernel_seq_depth(g_sequence_ids[4], 4);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
if (config_file.naughtiness >= STORYMODE_NICE)
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 15, 2);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 15, 2);
break;
case 1:
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 8, 0, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(198, 143));
- _scene->_sequences.setAnimRange(g_sequence_ids[4], -2, -2);
- _scene->_sequences.addTimer(90, 2);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 8, 0, 0, 0);
+ kernel_seq_loc(g_sequence_ids[4], 198, 143);
+ kernel_seq_range(g_sequence_ids[4], -2, -2);
+ kernel_timing_trigger(90, 2);
break;
case 2:
diff --git a/engines/mads/nebular/rooms/room105.cpp b/engines/mads/nebular/rooms/room105.cpp
index adc5e2c875f..6a44ca71c86 100644
--- a/engines/mads/nebular/rooms/room105.cpp
+++ b/engines/mads/nebular/rooms/room105.cpp
@@ -41,11 +41,11 @@ static Scratch local;
static void room_105_init() {
g_sprite_ids[1] = kernel_load_series(kernel_name('m', 1), 0);
g_sprite_ids[4] = kernel_load_series(kernel_name('f', 4), 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 8, 0, 0, 0);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 8, 0, 0, 0);
if (global[kFishIn105]) {
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(48, 144));
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 0);
+ kernel_seq_loc(g_sequence_ids[4], 48, 144);
int idx = _scene->_dynamicHotspots.add(words_dead_fish, words_swim_to, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(56, 141), FACING_NORTHWEST);
@@ -83,39 +83,39 @@ static void room_105_daemon() {
kernel_seq_init();
kernel_new_palette();
- g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[0], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 6, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[0], 8);
+ kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
if (config_file.naughtiness >= STORYMODE_NICE)
- _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, 8, 3);
+ kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, 8, 3);
break;
case 1:
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[3], 8);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], -2, -2);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 9, 1, 0, 0);
- _scene->_sequences.updateTimeout(g_sequence_ids[2], g_sequence_ids[0]);
- _scene->_sequences.setDepth(g_sequence_ids[2], 8);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 5, 7);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[3], 8);
+ kernel_seq_range(g_sequence_ids[3], -2, -2);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 9, 0, 0, 1);
+ kernel_seq_timeout(g_sequence_ids[0], g_sequence_ids[2]);
+ kernel_seq_depth(g_sequence_ids[2], 8);
+ kernel_seq_range(g_sequence_ids[2], 5, 7);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
{
int oldIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 9, 0, 0, 0);
- _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
- _scene->_sequences.setDepth(g_sequence_ids[2], 8);
- _scene->_sequences.addTimer(90, 3);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 9, 0, 0, 0);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[2]);
+ kernel_seq_depth(g_sequence_ids[2], 8);
+ kernel_timing_trigger(90, 3);
}
break;
case 3:
text_show(10507);
kernel.force_restart = true;
- _scene->_sequences.addTimer(90, 4);
+ kernel_timing_trigger(90, 4);
break;
default:
@@ -153,7 +153,7 @@ static void room_105_parser() {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, randVal), 0, 0, 0x1110, 120, 0, 34);
} else {
- _scene->_sequences.remove(g_sequence_ids[4]);
+ kernel_seq_delete(g_sequence_ids[4]);
inter_give_to_player(OBJ_DEAD_FISH);
global[kFishIn105] = false;
object_examine(OBJ_DEAD_FISH, 802, 0);
diff --git a/engines/mads/nebular/rooms/room106.cpp b/engines/mads/nebular/rooms/room106.cpp
index c3bdb21c072..b74041de85b 100644
--- a/engines/mads/nebular/rooms/room106.cpp
+++ b/engines/mads/nebular/rooms/room106.cpp
@@ -51,13 +51,13 @@ static void room_106_init() {
}
g_sprite_ids[2] = kernel_load_series(kernel_name('G', -1), 0);
- g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 21, 0, 0, 0);
+ g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 21, 0, 0, 0);
g_sprite_ids[4] = kernel_load_series(kernel_name('I', -1), 0);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 0, 32, 47);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 47, 32, 0);
if (previous_room == 102) {
- g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 1, 4, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 6, 0, 4, 1);
+ kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
player.walker_visible = false;
player.commands_allowed = false;
player.facing = FACING_EAST;
@@ -82,9 +82,9 @@ static void room_106_init() {
}
if (previous_room != 102) {
- g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[0], -2, -2);
- _scene->_sequences.setDepth(g_sequence_ids[0], 14);
+ g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 6, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[0], -2, -2);
+ kernel_seq_depth(g_sequence_ids[0], 14);
}
local._backToShipFl = false;
@@ -97,15 +97,15 @@ static void room_106_init() {
static void room_106_daemon() {
if (kernel.trigger == 70) {
- g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[0], -2, -2);
- _scene->_sequences.setDepth(g_sequence_ids[0], 14);
+ g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 6, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[0], -2, -2);
+ kernel_seq_depth(g_sequence_ids[0], 14);
if (!player_has(OBJ_REBREATHER) && !kernel.teleported_in) {
kernel_run_animation(kernel_full_name(106, 'A', -1, "", EXT_AA), 75);
} else {
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 4, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 28, 71);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 4, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 28, 71);
}
}
@@ -161,7 +161,7 @@ static void room_106_daemon() {
if (msgId >= 0) {
int nextTrigger = kernel.trigger + 1;
kernel_message_add(quote_string(kernel.quotes, msgId), 15, local._positionY, 0x1110, 360, 0, 0);
- _scene->_sequences.addTimer(150, nextTrigger);
+ kernel_timing_trigger(150, nextTrigger);
local._positionY += 14;
}
}
@@ -170,14 +170,14 @@ static void room_106_daemon() {
if (!local._shadowFl) {
if (player.x < 204) {
local._shadowFl = true;
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 4, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 44, 73);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 4, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 44, 73);
}
} else if (kernel.trigger == 73)
player.walker_visible = false;
else if (kernel.trigger == 72)
- _scene->_sequences.addTimer(24, 74);
+ kernel_timing_trigger(24, 74);
else if (kernel.trigger == 74)
new_room = 102;
}
diff --git a/engines/mads/nebular/rooms/room107.cpp b/engines/mads/nebular/rooms/room107.cpp
index 6143fbf7010..3b1d6bd6237 100644
--- a/engines/mads/nebular/rooms/room107.cpp
+++ b/engines/mads/nebular/rooms/room107.cpp
@@ -44,17 +44,17 @@ static void room_107_init() {
g_sprite_ids[4] = kernel_load_series(kernel_full_name(105, 'f', 4, "", EXT_SS), 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 14, 0, 0, 7);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 17, 0, 0, 13);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 19, 0, 0, 9);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 14, 7, 0, 0);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 17, 13, 0, 0);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 19, 9, 0, 0);
for (int i = 1; i < 4; i++)
- _scene->_sequences.setDepth(g_sequence_ids[i], 0);
+ kernel_seq_depth(g_sequence_ids[i], 0);
if (global[kFishIn107]) {
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(68, 151));
- _scene->_sequences.setDepth(g_sequence_ids[4], 1);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 0);
+ kernel_seq_loc(g_sequence_ids[4], 68, 151);
+ kernel_seq_depth(g_sequence_ids[4], 1);
int idx = _scene->_dynamicHotspots.add(words_dead_fish, words_swim_to, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(78, 135), FACING_SOUTHWEST);
}
@@ -74,10 +74,10 @@ static void room_107_init() {
if (((previous_room == 105) || (previous_room == 106)) && (g_engine->getRandomNumber(1, 3) == 1)) {
g_sprite_ids[0] = kernel_load_series(kernel_full_name(105, 'R', 1, "", EXT_SS), 0);
- g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], true, 4, 0, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[0], Common::Point(270, 150));
- _scene->_sequences.setMotion(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, -200, 0);
- _scene->_sequences.setDepth(g_sequence_ids[0], 2);
+ g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], true, 4, 0, 0, 0);
+ kernel_seq_loc(g_sequence_ids[0], 270, 150);
+ kernel_seq_motion(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, -200, 0);
+ kernel_seq_depth(g_sequence_ids[0], 2);
_scene->_dynamicHotspots.add(words_manta_ray, words_swim_to, g_sequence_ids[0], Common::Rect(0, 0, 0, 0));
}
@@ -116,7 +116,7 @@ static void room_107_parser() {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, randVal), 0, 0, 0x1110, 120, 0, 34);
} else {
- _scene->_sequences.remove(g_sequence_ids[4]);
+ kernel_seq_delete(g_sequence_ids[4]);
inter_give_to_player(OBJ_DEAD_FISH);
global[kFishIn107] = false;
object_examine(OBJ_DEAD_FISH, 802, 0);
diff --git a/engines/mads/nebular/rooms/room108.cpp b/engines/mads/nebular/rooms/room108.cpp
index 5841eb671ba..29c3ef44a5b 100644
--- a/engines/mads/nebular/rooms/room108.cpp
+++ b/engines/mads/nebular/rooms/room108.cpp
@@ -41,17 +41,17 @@ static void room_108_init() {
g_sprite_ids[3] = kernel_load_series(kernel_name('X', 3), 0);
g_sprite_ids[4] = kernel_load_series(kernel_full_name(105, 'f', 4, "", EXT_SS), 0);
- g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 13, 0, 0, 7);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 16, 0, 0, 9);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 17, 0, 0, 3);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 14, 0, 0, 13);
+ g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 13, 7, 0, 0);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 16, 9, 0, 0);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 17, 3, 0, 0);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 14, 13, 0, 0);
for (int i = 0; i <= 3; i++)
- _scene->_sequences.setDepth(g_sequence_ids[i], 0);
+ kernel_seq_depth(g_sequence_ids[i], 0);
if (global[kFishIn108]) {
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(41, 109));
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 0);
+ kernel_seq_loc(g_sequence_ids[4], 41, 109);
int idx = _scene->_dynamicHotspots.add(words_dead_fish, words_swim_to, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(41, 109), FACING_NORTHWEST);
}
@@ -87,7 +87,7 @@ static void room_108_parser() {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, randVal), 0, 0, 0x1110, 120, 0, 34);
} else {
- _scene->_sequences.remove(g_sequence_ids[4]);
+ kernel_seq_delete(g_sequence_ids[4]);
inter_give_to_player(OBJ_DEAD_FISH);
global[kFishIn108] = false;
object_examine(OBJ_DEAD_FISH, 10808, 0);
diff --git a/engines/mads/nebular/rooms/room109.cpp b/engines/mads/nebular/rooms/room109.cpp
index de4e359e2a5..69ca84f8617 100644
--- a/engines/mads/nebular/rooms/room109.cpp
+++ b/engines/mads/nebular/rooms/room109.cpp
@@ -75,9 +75,9 @@ static void room_109_init() {
}
if (!global[kHoovicAlive]) {
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[6], 4);
- _scene->_sequences.setAnimRange(g_sequence_ids[6], -2, -2);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 6, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[6], 4);
+ kernel_seq_range(g_sequence_ids[6], -2, -2);
int idx = _scene->_dynamicHotspots.add(words_dead_purple_monster, words_swim_to, -1, Common::Rect(256, 57, 267, 87));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(241, 91), FACING_NORTHEAST);
@@ -91,8 +91,8 @@ static void room_109_init() {
kernel_load_variant(1);
if (object_is_here(OBJ_BURGER)) {
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], -2, -2);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[3], -2, -2);
int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
} else if (kernel.teleported_in)
@@ -113,11 +113,11 @@ static void room_109_init() {
g_sprite_ids[10] = kernel_load_series(kernel_full_name(105, 'F', 1, "", EXT_SS), 0);
g_sprite_ids[9] = kernel_load_series(kernel_name('H', 1), 0);
- g_sequence_ids[10] = _scene->_sequences.startPingPongCycle(g_sprite_ids[10], true, 4, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[10], 5);
- _scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(126, 39));
- _scene->_sequences.setMotion(g_sequence_ids[10], 0, 200, 0);
- _scene->_sequences.setScale(g_sequence_ids[10], 80);
+ g_sequence_ids[10] = kernel_seq_pingpong(g_sprite_ids[10], true, 4, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[10], 5);
+ kernel_seq_loc(g_sequence_ids[10], 126, 39);
+ kernel_seq_motion(g_sequence_ids[10], 0, 200, 0);
+ kernel_seq_scale(g_sequence_ids[10], 80);
player.commands_allowed = false;
}
@@ -128,10 +128,10 @@ static void room_109_daemon() {
if (local._beforeEatingRex) {
if (!local._eatingRex) {
if (player.x > 205) {
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[4], 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 70);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[4], 4);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 70);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
local._eatingRex = true;
g_engine->_soundManager->command(34, 0);
@@ -169,22 +169,22 @@ static void room_109_daemon() {
local._hungryFl = true;
}
- if (local._eatingFirstFish && (_scene->_sequences[g_sequence_ids[10]]._position.x >= 178)) {
- g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 4, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[9], 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_SPRITE, 29, 72);
- _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 29, 73);
- _scene->_sequences.updateTimeout(g_sequence_ids[10], g_sequence_ids[9]);
+ if (local._eatingFirstFish && (sequence_list[g_sequence_ids[10]].x >= 178)) {
+ g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 4, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[9], 4);
+ kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_SPRITE, 29, 72);
+ kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 29, 73);
+ kernel_seq_timeout(g_sequence_ids[9], g_sequence_ids[10]);
local._eatingFirstFish = false;
player.commands_allowed = true;
g_engine->_soundManager->command(34, 0);
}
if (kernel.trigger == 72)
- _scene->_sequences.remove(g_sequence_ids[10]);
+ kernel_seq_delete(g_sequence_ids[10]);
if (kernel.trigger == 73) {
- _scene->_sequences.remove(g_sequence_ids[9]);
+ kernel_seq_delete(g_sequence_ids[9]);
matte_deallocate_series(g_sprite_ids[9], true);
matte_deallocate_series(g_sprite_ids[10], true);
@@ -239,9 +239,9 @@ static void room_109_parser() {
local._rexThrowingObject = true;
local._hoovicDifficultFl = false;
inter_move_object(local._throwingObjectId, NOWHERE);
- g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 4, 1, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[0]);
- _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 4, 0, 0, 1);
+ kernel_seq_player(g_sequence_ids[0], false);
+ kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.walker_visible = false;
player.commands_allowed = false;
@@ -268,24 +268,24 @@ static void room_109_parser() {
local._hoovicTrigger = 4;
switch (local._throwingObjectId) {
case OBJ_BURGER:
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, (local._hoovicDifficultFl ? 4 : 6), 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 2, 2);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, (local._hoovicDifficultFl ? 4 : 6), 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 2, 2);
if (local._hoovicDifficultFl) {
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 30);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ kernel_seq_range(g_sequence_ids[3], 1, 30);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
} else {
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
+ kernel_seq_range(g_sequence_ids[3], 1, 4);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
local._hoovicTrigger = 3;
}
break;
case OBJ_DEAD_FISH:
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 4, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 2, 2);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 4, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 2, 2);
break;
case OBJ_STUFFED_FISH:
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 4, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 2, 2);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 4, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 2, 2);
local._hoovicTrigger = 3;
break;
default:
@@ -295,12 +295,12 @@ static void room_109_parser() {
case 2:
if (local._hoovicDifficultFl)
- g_sequence_ids[8] = _scene->_sequences.startPingPongCycle(g_sprite_ids[8], false, 4, 2, 0, 0);
+ g_sequence_ids[8] = kernel_seq_pingpong(g_sprite_ids[8], false, 4, 0, 0, 2);
else
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 4, 1, 0, 0);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 4, 0, 0, 1);
- _scene->_sequences.setDepth(g_sequence_ids[8], 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, local._hoovicTrigger);
+ kernel_seq_depth(g_sequence_ids[8], 4);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, local._hoovicTrigger);
g_engine->_soundManager->command(34, 0);
break;
@@ -312,9 +312,9 @@ static void room_109_parser() {
case 4:
if (!global[kHoovicAlive]) {
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[6], 4);
- _scene->_sequences.setAnimRange(g_sequence_ids[6], -2, -2);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 6, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[6], 4);
+ kernel_seq_range(g_sequence_ids[6], -2, -2);
int idx = _scene->_dynamicHotspots.add(words_dead_purple_monster, words_swim_to, -1, Common::Rect(256, 57, 256 + 12, 57 + 31));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(241, 91), FACING_NORTHEAST);
idx = _scene->_dynamicHotspots.add(words_dead_purple_monster, words_swim_to, -1, Common::Rect(242, 79, 242 + 24, 79 + 12));
@@ -348,11 +348,11 @@ static void room_109_parser() {
}
}
kernel_abort_animation(0);
- _scene->_sequences.remove(g_sequence_ids[8]);
+ kernel_seq_delete(g_sequence_ids[8]);
matte_deallocate_series(g_sprite_ids[8], true);
_scene->_spriteSlots.clear();
_scene->_spriteSlots.fullRefresh();
- _scene->_sequences.scan();
+ kernel_seq_full_update();
if (player.walker_visible) {
player.sprite_changed = true;
player_set_image();
@@ -365,29 +365,29 @@ static void room_109_parser() {
case 5:
{
inter_move_object(OBJ_BURGER, room_id);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 30, 30);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[3], 30, 30);
int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
- _scene->_sequences.addTimer(65, 6);
+ kernel_timing_trigger(65, 6);
}
break;
case 6:
{
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 31, 46);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 31, 46);
int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
}
break;
case 7:
{
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, -2);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -2);
int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
text_show(10915);
@@ -395,8 +395,8 @@ static void room_109_parser() {
break;
case 8:
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 5, 16);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 7, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 5, 16);
break;
default:
@@ -412,7 +412,7 @@ static void room_109_parser() {
}
if (player_said_2(take, burger) && object_is_here(OBJ_BURGER)) {
- _scene->_sequences.remove(g_sequence_ids[3]);
+ kernel_seq_delete(g_sequence_ids[3]);
inter_give_to_player(OBJ_BURGER);
} else if (player_said_2(look, ocean_floor))
text_show(10901);
diff --git a/engines/mads/nebular/rooms/room110.cpp b/engines/mads/nebular/rooms/room110.cpp
index 33394398e12..aa451ba23dc 100644
--- a/engines/mads/nebular/rooms/room110.cpp
+++ b/engines/mads/nebular/rooms/room110.cpp
@@ -51,10 +51,10 @@ static void room_110_init() {
player.y = 71;
player.facing = FACING_EAST;
- g_sequence_ids[0] = _scene->_sequences.startCycle(g_sprite_ids[0], false, 1);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
+ g_sequence_ids[0] = kernel_seq_stamp(g_sprite_ids[0], false, 1);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 1);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
local._crabsFl = true;
@@ -96,15 +96,15 @@ static void room_110_pre_parser() {
if (local._crabsFl) {
local._crabsFl = false;
- _scene->_sequences.remove(g_sequence_ids[0]);
- _scene->_sequences.remove(g_sequence_ids[1]);
- _scene->_sequences.remove(g_sequence_ids[2]);
- _scene->_sequences.remove(g_sequence_ids[3]);
+ kernel_seq_delete(g_sequence_ids[0]);
+ kernel_seq_delete(g_sequence_ids[1]);
+ kernel_seq_delete(g_sequence_ids[2]);
+ kernel_seq_delete(g_sequence_ids[3]);
- g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 16, 1, 0, 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 16, 1, 0, 0);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 16, 1, 0, 0);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 16, 1, 0, 0);
+ g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 16, 0, 0, 1);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 16, 0, 0, 1);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 16, 0, 0, 1);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 16, 0, 0, 1);
int idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[0], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
diff --git a/engines/mads/nebular/rooms/room111.cpp b/engines/mads/nebular/rooms/room111.cpp
index 009dd89988c..8158c2cd353 100644
--- a/engines/mads/nebular/rooms/room111.cpp
+++ b/engines/mads/nebular/rooms/room111.cpp
@@ -50,16 +50,16 @@ static void room_111_init() {
g_sprite_ids[4] = kernel_load_series(kernel_name('B', 1), 0);
g_sprite_ids[5] = kernel_load_series(kernel_name('B', 2), 0);
- g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 8, 0, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, 9, 73);
- _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, 13, 73);
+ g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 8, 0, 0, 0);
+ kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, 9, 73);
+ kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, 13, 73);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 5, 0, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 71, 71);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 5, 0, 0, 0);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 71, 71);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 0, 0, 0);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 0);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 1);
int idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
@@ -105,26 +105,26 @@ static void room_111_daemon() {
if ((kernel.trigger == 71) && !local._stampedFl) {
local._stampedFl = true;
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 18, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 18, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
}
if (kernel.trigger == 72) {
- _scene->_sequences.remove(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 20);
+ kernel_seq_delete(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 20);
}
if (!local._launch1Fl && (g_engine->getRandomNumber(1, 5000) == 1)) {
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 5, 1, 0, 0);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 5, 0, 0, 1);
local._launch1Fl = true;
int idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
}
if (!local._launched2Fl && (g_engine->getRandomNumber(1, 30000) == 1)) {
- _scene->_sequences.remove(g_sequence_ids[5]);
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 5, 1, 0, 0);
+ kernel_seq_delete(g_sequence_ids[5]);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 5, 0, 0, 1);
int idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
local._launched2Fl = true;
diff --git a/engines/mads/nebular/rooms/room112.cpp b/engines/mads/nebular/rooms/room112.cpp
index 732079a4048..8ca89aeb99a 100644
--- a/engines/mads/nebular/rooms/room112.cpp
+++ b/engines/mads/nebular/rooms/room112.cpp
@@ -39,9 +39,9 @@ static void room_112_init() {
g_sprite_ids[2] = kernel_load_series(kernel_name('X', 2), 0);
g_sprite_ids[3] = kernel_load_series(kernel_name('X', 5), 0);
- g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 10, 0, 17, 20);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 4, 0, 0, 0);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 3, 0);
+ g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 10, 20, 17, 0);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 4, 0, 0, 0);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 3, 0);
player.commands_allowed = false;
player.walker_visible = false;
@@ -61,9 +61,9 @@ static void room_112_daemon() {
}
if (kernel.trigger == 70) {
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 7, 3, 0, 11);
- _scene->_sequences.setDepth(g_sequence_ids[3], 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 7, 11, 0, 3);
+ kernel_seq_depth(g_sequence_ids[3], 1);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
if (kernel.trigger == 71) {
diff --git a/engines/mads/nebular/rooms/room201.cpp b/engines/mads/nebular/rooms/room201.cpp
index 010ebcf60f3..40ecd965c3f 100644
--- a/engines/mads/nebular/rooms/room201.cpp
+++ b/engines/mads/nebular/rooms/room201.cpp
@@ -45,12 +45,12 @@ static void room_201_init() {
g_sprite_ids[3] = kernel_load_series(kernel_name('m', -1), 0);
g_sprite_ids[4] = kernel_load_series(kernel_name('b', -1), 0);
g_sprite_ids[5] = kernel_load_series("*SC002Z1", 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 1, 0);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 15, 0, 0, 50);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 4, 0, 0, 0);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[4], 8);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(185, 46));
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 1, 0);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 15, 50, 0, 0);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 4, 0, 0, 0);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[4], 8);
+ kernel_seq_loc(g_sequence_ids[4], 185, 46);
int idx = _scene->_dynamicHotspots.add(words_birds, words_look_at, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(186, 81), FACING_NORTH);
@@ -103,10 +103,10 @@ static void room_201_init() {
g_sprite_ids[7] = kernel_load_series(kernel_name('a', 1), 0);
kernel.quotes = quote_load(90, 91, 0);
player.commands_allowed = false;
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[6], -1, 12);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_SPRITE, 12, 70);
- _scene->_sequences.setDepth(g_sequence_ids[6], 1);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 7, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[6], -1, 12);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_SPRITE, 12, 70);
+ kernel_seq_depth(g_sequence_ids[6], 1);
local._pterodactylFlag = false;
player_walk(157, 143, FACING_NORTH);
pal_change_color(252, 45, 63, 45);
@@ -123,25 +123,25 @@ static void room_201_init() {
static void room_201_daemon() {
if (local._pterodactylFlag && (g_engine->getRandomNumber(5000) == 9)) {
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 5, 1, 6, 0);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 5, 0, 6, 1);
int idx = _scene->_dynamicHotspots.add(words_swooping_creature, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(270, 80), FACING_EAST);
- _scene->_sequences.setDepth(g_sequence_ids[5], 8);
+ kernel_seq_depth(g_sequence_ids[5], 8);
g_engine->_soundManager->command(14, 0);
local._pterodactylFlag = false;
}
if (kernel.trigger == 70) {
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 9, 1, 0, 0);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 9, 0, 0, 1);
player.walker_visible = false;
- _scene->_sequences.setAnimRange(g_sequence_ids[6], 12, 16);
- g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 9, 1, 0, 0);
+ kernel_seq_range(g_sequence_ids[6], 12, 16);
+ g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 9, 0, 0, 1);
g_engine->_soundManager->command(42, 0);
- _scene->_sequences.setDepth(g_sequence_ids[6], 1);
- _scene->_sequences.setDepth(g_sequence_ids[7], 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_SPRITE, 3, 81);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ kernel_seq_depth(g_sequence_ids[6], 1);
+ kernel_seq_depth(g_sequence_ids[7], 1);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_SPRITE, 3, 81);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
}
if (kernel.trigger == 81) {
@@ -149,26 +149,26 @@ static void room_201_daemon() {
}
if (kernel.trigger == 71) {
- g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 9, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[7], -2, -2);
- _scene->_sequences.setDepth(g_sequence_ids[7], 1);
+ g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 9, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[7], -2, -2);
+ kernel_seq_depth(g_sequence_ids[7], 1);
}
if (kernel.trigger == 73) {
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 9, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[6], 17, -2);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
- _scene->_sequences.setDepth(g_sequence_ids[6], 1);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 9, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[6], 17, -2);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ kernel_seq_depth(g_sequence_ids[6], 1);
}
if (kernel.trigger == 74) {
g_engine->_soundManager->command(40, 0);
kernel_message_add(quote_string(kernel.quotes, 91), 125, 56, 0xFDFC, 180, 82, 32);
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 9, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[6], 1);
- _scene->_sequences.setAnimRange(g_sequence_ids[6], -2, -2);
- _scene->_sequences.addTimer(180, 75);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 9, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[6], 1);
+ kernel_seq_range(g_sequence_ids[6], -2, -2);
+ kernel_timing_trigger(180, 75);
}
if (kernel.trigger == 75) {
diff --git a/engines/mads/nebular/rooms/room202.cpp b/engines/mads/nebular/rooms/room202.cpp
index f7b413ebaf9..5bd26167e2d 100644
--- a/engines/mads/nebular/rooms/room202.cpp
+++ b/engines/mads/nebular/rooms/room202.cpp
@@ -66,25 +66,25 @@ static void room_202_init() {
g_sprite_ids[9] = kernel_load_series(kernel_name('a', 1), 0);
g_sprite_ids[11] = kernel_load_series(kernel_name('a', 2), 0);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 0, 0);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(149, 113));
- _scene->_sequences.setDepth(g_sequence_ids[2], 10);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 0, 0);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 0, 0);
+ kernel_seq_loc(g_sequence_ids[2], 149, 113);
+ kernel_seq_depth(g_sequence_ids[2], 10);
int idx = _scene->_dynamicHotspots.add(words_skull, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(153, 97), FACING_SOUTH);
if (!(global[kBone202Status] & 1)) {
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(130, 108));
- _scene->_sequences.setDepth(g_sequence_ids[1], 10);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 0, 0);
+ kernel_seq_loc(g_sequence_ids[1], 130, 108);
+ kernel_seq_depth(g_sequence_ids[1], 10);
idx = _scene->_dynamicHotspots.add(words_bone, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(132, 97), FACING_SOUTH);
}
if (!(global[kBone202Status] & 2)) {
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[6], Common::Point(166, 110));
- _scene->_sequences.setDepth(g_sequence_ids[6], 10);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 6, 0, 0, 0);
+ kernel_seq_loc(g_sequence_ids[6], 166, 110);
+ kernel_seq_depth(g_sequence_ids[6], 10);
idx = _scene->_dynamicHotspots.add(words_bone, words_walkto, g_sequence_ids[6], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(165, 99), FACING_SOUTH);
}
@@ -103,8 +103,8 @@ static void room_202_init() {
}
if (global[kLadderBroken]) {
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[5], 6);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 6, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[5], 6);
_scene->_hotspots.activate(words_ladder, false);
idx = _scene->_dynamicHotspots.add(words_broken_ladder, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(246, 124), FACING_NORTH);
@@ -115,7 +115,7 @@ static void room_202_init() {
if (previous_room == RETURNING_FROM_DIALOG) {
if (local._waitingMeteoFl) {
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
player.walker_visible = false;
}
} else {
@@ -134,19 +134,19 @@ static void room_202_init() {
local._ladderTopFl = (global[kMeteorologistWatch] == METEOROLOGIST_TOWER);
if (local._ladderTopFl) {
- g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[9], true, 8);
- _scene->_sequences.setDepth(g_sequence_ids[10], 1);
+ g_sequence_ids[10] = kernel_seq_stamp(g_sprite_ids[9], true, 8);
+ kernel_seq_depth(g_sequence_ids[10], 1);
- _scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(247, 82));
+ kernel_seq_loc(g_sequence_ids[10], 247, 82);
player.x = 246;
player.y = 124;
player.facing = FACING_NORTH;
global[kTeleporterUnderstood] = true;
} else {
- g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 6);
- _scene->_sequences.setDepth(g_sequence_ids[10], 1);
+ g_sequence_ids[10] = kernel_seq_stamp(g_sprite_ids[9], false, 6);
+ kernel_seq_depth(g_sequence_ids[10], 1);
- _scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(172, 123));
+ kernel_seq_loc(g_sequence_ids[10], 172, 123);
player.x = 171;
player.y = 122;
player.facing = FACING_NORTH;
@@ -157,9 +157,9 @@ static void room_202_init() {
} else {
if (local._ladderTopFl) {
player.walker_visible = false;
- _scene->_sequences.startCycle(g_sequence_ids[9], true, 1);
- _scene->_sequences.setDepth(g_sequence_ids[9], 1);
- _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(247, 82));
+ kernel_seq_stamp(g_sequence_ids[9], true, 1);
+ kernel_seq_depth(g_sequence_ids[9], 1);
+ kernel_seq_loc(g_sequence_ids[9], 247, 82);
player.x = 246;
player.y = 124;
player.facing = FACING_NORTH;
@@ -263,10 +263,10 @@ static void room_202_daemon() {
player2.words[1] = words_binoculars;
player2.words[2] = words_strange_device;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_PARSER;
- _scene->_sequences.addTimer(2 * 60, 2);
+ kernel_timing_trigger(2 * 60, 2);
local._meteorologistSpecial = true;
} else if (global[kMeteorologistWatch] == METEOROLOGIST_TOWER) {
- _scene->_sequences.addTimer(2 * 60, 90);
+ kernel_timing_trigger(2 * 60, 90);
}
}
@@ -276,24 +276,24 @@ static void room_202_daemon() {
switch (kernel.trigger) {
case 90:
g_engine->_soundManager->command(41, 0);
- _scene->_sequences.remove(g_sequence_ids[10]);
- g_sequence_ids[9] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[9], true, 6, 1, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(247, 82));
- _scene->_sequences.setDepth(g_sequence_ids[9], 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 91);
+ kernel_seq_delete(g_sequence_ids[10]);
+ g_sequence_ids[9] = kernel_seq_backward(g_sprite_ids[9], true, 6, 0, 0, 1);
+ kernel_seq_loc(g_sequence_ids[9], 247, 82);
+ kernel_seq_depth(g_sequence_ids[9], 1);
+ kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 91);
break;
case 91:
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], true, 1);
- _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(247, 82));
- _scene->_sequences.setDepth(g_sequence_ids[9], 1);
- _scene->_sequences.addTimer(60, 92);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], true, 1);
+ kernel_seq_loc(g_sequence_ids[9], 247, 82);
+ kernel_seq_depth(g_sequence_ids[9], 1);
+ kernel_timing_trigger(60, 92);
break;
case 92:
{
- _scene->_sequences.remove(g_sequence_ids[9]);
- g_sequence_ids[11] = _scene->_sequences.addSpriteCycle(g_sprite_ids[11], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[11], 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 93);
+ kernel_seq_delete(g_sequence_ids[9]);
+ g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 6, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[11], 1);
+ kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 93);
kernel_message_purge();
int msgIndex = kernel_message_add(quote_string(kernel.quotes, 98), 0, -65, 0x1110, 60, 0, 32);
kernel_message_attach(msgIndex, g_sequence_ids[11]);
@@ -302,12 +302,12 @@ static void room_202_daemon() {
case 93:
{
global[kLadderBroken] = false;
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 6, 0, 0, 0);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 6, 0, 0, 0);
_scene->_hotspots.activate(words_ladder, false);
int idx = _scene->_dynamicHotspots.add(words_broken_ladder, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(246, 124), FACING_NORTH);
- _scene->_sequences.updateTimeout(g_sequence_ids[11], g_sequence_ids[5]);
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[11]);
+ kernel_seq_timeout(g_sequence_ids[5], g_sequence_ids[11]);
+ kernel_seq_timeout(g_sequence_ids[11], -1);
player.commands_allowed = true;
player.walker_visible = true;
local._ladderTopFl = false;
@@ -434,12 +434,12 @@ static void room_202_pre_parser() {
g_engine->_soundManager->command(29, 0);
player.ready_to_walk = false;
player.commands_allowed = false;
- _scene->_sequences.remove(g_sequence_ids[9]);
- g_sequence_ids[8] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[8], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[8], 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_delete(g_sequence_ids[9]);
+ g_sequence_ids[8] = kernel_seq_backward(g_sprite_ids[8], false, 6, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[8], 1);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
} else if (kernel.trigger == 1) {
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[8]);
+ kernel_seq_timeout(g_sequence_ids[8], -1);
_scene->_dynamicHotspots.remove(local._ladderHotspotId);
player.walker_visible = true;
player.ready_to_walk = true;
@@ -486,18 +486,18 @@ static void room_202_parser() {
} else {
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[7] = _scene->_sequences.startPingPongCycle(g_sprite_ids[7], false, 3, 2, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[7]);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[7] = kernel_seq_pingpong(g_sprite_ids[7], false, 3, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[7], false);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
case 1:
if (Common::Point(player.x, player.y) == Common::Point(132, 97)) {
- _scene->_sequences.remove(g_sequence_ids[1]);
+ kernel_seq_delete(g_sequence_ids[1]);
global[kBone202Status] |= BONE_202_LEFT_GONE;
} else {
- _scene->_sequences.remove(g_sequence_ids[6]);
+ kernel_seq_delete(g_sequence_ids[6]);
global[kBone202Status] |= BONE_202_RIGHT_GONE;
}
break;
@@ -529,16 +529,16 @@ static void room_202_parser() {
local._ladderHotspotId = _scene->_dynamicHotspots.add(words_ladder, words_climb_down, -1, Common::Rect(241, 68, 241 + 12, 68 + 54));
_scene->_dynamicHotspots.setPosition(local._ladderHotspotId, Common::Point(246, 124), FACING_NORTH);
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[8], 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 6, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[8], 1);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
{
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], true, 1);
- _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(247, 82));
- _scene->_sequences.setDepth(g_sequence_ids[9], 1);
- _scene->_sequences.updateTimeout(g_sequence_ids[8], g_sequence_ids[9]);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], true, 1);
+ kernel_seq_loc(g_sequence_ids[9], 247, 82);
+ kernel_seq_depth(g_sequence_ids[9], 1);
+ kernel_seq_timeout(g_sequence_ids[9], g_sequence_ids[8]);
local._ladderTopFl = true;
player.commands_allowed = true;
int msgIndex = kernel_message_add(quote_string(kernel.quotes, 97), 248, 15, 0x1110, 60, 0, 32);
@@ -556,37 +556,37 @@ static void room_202_parser() {
local._toTeleportFl = true;
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[10] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 6, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[10], 1, 6);
- _scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(172, 123));
- _scene->_sequences.setDepth(g_sequence_ids[10], 1);
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[10]);
- _scene->_sequences.addSubEntry(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[10] = kernel_seq_forward(g_sprite_ids[9], false, 6, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[10], 1, 6);
+ kernel_seq_loc(g_sequence_ids[10], 172, 123);
+ kernel_seq_depth(g_sequence_ids[10], 1);
+ kernel_seq_timeout(g_sequence_ids[10], -1);
+ kernel_seq_trigger(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
- g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 6);
- _scene->_sequences.setDepth(g_sequence_ids[10], 1);
- _scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(172, 123));
+ g_sequence_ids[10] = kernel_seq_stamp(g_sprite_ids[9], false, 6);
+ kernel_seq_depth(g_sequence_ids[10], 1);
+ kernel_seq_loc(g_sequence_ids[10], 172, 123);
if ((kernel_anim[0].anim != nullptr)) {
local._waitingMeteoFl = true;
global[kMeteorologistWatch] = METEOROLOGIST_GROUND;
} else {
- _scene->_sequences.addTimer(120, 2);
+ kernel_timing_trigger(120, 2);
}
break;
case 2:
if ((kernel_anim[0].anim == nullptr) && !local._meteorologistSpecial) {
text_show(20222);
}
- _scene->_sequences.remove(g_sequence_ids[10]);
- g_sequence_ids[10] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[9], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[10], 1);
- _scene->_sequences.setAnimRange(g_sequence_ids[10], 1, 6);
- _scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(172, 123));
- _scene->_sequences.addSubEntry(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_delete(g_sequence_ids[10]);
+ g_sequence_ids[10] = kernel_seq_backward(g_sprite_ids[9], false, 6, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[10], 1);
+ kernel_seq_range(g_sequence_ids[10], 1, 6);
+ kernel_seq_loc(g_sequence_ids[10], 172, 123);
+ kernel_seq_trigger(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[10]);
+ kernel_seq_timeout(g_sequence_ids[10], -1);
player.commands_allowed = true;
player.walker_visible = true;
break;
@@ -599,19 +599,19 @@ static void room_202_parser() {
case 0:
local._toTeleportFl = true;
player.commands_allowed = false;
- _scene->_sequences.remove(g_sequence_ids[9]);
- g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], true, 6, 1, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(247, 82));
- _scene->_sequences.setDepth(g_sequence_ids[9], 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_delete(g_sequence_ids[9]);
+ g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], true, 6, 0, 0, 1);
+ kernel_seq_loc(g_sequence_ids[9], 247, 82);
+ kernel_seq_depth(g_sequence_ids[9], 1);
+ kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
- g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[9], true, -2);
- _scene->_sequences.setPosition(g_sequence_ids[10], Common::Point(247, 82));
- _scene->_sequences.setDepth(g_sequence_ids[10], 1);
+ g_sequence_ids[10] = kernel_seq_stamp(g_sprite_ids[9], true, -2);
+ kernel_seq_loc(g_sequence_ids[10], 247, 82);
+ kernel_seq_depth(g_sequence_ids[10], 1);
if ((kernel_anim[0].anim != nullptr)) {
if (kernel_anim[0].frame > 200) {
- _scene->_sequences.addTimer(120, 2);
+ kernel_timing_trigger(120, 2);
} else {
local._waitingMeteoFl = true;
global[kMeteorologistWatch] = METEOROLOGIST_GONE;
@@ -625,23 +625,23 @@ static void room_202_parser() {
}
}
} else {
- _scene->_sequences.addTimer(120, 2);
+ kernel_timing_trigger(120, 2);
}
break;
case 2:
if ((kernel_anim[0].anim == nullptr))
text_show(20222);
local._meteorologistSpecial = false;
- _scene->_sequences.remove(g_sequence_ids[10]);
- g_sequence_ids[9] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[9], false, 6, 1, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(247, 82));
- _scene->_sequences.setDepth(g_sequence_ids[9], 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_delete(g_sequence_ids[10]);
+ g_sequence_ids[9] = kernel_seq_backward(g_sprite_ids[9], false, 6, 0, 0, 1);
+ kernel_seq_loc(g_sequence_ids[9], 247, 82);
+ kernel_seq_depth(g_sequence_ids[9], 1);
+ kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], true, 1);
- _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(247, 82));
- _scene->_sequences.setDepth(g_sequence_ids[9], 1);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], true, 1);
+ kernel_seq_loc(g_sequence_ids[9], 247, 82);
+ kernel_seq_depth(g_sequence_ids[9], 1);
player.commands_allowed = true;
break;
default:
diff --git a/engines/mads/nebular/rooms/room203.cpp b/engines/mads/nebular/rooms/room203.cpp
index f0fda388fb0..4b4c88614ec 100644
--- a/engines/mads/nebular/rooms/room203.cpp
+++ b/engines/mads/nebular/rooms/room203.cpp
@@ -70,7 +70,7 @@ static void room_203_init() {
if (!local._rhotundaEatFl) {
g_sprite_ids[0] = kernel_load_series(kernel_name('b', -1), 0);
if (g_engine->getRandomNumber(1, 3) == 2) {
- g_sprite_ids[15] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 9, 1, 0, 0);
+ g_sprite_ids[15] = kernel_seq_forward(g_sprite_ids[0], false, 9, 0, 0, 1);
int idx = _scene->_dynamicHotspots.add(words_yellow_bird, words_look_at, g_sprite_ids[15], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
g_engine->_soundManager->command(14, 0);
diff --git a/engines/mads/nebular/rooms/room205.cpp b/engines/mads/nebular/rooms/room205.cpp
index 36092d96cab..b2ecb820637 100644
--- a/engines/mads/nebular/rooms/room205.cpp
+++ b/engines/mads/nebular/rooms/room205.cpp
@@ -55,27 +55,27 @@ static void room_205_init() {
if (global[kSexOfRex] == SEX_MALE)
g_sprite_ids[8] = kernel_load_series(kernel_name('a', 1), 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 10, 0, 0, 3);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 10, 3, 0, 0);
int idx = _scene->_dynamicHotspots.add(words_chicken, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(162, 120), FACING_NORTHEAST);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 15, 0, 0, 0);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 15, 0, 0, 0);
idx = _scene->_dynamicHotspots.add(words_chicken, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(162, 120), FACING_NORTHEAST);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 9, 0, 0, 0);
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[5], 11);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 0);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 6, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[5], 11);
if (!player.been_here_before) {
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 7, 1, 0, 0);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 7, 0, 0, 1);
idx = _scene->_dynamicHotspots.add(words_piranha, words_walkto, g_sequence_ids[6], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(49, 86), FACING_NORTH);
}
if (object[12].location == 205) {
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 7, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[4], 11);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 7, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[4], 11);
} else {
_scene->_hotspots.activate(450, false);
}
@@ -108,13 +108,13 @@ static void room_205_init() {
kernel_anim[0].repeat = true;
} else {
local._beingKicked = true;
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 1, 0, 0);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 8, 0, 0, 1);
player.walker_visible = false;
player.commands_allowed = false;
- _scene->_sequences.setDepth(g_sequence_ids[8], 2);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_SPRITE, 6, 73);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_SPRITE, 11, 74);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_depth(g_sequence_ids[8], 2);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_SPRITE, 6, 73);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_SPRITE, 11, 74);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
section_2_music();
@@ -134,8 +134,7 @@ static void room_205_daemon() {
}
if (kernel.clock - local._lastFishTime > 1300) {
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(
- g_sprite_ids[6], false, 5, 1, 0, 0);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 5, 0, 0, 1);
int idx = _scene->_dynamicHotspots.add(words_piranha, words_walkto, g_sequence_ids[6],
Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(49, 86), FACING_NORTH);
@@ -151,9 +150,9 @@ static void room_205_daemon() {
}
if (kernel.trigger == 71) {
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[8], 2);
- _scene->_sequences.setAnimRange(g_sequence_ids[8], -2, -2);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 6, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[8], 2);
+ kernel_seq_range(g_sequence_ids[8], -2, -2);
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 114), 160, 68, 0xFBFA, 180, 72, 32);
}
@@ -202,7 +201,7 @@ static void room_205_parser() {
case 0x76:
if (kernel.trigger == 1) {
handleWomanSpeech(0x7D);
- _scene->_sequences.addTimer(120, 2);
+ kernel_timing_trigger(120, 2);
} else if (kernel.trigger == 2) {
handleWomanSpeech(0x7E);
local._dialog1.write(0x76, false);
@@ -253,9 +252,9 @@ static void room_205_parser() {
kernel_dump_walker_only();
g_sprite_ids[9] = kernel_load_series(kernel_name('a', 0), 0);
kernel_new_palette();
- g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.updateTimeout(g_sequence_ids[9], -1);
+ g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 6, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_timeout(-1, g_sequence_ids[9]);
g_engine->_soundManager->command(27, 0);
} else if (kernel.trigger == 1) {
if (kernel_anim[0].anim != nullptr)
@@ -275,7 +274,7 @@ static void room_205_parser() {
}
} else if (player_said_2(take, chicken_on_spit) && global[kChickenPermitted] && object_is_here(OBJ_CHICKEN)) {
inter_give_to_player(OBJ_CHICKEN);
- _scene->_sequences.remove(g_sequence_ids[4]);
+ kernel_seq_delete(g_sequence_ids[4]);
_scene->_hotspots.activate(words_chicken_on_spit, false);
object_examine(OBJ_CHICKEN, 812, 0);
} else if (player_said_2(take, chicken_on_spit) && (!global[kChickenPermitted]))
diff --git a/engines/mads/nebular/rooms/room207.cpp b/engines/mads/nebular/rooms/room207.cpp
index f9b123f6b16..27a1104ff19 100644
--- a/engines/mads/nebular/rooms/room207.cpp
+++ b/engines/mads/nebular/rooms/room207.cpp
@@ -52,8 +52,8 @@ static void room_207_init() {
g_sprite_ids[6] = kernel_load_series(kernel_name('e', 1), 0);
g_sprite_ids[7] = kernel_load_series(kernel_name('g', 1), 0);
g_sprite_ids[8] = kernel_load_series(kernel_name('g', 0), 0);
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 7, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[5], 7);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 7, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[5], 7);
int var2;
if (!player.been_here_before) {
@@ -70,14 +70,14 @@ static void room_207_init() {
local._spiderFl = (var2 & 1);
if (local._vultureFl) {
- g_sequence_ids[1] = _scene->_sequences.startPingPongCycle(g_sprite_ids[1], false, 30, 0, 0, 400);
+ g_sequence_ids[1] = kernel_seq_pingpong(g_sprite_ids[1], false, 30, 400, 0, 0);
local._vultureHotspotId = _scene->_dynamicHotspots.add(words_vulture, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(local._vultureHotspotId, Common::Point(254, 94), FACING_WEST);
}
if (local._spiderFl) {
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], -1, -1);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 7, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[4], -1, -1);
local._spiderHotspotId = _scene->_dynamicHotspots.add(words_spider, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(local._spiderHotspotId, Common::Point(59, 132), FACING_SOUTH);
}
@@ -98,15 +98,15 @@ static void room_207_init() {
section_2_music();
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[6], 1, 22);
- _scene->_sequences.setDepth(g_sequence_ids[6], 6);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[6], 1, 22);
+ kernel_seq_depth(g_sequence_ids[6], 6);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
}
static void moveVulture() {
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 7, 1, 0, 0);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 7, 0, 0, 1);
g_engine->_soundManager->command(43, 0);
local._vultureFl = false;
local._vultureTime = player.clock;
@@ -114,8 +114,8 @@ static void moveVulture() {
}
static void moveSpider() {
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 5, 1, 0, 0);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 5, 0, 0, 1);
local._spiderFl = false;
local._spiderTime = player.clock;
_scene->_dynamicHotspots.remove(local._spiderHotspotId);
@@ -134,9 +134,9 @@ static void room_207_daemon() {
}
if (kernel.trigger == 70) {
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 10, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[6], 23, 34);
- _scene->_sequences.setDepth(g_sequence_ids[6], 6);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 10, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[6], 23, 34);
+ kernel_seq_depth(g_sequence_ids[6], 6);
}
if (kernel.trigger == 71)
@@ -146,11 +146,11 @@ static void room_207_daemon() {
return;
if ((player.x >= 124) && (player.x <= 201)) {
- g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 10, 1, 0, 0);
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[7], 6);
- _scene->_sequences.setDepth(g_sequence_ids[8], 6);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 10, 0, 0, 1);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 8, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[7], 6);
+ kernel_seq_depth(g_sequence_ids[8], 6);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
local._eyeFl = true;
}
}
@@ -181,14 +181,14 @@ static void room_207_parser() {
(player.y > 111) && (player.y < 130)) {
if ((player.x <= 162) || (player.x >= 181) ||
(player.y <= 115) || (player.y >= 126)) {
- g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 10, 2, 0, 0);
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 2, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[7], 6);
- _scene->_sequences.setDepth(g_sequence_ids[8], 6);
+ g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 10, 0, 0, 2);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 8, 0, 0, 2);
+ kernel_seq_depth(g_sequence_ids[7], 6);
+ kernel_seq_depth(g_sequence_ids[8], 6);
}
} else if (local._eyeFl) {
- _scene->_sequences.remove(g_sequence_ids[7]);
- _scene->_sequences.remove(g_sequence_ids[8]);
+ kernel_seq_delete(g_sequence_ids[7]);
+ kernel_seq_delete(g_sequence_ids[8]);
local._eyeFl = false;
}
diff --git a/engines/mads/nebular/rooms/room208.cpp b/engines/mads/nebular/rooms/room208.cpp
index fd6afb54265..defa5ed09ec 100644
--- a/engines/mads/nebular/rooms/room208.cpp
+++ b/engines/mads/nebular/rooms/room208.cpp
@@ -43,8 +43,8 @@ static Scratch local;
static void updateTrap() {
if (global[kRhotundaStatus] == 1) {
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 8, 0, 0, 24);
- _scene->_sequences.setDepth(g_sequence_ids[1], 5);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 8, 24, 0, 0);
+ kernel_seq_depth(g_sequence_ids[1], 5);
int idx = _scene->_dynamicHotspots.add(words_huge_legs, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(100, 146), FACING_NORTH);
_scene->_hotspots.activate(414, false);
@@ -54,16 +54,16 @@ static void updateTrap() {
switch (global[kLeavesStatus]) {
case LEAVES_ON_GROUND:
{
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[2], 15);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 1);
+ kernel_seq_depth(g_sequence_ids[2], 15);
int idx = _scene->_dynamicHotspots.add(words_pile_of_leaves, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(60, 152), FACING_NORTH);
}
break;
case LEAVES_ON_TRAP:
{
- _scene->_sequences.setDepth(g_sequence_ids[3], 15);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
+ kernel_seq_depth(g_sequence_ids[3], 15);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
_scene->_hotspots.activate(words_deep_pit, false);
int idx = _scene->_dynamicHotspots.add(words_leaf_covered_pit, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(100, 146), FACING_NORTH);
@@ -126,7 +126,7 @@ static void room_208_daemon() {
local._rhotundaTime = kernel_anim[0].frame;
if (local._rhotundaTime == 125)
- _scene->_sequences.remove(g_sequence_ids[4]);
+ kernel_seq_delete(g_sequence_ids[4]);
}
if (!local._rhotundaTurnFl)
@@ -146,10 +146,10 @@ static void room_208_daemon() {
local._rhotundaTime = 0;
break;
case 81:
- _scene->_sequences.remove(g_sprite_ids[15]);
+ kernel_seq_delete(g_sprite_ids[15]);
global[kRhotundaStatus] = 1;
updateTrap();
- _scene->_sequences.addTimer(90, 82);
+ kernel_timing_trigger(90, 82);
break;
case 82:
player.commands_allowed = true;
@@ -177,8 +177,8 @@ static void subAction(int mode) {
{
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 6, 1, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 6, 0, 0, 1);
+ kernel_seq_player(g_sequence_ids[5], false);
int endTrigger;
if ((mode == 1) || (mode == 2))
@@ -186,17 +186,17 @@ static void subAction(int mode) {
else
endTrigger = 2;
- _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, endTrigger);
+ kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, endTrigger);
}
break;
case 1:
{
int oldSeq = g_sequence_ids[5];
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 12, 3, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[5], 3, 4);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.updateTimeout(g_sequence_ids[5], oldSeq);
- _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 12, 0, 0, 3);
+ kernel_seq_range(g_sequence_ids[5], 3, 4);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_timeout(oldSeq, g_sequence_ids[5]);
+ kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
g_engine->_soundManager->command(20, 0);
}
break;
@@ -206,7 +206,7 @@ static void subAction(int mode) {
switch (mode) {
case 1:
inter_give_to_player(OBJ_BIG_LEAVES);
- _scene->_sequences.remove(g_sequence_ids[2]);
+ kernel_seq_delete(g_sequence_ids[2]);
global[kLeavesStatus] = 1;
break;
@@ -217,8 +217,8 @@ static void subAction(int mode) {
break;
case 3:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
inter_take_from_player(OBJ_TWINKIFRUIT, 1);
g_engine->_soundManager->command(34, 0);
break;
@@ -238,11 +238,11 @@ static void subAction(int mode) {
}
int oldVal = g_sequence_ids[5];
- g_sequence_ids[5] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[5], false, 6, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[5], 1, 3);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.updateTimeout(g_sequence_ids[5], oldVal);
- _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ g_sequence_ids[5] = kernel_seq_backward(g_sprite_ids[5], false, 6, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[5], 1, 3);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_timeout(oldVal, g_sequence_ids[5]);
+ kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
break;
diff --git a/engines/mads/nebular/rooms/room209.cpp b/engines/mads/nebular/rooms/room209.cpp
index 21e416f99ec..707077cf6e3 100644
--- a/engines/mads/nebular/rooms/room209.cpp
+++ b/engines/mads/nebular/rooms/room209.cpp
@@ -63,7 +63,7 @@ static void handlePause() {
switch (kernel.trigger) {
case 124:
if (++local._pauseCounter <= local._pauseCounterThreshold)
- _scene->_sequences.addTimer(60, 124);
+ kernel_timing_trigger(60, 124);
else
local._pauseMode = 0;
break;
@@ -75,7 +75,7 @@ static void handlePause() {
static void initPauseCounterThreshold() {
switch (kernel.trigger) {
case 226:
- _scene->_sequences.addTimer(1, 124);
+ kernel_timing_trigger(1, 124);
local._pauseCounterThreshold = g_engine->getRandomNumber(7, 12);
local._pauseMode = 2;
local._pauseCounter = 0;
@@ -89,37 +89,37 @@ static void handlePeek() {
switch (kernel.trigger) {
case 133:
g_engine->_soundManager->command(18, 0);
- g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 51, 52);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 134);
+ g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 51, 52);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 134);
break;
case 134:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addTimer(60, 135);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 6);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_timing_trigger(60, 135);
}
break;
case 135:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 7);
- _scene->_sequences.addTimer(10, 136);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 7);
+ kernel_timing_trigger(10, 136);
break;
case 136:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
- _scene->_sequences.addTimer(50, 137);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 6);
+ kernel_timing_trigger(50, 137);
break;
case 137:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 51, 52);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 138);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 51, 52);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 138);
break;
case 138:
@@ -136,26 +136,26 @@ static void handlePeek() {
static void handleVerticalMove() {
switch (kernel.trigger) {
case 140:
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 8, 8, 0, 1);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 5);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 141);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 8, 1, 0, 8);
+ kernel_seq_range(g_sequence_ids[3], 1, 5);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 141);
break;
case 141:
{
g_engine->_soundManager->command(18, 0);
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 5);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addTimer(60, 142);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 5);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_timing_trigger(60, 142);
}
break;
case 142:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 5);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 143);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 1, 5);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 143);
break;
case 143:
@@ -174,34 +174,34 @@ static void handleLookStay() {
case 145:
g_engine->_soundManager->command(18, 0);
local._monkeyPosition = 2;
- g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 51, 52);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 146);
+ g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 51, 52);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 146);
break;
case 146:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addTimer(15, 147);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 6);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_timing_trigger(15, 147);
}
break;
case 147:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 7);
- _scene->_sequences.addTimer(8, 148);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 7);
+ kernel_timing_trigger(8, 148);
break;
case 148:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 6);
if (!local._dodgeFl) {
- _scene->_sequences.addTimer(90, 149);
+ kernel_timing_trigger(90, 149);
} else {
- _scene->_sequences.addTimer(1, 149);
+ kernel_timing_trigger(1, 149);
local._shouldDodgeFl = true;
}
break;
@@ -218,18 +218,18 @@ static void handleLookStay() {
static void handleLookRight() {
switch (kernel.trigger) {
case 151:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 8, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 8, 14);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 152);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 8, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[3], 8, 14);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 152);
break;
case 152:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addTimer(60, 153);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 6);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_timing_trigger(60, 153);
}
break;
@@ -247,21 +247,21 @@ static void handleLookRight() {
static void handleBlink() {
switch (kernel.trigger) {
case 155:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
- _scene->_sequences.addTimer(50, 156);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 6);
+ kernel_timing_trigger(50, 156);
break;
case 156:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 7);
- _scene->_sequences.addTimer(10, 157);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 7);
+ kernel_timing_trigger(10, 157);
break;
case 157:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
- _scene->_sequences.addTimer(50, 158);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 6);
+ kernel_timing_trigger(50, 158);
break;
case 158:
@@ -280,34 +280,34 @@ static void handleGetBinoculars() {
case 161:
g_engine->_soundManager->command(18, 0);
local._monkeyPosition = 3;
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 8, 24);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 20, 165);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 8, 24);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 20, 165);
if (!local._fallFl && !local._dodgeFl) {
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 162);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 162);
} else {
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 163);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 163);
}
break;
case 162:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 8, 6, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 23, 25);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 163);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 8, 0, 0, 6);
+ kernel_seq_range(g_sequence_ids[3], 23, 25);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 163);
}
break;
case 163:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 8, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 23, 24);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addTimer(8, 164);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 8, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[3], 23, 24);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_timing_trigger(8, 164);
}
break;
@@ -331,21 +331,21 @@ static void handleBinocularBlink() {
case 167:
{
int oldIdx = g_sequence_ids[3];
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 8, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 23, 25);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 168);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 8, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[3], 23, 25);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 168);
}
break;
case 168:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 8, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 23, 24);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addTimer(30, 169);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 8, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[3], 23, 24);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_timing_trigger(30, 169);
}
break;
@@ -365,11 +365,11 @@ static void handleBinocularScan() {
case 171:
{
int oldIdx = g_sequence_ids[3];
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 12, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 43, 45);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 172);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 12, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[3], 43, 45);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 172);
}
break;
@@ -379,37 +379,37 @@ static void handleBinocularScan() {
int randAction = g_engine->getRandomNumber(1, 2);
switch (randAction) {
case 1:
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 12, 2, 0, 0);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 12, 0, 0, 2);
break;
case 2:
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 12, 4, 0, 0);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 12, 0, 0, 4);
break;
default:
break;
}
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 23, 25);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 173);
+ kernel_seq_range(g_sequence_ids[3], 23, 25);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 173);
}
break;
case 173:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 12, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 26, 30);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 174);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 12, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[3], 26, 30);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 174);
}
break;
case 174:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 12, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 23, 24);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addTimer(60, 175);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 12, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[3], 23, 24);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_timing_trigger(60, 175);
}
break;
@@ -431,16 +431,16 @@ static void handleJumpInTree() {
int oldIdx = 0;
local._monkeyPosition = 1;
if (local._removeMonkeyFl)
- _scene->_sequences.remove(g_sequence_ids[3]);
+ kernel_seq_delete(g_sequence_ids[3]);
else
oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 46, 49);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 46, 49);
if (!local._removeMonkeyFl)
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 179);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 179);
}
break;
@@ -448,10 +448,10 @@ static void handleJumpInTree() {
{
g_engine->_soundManager->command(18, 0);
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 53, 61);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 180);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 53, 61);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 180);
}
break;
@@ -472,31 +472,31 @@ static void handleTongue() {
case 182:
{
int oldIdx = g_sequence_ids[3];
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 26, 30);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 183);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 26, 30);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 183);
}
break;
case 183:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 31, 33);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 184);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 31, 33);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 184);
}
break;
case 184:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 36, 37);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 185);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 36, 37);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 185);
}
break;
@@ -504,20 +504,20 @@ static void handleTongue() {
{
g_engine->_soundManager->command(18, 0);
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 6, 20, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 38, 39);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 186);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 6, 0, 0, 20);
+ kernel_seq_range(g_sequence_ids[3], 38, 39);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 186);
}
break;
case 186:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 40, 41);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 178);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 40, 41);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 178);
local._removeMonkeyFl = false;
}
break;
@@ -531,38 +531,38 @@ static void handleStandFromPeek() {
switch (kernel.trigger) {
case 189:
local._monkeyPosition = 4;
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 50);
- _scene->_sequences.addTimer(8, 190);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 50);
+ kernel_timing_trigger(8, 190);
break;
case 190:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
- _scene->_sequences.addTimer(8, 191);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 6);
+ kernel_timing_trigger(8, 191);
break;
case 191:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[6], 1, 5);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 192);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[6], 1, 5);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 192);
break;
case 192:
{
g_engine->_soundManager->command(18, 0);
int oldIdx = g_sequence_ids[6];
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
- _scene->_sequences.updateTimeout(g_sequence_ids[5], oldIdx);
- _scene->_sequences.addTimer(8, 193);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 1);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[5]);
+ kernel_timing_trigger(8, 193);
}
break;
case 193:
- _scene->_sequences.remove(g_sequence_ids[5]);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 22);
- _scene->_sequences.addTimer(5, 194);
+ kernel_seq_delete(g_sequence_ids[5]);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 22);
+ kernel_timing_trigger(5, 194);
break;
case 194:
@@ -578,21 +578,21 @@ static void handleStandFromPeek() {
static void handleStandBlink() {
switch (kernel.trigger) {
case 246:
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 22);
- _scene->_sequences.addTimer(10, 247);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 22);
+ kernel_timing_trigger(10, 247);
break;
case 247:
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 23);
- _scene->_sequences.addTimer(8, 248);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 23);
+ kernel_timing_trigger(8, 248);
break;
case 248:
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 22);
- _scene->_sequences.addTimer(10, 249);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 22);
+ kernel_timing_trigger(10, 249);
break;
case 249:
@@ -609,10 +609,10 @@ static void handleJumpAndHide() {
case 196:
g_engine->_soundManager->command(18, 0);
local._monkeyPosition = 1;
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[5], 1, 16);
- _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 197);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[5], 1, 16);
+ kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 197);
break;
case 197:
@@ -630,70 +630,70 @@ static void handleMonkeyEating() {
switch (kernel.trigger) {
case 199:
g_engine->_soundManager->command(18, 0);
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 1, 14);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 200);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[4], 1, 14);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 200);
break;
case 200:
{
int oldIdx = g_sequence_ids[4];
- g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 10, 10, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 15, 16);
- _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 201);
+ g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 10, 0, 0, 10);
+ kernel_seq_range(g_sequence_ids[4], 15, 16);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 201);
}
break;
case 201:
{
int oldIdx = g_sequence_ids[4];
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 12);
- _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
- _scene->_sequences.addTimer(20, 202);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 12);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
+ kernel_timing_trigger(20, 202);
}
break;
case 202:
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 19);
- _scene->_sequences.addTimer(20, 203);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 19);
+ kernel_timing_trigger(20, 203);
break;
case 203:
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 17);
- _scene->_sequences.addTimer(20, 204);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 17);
+ kernel_timing_trigger(20, 204);
break;
case 204:
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 10, 8, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 18, 19);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 205);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 10, 0, 0, 8);
+ kernel_seq_range(g_sequence_ids[4], 18, 19);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 205);
break;
case 205:
{
int oldIdx = g_sequence_ids[4];
- g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 10, 8, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 20, 21);
- _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 206);
+ g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 10, 0, 0, 8);
+ kernel_seq_range(g_sequence_ids[4], 20, 21);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 206);
}
break;
case 206:
{
int oldIdx = g_sequence_ids[4];
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 22, 25);
- _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[4], 22, 25);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
if (!local._dodgeFl && !local._fallFl)
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 207);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 207);
else
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 209);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 209);
}
break;
@@ -704,10 +704,10 @@ static void handleMonkeyEating() {
kernel_message_teletype(msgIndex, 4, true);
int oldIdx = g_sequence_ids[4];
- g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 15, 4, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 26, 27);
- _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 208);
+ g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 15, 0, 0, 4);
+ kernel_seq_range(g_sequence_ids[4], 26, 27);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 208);
}
break;
@@ -715,19 +715,19 @@ static void handleMonkeyEating() {
{
kernel_message_add(quote_string(kernel.quotes, 131), 180, 39, 0xFDFC, 90, 0, 0);
int oldIdx = g_sequence_ids[4];
- g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 10, 4, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 28, 29);
- _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 209);
+ g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 10, 0, 0, 4);
+ kernel_seq_range(g_sequence_ids[4], 28, 29);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 209);
}
break;
case 209:
{
int oldIdx = g_sequence_ids[4];
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 22);
- _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
- _scene->_sequences.addTimer(1, 210);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 22);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
+ kernel_timing_trigger(1, 210);
}
break;
@@ -752,16 +752,16 @@ static void handleMonkeyFall() {
g_sprite_ids[8] = kernel_load_series(kernel_name('m', 4), 0);
kernel_message_add(quote_string(kernel.quotes, 151), 180, 26, 0xFDFC, 90, 0, 0);
- _scene->_sequences.addTimer(40, 100);
+ kernel_timing_trigger(40, 100);
_scene->_hotspots.activate(227, false);
int oldIdx = g_sequence_ids[3];
local._monkeyPosition = 1;
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[8], 1, 35);
- _scene->_sequences.setDepth(g_sequence_ids[8], 6);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 220);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[8], 1, 35);
+ kernel_seq_depth(g_sequence_ids[8], 6);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 220);
}
break;
@@ -772,12 +772,12 @@ static void handleMonkeyFall() {
_scene->_hotspots.activate(227, false);
int oldIdx = g_sequence_ids[3];
local._monkeyPosition = 1;
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[8], 36, 42);
- _scene->_sequences.setDepth(g_sequence_ids[8], 6);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 221);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[8], 36, 42);
+ kernel_seq_depth(g_sequence_ids[8], 6);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 221);
}
break;
@@ -786,14 +786,14 @@ static void handleMonkeyFall() {
inter_move_object(OBJ_BINOCULARS, 209);
local._binocularsDroppedFl = true;
int oldIdx = g_sequence_ids[8];
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 1, 0, 0);
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
- _scene->_sequences.updateTimeout(g_sequence_ids[9], oldIdx);
- _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(201, 131));
- _scene->_sequences.setDepth(g_sequence_ids[9], 8);
- _scene->_sequences.updateTimeout(g_sequence_ids[8], oldIdx);
- _scene->_sequences.setAnimRange(g_sequence_ids[8], 43, 72);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 222);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 8, 0, 0, 1);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[9]);
+ kernel_seq_loc(g_sequence_ids[9], 201, 131);
+ kernel_seq_depth(g_sequence_ids[9], 8);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[8]);
+ kernel_seq_range(g_sequence_ids[8], 43, 72);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 222);
int idx = _scene->_dynamicHotspots.add(words_binoculars, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(200, 133), FACING_NORTH);
}
@@ -803,10 +803,10 @@ static void handleMonkeyFall() {
{
kernel_message_add(quote_string(kernel.quotes, 160), 182, 109, 0xFDFC, 70, 0, 0);
int oldIdx = g_sequence_ids[8];
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[8], 73, 78);
- _scene->_sequences.updateTimeout(g_sequence_ids[8], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 223);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[8], 73, 78);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[8]);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 223);
}
break;
@@ -832,29 +832,29 @@ static void handleMonkeyFall() {
static void handleMonkey1() {
switch (kernel.trigger) {
case 212:
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 9, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 1, 13);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 213);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 9, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[4], 1, 13);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 213);
break;
case 213:
{
int oldIdx = g_sequence_ids[4];
- g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[7], 1, 22);
- _scene->_sequences.updateTimeout(g_sequence_ids[7], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 214);
+ g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 7, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[7], 1, 22);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[7]);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 214);
}
break;
case 214:
{
int oldIdx = g_sequence_ids[7];
- g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[7], 23, 26);
- _scene->_sequences.updateTimeout(g_sequence_ids[7], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 215);
+ g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 7, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[7], 23, 26);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[7]);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 215);
int msgIndex = kernel_message_add(quote_string(kernel.quotes, 156), 170, 21, 0xFDFC, 90, 0, 0);
kernel_message_teletype(msgIndex, 3, true);
}
@@ -865,19 +865,19 @@ static void handleMonkey1() {
g_engine->_soundManager->command(18, 0);
kernel_run_animation(kernel_full_name(209, 'a', -1, "", EXT_AA), 251);
int oldIdx = g_sequence_ids[7];
- g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[7], 27, 35);
- _scene->_sequences.updateTimeout(g_sequence_ids[7], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 216);
+ g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 7, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[7], 27, 35);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[7]);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 216);
}
break;
case 216:
{
int oldIdx = g_sequence_ids[7];
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 22);
- _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
- _scene->_sequences.addTimer(25, 217);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 22);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
+ kernel_timing_trigger(25, 217);
}
break;
@@ -885,7 +885,7 @@ static void handleMonkey1() {
local._pitchFl = false;
local._counter = 0;
local._pauseMode = 0;
- _scene->_sequences.addTimer(1, 196);
+ kernel_timing_trigger(1, 196);
break;
default:
@@ -898,11 +898,11 @@ static void handleMonkey2() {
case 251:
kernel_message_add(quote_string(kernel.quotes, 137), 0, 0, 0x1110, 60, 0, 34);
g_engine->_soundManager->command(22, 0);
- g_sequence_ids[12] = _scene->_sequences.addSpriteCycle(g_sprite_ids[12], false, 11, 1, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[12], Common::Point(111, 133));
- _scene->_sequences.setScale(g_sequence_ids[12], 79);
- _scene->_sequences.setAnimRange(g_sequence_ids[12], 1, 6);
- _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 252);
+ g_sequence_ids[12] = kernel_seq_forward(g_sprite_ids[12], false, 11, 0, 0, 1);
+ kernel_seq_loc(g_sequence_ids[12], 111, 133);
+ kernel_seq_scale(g_sequence_ids[12], 79);
+ kernel_seq_range(g_sequence_ids[12], 1, 6);
+ kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 252);
player.clock = kernel.clock - player.frame_delay;
player.walker_visible = false;
break;
@@ -912,16 +912,16 @@ static void handleMonkey2() {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 132), 0, 0, 0x1110, 120, 0, 34);
int oldIdx = g_sequence_ids[12];
- g_sequence_ids[12] = _scene->_sequences.startCycle(g_sprite_ids[12], false, 7);
- _scene->_sequences.setPosition(g_sequence_ids[12], Common::Point(111, 133));
- _scene->_sequences.setScale(g_sequence_ids[12], 79);
- _scene->_sequences.updateTimeout(g_sequence_ids[12], oldIdx);
- _scene->_sequences.addTimer(120, 253);
+ g_sequence_ids[12] = kernel_seq_stamp(g_sprite_ids[12], false, 7);
+ kernel_seq_loc(g_sequence_ids[12], 111, 133);
+ kernel_seq_scale(g_sequence_ids[12], 79);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[12]);
+ kernel_timing_trigger(120, 253);
}
break;
case 253:
- _scene->_sequences.remove(g_sequence_ids[12]);
+ kernel_seq_delete(g_sequence_ids[12]);
player.clock = kernel.clock - player.frame_delay;
player.walker_visible = true;
player.commands_allowed = true;
@@ -936,22 +936,22 @@ static void handleDodge() {
switch (kernel.trigger) {
case 241:
_scene->_hotspots.activate(227, true);
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 7);
- _scene->_sequences.addTimer(6, 242);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 7);
+ kernel_timing_trigger(6, 242);
break;
case 242:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 5);
- _scene->_sequences.addTimer(25, 243);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 5);
+ kernel_timing_trigger(25, 243);
g_engine->_soundManager->command(24, 0);
break;
case 243:
g_engine->_soundManager->command(18, 0);
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 6);
local._playingAnimFl = false;
local._pauseMode = 0;
kernel_message_purge();
@@ -988,10 +988,10 @@ static void room_209_init() {
pal_change_color(253, 63, 20, 22);
if (object_is_here(OBJ_PLANT_STALK)) {
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
int idx = _scene->_dynamicHotspots.add(words_plant_stalk, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(263, 129), FACING_SOUTH);
- _scene->_sequences.setDepth(g_sequence_ids[1], 13);
+ kernel_seq_depth(g_sequence_ids[1], 13);
}
if (previous_room == 208) {
@@ -1005,9 +1005,9 @@ static void room_209_init() {
}
if (object_is_here(OBJ_BINOCULARS)) {
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[9], Common::Point(201, 131));
- _scene->_sequences.setDepth(g_sequence_ids[9], 8);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
+ kernel_seq_loc(g_sequence_ids[9], 201, 131);
+ kernel_seq_depth(g_sequence_ids[9], 8);
int idx = _scene->_dynamicHotspots.add(words_binoculars, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(200, 133), FACING_NORTH);
}
@@ -1048,7 +1048,7 @@ static void room_209_daemon() {
switch (randAction) {
case 1:
if ((local._monkeyPosition == 1) && (local._counter < 2)) {
- _scene->_sequences.addTimer(1, 133);
+ kernel_timing_trigger(1, 133);
local._playingAnimFl = true;
_scene->_hotspots.activate(227, true);
++local._counter;
@@ -1057,7 +1057,7 @@ static void room_209_daemon() {
case 2:
if ((local._monkeyPosition == 1) && (local._counter < 2)) {
- _scene->_sequences.addTimer(1, 140);
+ kernel_timing_trigger(1, 140);
_scene->_hotspots.activate(227, true);
local._playingAnimFl = true;
++local._counter;
@@ -1066,7 +1066,7 @@ static void room_209_daemon() {
case 3:
if (local._monkeyPosition == 1) {
- _scene->_sequences.addTimer(1, 145);
+ kernel_timing_trigger(1, 145);
_scene->_hotspots.activate(227, true);
local._playingAnimFl = true;
local._counter = 0;
@@ -1075,7 +1075,7 @@ static void room_209_daemon() {
case 4:
if ((local._monkeyPosition == 2) && (local._counter < 2)) {
- _scene->_sequences.addTimer(1, 151);
+ kernel_timing_trigger(1, 151);
_scene->_hotspots.activate(227, true);
++local._counter;
local._playingAnimFl = true;
@@ -1084,7 +1084,7 @@ static void room_209_daemon() {
case 5:
if (local._monkeyPosition == 2) {
- _scene->_sequences.addTimer(1, 161);
+ kernel_timing_trigger(1, 161);
_scene->_hotspots.activate(227, true);
local._counter = 0;
local._playingAnimFl = true;
@@ -1093,7 +1093,7 @@ static void room_209_daemon() {
case 6:
if (local._monkeyPosition == 2) {
- _scene->_sequences.addTimer(1, 189);
+ kernel_timing_trigger(1, 189);
_scene->_hotspots.activate(227, true);
local._counter = 0;
local._playingAnimFl = true;
@@ -1102,14 +1102,14 @@ static void room_209_daemon() {
case 7:
if (local._monkeyPosition == 3) {
_scene->_hotspots.activate(227, true);
- _scene->_sequences.addTimer(1, 167);
+ kernel_timing_trigger(1, 167);
local._playingAnimFl = true;
}
break;
case 8:
if (local._monkeyPosition == 3) {
- _scene->_sequences.addTimer(1, 178);
+ kernel_timing_trigger(1, 178);
local._playingAnimFl = true;
_scene->_hotspots.activate(227, true);
local._counter = 0;
@@ -1118,7 +1118,7 @@ static void room_209_daemon() {
case 9:
if ((local._monkeyPosition == 3) && (player.x < 120)) {
- _scene->_sequences.addTimer(1, 182);
+ kernel_timing_trigger(1, 182);
_scene->_hotspots.activate(227, true);
local._counter = 0;
local._playingAnimFl = true;
@@ -1127,7 +1127,7 @@ static void room_209_daemon() {
case 10:
if (local._monkeyPosition == 4) {
- _scene->_sequences.addTimer(1, 196);
+ kernel_timing_trigger(1, 196);
_scene->_hotspots.activate(227, true);
local._playingAnimFl = true;
local._counter = 0;
@@ -1136,7 +1136,7 @@ static void room_209_daemon() {
case 11:
if ((local._monkeyPosition == 4) && (local._counter < 3)) {
- _scene->_sequences.addTimer(1, 199);
+ kernel_timing_trigger(1, 199);
_scene->_hotspots.activate(227, true);
++local._counter;
local._playingAnimFl = true;
@@ -1145,7 +1145,7 @@ static void room_209_daemon() {
case 30:
if (local._monkeyPosition == 4) {
- _scene->_sequences.addTimer(1, 246);
+ kernel_timing_trigger(1, 246);
_scene->_hotspots.activate(227, true);
local._counter = 0;
local._playingAnimFl = true;
@@ -1154,13 +1154,13 @@ static void room_209_daemon() {
default:
if ((randAction >= 12) && (randAction <= 20) && (local._monkeyPosition == 2) && (local._counter < 5)) {
- _scene->_sequences.addTimer(1, 155);
+ kernel_timing_trigger(1, 155);
++local._counter;
local._playingAnimFl = true;
}
if ((randAction >= 21) && (randAction <= 29) && (local._monkeyPosition == 3) && (local._counter < 3)) {
- _scene->_sequences.addTimer(1, 171);
+ kernel_timing_trigger(1, 171);
local._playingAnimFl = true;
++local._counter;
}
@@ -1169,7 +1169,7 @@ static void room_209_daemon() {
}
if (!local._dodgeFl && !local._pitchFl && !local._fallFl && (local._pauseMode == 1))
- _scene->_sequences.addTimer(1, 226);
+ kernel_timing_trigger(1, 226);
if (!local._dodgeFl && !local._pitchFl && !local._fallFl && (local._pauseMode == 2))
handlePause();
@@ -1197,62 +1197,62 @@ static void room_209_daemon() {
handleMonkey2();
if ((local._monkeyPosition == 1) && !local._playingAnimFl && local._fallFl) {
- _scene->_sequences.addTimer(1, 145);
+ kernel_timing_trigger(1, 145);
local._playingAnimFl = true;
}
if ((local._monkeyPosition == 2) && !local._playingAnimFl && local._fallFl) {
- _scene->_sequences.addTimer(1, 161);
+ kernel_timing_trigger(1, 161);
local._playingAnimFl = true;
}
if ((local._monkeyPosition == 4) && !local._playingAnimFl && local._fallFl) {
- _scene->_sequences.addTimer(1, 196);
+ kernel_timing_trigger(1, 196);
local._playingAnimFl = true;
}
if ((local._monkeyPosition == 3) && !local._playingAnimFl && local._fallFl && local._forceFallFl) {
- _scene->_sequences.addTimer(1, 219);
+ kernel_timing_trigger(1, 219);
local._playingAnimFl = true;
}
if ((local._monkeyPosition == 1) && !local._playingAnimFl && local._pitchFl) {
- _scene->_sequences.addTimer(1, 145);
+ kernel_timing_trigger(1, 145);
local._playingAnimFl = true;
}
if ((local._monkeyPosition == 2) && !local._playingAnimFl && local._pitchFl) {
- _scene->_sequences.addTimer(1, 189);
+ kernel_timing_trigger(1, 189);
local._playingAnimFl = true;
}
if ((local._monkeyPosition == 4) && !local._playingAnimFl && local._pitchFl) {
- _scene->_sequences.addTimer(1, 212);
+ kernel_timing_trigger(1, 212);
local._playingAnimFl = true;
}
if ((local._monkeyPosition == 3) && !local._playingAnimFl && local._pitchFl) {
- _scene->_sequences.addTimer(1, 178);
+ kernel_timing_trigger(1, 178);
local._playingAnimFl = true;
}
if ((local._monkeyPosition == 1) && !local._playingAnimFl && local._dodgeFl) {
- _scene->_sequences.addTimer(1, 145);
+ kernel_timing_trigger(1, 145);
local._playingAnimFl = true;
}
if ((local._monkeyPosition == 4) && !local._playingAnimFl && local._dodgeFl) {
- _scene->_sequences.addTimer(1, 196);
+ kernel_timing_trigger(1, 196);
local._playingAnimFl = true;
}
if ((local._monkeyPosition == 3) && !local._playingAnimFl && local._dodgeFl) {
- _scene->_sequences.addTimer(1, 178);
+ kernel_timing_trigger(1, 178);
local._playingAnimFl = true;
}
if ((local._monkeyPosition == 2) && !local._playingAnimFl && local._dodgeFl && local._forceDodgeFl) {
- _scene->_sequences.addTimer(1, 241);
+ kernel_timing_trigger(1, 241);
local._playingAnimFl = true;
}
@@ -1266,44 +1266,44 @@ static void room_209_daemon() {
switch (kernel.trigger) {
case 228:
player.walker_visible = false;
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 7);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 229);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 1, 7);
+ kernel_seq_loc(g_sequence_ids[2], 116, 131);
+ kernel_seq_depth(g_sequence_ids[2], 4);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 229);
break;
case 229:
{
int oldIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 7);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
- _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
- _scene->_sequences.addTimer(35, 230);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 7);
+ kernel_seq_loc(g_sequence_ids[2], 116, 131);
+ kernel_seq_depth(g_sequence_ids[2], 4);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[2]);
+ kernel_timing_trigger(35, 230);
}
break;
case 230:
- _scene->_sequences.remove(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 7);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 231);
+ kernel_seq_delete(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 1, 7);
+ kernel_seq_loc(g_sequence_ids[2], 116, 131);
+ kernel_seq_depth(g_sequence_ids[2], 4);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 231);
break;
case 231:
{
int oldIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 8, 10);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
- _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 232);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 8, 10);
+ kernel_seq_loc(g_sequence_ids[2], 116, 131);
+ kernel_seq_depth(g_sequence_ids[2], 4);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[2]);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 232);
player.clock = kernel.clock - player.frame_delay;
- _scene->_sequences.updateTimeout(g_sequence_ids[2], -1);
+ kernel_seq_timeout(-1, g_sequence_ids[2]);
player.walker_visible = false;
}
break;
@@ -1311,11 +1311,11 @@ static void room_209_daemon() {
case 232:
{
int oldIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 10);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
- _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
- _scene->_sequences.addTimer(2, 233);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 10);
+ kernel_seq_loc(g_sequence_ids[2], 116, 131);
+ kernel_seq_depth(g_sequence_ids[2], 4);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[2]);
+ kernel_timing_trigger(2, 233);
kernel_message_purge();
if (local._dodgeFl && (local._monkeyPosition != 1) && (local._monkeyPosition != 2))
kernel_message_add(quote_string(kernel.quotes, 138), 0, 0, 0x1110, 34463, 0, 34);
@@ -1329,21 +1329,21 @@ static void room_209_daemon() {
break;
case 234:
- _scene->_sequences.remove(g_sequence_ids[2]);
+ kernel_seq_delete(g_sequence_ids[2]);
kernel_message_purge();
if (player_said_3(hose_down, blowgun, monkey)) {
- g_sequence_ids[2] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[2], false, 7, 16, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 11, 12);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 12, 239);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 235);
+ g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 7, 0, 0, 16);
+ kernel_seq_range(g_sequence_ids[2], 11, 12);
+ kernel_seq_loc(g_sequence_ids[2], 116, 131);
+ kernel_seq_depth(g_sequence_ids[2], 4);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 12, 239);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 235);
} else if (player_said_3(shoot, blowgun, monkey)) {
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 11, 12);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 235);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 11, 12);
+ kernel_seq_loc(g_sequence_ids[2], 116, 131);
+ kernel_seq_depth(g_sequence_ids[2], 4);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 235);
g_engine->_soundManager->command(23, 0);
}
break;
@@ -1351,33 +1351,33 @@ static void room_209_daemon() {
case 235:
{
int oldIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 13);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
- _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
- _scene->_sequences.addTimer(12, 236);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 13);
+ kernel_seq_loc(g_sequence_ids[2], 116, 131);
+ kernel_seq_depth(g_sequence_ids[2], 4);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[2]);
+ kernel_timing_trigger(12, 236);
local._forceFallFl = true;
local._forceDodgeFl = true;
}
break;
case 236:
- _scene->_sequences.remove(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 14, 16);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(116, 131));
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 237);
+ kernel_seq_delete(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 14, 16);
+ kernel_seq_loc(g_sequence_ids[2], 116, 131);
+ kernel_seq_depth(g_sequence_ids[2], 4);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 237);
break;
case 237:
player.walker_visible = true;
player.clock = kernel.clock - player.frame_delay;
- _scene->_sequences.addTimer(1, 238);
+ kernel_timing_trigger(1, 238);
break;
case 238:
- _scene->_sequences.remove(g_sequence_ids[2]);
+ kernel_seq_delete(g_sequence_ids[2]);
if (local._dodgeFl)
player.commands_allowed = true;
@@ -1408,7 +1408,7 @@ static void room_209_daemon() {
kernel_message_add(quote_string(kernel.quotes, 134), 0, 0, 0x1110, 120, 0, 34);
if (local._shootReadyFl && (local._shouldFallFl || local._shouldDodgeFl)) {
- _scene->_sequences.addTimer(4, 234);
+ kernel_timing_trigger(4, 234);
local._shootReadyFl = false;
}
}
@@ -1451,7 +1451,7 @@ static void room_209_parser() {
}
if (player_said_2(talkto, monkey) && !local._pitchFl && !local._playingDialogFl) {
- _scene->_sequences.addTimer(1, local._dialogAbortVal);
+ kernel_timing_trigger(1, local._dialogAbortVal);
local._playingDialogFl = true;
player.commands_allowed = false;
player.command_ready = false;
@@ -1473,7 +1473,7 @@ static void room_209_parser() {
case 6:
kernel_message_add(quote_string(kernel.quotes, 151), 180, 21, 0xFDFC, 60, 0, 0);
- _scene->_sequences.addTimer(60, 130);
+ kernel_timing_trigger(60, 130);
local._dialogAbortVal = 7;
player.command_ready = false;
return;
@@ -1486,7 +1486,7 @@ static void room_209_parser() {
case 8:
kernel_message_add(quote_string(kernel.quotes, 149), 180, 21, 0xFDFC, 60, 0, 0);
- _scene->_sequences.addTimer(60, 130);
+ kernel_timing_trigger(60, 130);
local._dialogAbortVal = 9;
player.command_ready = false;
return;
@@ -1494,7 +1494,7 @@ static void room_209_parser() {
case 9:
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 141), 0, 0, 0x1110, 180, 0, 34);
- _scene->_sequences.addTimer(200, 10);
+ kernel_timing_trigger(200, 10);
player.command_ready = false;
return;
@@ -1505,7 +1505,7 @@ static void room_209_parser() {
case 11:
kernel_message_add(quote_string(kernel.quotes, 152), 180, 21, 0xFDFC, 60, 0, 0);
- _scene->_sequences.addTimer(60, 130);
+ kernel_timing_trigger(60, 130);
local._dialogAbortVal = 12;
player.command_ready = false;
return;
@@ -1513,7 +1513,7 @@ static void room_209_parser() {
case 12:
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 143), 0, 0, 0x1110, 130, 0, 34);
- _scene->_sequences.addTimer(150, 13);
+ kernel_timing_trigger(150, 13);
player.command_ready = false;
return;
@@ -1524,7 +1524,7 @@ static void room_209_parser() {
case 14:
kernel_message_add(quote_string(kernel.quotes, 151), 180, 21, 0xFDFC, 60, 0, 0);
- _scene->_sequences.addTimer(60, 130);
+ kernel_timing_trigger(60, 130);
local._dialogAbortVal = 15;
player.command_ready = false;
return;
@@ -1564,7 +1564,7 @@ static void room_209_parser() {
&& player_said_1(blowgun) && player_has(OBJ_BLOWGUN) && player_has(OBJ_POISON_DARTS)) {
if (player_said_3(shoot, blowgun, monkey) && !local._startShootingInTimerFl) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 231);
+ kernel_timing_trigger(1, 231);
local._startShootingInTimerFl = true;
player.commands_allowed = false;
local._dodgeFl = true;
@@ -1574,7 +1574,7 @@ static void room_209_parser() {
if (player_said_3(hose_down, blowgun, monkey) && !local._startShootingInTimerFl) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 228);
+ kernel_timing_trigger(1, 228);
player.commands_allowed = false;
local._fallFl = true;
local._startShootingInTimerFl = true;
@@ -1597,21 +1597,21 @@ static void room_209_parser() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[11] = _scene->_sequences.startPingPongCycle(g_sprite_ids[11], false, 3, 2, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[11]);
- _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_SPRITE, 4, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[11] = kernel_seq_pingpong(g_sprite_ids[11], false, 3, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[11], false);
+ kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_SPRITE, 4, 1);
+ kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
- _scene->_sequences.remove(g_sequence_ids[1]);
+ kernel_seq_delete(g_sequence_ids[1]);
inter_give_to_player(OBJ_PLANT_STALK);
break;
case 2:
player.walker_visible = true;
player.commands_allowed = true;
- _scene->_sequences.addTimer(4, 3);
+ kernel_timing_trigger(4, 3);
object_examine(OBJ_PLANT_STALK, 0x328, 0);
break;
@@ -1631,14 +1631,14 @@ static void room_209_parser() {
g_sprite_ids[10] = kernel_load_series("*RXMBD_8", 0);
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[10] = _scene->_sequences.startPingPongCycle(g_sprite_ids[10], false, 3, 2, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[10]);
- _scene->_sequences.addSubEntry(g_sequence_ids[10], SEQUENCE_TRIGGER_SPRITE, 4, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[10] = kernel_seq_pingpong(g_sprite_ids[10], false, 3, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[10], false);
+ kernel_seq_trigger(g_sequence_ids[10], SEQUENCE_TRIGGER_SPRITE, 4, 1);
+ kernel_seq_trigger(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
- _scene->_sequences.remove(g_sequence_ids[9]);
+ kernel_seq_delete(g_sequence_ids[9]);
inter_give_to_player(OBJ_BINOCULARS);
break;
@@ -1646,7 +1646,7 @@ static void room_209_parser() {
player.walker_visible = true;
player.commands_allowed = true;
local._binocularsDroppedFl = false;
- _scene->_sequences.addTimer(4, 3);
+ kernel_timing_trigger(4, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room210.cpp b/engines/mads/nebular/rooms/room210.cpp
index 9bc57773221..24e754c51c3 100644
--- a/engines/mads/nebular/rooms/room210.cpp
+++ b/engines/mads/nebular/rooms/room210.cpp
@@ -117,16 +117,16 @@ static void setDialogNode(int node) {
player.commands_allowed = false;
if (local._twinklesTalking) {
handleTwinklesSpeech(0xB9, -1, 0);
- _scene->_sequences.addTimer(180, 2);
+ kernel_timing_trigger(180, 2);
} else {
- _scene->_sequences.addTimer(6, 1);
+ kernel_timing_trigger(6, 1);
}
break;
case 2:
local._nextHandsPlace = 0;
handleTwinklesSpeech(186, 0, 0);
- _scene->_sequences.addTimer(180, 3);
+ kernel_timing_trigger(180, 3);
break;
default:
@@ -146,20 +146,20 @@ static void setDialogNode(int node) {
player.commands_allowed = false;
if (local._twinklesTalking) {
handleTwinklesSpeech(0xBE, -2, 0);
- _scene->_sequences.addTimer(180, 2);
+ kernel_timing_trigger(180, 2);
} else {
- _scene->_sequences.addTimer(6, 1);
+ kernel_timing_trigger(6, 1);
}
break;
case 2:
local._nextHandsPlace = 2;
handleTwinklesSpeech(191, -1, 0);
- _scene->_sequences.addTimer(180, 3);
+ kernel_timing_trigger(180, 3);
break;
case 3:
local._nextHandsPlace = 0;
handleTwinklesSpeech(192, 0, 0);
- _scene->_sequences.addTimer(180, 4);
+ kernel_timing_trigger(180, 4);
break;
default:
local._shouldTalk = false;
@@ -183,9 +183,9 @@ static void setDialogNode(int node) {
if (local._twinklesTalking) {
handleTwinklesSpeech(quote, 0, 360);
- _scene->_sequences.addTimer(120, 2);
+ kernel_timing_trigger(120, 2);
} else {
- _scene->_sequences.addTimer(6, 1);
+ kernel_timing_trigger(6, 1);
}
} else {
_scene->_userInterface.setup(kInputBuildingSentences);
@@ -203,16 +203,16 @@ static void setDialogNode(int node) {
player.commands_allowed = false;
if (local._twinklesTalking) {
handleTwinklesSpeech(0xCA, -1, 0);
- _scene->_sequences.addTimer(180, 2);
+ kernel_timing_trigger(180, 2);
} else {
- _scene->_sequences.addTimer(6, 1);
+ kernel_timing_trigger(6, 1);
}
break;
case 2:
local._nextHandsPlace = 1;
handleTwinklesSpeech(0xCB, 0, 0);
- _scene->_sequences.addTimer(180, 3);
+ kernel_timing_trigger(180, 3);
break;
default:
@@ -232,21 +232,21 @@ static void setDialogNode(int node) {
player.commands_allowed = false;
if (local._twinklesTalking) {
handleTwinklesSpeech(0xD0, -2, 0);
- _scene->_sequences.addTimer(180, 2);
+ kernel_timing_trigger(180, 2);
} else {
- _scene->_sequences.addTimer(6, 1);
+ kernel_timing_trigger(6, 1);
}
break;
case 2:
handleTwinklesSpeech(0xD1, -1, 0);
- _scene->_sequences.addTimer(180, 3);
+ kernel_timing_trigger(180, 3);
break;
case 3:
local._nextHandsPlace = 1;
handleTwinklesSpeech(0xD2, 0, 0);
- _scene->_sequences.addTimer(180, 4);
+ kernel_timing_trigger(180, 4);
break;
default:
@@ -266,15 +266,15 @@ static void setDialogNode(int node) {
player.commands_allowed = false;
if (local._twinklesTalking) {
handleTwinklesSpeech(0xD6, -1, 0);
- _scene->_sequences.addTimer(180, 2);
+ kernel_timing_trigger(180, 2);
} else {
- _scene->_sequences.addTimer(6, 1);
+ kernel_timing_trigger(6, 1);
}
break;
case 2:
handleTwinklesSpeech(0xD7, 0, 0);
- _scene->_sequences.addTimer(180, 3);
+ kernel_timing_trigger(180, 3);
break;
default:
@@ -293,15 +293,15 @@ static void setDialogNode(int node) {
player.commands_allowed = false;
if (local._twinklesTalking) {
handleTwinklesSpeech(0xDD, -1, 0);
- _scene->_sequences.addTimer(180, 2);
+ kernel_timing_trigger(180, 2);
} else {
- _scene->_sequences.addTimer(6, 1);
+ kernel_timing_trigger(6, 1);
}
break;
case 2:
handleTwinklesSpeech(0xDE, 0, 0);
- _scene->_sequences.addTimer(180, 3);
+ kernel_timing_trigger(180, 3);
break;
default:
@@ -323,15 +323,15 @@ static void setDialogNode(int node) {
_scene->_userInterface.emptyConversationList();
_scene->_userInterface.setup(kInputConversation);
handleTwinklesSpeech(0xE4, -1, 0);
- _scene->_sequences.addTimer(180, 2);
+ kernel_timing_trigger(180, 2);
} else {
- _scene->_sequences.addTimer(6, 1);
+ kernel_timing_trigger(6, 1);
}
break;
case 2:
handleTwinklesSpeech(0xE5, 0, 0);
- _scene->_sequences.addTimer(180, 3);
+ kernel_timing_trigger(180, 3);
break;
case 3:
@@ -350,8 +350,8 @@ static void setDialogNode(int node) {
case 4:
{
- g_sprite_ids[8] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 5);
- _scene->_sequences.setDepth(g_sprite_ids[8], 1);
+ g_sprite_ids[8] = kernel_seq_stamp(g_sprite_ids[1], false, 5);
+ kernel_seq_depth(g_sprite_ids[8], 1);
int msgIndex = kernel_message_add(quote_string(kernel.quotes, 231), 160, 20, 0x1110, 180, 5, 32);
kernel_message_teletype(msgIndex, 4, true);
@@ -554,13 +554,13 @@ static void handleConversations() {
quote_split_string(curQuote, line1, line2);
Common::strcpy_s(local._subQuote2, line2);
kernel_message_add(line1, 0, -14, 0x1110, 240, 0, 34);
- _scene->_sequences.addTimer(60, 50);
+ kernel_timing_trigger(60, 50);
} else {
kernel_message_add(curQuote, 0, 0, 0x1110, 120, 1, 34);
}
} else if (kernel.trigger == 50) {
kernel_message_add(local._subQuote2, 0, 0, 0x1110, 240, 0, 34);
- _scene->_sequences.addTimer(180, 1);
+ kernel_timing_trigger(180, 1);
} else {
if (kernel.trigger == 1)
kernel_message_purge();
@@ -633,8 +633,8 @@ static void room_210_init() {
}
if (!global[kCurtainOpen]) {
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 5);
- _scene->_sequences.setDepth(g_sequence_ids[1], 5);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 5);
+ kernel_seq_depth(g_sequence_ids[1], 5);
} else {
int idx = _scene->_dynamicHotspots.add(words_doorway, words_walk_through, -1, Common::Rect(163, 87, 163 + 19, 87 + 36));
local._doorway = _scene->_dynamicHotspots.setPosition(idx, Common::Point(168, 127), FACING_NORTH);
@@ -936,7 +936,7 @@ static void room_210_parser() {
case 1:
local._shouldTalk = true;
if (!local._twinklesTalking) {
- _scene->_sequences.addTimer(6, 1);
+ kernel_timing_trigger(6, 1);
} else {
if (global[kTwinklesApproached] == 0) {
handleTwinklesSpeech(0xAF, -1, 0);
@@ -948,7 +948,7 @@ static void room_210_parser() {
local._twinklesTalk2 = true;
handleTwinklesSpeech(quote, 0, 0);
}
- _scene->_sequences.addTimer(60, 3);
+ kernel_timing_trigger(60, 3);
}
break;
@@ -975,7 +975,7 @@ static void room_210_parser() {
local._shouldMoveHead = true;
player.commands_allowed = false;
handleTwinklesSpeech(quote, 0, 120);
- _scene->_sequences.addTimer(120, 1);
+ kernel_timing_trigger(120, 1);
}
break;
@@ -995,10 +995,10 @@ static void room_210_parser() {
switch (kernel.trigger) {
case 0:
player.commands_allowed = false;
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[1], false, 12, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[1], 5);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 12, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[1], 5);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -1015,18 +1015,18 @@ static void room_210_parser() {
} else if ((player_said_2(pull, curtain) || player_said_2(close, curtain)) && global[kCurtainOpen]) {
switch (kernel.trigger) {
case 0:
- _scene->_sequences.remove(g_sequence_ids[1]);
+ kernel_seq_delete(g_sequence_ids[1]);
player.commands_allowed = false;
player.facing = FACING_NORTH;
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 12, 0, 0, 1);
- _scene->_sequences.setDepth(g_sequence_ids[1], 5);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 12, 1, 0, 0);
+ kernel_seq_depth(g_sequence_ids[1], 5);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
break;
case 1:
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 5);
- _scene->_sequences.setDepth(g_sequence_ids[1], 5);
- _scene->_sequences.addTimer(48, 2);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 5);
+ kernel_seq_depth(g_sequence_ids[1], 5);
+ kernel_timing_trigger(48, 2);
break;
case 2:
_scene->_dynamicHotspots.remove(local._doorway);
diff --git a/engines/mads/nebular/rooms/room211.cpp b/engines/mads/nebular/rooms/room211.cpp
index c1b2248e6d4..46a29386738 100644
--- a/engines/mads/nebular/rooms/room211.cpp
+++ b/engines/mads/nebular/rooms/room211.cpp
@@ -67,10 +67,10 @@ static void room_211_init() {
}
if (g_engine->getRandomNumber(1, 8) == 1) {
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(202, 126));
- _scene->_sequences.setDepth(g_sequence_ids[2], 8);
- _scene->_sequences.setMotion(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, -200, 0);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 0, 0);
+ kernel_seq_loc(g_sequence_ids[2], 202, 126);
+ kernel_seq_depth(g_sequence_ids[2], 8);
+ kernel_seq_motion(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, -200, 0);
_scene->_dynamicHotspots.add(words_slithering_snake, words_walkto, g_sequence_ids[2], Common::Rect(1, 1, 1 + 41, 1 + 10));
}
diff --git a/engines/mads/nebular/rooms/room214.cpp b/engines/mads/nebular/rooms/room214.cpp
index 82b73388aef..a23b9f2ba51 100644
--- a/engines/mads/nebular/rooms/room214.cpp
+++ b/engines/mads/nebular/rooms/room214.cpp
@@ -49,17 +49,17 @@ static void room_214_init() {
local._devilRunningFl = false;
if (object_is_here(OBJ_POISON_DARTS)) {
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(103, 86));
- _scene->_sequences.setDepth(g_sequence_ids[1], 11);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 0, 0);
+ kernel_seq_loc(g_sequence_ids[1], 103, 86);
+ kernel_seq_depth(g_sequence_ids[1], 11);
} else {
_scene->_hotspots.activate(words_poison_darts, false);
}
if (object_is_here(OBJ_BLOWGUN)) {
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(90, 87));
- _scene->_sequences.setDepth(g_sequence_ids[2], 13);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 0, 0);
+ kernel_seq_loc(g_sequence_ids[2], 90, 87);
+ kernel_seq_depth(g_sequence_ids[2], 13);
} else {
_scene->_hotspots.activate(words_blowgun, false);
}
@@ -75,11 +75,11 @@ static void room_214_init() {
static void room_214_daemon() {
if ((player.clock - local._devilTime > 800) && !local._devilRunningFl) {
local._devilRunningFl = true;
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 9, 1, 6, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 4);
- _scene->_sequences.setDepth(g_sequence_ids[3], 2);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 6, 1);
+ kernel_seq_range(g_sequence_ids[3], 1, 4);
+ kernel_seq_depth(g_sequence_ids[3], 2);
_scene->_dynamicHotspots.add(words_captive_creature, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
if (local._devilRunningFl) {
@@ -87,23 +87,23 @@ static void room_214_daemon() {
case 71:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 9, 5, 0, 0);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 5);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
_scene->_dynamicHotspots.add(words_captive_creature, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 5, 8);
- _scene->_sequences.setDepth(g_sequence_ids[3], 2);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_range(g_sequence_ids[3], 5, 8);
+ kernel_seq_depth(g_sequence_ids[3], 2);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
}
break;
case 72:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 9, 1, 0, 0);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 1);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
_scene->_dynamicHotspots.add(words_captive_creature, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 9, -2);
- _scene->_sequences.setDepth(g_sequence_ids[3], 2);
+ kernel_seq_range(g_sequence_ids[3], 9, -2);
+ kernel_seq_depth(g_sequence_ids[3], 2);
local._devilTime = player.clock;
local._devilRunningFl = false;
}
@@ -125,23 +125,23 @@ static void room_214_parser() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], true, 6, 1, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], true, 6, 0, 0, 1);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
- g_sequence_ids[4] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[4], true, 6, 1, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
- _scene->_sequences.remove(g_sequence_ids[1]);
+ g_sequence_ids[4] = kernel_seq_backward(g_sprite_ids[4], true, 6, 0, 0, 1);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_delete(g_sequence_ids[1]);
inter_give_to_player(OBJ_POISON_DARTS);
_scene->_hotspots.activate(words_poison_darts, false);
break;
case 2:
player.walker_visible = true;
- _scene->_sequences.addTimer(48, 3);
+ kernel_timing_trigger(48, 3);
break;
case 3:
@@ -157,23 +157,23 @@ static void room_214_parser() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 1, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 1);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
- g_sequence_ids[4] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[4], false, 6, 1, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
- _scene->_sequences.remove(g_sequence_ids[2]);
+ g_sequence_ids[4] = kernel_seq_backward(g_sprite_ids[4], false, 6, 0, 0, 1);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_delete(g_sequence_ids[2]);
inter_give_to_player(OBJ_BLOWGUN);
_scene->_hotspots.activate(words_blowgun, false);
break;
case 2:
player.walker_visible = true;
- _scene->_sequences.addTimer(48, 3);
+ kernel_timing_trigger(48, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room215.cpp b/engines/mads/nebular/rooms/room215.cpp
index ac18e948de8..898ebe9f406 100644
--- a/engines/mads/nebular/rooms/room215.cpp
+++ b/engines/mads/nebular/rooms/room215.cpp
@@ -35,9 +35,9 @@ static void room_215_init() {
g_sprite_ids[1] = kernel_load_series(kernel_name('e', 0), 0);
g_sprite_ids[3] = kernel_load_series(kernel_name('a', 0), 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 7, 0, 0, 0);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(235, 83));
- _scene->_sequences.setDepth(g_sequence_ids[1], 15);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 7, 0, 0, 0);
+ kernel_seq_loc(g_sequence_ids[1], 235, 83);
+ kernel_seq_depth(g_sequence_ids[1], 15);
if (global[kSexOfRex] == REX_MALE)
g_sprite_ids[2] = kernel_load_series("*RXMRC_9", 0);
@@ -50,8 +50,8 @@ static void room_215_init() {
player.facing = FACING_SOUTHWEST;
player.walker_visible = false;
player.commands_allowed = false;
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
- _scene->_sequences.addTimer(120, 70);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
+ kernel_timing_trigger(120, 70);
} else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 204;
player.y = 152;
@@ -64,13 +64,13 @@ static void room_215_init() {
static void room_215_daemon() {
if (kernel.trigger == 70) {
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
if (kernel.trigger == 71) {
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[3]);
+ kernel_seq_timeout(g_sequence_ids[3], -1);
player.walker_visible = true;
player.commands_allowed = true;
}
@@ -86,11 +86,11 @@ static void room_215_parser() {
if (global[kSexOfRex] == REX_MALE) {
player.walker_visible = false;
player.commands_allowed = false;
- g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 6, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 4);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_LOOP, 0, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 6, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[2], 1, 4);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_LOOP, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
inter_give_to_player(OBJ_TWINKIFRUIT);
object_examine(OBJ_TWINKIFRUIT, 0x5404, 0);
@@ -107,7 +107,7 @@ static void room_215_parser() {
case 2:
player.walker_visible = true;
player.commands_allowed = true;
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[2]);
+ kernel_seq_timeout(g_sequence_ids[2], -1);
break;
default:
diff --git a/engines/mads/nebular/rooms/room301.cpp b/engines/mads/nebular/rooms/room301.cpp
index 297d736dcf9..e3a75bf9a21 100644
--- a/engines/mads/nebular/rooms/room301.cpp
+++ b/engines/mads/nebular/rooms/room301.cpp
@@ -33,7 +33,7 @@ namespace Rooms {
static void room_301_init() {
g_sprite_ids[1] = kernel_load_series(kernel_name('x', 0), 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 9, 0, 0, 0);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 9, 0, 0, 0);
global[kMeteorologistStatus] = METEOROLOGIST_GONE;
global[kTeleporterCommand] = TELEPORTER_NONE;
diff --git a/engines/mads/nebular/rooms/room303.cpp b/engines/mads/nebular/rooms/room303.cpp
index db5d4ae6286..e85737dc567 100644
--- a/engines/mads/nebular/rooms/room303.cpp
+++ b/engines/mads/nebular/rooms/room303.cpp
@@ -35,9 +35,9 @@ static void room_303_init() {
g_sprite_ids[1] = kernel_load_series(kernel_name('b', 0), 0);
g_sprite_ids[2] = kernel_load_series(kernel_name('b', 1), 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 10, 0, 50, 120);
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 10, 0, 0, 0);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 10, 120, 50, 0);
+ kernel_seq_depth(g_sequence_ids[1], 1);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 10, 0, 0, 0);
player.walker_visible = false;
player.commands_allowed = false;
diff --git a/engines/mads/nebular/rooms/room304.cpp b/engines/mads/nebular/rooms/room304.cpp
index 8f39a425855..c46d88f1790 100644
--- a/engines/mads/nebular/rooms/room304.cpp
+++ b/engines/mads/nebular/rooms/room304.cpp
@@ -52,8 +52,8 @@ static void room_304_init() {
g_sprite_ids[2] = kernel_load_series(kernel_name('a', 1), 0);
g_sprite_ids[3] = kernel_load_series(kernel_name('b', 0), 0);
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 150, 0, 3, 0);
- _scene->_sequences.setDepth(g_sequence_ids[3], 2);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 150, 0, 3, 0);
+ kernel_seq_depth(g_sequence_ids[3], 2);
pal_change_color(252, 45, 63, 45);
pal_change_color(253, 20, 45, 20);
@@ -66,9 +66,9 @@ static void room_304_init() {
player.y = 116;
}
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 11, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], -1, -1);
- _scene->_sequences.addTimer(48, 70);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 11, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[2], -1, -1);
+ kernel_timing_trigger(48, 70);
}
section_3_music();
@@ -84,74 +84,74 @@ static void room_304_daemon() {
case 70:
{
player.walker_visible = false;
- _scene->_sequences.remove(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 2, 4);
- _scene->_sequences.setDepth(g_sequence_ids[2], 1);
+ kernel_seq_delete(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 2, 4);
+ kernel_seq_depth(g_sequence_ids[2], 1);
if (global[kSexOfRex] == REX_MALE)
local._explosionSpriteId = g_sprite_ids[1];
else
local._explosionSpriteId = g_sprite_ids[4];
- int sprIdx = _scene->_sequences.addSpriteCycle(local._explosionSpriteId, false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(sprIdx, -1, 4);
- _scene->_sequences.setDepth(sprIdx, 1);
- _scene->_sequences.addSubEntry(sprIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 71);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ int sprIdx = kernel_seq_forward(local._explosionSpriteId, false, 8, 0, 0, 1);
+ kernel_seq_range(sprIdx, -1, 4);
+ kernel_seq_depth(sprIdx, 1);
+ kernel_seq_trigger(sprIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
}
break;
case 71:
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0xEB), 0, 0, 0x1110, 60, 0, 34);
- _scene->_sequences.addTimer(1, 72);
+ kernel_timing_trigger(1, 72);
break;
case 72:
{
g_engine->_soundManager->command(43, 0);
- int sprIdx = _scene->_sequences.addSpriteCycle(local._explosionSpriteId, false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(sprIdx, 5, -2);
- _scene->_sequences.setDepth(sprIdx, 1);
- _scene->_sequences.addSubEntry(sprIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ int sprIdx = kernel_seq_forward(local._explosionSpriteId, false, 8, 0, 0, 1);
+ kernel_seq_range(sprIdx, 5, -2);
+ kernel_seq_depth(sprIdx, 1);
+ kernel_seq_trigger(sprIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 73);
if (config_file.naughtiness == STORYMODE_NICE)
- _scene->_sequences.addSubEntry(sprIdx, SEQUENCE_TRIGGER_SPRITE, 8, 78);
+ kernel_seq_trigger(sprIdx, SEQUENCE_TRIGGER_SPRITE, 8, 78);
}
break;
case 73:
{
- int sprIdx = _scene->_sequences.addSpriteCycle(local._explosionSpriteId, false, 8, 0, 0, 0);
- _scene->_sequences.setAnimRange(sprIdx, -2, -2);
- _scene->_sequences.setDepth(sprIdx, 1);
+ int sprIdx = kernel_seq_forward(local._explosionSpriteId, false, 8, 0, 0, 0);
+ kernel_seq_range(sprIdx, -2, -2);
+ kernel_seq_depth(sprIdx, 1);
}
break;
case 74:
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 5, -2);
- _scene->_sequences.setDepth(g_sequence_ids[2], 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 5, -2);
+ kernel_seq_depth(g_sequence_ids[2], 1);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
break;
case 75:
- g_sequence_ids[2] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 2, -2);
- _scene->_sequences.setDepth(g_sequence_ids[2], 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
+ g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 2, -2);
+ kernel_seq_depth(g_sequence_ids[2], 1);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
break;
case 76:
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[2], 1);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 2, 2);
- _scene->_sequences.addTimer(48, 77);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 8, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[2], 1);
+ kernel_seq_range(g_sequence_ids[2], 2, 2);
+ kernel_timing_trigger(48, 77);
break;
case 77:
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0xEC), 211, 45, 0xFDFC, 180, 0, 32);
- _scene->_sequences.addTimer(120, 78);
+ kernel_timing_trigger(120, 78);
break;
case 78:
diff --git a/engines/mads/nebular/rooms/room307.cpp b/engines/mads/nebular/rooms/room307.cpp
index 7db6fa3722c..2da92f70df5 100644
--- a/engines/mads/nebular/rooms/room307.cpp
+++ b/engines/mads/nebular/rooms/room307.cpp
@@ -283,9 +283,9 @@ static void room_307_init() {
init_forcefield(&local._forcefield, true);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[4], 15);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
+ kernel_seq_loc(g_sequence_ids[4], 127, 78);
+ kernel_seq_depth(g_sequence_ids[4], 15);
local._animationMode = 0;
local._fieldCollisionCounter = 0;
@@ -353,10 +353,10 @@ static void room_307_init() {
int hotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(129, 104), FACING_NORTH);
_scene->_dynamicHotspots.setCursor(hotspotId, CURSOR_GO_UP);
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 2);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[4], 15);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 2);
+ kernel_seq_loc(g_sequence_ids[4], 127, 78);
+ kernel_seq_depth(g_sequence_ids[4], 15);
}
pal_change_color(252, 63, 30, 20);
@@ -488,60 +488,60 @@ static void room_307_parser() {
player.commands_allowed = false;
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 239), 0, 0, 0x1110, 120, 0, 34);
- _scene->_sequences.addTimer(120, 1);
+ kernel_timing_trigger(120, 1);
break;
case 1:
g_sprite_ids[5] = kernel_load_series("*RXCL_8", 0);
player.walker_visible = false;
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[5], -1, 3);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[5], -1, 3);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
{
int oldIdx = g_sequence_ids[5];
- g_sequence_ids[5] = _scene->_sequences.startPingPongCycle(g_sprite_ids[5], false, 12, 6, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.setAnimRange(g_sequence_ids[5], 2, 3);
- _scene->_sequences.updateTimeout(g_sequence_ids[5], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ g_sequence_ids[5] = kernel_seq_pingpong(g_sprite_ids[5], false, 12, 0, 0, 6);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_range(g_sequence_ids[5], 2, 3);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[5]);
+ kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
break;
case 3:
{
int oldIdx = g_sequence_ids[5];
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.updateTimeout(g_sequence_ids[5], oldIdx);
- _scene->_sequences.addTimer(48, 4);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 1);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[5]);
+ kernel_timing_trigger(48, 4);
}
break;
case 4:
g_engine->_soundManager->command(26, 0);
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 2);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[4], 15);
- _scene->_sequences.addTimer(90, 5);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 2);
+ kernel_seq_loc(g_sequence_ids[4], 127, 78);
+ kernel_seq_depth(g_sequence_ids[4], 15);
+ kernel_timing_trigger(90, 5);
break;
case 5:
g_engine->_soundManager->command(10, 0);
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 241), 0, 0, 0x1110, 120, 0, 34);
- _scene->_sequences.addTimer(120, 6);
+ kernel_timing_trigger(120, 6);
break;
case 6:
{
player.walker_visible = true;
player.clock = kernel.clock - player.frame_delay;
- _scene->_sequences.remove(g_sequence_ids[5]);
+ kernel_seq_delete(g_sequence_ids[5]);
local._grateOpenedFl = true;
_scene->_hotspots.activate(17, false);
int idx = _scene->_dynamicHotspots.add(words_air_vent, words_climb_into, -1, Common::Rect(117, 67, 117 + 19, 67 + 13));
@@ -567,73 +567,73 @@ static void room_307_parser() {
g_sprite_ids[5] = kernel_load_series("*RXCL_8", 0);
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 60, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 3, -2);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[4], 15);
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 18, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[5], -1, 4);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 60, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[4], 3, -2);
+ kernel_seq_loc(g_sequence_ids[4], 127, 78);
+ kernel_seq_depth(g_sequence_ids[4], 15);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 18, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[5], -1, 4);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, -2);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[4], 15);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, -2);
+ kernel_seq_loc(g_sequence_ids[4], 127, 78);
+ kernel_seq_depth(g_sequence_ids[4], 15);
break;
case 2:
{
int oldIdx = g_sequence_ids[5];
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[5], 4, 10);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.updateTimeout(g_sequence_ids[5], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[5], 4, 10);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[5]);
+ kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
break;
case 3:
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 3);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[4], 1);
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 11);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.setPosition(g_sequence_ids[5], Common::Point(129, 102));
- _scene->_sequences.addTimer(48, 4);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 3);
+ kernel_seq_loc(g_sequence_ids[4], 127, 78);
+ kernel_seq_depth(g_sequence_ids[4], 1);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 11);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_loc(g_sequence_ids[5], 129, 102);
+ kernel_timing_trigger(48, 4);
break;
case 4:
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 2);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[4], 1);
- _scene->_sequences.remove(g_sequence_ids[5]);
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[5], 12, 14);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.setPosition(g_sequence_ids[5], Common::Point(129, 102));
- _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 2);
+ kernel_seq_loc(g_sequence_ids[4], 127, 78);
+ kernel_seq_depth(g_sequence_ids[4], 1);
+ kernel_seq_delete(g_sequence_ids[5]);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[5], 12, 14);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_loc(g_sequence_ids[5], 129, 102);
+ kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
break;
case 5:
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 15);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.setPosition(g_sequence_ids[5], Common::Point(129, 102));
- _scene->_sequences.addTimer(48, 6);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 15);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_loc(g_sequence_ids[5], 129, 102);
+ kernel_timing_trigger(48, 6);
break;
case 6:
- _scene->_sequences.remove(g_sequence_ids[5]);
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[4], 1);
- _scene->_sequences.addTimer(48, 7);
+ kernel_seq_delete(g_sequence_ids[5]);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
+ kernel_seq_loc(g_sequence_ids[4], 127, 78);
+ kernel_seq_depth(g_sequence_ids[4], 1);
+ kernel_timing_trigger(48, 7);
break;
case 7:
@@ -655,23 +655,23 @@ static void room_307_parser() {
local._duringPeeingFl = true;
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 9, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], -1, 2);
- _scene->_sequences.setDepth(g_sequence_ids[3], 9);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], -1, 2);
+ kernel_seq_depth(g_sequence_ids[3], 9);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 9, 5, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 3, -2);
- _scene->_sequences.setDepth(g_sequence_ids[3], 9);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 5);
+ kernel_seq_range(g_sequence_ids[3], 3, -2);
+ kernel_seq_depth(g_sequence_ids[3], 9);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[3]);
+ kernel_seq_timeout(g_sequence_ids[3], -1);
player.walker_visible = true;
- _scene->_sequences.addTimer(48, 3);
+ kernel_timing_trigger(48, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room308.cpp b/engines/mads/nebular/rooms/room308.cpp
index 7f9e4c3eccc..ec892da9bb7 100644
--- a/engines/mads/nebular/rooms/room308.cpp
+++ b/engines/mads/nebular/rooms/room308.cpp
@@ -53,12 +53,12 @@ static void room_308_init() {
pal_change_color(252, 63, 30, 20);
pal_change_color(253, 45, 15, 12);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[4], 15);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[3], 9);
- _scene->_sequences.addTimer(48, 70);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
+ kernel_seq_loc(g_sequence_ids[4], 127, 78);
+ kernel_seq_depth(g_sequence_ids[4], 15);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
+ kernel_seq_depth(g_sequence_ids[3], 9);
+ kernel_timing_trigger(48, 70);
player.walker_visible = false;
player.commands_allowed = false;
@@ -80,80 +80,80 @@ static void room_308_daemon() {
switch (kernel.trigger) {
case 70:
{
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 18, 9, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, 3);
- _scene->_sequences.setDepth(g_sequence_ids[3], 9);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 18, 0, 0, 9);
+ kernel_seq_range(g_sequence_ids[3], 2, 3);
+ kernel_seq_depth(g_sequence_ids[3], 9);
kernel_message_purge();
int idx = kernel_message_add(quote_string(kernel.quotes, 244), 171, 21, 0xFDFC, 120, 0, 0);
kernel_message_teletype(idx, 2, true);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
break;
case 71:
{
int seqIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 4);
- _scene->_sequences.setDepth(g_sequence_ids[3], 9);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], seqIdx);
- _scene->_sequences.addTimer(48, 72);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 4);
+ kernel_seq_depth(g_sequence_ids[3], 9);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[3]);
+ kernel_timing_trigger(48, 72);
}
break;
case 72:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 20, 5, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 3, 4);
- _scene->_sequences.setDepth(g_sequence_ids[3], 9);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 20, 0, 0, 5);
+ kernel_seq_range(g_sequence_ids[3], 3, 4);
+ kernel_seq_depth(g_sequence_ids[3], 9);
kernel_message_purge();
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
break;
case 73:
{
int seqIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 5);
- _scene->_sequences.setDepth(g_sequence_ids[3], 9);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], seqIdx);
- _scene->_sequences.addTimer(48, 74);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 5);
+ kernel_seq_depth(g_sequence_ids[3], 9);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[3]);
+ kernel_timing_trigger(48, 74);
}
break;
case 74:
{
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 20, 8, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 6, 7);
- _scene->_sequences.setDepth(g_sequence_ids[3], 9);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 20, 0, 0, 8);
+ kernel_seq_range(g_sequence_ids[3], 6, 7);
+ kernel_seq_depth(g_sequence_ids[3], 9);
kernel_message_purge();
int idx = kernel_message_add(quote_string(kernel.quotes, 245), 171, 21, 0xFDFC, 120, 0, 0);
kernel_message_teletype(idx, 2, true);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
}
break;
case 75:
{
int seqIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 23, 5, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 8, 10);
- _scene->_sequences.setDepth(g_sequence_ids[3], 9);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], seqIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 23, 0, 0, 5);
+ kernel_seq_range(g_sequence_ids[3], 8, 10);
+ kernel_seq_depth(g_sequence_ids[3], 9);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
}
break;
case 76:
{
int seqIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 26, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, 3);
- _scene->_sequences.setDepth(g_sequence_ids[3], 9);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 26, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[3], 2, 3);
+ kernel_seq_depth(g_sequence_ids[3], 9);
kernel_message_purge();
int idx = kernel_message_add(quote_string(kernel.quotes, 246), 171, 21, 0xFDFC, 120, 0, 0);
kernel_message_teletype(idx, 2, true);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], seqIdx);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[3]);
}
break;
diff --git a/engines/mads/nebular/rooms/room309.cpp b/engines/mads/nebular/rooms/room309.cpp
index 69d18631d4d..e121a0a6f0c 100644
--- a/engines/mads/nebular/rooms/room309.cpp
+++ b/engines/mads/nebular/rooms/room309.cpp
@@ -53,14 +53,14 @@ static void room_309_init() {
g_sprite_ids[3] = kernel_load_series(kernel_name('x', 0), 0);
g_sprite_ids[4] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[4], 15);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
+ kernel_seq_loc(g_sequence_ids[4], 127, 78);
+ kernel_seq_depth(g_sequence_ids[4], 15);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], -1, 3);
- _scene->_sequences.setDepth(g_sequence_ids[3], 11);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 3, 70);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 7, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], -1, 3);
+ kernel_seq_depth(g_sequence_ids[3], 11);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 3, 70);
pal_change_color(252, 63, 37, 26);
pal_change_color(253, 45, 24, 17);
@@ -136,91 +136,91 @@ static void room_309_daemon() {
{
int idx = _scene->_dynamicHotspots.add(words_ghastly_beast, words_gawk_at, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(142, 146), FACING_NORTHEAST);
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 7, 4, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, 3);
- _scene->_sequences.setDepth(g_sequence_ids[3], 11);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 7, 0, 0, 4);
+ kernel_seq_range(g_sequence_ids[3], 2, 3);
+ kernel_seq_depth(g_sequence_ids[3], 11);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
break;
case 71:
{
int _oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 4, 7);
- _scene->_sequences.setDepth(g_sequence_ids[3], 11);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], _oldIdx);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 7, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 4, 7);
+ kernel_seq_depth(g_sequence_ids[3], 11);
+ kernel_seq_timeout(_oldIdx, g_sequence_ids[3]);
int idx = kernel_message_add(quote_string(kernel.quotes, 248), 85, 37, 0xFDFC, 120, 0, 0);
kernel_message_teletype(idx, 2, true);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
}
break;
case 72:
{
int _oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 7, 8, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 8, 11);
- _scene->_sequences.setDepth(g_sequence_ids[3], 11);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], _oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 7, 0, 0, 8);
+ kernel_seq_range(g_sequence_ids[3], 8, 11);
+ kernel_seq_depth(g_sequence_ids[3], 11);
+ kernel_seq_timeout(_oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
}
break;
case 73:
{
int _oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 12, 20);
- _scene->_sequences.setDepth(g_sequence_ids[3], 11);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], _oldIdx);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 7, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 12, 20);
+ kernel_seq_depth(g_sequence_ids[3], 11);
+ kernel_seq_timeout(_oldIdx, g_sequence_ids[3]);
int idx = kernel_message_add(quote_string(kernel.quotes, 249), 170, 49, 0xFDFC, 120, 0, 0);
kernel_message_teletype(idx, 2, true);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
}
break;
case 74:
{
int _oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 7, 6, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 21, 23);
- _scene->_sequences.setDepth(g_sequence_ids[3], 11);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], _oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 7, 0, 0, 6);
+ kernel_seq_range(g_sequence_ids[3], 21, 23);
+ kernel_seq_depth(g_sequence_ids[3], 11);
+ kernel_seq_timeout(_oldIdx, g_sequence_ids[3]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
}
break;
case 75:
{
int _oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 12, 6, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 24, 25);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], _oldIdx);
- _scene->_sequences.setDepth(g_sequence_ids[3], 11);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 12, 0, 0, 6);
+ kernel_seq_range(g_sequence_ids[3], 24, 25);
+ kernel_seq_timeout(_oldIdx, g_sequence_ids[3]);
+ kernel_seq_depth(g_sequence_ids[3], 11);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
}
break;
case 76:
{
int _oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 26, 28);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], _oldIdx);
- _scene->_sequences.setDepth(g_sequence_ids[3], 11);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 77);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 26, 28);
+ kernel_seq_timeout(_oldIdx, g_sequence_ids[3]);
+ kernel_seq_depth(g_sequence_ids[3], 11);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 77);
}
break;
case 77:
{
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 90, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 29, 30);
- _scene->_sequences.setDepth(g_sequence_ids[3], 11);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 90, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[3], 29, 30);
+ kernel_seq_depth(g_sequence_ids[3], 11);
int idx = kernel_message_add(quote_string(kernel.quotes, 247), 15, 46, 0xFDFC, 120, 0, 0);
kernel_message_teletype(idx, 2, true);
- _scene->_sequences.addTimer(120, 78);
+ kernel_timing_trigger(120, 78);
}
break;
diff --git a/engines/mads/nebular/rooms/room310.cpp b/engines/mads/nebular/rooms/room310.cpp
index 1893f5dbfe0..387737fdf92 100644
--- a/engines/mads/nebular/rooms/room310.cpp
+++ b/engines/mads/nebular/rooms/room310.cpp
@@ -47,9 +47,9 @@ static void room_310_init() {
init_forcefield(&local._forcefield, true);
g_sprite_ids[3] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[3], 15);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
+ kernel_seq_loc(g_sequence_ids[3], 127, 78);
+ kernel_seq_depth(g_sequence_ids[3], 15);
player.walker_visible = false;
player.commands_allowed = false;
diff --git a/engines/mads/nebular/rooms/room311.cpp b/engines/mads/nebular/rooms/room311.cpp
index 2e54dd0b3f7..e7e3a51bd8a 100644
--- a/engines/mads/nebular/rooms/room311.cpp
+++ b/engines/mads/nebular/rooms/room311.cpp
@@ -43,9 +43,9 @@ static void room_311_init() {
g_sprite_ids[2] = kernel_load_series("*RXCL_8", 0);
g_sprite_ids[3] = kernel_load_series("*RXCL_2", 0);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 15);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 15);
local._checkGuardFl = false;
kernel.quotes = quote_load(0xFA, 0);
@@ -57,7 +57,7 @@ static void room_311_init() {
player.facing = FACING_SOUTH;
player.x = 166;
player.y = 101;
- _scene->_sequences.addTimer(120, 71);
+ kernel_timing_trigger(120, 71);
} else if (previous_room == 310) {
player.x = 302;
player.y = 145;
@@ -84,92 +84,92 @@ static void room_311_daemon() {
break;
case 71:
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 2);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
-
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addTimer(15, 72);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 2);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
+
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_timing_trigger(15, 72);
break;
case 72:
- _scene->_sequences.setDone(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 2);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addTimer(15, 73);
+ kernel_player_expire(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 2);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_timing_trigger(15, 73);
break;
case 73:
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 3);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
-
- _scene->_sequences.setDone(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 3);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addTimer(15, 74);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 3);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
+
+ kernel_player_expire(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 3);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_timing_trigger(15, 74);
break;
case 74:
- _scene->_sequences.setDone(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 4, 5);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ kernel_player_expire(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 4, 5);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
break;
case 75:
oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addTimer(15, 76);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 6);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_timing_trigger(15, 76);
break;
case 76:
- _scene->_sequences.setDone(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 7);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addTimer(15, 77);
+ kernel_player_expire(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 7);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_timing_trigger(15, 77);
break;
case 77:
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 2);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
-
- _scene->_sequences.setDone(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 8);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addTimer(15, 78);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 2);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
+
+ kernel_player_expire(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 8);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_timing_trigger(15, 78);
break;
case 78:
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 15);
-
- _scene->_sequences.setDone(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 9);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addTimer(15, 79);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 15);
+
+ kernel_player_expire(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 9);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_timing_trigger(15, 79);
break;
case 79:
- _scene->_sequences.setDone(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 10, -2);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ kernel_player_expire(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 10, -2);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
break;
case 80:
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[3]);
+ kernel_seq_timeout(g_sequence_ids[3], -1);
player.commands_allowed = true;
player.walker_visible = true;
break;
@@ -205,88 +205,88 @@ static void room_311_parser() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 50, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[1], 3, -2);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 15);
-
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 15, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], -1, 4);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 50, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[1], 3, -2);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 15);
+
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 15, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], -1, 4);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
{
int oldIdx = g_sequence_ids[1];
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, -2);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 15);
- _scene->_sequences.updateTimeout(g_sequence_ids[1], oldIdx);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, -2);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 15);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[1]);
}
break;
case 2:
{
int oldIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 4, 10);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 4, 10);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[2]);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
break;
case 3:
{
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 3);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 3);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
int oldIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 11);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(167, 100));
- _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
- _scene->_sequences.addTimer(15, 4);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 11);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_loc(g_sequence_ids[2], 167, 100);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[2]);
+ kernel_timing_trigger(15, 4);
}
break;
case 4:
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 2);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
-
- _scene->_sequences.remove(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 12, 14);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(167, 100));
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 2);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
+
+ kernel_seq_delete(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 12, 14);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_loc(g_sequence_ids[2], 167, 100);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
break;
case 5:
{
int oldIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 15);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(167, 100));
- _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
- _scene->_sequences.addTimer(15, 6);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 15);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_loc(g_sequence_ids[2], 167, 100);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[2]);
+ kernel_timing_trigger(15, 6);
}
break;
case 6:
- _scene->_sequences.remove(g_sequence_ids[2]);
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
- _scene->_sequences.addTimer(15, 7);
+ kernel_seq_delete(g_sequence_ids[2]);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
+ kernel_timing_trigger(15, 7);
break;
case 7:
diff --git a/engines/mads/nebular/rooms/room316.cpp b/engines/mads/nebular/rooms/room316.cpp
index 5c19cd49fc6..dc2200f6170 100644
--- a/engines/mads/nebular/rooms/room316.cpp
+++ b/engines/mads/nebular/rooms/room316.cpp
@@ -36,112 +36,112 @@ static void handleRexInGrate() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.addTimer(15, 1);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_timing_trigger(15, 1);
break;
case 1:
- _scene->_sequences.setDone(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 12, 3, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 2, 3);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_player_expire(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 12, 0, 0, 3);
+ kernel_seq_range(g_sequence_ids[4], 2, 3);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
{
int oldIdx = g_sequence_ids[4];
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 4, 8);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
-
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, -2);
- _scene->_sequences.setDepth(g_sequence_ids[3], 12);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[4], 4, 8);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
+
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 2, -2);
+ kernel_seq_depth(g_sequence_ids[3], 12);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
}
break;
case 3:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, -2);
- _scene->_sequences.setDepth(g_sequence_ids[3], 12);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -2);
+ kernel_seq_depth(g_sequence_ids[3], 12);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
}
break;
case 4:
{
int oldIdx = g_sequence_ids[4];
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 10, 11);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
-
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 5, -2);
- _scene->_sequences.setDepth(g_sequence_ids[3], 3);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[4], 10, 11);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
+
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 5, -2);
+ kernel_seq_depth(g_sequence_ids[3], 3);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
}
break;
case 5:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 3);
- _scene->_sequences.setDepth(g_sequence_ids[3], 3);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 3);
+ kernel_seq_depth(g_sequence_ids[3], 3);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
oldIdx = g_sequence_ids[4];
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 12);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.updateTimeout(g_sequence_ids[4], oldIdx);
- _scene->_sequences.addTimer(15, 6);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 12);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
+ kernel_timing_trigger(15, 6);
}
break;
case 6:
- _scene->_sequences.setDone(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 13, 14);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
-
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, 3);
- _scene->_sequences.setDepth(g_sequence_ids[3], 3);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
+ kernel_player_expire(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[4], 13, 14);
+ kernel_seq_player(g_sequence_ids[4], false);
+
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 2, 3);
+ kernel_seq_depth(g_sequence_ids[3], 3);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
break;
case 7:
- _scene->_sequences.setDone(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 15);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.updateTimeout(g_sequence_ids[4], -1);
+ kernel_player_expire(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 15);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_timeout(-1, g_sequence_ids[4]);
break;
case 8:
{
int oldIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 2);
- _scene->_sequences.setDepth(g_sequence_ids[3], 3);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], oldIdx);
- _scene->_sequences.addTimer(15, 9);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 2);
+ kernel_seq_depth(g_sequence_ids[3], 3);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
+ kernel_timing_trigger(15, 9);
}
break;
case 9:
- _scene->_sequences.setDone(g_sequence_ids[4]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[3], 3);
- _scene->_sequences.addTimer(48, 10);
+ kernel_player_expire(g_sequence_ids[4]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
+ kernel_seq_depth(g_sequence_ids[3], 3);
+ kernel_timing_trigger(48, 10);
break;
case 10:
@@ -161,102 +161,102 @@ static void handleRoxInGrate() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.addTimer(15, 1);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 1);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_timing_trigger(15, 1);
break;
case 1:
- _scene->_sequences.setDone(g_sequence_ids[5]);
- g_sequence_ids[5] = _scene->_sequences.startPingPongCycle(g_sprite_ids[5], false, 17, 3, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[5], 2, 3);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_player_expire(g_sequence_ids[5]);
+ g_sequence_ids[5] = kernel_seq_pingpong(g_sprite_ids[5], false, 17, 0, 0, 3);
+ kernel_seq_range(g_sequence_ids[5], 2, 3);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 17, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, -2);
- _scene->_sequences.setDepth(g_sequence_ids[3], 12);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 17, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 2, -2);
+ kernel_seq_depth(g_sequence_ids[3], 12);
temp = g_sequence_ids[5];
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 17, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[5], 4, 8);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.updateTimeout(g_sequence_ids[5], temp);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
- _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 17, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[5], 4, 8);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_timeout(temp, g_sequence_ids[5]);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
break;
case 3:
temp1 = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, -2);
- _scene->_sequences.setDepth(g_sequence_ids[3], 12);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], temp1);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -2);
+ kernel_seq_depth(g_sequence_ids[3], 12);
+ kernel_seq_timeout(temp1, g_sequence_ids[3]);
break;
case 4:
temp = g_sequence_ids[5];
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 17, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[5], 10, 11);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.updateTimeout(g_sequence_ids[5], temp);
-
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 17, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 5, -2);
- _scene->_sequences.setDepth(g_sequence_ids[3], 3);
- _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 17, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[5], 10, 11);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_timeout(temp, g_sequence_ids[5]);
+
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 17, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 5, -2);
+ kernel_seq_depth(g_sequence_ids[3], 3);
+ kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
break;
case 5:
temp = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 3);
- _scene->_sequences.setDepth(g_sequence_ids[3], 3);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], temp);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 3);
+ kernel_seq_depth(g_sequence_ids[3], 3);
+ kernel_seq_timeout(temp, g_sequence_ids[3]);
temp = g_sequence_ids[5];
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 12);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.updateTimeout(g_sequence_ids[5], temp);
- _scene->_sequences.addTimer(20, 6);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 12);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_timeout(temp, g_sequence_ids[5]);
+ kernel_timing_trigger(20, 6);
break;
case 6:
- _scene->_sequences.setDone(g_sequence_ids[5]);
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 17, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[5], 13, 15);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
-
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 17, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, 3);
- _scene->_sequences.setDepth(g_sequence_ids[3], 3);
- _scene->_sequences.addSubEntry(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
+ kernel_player_expire(g_sequence_ids[5]);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 17, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[5], 13, 15);
+ kernel_seq_player(g_sequence_ids[5], false);
+
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 17, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 2, 3);
+ kernel_seq_depth(g_sequence_ids[3], 3);
+ kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
break;
case 7:
- _scene->_sequences.setDone(g_sequence_ids[5]);
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 16);
- _scene->_sequences.setMsgLayout(g_sequence_ids[5]);
- _scene->_sequences.updateTimeout(g_sequence_ids[5], -1);
+ kernel_player_expire(g_sequence_ids[5]);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 16);
+ kernel_seq_player(g_sequence_ids[5], false);
+ kernel_seq_timeout(-1, g_sequence_ids[5]);
break;
case 8:
temp = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 2);
- _scene->_sequences.setDepth(g_sequence_ids[3], 3);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], temp);
- _scene->_sequences.addTimer(20, 9);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 2);
+ kernel_seq_depth(g_sequence_ids[3], 3);
+ kernel_seq_timeout(temp, g_sequence_ids[3]);
+ kernel_timing_trigger(20, 9);
break;
case 9:
- _scene->_sequences.setDone(g_sequence_ids[5]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[3], 3);
- _scene->_sequences.addTimer(48, 10);
+ kernel_player_expire(g_sequence_ids[5]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
+ kernel_seq_depth(g_sequence_ids[3], 3);
+ kernel_timing_trigger(48, 10);
break;
case 10:
@@ -279,8 +279,8 @@ static void room_316_init() {
}
g_sprite_ids[3] = kernel_load_series(kernel_name('v', 0), 0);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[3], 12);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
+ kernel_seq_depth(g_sequence_ids[3], 12);
if (previous_room == 366) {
player.commands_allowed = false;
@@ -288,7 +288,7 @@ static void room_316_init() {
player.x = 78;
player.y = 87;
player.facing = FACING_SOUTH;
- _scene->_sequences.addTimer(48, 70);
+ kernel_timing_trigger(48, 70);
} else if (previous_room == 321) {
player.x = 153;
player.y = 102;
@@ -297,9 +297,9 @@ static void room_316_init() {
player.walker_visible = false;
g_engine->_soundManager->command(44, 0);
int spriteIdx = (global[kSexOfRex] == REX_MALE) ? 1 : 2;
- g_sequence_ids[1] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[spriteIdx], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[1], 2);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
+ g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[spriteIdx], false, 6, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[1], 2);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
} else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 291;
player.y = 126;
@@ -311,7 +311,7 @@ static void room_316_init() {
static void room_316_daemon() {
if (kernel.trigger == 60) {
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[1]);
+ kernel_seq_timeout(g_sequence_ids[1], -1);
player.walker_visible = true;
player.commands_allowed = true;
}
@@ -319,63 +319,63 @@ static void room_316_daemon() {
if (kernel.trigger >= 70) {
switch (kernel.trigger) {
case 70:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 2, 6);
- _scene->_sequences.setDepth(g_sequence_ids[3], 3);
-
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[6], 1, 5);
- _scene->_sequences.setMsgLayout(g_sequence_ids[6]);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 2, 6);
+ kernel_seq_depth(g_sequence_ids[3], 3);
+
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[6], 1, 5);
+ kernel_seq_player(g_sequence_ids[6], false);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
break;
case 71:
{
int synxIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, -2);
- _scene->_sequences.setDepth(g_sequence_ids[3], 3);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], synxIdx);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -2);
+ kernel_seq_depth(g_sequence_ids[3], 3);
+ kernel_seq_timeout(synxIdx, g_sequence_ids[3]);
}
break;
case 72:
{
int synxIdx = g_sequence_ids[6];
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[6], 6, 9);
- _scene->_sequences.setMsgLayout(g_sequence_ids[6]);
- _scene->_sequences.updateTimeout(g_sequence_ids[6], synxIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[6], 6, 9);
+ kernel_seq_player(g_sequence_ids[6], false);
+ kernel_seq_timeout(synxIdx, g_sequence_ids[6]);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
}
break;
case 73:
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 5);
- _scene->_sequences.setDepth(g_sequence_ids[3], 12);
- _scene->_sequences.setMsgLayout(g_sequence_ids[6]);
-
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[6], 10, -2);
- _scene->_sequences.setMsgLayout(g_sequence_ids[6]);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 1, 5);
+ kernel_seq_depth(g_sequence_ids[3], 12);
+ kernel_seq_player(g_sequence_ids[6], false);
+
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[6], 10, -2);
+ kernel_seq_player(g_sequence_ids[6], false);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
break;
case 74:
{
int synxIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[3], 12);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], synxIdx);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
+ kernel_seq_depth(g_sequence_ids[3], 12);
+ kernel_seq_timeout(synxIdx, g_sequence_ids[3]);
}
break;
case 75:
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[6]);
+ kernel_seq_timeout(g_sequence_ids[6], -1);
player.commands_allowed = true;
player.walker_visible = true;
break;
@@ -411,41 +411,41 @@ static void room_316_parser() {
player.commands_allowed = false;
player.walker_visible = false;
if (global[kSexOfRex] == REX_MALE) {
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[1], -1, 7);
- _scene->_sequences.setDepth(g_sequence_ids[1], 2);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 7, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[1], -1, 7);
+ kernel_seq_depth(g_sequence_ids[1], 2);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
} else {
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 7, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[2], 2);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 7, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[2], 2);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
}
break;
case 1:
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[1], 8, -2);
- _scene->_sequences.setDepth(g_sequence_ids[1], 2);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 7, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[1], 8, -2);
+ kernel_seq_depth(g_sequence_ids[1], 2);
kernel_message_purge();
if (!player_has_been_in_room(321))
kernel_message_add(quote_string(kernel.quotes, 253), 0, 0, 0x1110, 120, 0, 34);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 7, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[1], -2, -2);
- _scene->_sequences.setDepth(g_sequence_ids[1], 2);
- _scene->_sequences.addTimer(48, 4);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 7, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[1], -2, -2);
+ kernel_seq_depth(g_sequence_ids[1], 2);
+ kernel_timing_trigger(48, 4);
break;
case 3:
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 7, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], -2, -2);
- _scene->_sequences.setDepth(g_sequence_ids[2], 2);
- _scene->_sequences.addTimer(48, 4);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 7, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[2], -2, -2);
+ kernel_seq_depth(g_sequence_ids[2], 2);
+ kernel_timing_trigger(48, 4);
break;
case 4:
diff --git a/engines/mads/nebular/rooms/room318.cpp b/engines/mads/nebular/rooms/room318.cpp
index 8a2ba5df22f..fc173b237a2 100644
--- a/engines/mads/nebular/rooms/room318.cpp
+++ b/engines/mads/nebular/rooms/room318.cpp
@@ -92,12 +92,12 @@ static void handleInternDialog(int quoteId, int quoteNum, uint32 timeout) {
// WORKAROUND: In case the player launches multiple talk selections with the
// intern before previous ones have finished, take care of removing any
int seqIndex;
- while ((seqIndex = _scene->_sequences.findByTrigger(63)) != -1)
- _scene->_sequences.remove(seqIndex);
+ while ((seqIndex = kernel_seq_find_by_trigger(63)) != -1)
+ kernel_seq_delete(seqIndex);
for (int i = 0; i < quoteNum; i++) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(180, 63);
+ kernel_timing_trigger(180, 63);
kernel_message_add(quote_string(kernel.quotes, curQuoteId), posX, posY, 0xFDFC, timeout, 0, 0);
posY += 14;
curQuoteId++;
@@ -110,10 +110,10 @@ static void handleDialog() {
handleRexDialogs(player2.words[0]);
} else if (kernel.trigger == 2) {
int synxIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[2], 1);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(142, 121));
- _scene->_sequences.updateTimeout(g_sequence_ids[2], synxIdx);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 1);
+ kernel_seq_depth(g_sequence_ids[2], 1);
+ kernel_seq_loc(g_sequence_ids[2], 142, 121);
+ kernel_seq_timeout(synxIdx, g_sequence_ids[2]);
g_engine->_soundManager->command(3, 0);
_scene->_userInterface.setup(kInputBuildingSentences);
player.commands_allowed = true;
@@ -180,12 +180,12 @@ static void handleDialog() {
case 0x19C:
case 0x19D:
- _scene->_sequences.remove(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[2], 1);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(142, 121));
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 6, 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_delete(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 8, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[2], 1);
+ kernel_seq_loc(g_sequence_ids[2], 142, 121);
+ kernel_seq_range(g_sequence_ids[2], 6, 8);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
local._dialogFl = false;
handleInternDialog(0x1D0, 1, 120);
@@ -221,8 +221,8 @@ static void room_318_init() {
}
if (object_is_here(OBJ_SCALPEL)) {
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 0, 0, 120);
- _scene->_sequences.setDepth(g_sequence_ids[3], 4);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 120, 0, 0);
+ kernel_seq_depth(g_sequence_ids[3], 4);
_scene->_dynamicHotspots.add(words_scalpel, words_take, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
}
@@ -287,12 +287,12 @@ static void room_318_init() {
if (local._dialogFl) {
local._dialog1.start();
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 8);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 8);
} else
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(142, 121));
- _scene->_sequences.setDepth(g_sequence_ids[2], 1);
+ kernel_seq_loc(g_sequence_ids[2], 142, 121);
+ kernel_seq_depth(g_sequence_ids[2], 1);
}
}
@@ -446,8 +446,8 @@ static void room_318_daemon() {
if ((kernel.clock - local._dropTimer) > 600) {
g_engine->_soundManager->command(51, 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 14, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[1], 10);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 14, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[1], 10);
local._dropTimer = kernel.clock;
}
}
@@ -476,12 +476,12 @@ static void room_318_parser() {
player.commands_allowed = false;
handleRexDialogs(g_engine->getRandomNumber(0x18C, 0x18E));
- _scene->_sequences.remove(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 8, 1, 0, 80);
- _scene->_sequences.setDepth(g_sequence_ids[2], 1);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(142, 121));
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 6, 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_delete(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 8, 80, 0, 1);
+ kernel_seq_depth(g_sequence_ids[2], 1);
+ kernel_seq_loc(g_sequence_ids[2], 142, 121);
+ kernel_seq_range(g_sequence_ids[2], 6, 8);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -494,10 +494,10 @@ static void room_318_parser() {
case 2:
{
int oldIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 8);
- _scene->_sequences.setDepth(g_sequence_ids[2], 1);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(142, 121));
- _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 8);
+ kernel_seq_depth(g_sequence_ids[2], 1);
+ kernel_seq_loc(g_sequence_ids[2], 142, 121);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[2]);
}
break;
@@ -512,13 +512,13 @@ static void room_318_parser() {
switch (kernel.trigger) {
case 0:
player.commands_allowed = false;
- _scene->_sequences.remove(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 8, 2, 0, 80);
- _scene->_sequences.setDepth(g_sequence_ids[2], 1);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(142, 121));
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 2, 5);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 5, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_delete(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 8, 80, 0, 2);
+ kernel_seq_depth(g_sequence_ids[2], 1);
+ kernel_seq_loc(g_sequence_ids[2], 142, 121);
+ kernel_seq_range(g_sequence_ids[2], 2, 5);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 5, 1);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -527,18 +527,18 @@ static void room_318_parser() {
else {
inter_give_to_player(OBJ_SCALPEL);
object_examine(OBJ_SCALPEL, 0x7C5D, 0);
- _scene->_sequences.remove(g_sequence_ids[3]);
+ kernel_seq_delete(g_sequence_ids[3]);
}
break;
case 2:
{
int oldIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[2], 1);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(142, 121));
- _scene->_sequences.updateTimeout(g_sequence_ids[2], oldIdx);
- _scene->_sequences.addTimer(60, 3);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 1);
+ kernel_seq_depth(g_sequence_ids[2], 1);
+ kernel_seq_loc(g_sequence_ids[2], 142, 121);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[2]);
+ kernel_timing_trigger(60, 3);
}
break;
diff --git a/engines/mads/nebular/rooms/room319.cpp b/engines/mads/nebular/rooms/room319.cpp
index a675b241a8a..05e4eb123c6 100644
--- a/engines/mads/nebular/rooms/room319.cpp
+++ b/engines/mads/nebular/rooms/room319.cpp
@@ -89,18 +89,18 @@ static void room_319_init() {
g_sprite_ids[4] = kernel_load_series(kernel_name('k', -1), 0);
if (!player_has(OBJ_SCALPEL)) {
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[4], 1);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
+ kernel_seq_depth(g_sequence_ids[4], 1);
}
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 18, 0, 0, 300);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 67, 0, 0, 377);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 173, 0, 0, 233);
- _scene->_sequences.setDepth(g_sequence_ids[2], 14);
- _scene->_sequences.setDepth(g_sequence_ids[3], 14);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 18, 300, 0, 0);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 67, 377, 0, 0);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 173, 233, 0, 0);
+ kernel_seq_depth(g_sequence_ids[2], 14);
+ kernel_seq_depth(g_sequence_ids[3], 14);
- g_sequence_ids[0] = _scene->_sequences.startCycle(g_sprite_ids[0], false, 1);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ g_sequence_ids[0] = kernel_seq_stamp(g_sprite_ids[0], false, 1);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
local._dialog1.setup(0x43, 0x165, 0x166, 0x167, 0x168, 0x169, 0x16A, 0);
local._dialog2.setup(0x44, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0);
@@ -260,14 +260,14 @@ static void room_319_daemon() {
}
if (!local._animFrame) {
- _scene->_sequences.remove(g_sequence_ids[0]);
- _scene->_sequences.remove(g_sequence_ids[1]);
+ kernel_seq_delete(g_sequence_ids[0]);
+ kernel_seq_delete(g_sequence_ids[1]);
for (int i = 0; i <= 1; i++) {
- g_sequence_ids[i] = _scene->_sequences.addSpriteCycle(g_sprite_ids[i], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[i], 1, 7);
+ g_sequence_ids[i] = kernel_seq_forward(g_sprite_ids[i], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[i], 1, 7);
}
- _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
}
}
}
@@ -317,18 +317,18 @@ static void room_319_daemon() {
for (int i = 0; i <= 1; i++) {
int oldIdx = g_sequence_ids[i];
- _scene->_sequences.remove(g_sequence_ids[i]);
- g_sequence_ids[i] = _scene->_sequences.addSpriteCycle(g_sprite_ids[i], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[i], 8, 13);
- _scene->_sequences.updateTimeout(g_sequence_ids[i], oldIdx);
+ kernel_seq_delete(g_sequence_ids[i]);
+ g_sequence_ids[i] = kernel_seq_forward(g_sprite_ids[i], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[i], 8, 13);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[i]);
}
- _scene->_sequences.addSubEntry(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
// WORKAROUND: This fixes the game sometimes going into an endless waiting
// loop even after the doctor has finished hitting Rex. Note sure if it's due
// to a bug in room script or in the engine, but this at least fixes it
- int seqIndex = _scene->_sequences.findByTrigger(2);
- _scene->_sequences[seqIndex]._doneFlag = false;
+ int seqIndex = kernel_seq_find_by_trigger(2);
+ sequence_list[seqIndex].expired = false;
break;
}
@@ -344,19 +344,19 @@ static void room_319_daemon() {
case 73:
for (int i = 0; i <= 1; i++) {
int oldIdx = g_sequence_ids[i];
- _scene->_sequences.remove(g_sequence_ids[i]);
- g_sequence_ids[i] = _scene->_sequences.addSpriteCycle(g_sprite_ids[i], false, 8, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[i], 6, 7);
- _scene->_sequences.updateTimeout(g_sequence_ids[i], oldIdx);
+ kernel_seq_delete(g_sequence_ids[i]);
+ g_sequence_ids[i] = kernel_seq_forward(g_sprite_ids[i], false, 8, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[i], 6, 7);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[i]);
}
break;
case 74:
for (int i = 0; i <= 1; i++) {
int oldIdx = g_sequence_ids[i];
- _scene->_sequences.remove(g_sequence_ids[i]);
- g_sequence_ids[i] = _scene->_sequences.startCycle(g_sprite_ids[i], false, 1);
- _scene->_sequences.updateTimeout(g_sequence_ids[i], oldIdx);
+ kernel_seq_delete(g_sequence_ids[i]);
+ g_sequence_ids[i] = kernel_seq_stamp(g_sprite_ids[i], false, 1);
+ kernel_seq_timeout(oldIdx, g_sequence_ids[i]);
}
break;
@@ -379,7 +379,7 @@ static void room_319_parser() {
}
if (!local._slacheTalkingFl) {
- _scene->_sequences.addTimer(4, 2);
+ kernel_timing_trigger(4, 2);
} else {
handleSlacheDialogs(0x16B, 2, INDEFINITE_TIMEOUT);
local._dialog2.start();
@@ -396,7 +396,7 @@ static void room_319_parser() {
}
if (!local._slacheTalkingFl) {
- _scene->_sequences.addTimer(4, 2);
+ kernel_timing_trigger(4, 2);
} else {
handleSlacheDialogs(0x177, 2, INDEFINITE_TIMEOUT);
local._dialog3.start();
@@ -414,13 +414,13 @@ static void room_319_parser() {
}
if (!local._slacheTalkingFl) {
- _scene->_sequences.addTimer(4, 2);
+ kernel_timing_trigger(4, 2);
} else {
if (kernel.trigger == 2)
handleSlacheDialogs(0x184, 2, 180);
if (!local._slacheReady) {
- _scene->_sequences.addTimer(120, 3);
+ kernel_timing_trigger(120, 3);
} else {
global[kRexHasMetSlache] = true;
new_room = 318;
@@ -452,7 +452,7 @@ static void room_319_parser() {
}
if (local._nextAction1 != local._nextAction2) {
- _scene->_sequences.addTimer(4, 2);
+ kernel_timing_trigger(4, 2);
} else {
Dialog *curDialog;
int nextDocQuote;
@@ -484,7 +484,7 @@ static void room_319_parser() {
}
if (local._nextAction1 != local._nextAction2) {
- _scene->_sequences.addTimer(4, 2);
+ kernel_timing_trigger(4, 2);
} else {
Dialog *curDialog;
int nextDocQuote;
diff --git a/engines/mads/nebular/rooms/room320.cpp b/engines/mads/nebular/rooms/room320.cpp
index b9015374cfd..9ff08b63a97 100644
--- a/engines/mads/nebular/rooms/room320.cpp
+++ b/engines/mads/nebular/rooms/room320.cpp
@@ -47,7 +47,7 @@ static Scratch local;
static void setRightView(int view) {
- if (local._rightItemId < 8) _scene->_sequences.remove(g_sequence_ids[10]);
+ if (local._rightItemId < 8) kernel_seq_delete(g_sequence_ids[10]);
int spriteNum;
switch (view) {
@@ -73,8 +73,8 @@ static void setRightView(int view) {
}
if (view != 8) {
- g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[spriteNum], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[10], 0);
+ g_sequence_ids[10] = kernel_seq_stamp(g_sprite_ids[spriteNum], false, 1);
+ kernel_seq_depth(g_sequence_ids[10], 0);
}
global[kRightView320] = local._rightItemId = view;
@@ -82,13 +82,13 @@ static void setRightView(int view) {
static void setLeftView(int view) {
if (local._leftItemId < 10)
- _scene->_sequences.remove(g_sequence_ids[0]);
+ kernel_seq_delete(g_sequence_ids[0]);
if (view != 10) {
- g_sequence_ids[0] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[view], false, 6, 0, 0, 18);
- _scene->_sequences.setDepth(g_sequence_ids[0], 0);
+ g_sequence_ids[0] = kernel_seq_backward(g_sprite_ids[view], false, 6, 18, 0, 0);
+ kernel_seq_depth(g_sequence_ids[0], 0);
if (!local._blinkFl)
- _scene->_sequences.setAnimRange(g_sequence_ids[0], 2, 2);
+ kernel_seq_range(g_sequence_ids[0], 2, 2);
}
local._leftItemId = view;
@@ -249,12 +249,12 @@ static void room_320_parser() {
case 0:
player.commands_allowed = false;
handleButtons();
- g_sequence_ids[18] = _scene->_sequences.startPingPongCycle(g_sprite_ids[18], local._flippedFl, 4, 2, 0, 0);
- _scene->_sequences.setScale(g_sequence_ids[18], 60);
- _scene->_sequences.setPosition(g_sequence_ids[18], Common::Point(local._posX, 170));
- _scene->_sequences.setDepth(g_sequence_ids[18], 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[18], SEQUENCE_TRIGGER_LOOP, 0, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[18], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[18] = kernel_seq_pingpong(g_sprite_ids[18], local._flippedFl, 4, 0, 0, 2);
+ kernel_seq_scale(g_sequence_ids[18], 60);
+ kernel_seq_loc(g_sequence_ids[18], local._posX, 170);
+ kernel_seq_depth(g_sequence_ids[18], 0);
+ kernel_seq_trigger(g_sequence_ids[18], SEQUENCE_TRIGGER_LOOP, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[18], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
diff --git a/engines/mads/nebular/rooms/room351.cpp b/engines/mads/nebular/rooms/room351.cpp
index 2d60a1c9953..d0ca35bb32d 100644
--- a/engines/mads/nebular/rooms/room351.cpp
+++ b/engines/mads/nebular/rooms/room351.cpp
@@ -40,8 +40,8 @@ static void room_351_init() {
g_sprite_ids[3] = kernel_load_series("*RXRD_7", 0);
if (object_is_here(OBJ_CREDIT_CHIP)) {
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[1], 4);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[1], 4);
} else
_scene->_hotspots.activate(words_credit_chip, false);
@@ -128,21 +128,21 @@ static void room_351_parser() {
player.commands_allowed = false;
player.walker_visible = false;
if (global[kSexOfRex] == REX_FEMALE) {
- g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 5, 2, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 5, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 5, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 5, 1);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 5, 2, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 5, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
case 1:
_scene->_hotspots.activate(words_credit_chip, false);
- _scene->_sequences.remove(g_sequence_ids[1]);
+ kernel_seq_delete(g_sequence_ids[1]);
inter_give_to_player(OBJ_CREDIT_CHIP);
break;
diff --git a/engines/mads/nebular/rooms/room352.cpp b/engines/mads/nebular/rooms/room352.cpp
index f9b2e940699..19ccb769c51 100644
--- a/engines/mads/nebular/rooms/room352.cpp
+++ b/engines/mads/nebular/rooms/room352.cpp
@@ -50,28 +50,28 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
switch (kernel.trigger) {
case 0:
kernel_message_add(quote_string(kernel.quotes, 0xFF), 0, 0, 0x1110, 120, 0, 34);
- _scene->_sequences.addTimer(48, 1);
+ kernel_timing_trigger(48, 1);
break;
case 1:
player.commands_allowed = false;
player.walker_visible = false;
if (global[kSexOfRex] == REX_FEMALE) {
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 5, 2, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 5, 2);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 5, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 5, 2);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
} else {
- g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 5, 2, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 2);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 5, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 2);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
break;
case 2:
{
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 0, 0);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 0, 0);
int idx = _scene->_dynamicHotspots.add(words_guards_arm2, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(230, 117), FACING_NORTHWEST);
kernel_load_variant(0);
@@ -84,9 +84,9 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
inter_move_object(OBJ_GUARDS_ARM, room_id);
player.walker_visible = true;
if (corridorExit)
- _scene->_sequences.addTimer(48, 6);
+ kernel_timing_trigger(48, 6);
else if (doorwayExit)
- _scene->_sequences.addTimer(48, 4);
+ kernel_timing_trigger(48, 4);
else {
local._mustPutArmDownFl = false;
player.commands_allowed = true;
@@ -96,7 +96,7 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
case 4:
player_walk(116, 107, FACING_NORTH);
local._mustPutArmDownFl = false;
- _scene->_sequences.addTimer(180, 5);
+ kernel_timing_trigger(180, 5);
local._leaveRoomFl = true;
break;
@@ -110,7 +110,7 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
player_walk(171, 152, FACING_SOUTH);
player.commands_allowed = true;
local._mustPutArmDownFl = false;
- _scene->_sequences.addTimer(180, 7);
+ kernel_timing_trigger(180, 7);
local._leaveRoomFl = true;
break;
@@ -150,8 +150,8 @@ static void room_352_init() {
local._leaveRoomFl = false;
if (object_is_here(OBJ_TAPE_PLAYER)) {
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 12, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[5], 5);
+ g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 12, 0, 0, 0);
+ kernel_seq_depth(g_sequence_ids[5], 5);
int idx = _scene->_dynamicHotspots.add(words_tape_player, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
local._tapePlayerHotspotIdx = _scene->_dynamicHotspots.setPosition(idx, Common::Point(84, 145), FACING_WEST);
}
@@ -165,7 +165,7 @@ static void room_352_init() {
}
if (object_is_here(OBJ_GUARDS_ARM)) {
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 0, 0);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 0, 0);
int idx = _scene->_dynamicHotspots.add(words_guards_arm2, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(230, 117), FACING_NORTHWEST);
} else
@@ -204,11 +204,11 @@ static void room_352_pre_parser() {
case 0:
if (player.need_to_walk) {
player.commands_allowed = false;
- _scene->_sequences.remove(local._commonSequenceIdx);
+ kernel_seq_delete(local._commonSequenceIdx);
g_engine->_soundManager->command(20, 0);
- local._commonSequenceIdx = _scene->_sequences.addReverseSpriteCycle(local._commonSpriteIndex, false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.setDepth(local._commonSequenceIdx, 15);
+ local._commonSequenceIdx = kernel_seq_backward(local._commonSpriteIndex, false, 6, 0, 0, 1);
+ kernel_seq_trigger(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_depth(local._commonSequenceIdx, 15);
}
break;
@@ -258,35 +258,35 @@ static void room_352_parser() {
else
local._commonSpriteIndex = g_sprite_ids[8];
- local._commonSequenceIdx = _scene->_sequences.addSpriteCycle(local._commonSpriteIndex, false, 8, 1, 0, 0);
- _scene->_sequences.updateTimeout(local._commonSequenceIdx, -1);
- _scene->_sequences.addSubEntry(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ local._commonSequenceIdx = kernel_seq_forward(local._commonSpriteIndex, false, 8, 0, 0, 1);
+ kernel_seq_timeout(-1, local._commonSequenceIdx);
+ kernel_seq_trigger(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
{
g_engine->_soundManager->command(21, 0);
- g_sequence_ids[12] = _scene->_sequences.startPingPongCycle(g_sprite_ids[12], false, 7, 2, 20, 0);
- _scene->_sequences.setDepth(g_sequence_ids[12], FACING_NORTH);
+ g_sequence_ids[12] = kernel_seq_pingpong(g_sprite_ids[12], false, 7, 0, 20, 2);
+ kernel_seq_depth(g_sequence_ids[12], FACING_NORTH);
int oldIdx = local._commonSequenceIdx;
- local._commonSequenceIdx = _scene->_sequences.startCycle(local._commonSpriteIndex, false, -2);
- _scene->_sequences.updateTimeout(local._commonSequenceIdx, oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ local._commonSequenceIdx = kernel_seq_stamp(local._commonSpriteIndex, false, -2);
+ kernel_seq_timeout(oldIdx, local._commonSequenceIdx);
+ kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
case 2:
g_engine->_soundManager->command(22, 0);
- _scene->_sequences.remove(local._commonSequenceIdx);
- local._commonSequenceIdx = _scene->_sequences.startPingPongCycle(local._commonSpriteIndex, false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(local._commonSequenceIdx, 1, 3);
- _scene->_sequences.addSubEntry(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_delete(local._commonSequenceIdx);
+ local._commonSequenceIdx = kernel_seq_pingpong(local._commonSpriteIndex, false, 8, 0, 0, 1);
+ kernel_seq_range(local._commonSequenceIdx, 1, 3);
+ kernel_seq_trigger(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
- _scene->_sequences.updateTimeout(-1, local._commonSequenceIdx);
+ kernel_seq_timeout(local._commonSequenceIdx, -1);
player.walker_visible = true;
- _scene->_sequences.addTimer(60, 4);
+ kernel_timing_trigger(60, 4);
break;
case 4:
@@ -336,20 +336,20 @@ static void room_352_parser() {
player.commands_allowed = false;
player.walker_visible = false;
if (global[kSexOfRex] == REX_FEMALE) {
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 5, 2, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 5, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 5, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 5, 1);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
- g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], false, 5, 2, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 5, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
case 1:
- _scene->_sequences.remove(g_sequence_ids[2]);
+ kernel_seq_delete(g_sequence_ids[2]);
inter_give_to_player(OBJ_GUARDS_ARM);
kernel_load_variant(1);
break;
@@ -379,34 +379,34 @@ static void room_352_parser() {
else
local._commonSpriteIndex = g_sprite_ids[10];
- local._commonSequenceIdx = _scene->_sequences.addSpriteCycle(local._commonSpriteIndex, false, 8, 1, 0, 0);
- _scene->_sequences.updateTimeout(local._commonSequenceIdx, -1);
- _scene->_sequences.addSubEntry(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ local._commonSequenceIdx = kernel_seq_forward(local._commonSpriteIndex, false, 8, 0, 0, 1);
+ kernel_seq_timeout(-1, local._commonSequenceIdx);
+ kernel_seq_trigger(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
{
g_engine->_soundManager->command(21, 0);
- g_sequence_ids[12] = _scene->_sequences.startPingPongCycle(g_sprite_ids[12], false, 7, 2, 20, 0);
- _scene->_sequences.setDepth(g_sequence_ids[12], 8);
+ g_sequence_ids[12] = kernel_seq_pingpong(g_sprite_ids[12], false, 7, 0, 20, 2);
+ kernel_seq_depth(g_sequence_ids[12], 8);
int oldIdx = local._commonSequenceIdx;
- local._commonSequenceIdx = _scene->_sequences.startCycle(local._commonSpriteIndex, false, -2);
- _scene->_sequences.updateTimeout(local._commonSequenceIdx, oldIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ local._commonSequenceIdx = kernel_seq_stamp(local._commonSpriteIndex, false, -2);
+ kernel_seq_timeout(oldIdx, local._commonSequenceIdx);
+ kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
case 2:
g_engine->_soundManager->command(23, 0);
- _scene->_sequences.remove(local._commonSequenceIdx);
- local._commonSequenceIdx = _scene->_sequences.addReverseSpriteCycle(local._commonSpriteIndex, false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(local._commonSequenceIdx, 1, 4);
- _scene->_sequences.addSubEntry(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_delete(local._commonSequenceIdx);
+ local._commonSequenceIdx = kernel_seq_backward(local._commonSpriteIndex, false, 8, 0, 0, 1);
+ kernel_seq_range(local._commonSequenceIdx, 1, 4);
+ kernel_seq_trigger(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
- _scene->_sequences.updateTimeout(-1, local._commonSequenceIdx);
+ kernel_seq_timeout(local._commonSequenceIdx, -1);
player.walker_visible = true;
if (global[kHaveYourStuff])
local._commonSpriteIndex = g_sprite_ids[13];
@@ -414,16 +414,16 @@ static void room_352_parser() {
local._commonSpriteIndex = g_sprite_ids[1];
g_engine->_soundManager->command(20, 0);
- local._commonSequenceIdx = _scene->_sequences.addSpriteCycle(local._commonSpriteIndex, false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(local._commonSequenceIdx, 15);
- _scene->_sequences.addSubEntry(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ local._commonSequenceIdx = kernel_seq_forward(local._commonSpriteIndex, false, 6, 0, 0, 1);
+ kernel_seq_depth(local._commonSequenceIdx, 15);
+ kernel_seq_trigger(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 4);
break;
case 4:
- local._commonSequenceIdx = _scene->_sequences.addSpriteCycle(local._commonSpriteIndex, false, 6, 0, 0, 0);
- _scene->_sequences.setAnimRange(local._commonSequenceIdx, -2, -2);
- _scene->_sequences.setDepth(local._commonSequenceIdx, 15);
- _scene->_sequences.addTimer(60, 5);
+ local._commonSequenceIdx = kernel_seq_forward(local._commonSpriteIndex, false, 6, 0, 0, 0);
+ kernel_seq_range(local._commonSequenceIdx, -2, -2);
+ kernel_seq_depth(local._commonSequenceIdx, 15);
+ kernel_timing_trigger(60, 5);
break;
case 5:
@@ -458,17 +458,17 @@ static void room_352_parser() {
player.commands_allowed = false;
player.walker_visible = false;
if (global[kSexOfRex] == REX_MALE) {
- g_sequence_ids[14] = _scene->_sequences.startPingPongCycle(g_sprite_ids[14], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[14], 1, 2);
- _scene->_sequences.setMsgLayout(g_sequence_ids[14]);
- _scene->_sequences.addSubEntry(g_sequence_ids[14], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[14], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[14] = kernel_seq_pingpong(g_sprite_ids[14], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[14], 1, 2);
+ kernel_seq_player(g_sequence_ids[14], false);
+ kernel_seq_trigger(g_sequence_ids[14], SEQUENCE_TRIGGER_SPRITE, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[14], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
- g_sequence_ids[15] = _scene->_sequences.startPingPongCycle(g_sprite_ids[15], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[15], 1, 2);
- _scene->_sequences.setMsgLayout(g_sequence_ids[15]);
- _scene->_sequences.addSubEntry(g_sequence_ids[15], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[15], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[15] = kernel_seq_pingpong(g_sprite_ids[15], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[15], 1, 2);
+ kernel_seq_player(g_sequence_ids[15], false);
+ kernel_seq_trigger(g_sequence_ids[15], SEQUENCE_TRIGGER_SPRITE, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[15], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -481,16 +481,16 @@ static void room_352_parser() {
inter_give_to_player(i);
}
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, -2);
- _scene->_sequences.setDepth(g_sequence_ids[13], 15);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[13] = kernel_seq_stamp(g_sprite_ids[13], false, -2);
+ kernel_seq_depth(g_sequence_ids[13], 15);
break;
case 2:
if (global[kSexOfRex] == REX_MALE)
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[14]);
+ kernel_seq_timeout(g_sequence_ids[14], -1);
else
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[15]);
+ kernel_seq_timeout(g_sequence_ids[15], -1);
player.walker_visible = true;
player.commands_allowed = true;
@@ -505,29 +505,29 @@ static void room_352_parser() {
player.commands_allowed = false;
player.walker_visible = false;
if (global[kSexOfRex] == REX_MALE) {
- g_sequence_ids[6] = _scene->_sequences.startPingPongCycle(g_sprite_ids[6], true, 6, 2, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[6]);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[6] = kernel_seq_pingpong(g_sprite_ids[6], true, 6, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[6], false);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
- g_sequence_ids[7] = _scene->_sequences.startPingPongCycle(g_sprite_ids[7], true, 6, 2, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[7]);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[7] = kernel_seq_pingpong(g_sprite_ids[7], true, 6, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[7], false);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
case 1:
- _scene->_sequences.remove(g_sequence_ids[5]);
+ kernel_seq_delete(g_sequence_ids[5]);
_scene->_dynamicHotspots.remove(local._tapePlayerHotspotIdx);
break;
case 2:
inter_give_to_player(OBJ_TAPE_PLAYER);
if (global[kSexOfRex] == REX_MALE)
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[6]);
+ kernel_seq_timeout(g_sequence_ids[6], -1);
else
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[7]);
+ kernel_seq_timeout(g_sequence_ids[7], -1);
player.walker_visible = true;
player.commands_allowed = true;
diff --git a/engines/mads/nebular/rooms/room353.cpp b/engines/mads/nebular/rooms/room353.cpp
index 2276932afe1..4ef4c980fed 100644
--- a/engines/mads/nebular/rooms/room353.cpp
+++ b/engines/mads/nebular/rooms/room353.cpp
@@ -40,8 +40,8 @@ static Scratch local;
static void room_353_init() {
g_sprite_ids[1] = kernel_load_series(kernel_full_name(303, 'B', 0, "", EXT_SS), 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 5, 0, 5, 0);
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 5, 0, 5, 0);
+ kernel_seq_depth(g_sequence_ids[1], 1);
if (previous_room == 352) {
player.x = 144;
diff --git a/engines/mads/nebular/rooms/room357.cpp b/engines/mads/nebular/rooms/room357.cpp
index 24018328c06..b2f823b6276 100644
--- a/engines/mads/nebular/rooms/room357.cpp
+++ b/engines/mads/nebular/rooms/room357.cpp
@@ -34,9 +34,9 @@ namespace Rooms {
static void room_357_init() {
global[kAfterHavoc] = true;
g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[1], 15);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
+ kernel_seq_loc(g_sequence_ids[1], 127, 78);
+ kernel_seq_depth(g_sequence_ids[1], 15);
if (previous_room == 318) {
player.x = 298;
diff --git a/engines/mads/nebular/rooms/room358.cpp b/engines/mads/nebular/rooms/room358.cpp
index c5b72426a0c..3682dfdb01d 100644
--- a/engines/mads/nebular/rooms/room358.cpp
+++ b/engines/mads/nebular/rooms/room358.cpp
@@ -33,9 +33,9 @@ namespace Rooms {
static void room_358_init() {
g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[1], 15);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
+ kernel_seq_loc(g_sequence_ids[1], 127, 78);
+ kernel_seq_depth(g_sequence_ids[1], 15);
if (previous_room == 357) {
player.x = 305;
diff --git a/engines/mads/nebular/rooms/room359.cpp b/engines/mads/nebular/rooms/room359.cpp
index 887c432468b..b2f66e74f0a 100644
--- a/engines/mads/nebular/rooms/room359.cpp
+++ b/engines/mads/nebular/rooms/room359.cpp
@@ -47,12 +47,12 @@ static void room_359_init() {
else
g_sprite_ids[4] = kernel_load_series("*ROXBD_2", 0);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[3], 15);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
+ kernel_seq_loc(g_sequence_ids[3], 127, 78);
+ kernel_seq_depth(g_sequence_ids[3], 15);
if (object_is_here(OBJ_SECURITY_CARD)) {
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 9, 0, 0, 0);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 9, 0, 0, 0);
local._cardHotspotId = _scene->_dynamicHotspots.add(words_security_card, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(local._cardHotspotId, Common::Point(107, 107), FACING_SOUTH);
}
@@ -91,21 +91,21 @@ static void room_359_parser() {
player.walker_visible = false;
text_show(35920);
if (global[kSexOfRex] == REX_MALE) {
- g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 4, 2, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 4, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
- g_sequence_ids[4] = _scene->_sequences.startPingPongCycle(g_sprite_ids[4], true, 7, 2, 0, 0);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(106, 110));
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], true, 7, 0, 0, 2);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_loc(g_sequence_ids[4], 106, 110);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
case 1:
- _scene->_sequences.remove(g_sequence_ids[1]);
+ kernel_seq_delete(g_sequence_ids[1]);
_scene->_dynamicHotspots.remove(local._cardHotspotId);
g_engine->_soundManager->command(57, 0);
inter_give_to_player(OBJ_SECURITY_CARD);
@@ -115,9 +115,9 @@ static void room_359_parser() {
case 2:
if (global[kSexOfRex] == REX_MALE)
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[2]);
+ kernel_seq_timeout(g_sequence_ids[2], -1);
else
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[4]);
+ kernel_seq_timeout(g_sequence_ids[4], -1);
player.walker_visible = true;
player.commands_allowed = true;
diff --git a/engines/mads/nebular/rooms/room360.cpp b/engines/mads/nebular/rooms/room360.cpp
index f8891a11191..63bdccb3bec 100644
--- a/engines/mads/nebular/rooms/room360.cpp
+++ b/engines/mads/nebular/rooms/room360.cpp
@@ -33,9 +33,9 @@ namespace Rooms {
static void room_360_init() {
g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(127, 78));
- _scene->_sequences.setDepth(g_sequence_ids[1], 15);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
+ kernel_seq_loc(g_sequence_ids[1], 127, 78);
+ kernel_seq_depth(g_sequence_ids[1], 15);
if (previous_room == 359) {
player.x = 304;
diff --git a/engines/mads/nebular/rooms/room361.cpp b/engines/mads/nebular/rooms/room361.cpp
index 1a45709cb52..4dfe40ff77c 100644
--- a/engines/mads/nebular/rooms/room361.cpp
+++ b/engines/mads/nebular/rooms/room361.cpp
@@ -36,88 +36,88 @@ static void handleRexAction() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 50, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[1], 3, -2);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 15);
-
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 15, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], -1, 4);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 50, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[1], 3, -2);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 15);
+
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 15, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], -1, 4);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
{
int seqIdx = g_sequence_ids[1];
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 4);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 15);
- _scene->_sequences.updateTimeout(g_sequence_ids[1], seqIdx);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 4);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 15);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[1]);
}
break;
case 2:
{
int seqIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 4, 10);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.updateTimeout(g_sequence_ids[2], seqIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 4, 10);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[2]);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
break;
case 3:
{
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 3);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 3);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
int seqIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 11);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(167, 100));
- _scene->_sequences.updateTimeout(g_sequence_ids[2], seqIdx);
- _scene->_sequences.addTimer(15, 4);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 11);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_loc(g_sequence_ids[2], 167, 100);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[2]);
+ kernel_timing_trigger(15, 4);
}
break;
case 4:
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 2);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
-
- _scene->_sequences.setDone(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 12, 14);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(167, 100));
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 2);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
+
+ kernel_player_expire(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 12, 14);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_loc(g_sequence_ids[2], 167, 100);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
break;
case 5:
{
int seqIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 15);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(167, 100));
- _scene->_sequences.updateTimeout(g_sequence_ids[2], seqIdx);
- _scene->_sequences.addTimer(15, 6);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 15);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_loc(g_sequence_ids[2], 167, 100);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[2]);
+ kernel_timing_trigger(15, 6);
}
break;
case 6:
- _scene->_sequences.setDone(g_sequence_ids[2]);
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
- _scene->_sequences.addTimer(48, 7);
+ kernel_player_expire(g_sequence_ids[2]);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
+ kernel_timing_trigger(48, 7);
break;
case 7:
@@ -134,93 +134,93 @@ static void handleRoxAction() {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 18, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[1], 2, 4);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 15);
-
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 18, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], -1, 3);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 18, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[1], 2, 4);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 15);
+
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 18, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[4], -1, 3);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
{
int tmpIdx = g_sequence_ids[1];
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 4);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 15);
- _scene->_sequences.updateTimeout(g_sequence_ids[1], tmpIdx);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 4);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 15);
+ kernel_seq_timeout(tmpIdx, g_sequence_ids[1]);
}
break;
case 2:
{
int tmpIdx = g_sequence_ids[4];
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 4, 8);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.updateTimeout(g_sequence_ids[4], tmpIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[4], 4, 8);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_timeout(tmpIdx, g_sequence_ids[4]);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
}
break;
case 3:
{
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 3);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 3);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
int tmpIdx = g_sequence_ids[4];
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 9, 10);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(167, 100));
- _scene->_sequences.updateTimeout(g_sequence_ids[4], tmpIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[4], 9, 10);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_loc(g_sequence_ids[4], 167, 100);
+ kernel_seq_timeout(tmpIdx, g_sequence_ids[4]);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
}
break;
case 4:
{
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 2);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 2);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
int tmpIdx = g_sequence_ids[4];
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 11, 15);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(167, 100));
- _scene->_sequences.updateTimeout(g_sequence_ids[4], tmpIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[4], 11, 15);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_loc(g_sequence_ids[4], 167, 100);
+ kernel_seq_timeout(tmpIdx, g_sequence_ids[4]);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
}
break;
case 5:
{
int tmpIdx = g_sequence_ids[4];
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], false, 16);
- _scene->_sequences.setMsgLayout(g_sequence_ids[4]);
- _scene->_sequences.setPosition(g_sequence_ids[4], Common::Point(167, 100));
- _scene->_sequences.updateTimeout(g_sequence_ids[4], tmpIdx);
- _scene->_sequences.addTimer(48, 6);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 16);
+ kernel_seq_player(g_sequence_ids[4], false);
+ kernel_seq_loc(g_sequence_ids[4], 167, 100);
+ kernel_seq_timeout(tmpIdx, g_sequence_ids[4]);
+ kernel_timing_trigger(48, 6);
}
break;
case 6:
- _scene->_sequences.setDone(g_sequence_ids[4]);
+ kernel_player_expire(g_sequence_ids[4]);
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
- _scene->_sequences.addTimer(48, 7);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
+ kernel_timing_trigger(48, 7);
break;
case 7:
@@ -241,9 +241,9 @@ static void room_361_init() {
} else
g_sprite_ids[4] = kernel_load_series("*ROXCL_8", 0);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 15);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 15);
if (previous_room == 391) {
global[kSexOfRex] = REX_MALE;
@@ -252,7 +252,7 @@ static void room_361_init() {
player.facing = FACING_SOUTH;
player.x = 166;
player.y = 101;
- _scene->_sequences.addTimer(120, 70);
+ kernel_timing_trigger(120, 70);
} else if (previous_room == 360) {
player.x = 302;
player.y = 145;
@@ -278,94 +278,94 @@ static void room_361_daemon() {
if (kernel.trigger >= 70) {
switch (kernel.trigger) {
case 70:
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 2);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
-
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addTimer(15, 71);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 2);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
+
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_timing_trigger(15, 71);
break;
case 71:
- _scene->_sequences.setDone(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 2);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addTimer(15, 72);
+ kernel_player_expire(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 2);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_timing_trigger(15, 72);
break;
case 72:
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 3);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
-
- _scene->_sequences.setDone(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 3);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addTimer(15, 73);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 3);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
+
+ kernel_player_expire(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 3);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_timing_trigger(15, 73);
break;
case 73:
- _scene->_sequences.setDone(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 4, 5);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ kernel_player_expire(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 4, 5);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
break;
case 74:
{
int seqIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 6);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], seqIdx);
- _scene->_sequences.addTimer(15, 75);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 6);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[3]);
+ kernel_timing_trigger(15, 75);
}
break;
case 75:
- _scene->_sequences.setDone(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 7);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addTimer(15, 76);
+ kernel_player_expire(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 7);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_timing_trigger(15, 76);
break;
case 76:
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 2);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 1);
-
- _scene->_sequences.setDone(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 8);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addTimer(15, 77);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 2);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 1);
+
+ kernel_player_expire(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 8);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_timing_trigger(15, 77);
break;
case 77:
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
- _scene->_sequences.setPosition(g_sequence_ids[1], Common::Point(165, 76));
- _scene->_sequences.setDepth(g_sequence_ids[1], 15);
-
- _scene->_sequences.setDone(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 9);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addTimer(15, 78);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
+ kernel_seq_loc(g_sequence_ids[1], 165, 76);
+ kernel_seq_depth(g_sequence_ids[1], 15);
+
+ kernel_player_expire(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 9);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_timing_trigger(15, 78);
break;
case 78:
- _scene->_sequences.setDone(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 10, -2);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 79);
+ kernel_player_expire(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 10, -2);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 79);
break;
case 79:
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[3]);
+ kernel_seq_timeout(g_sequence_ids[3], -1);
player.commands_allowed = true;
player.walker_visible = true;
break;
diff --git a/engines/mads/nebular/rooms/room388.cpp b/engines/mads/nebular/rooms/room388.cpp
index 089f45f5ab8..35fcd3cc027 100644
--- a/engines/mads/nebular/rooms/room388.cpp
+++ b/engines/mads/nebular/rooms/room388.cpp
@@ -39,7 +39,7 @@ static void room_388_init() {
_scene->_hotspots.activate(words_sauropod, false);
else {
g_sprite_ids[0] = kernel_load_series(kernel_name('b', 0), 0);
- g_sequence_ids[0] = _scene->_sequences.startCycle(g_sprite_ids[0], false, 1);
+ g_sequence_ids[0] = kernel_seq_stamp(g_sprite_ids[0], false, 1);
}
player.walker_visible = false;
diff --git a/engines/mads/nebular/rooms/room389.cpp b/engines/mads/nebular/rooms/room389.cpp
index c29de5a8cfa..a7a795de11f 100644
--- a/engines/mads/nebular/rooms/room389.cpp
+++ b/engines/mads/nebular/rooms/room389.cpp
@@ -50,7 +50,7 @@ static void room_389_init() {
_scene->_hotspots.activate(words_monster, false);
else {
g_sprite_ids[0] = kernel_load_series(kernel_name('m', -1), 0);
- g_sequence_ids[0] = _scene->_sequences.addSpriteCycle(g_sprite_ids[0], false, 6, 0, 0, 0);
+ g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 6, 0, 0, 0);
kernel_random_messages_init(1, 88, 177, 19, 77, 13, 2, 0xFDFC, 60, 247, 248, 249, 0);
}
diff --git a/engines/mads/nebular/rooms/room402.cpp b/engines/mads/nebular/rooms/room402.cpp
index d53dfdee20e..c5c04ac6e5e 100644
--- a/engines/mads/nebular/rooms/room402.cpp
+++ b/engines/mads/nebular/rooms/room402.cpp
@@ -148,7 +148,7 @@ static void handleConversation1() {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, quoteId), quotePosX, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 120;
setDialogNode(2);
}
@@ -158,7 +158,7 @@ static void handleConversation1() {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1EC), 260, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 120;
local._bartenderCurrentQuestion = 1;
setDialogNode(3);
@@ -169,7 +169,7 @@ static void handleConversation1() {
kernel_message_add(quote_string(kernel.quotes, 0x1FD), 208, 41, 0xFDFC, 100, 0, 0);
setDialogNode(0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 1120;
break;
@@ -249,7 +249,7 @@ static void handleConversation2() {
switch (g_engine->getRandomNumber(1, 3)) {
case 1:
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 180;
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1E7), 198, 27, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
@@ -259,7 +259,7 @@ static void handleConversation2() {
case 2:
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 180;
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1E9), 220, 27, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
@@ -269,7 +269,7 @@ static void handleConversation2() {
case 3:
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 150;
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1EB), 196, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
@@ -284,7 +284,7 @@ static void handleConversation2() {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1FD), 208, 41, 0xFDFC, 100, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 1120;
}
}
@@ -296,7 +296,7 @@ static void handleConversation3() {
case 0x235:
case 0x236:
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 86);
+ kernel_timing_trigger(1, 86);
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1ED), 188, 27, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x1EE), 199, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
@@ -308,7 +308,7 @@ static void handleConversation3() {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1FD), 208, 41, 0xFDFC, 100, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 1120;
setDialogNode(0);
break;
@@ -328,12 +328,12 @@ static void handleConversation4() {
kernel_message_add(quote_string(kernel.quotes, 0x1F1), 184, 27, 0xFDFC, 180, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x1F2), 200, 41, 0xFDFC, 180, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 1100;
local._dialog4.write(0x238, false);
local._bartenderMode = 22;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(100, 95);
+ kernel_timing_trigger(100, 95);
local._refuseAlienLiquor = true;
break;
@@ -341,7 +341,7 @@ static void handleConversation4() {
player.commands_allowed = false;
local._roxMode = 21;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 92);
+ kernel_timing_trigger(1, 92);
_scene->_userInterface.setup(kInputBuildingSentences);
local._conversationFl = false;
break;
@@ -354,11 +354,11 @@ static void handleConversation4() {
local._dialog4.write(0x23A, false);
global[kHasSaidTimer] = true;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 1100;
local._bartenderMode = 22;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(100, 95);
+ kernel_timing_trigger(100, 95);
local._refuseAlienLiquor = true;
break;
@@ -370,11 +370,11 @@ static void handleConversation4() {
local._dialog4.write(0x23D, false);
global[kHasSaidBinocs] = true;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 1100;
local._bartenderMode = 22;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(100, 95);
+ kernel_timing_trigger(100, 95);
local._refuseAlienLiquor = true;
break;
@@ -385,10 +385,10 @@ static void handleConversation4() {
kernel_message_add(quote_string(kernel.quotes, 0x1F8), 205, 41, 0xFDFC, 100, 0, 0);
local._bartenderMode = 22;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 1050;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(50, 95);
+ kernel_timing_trigger(50, 95);
local._refuseAlienLiquor = true;
break;
@@ -407,10 +407,10 @@ static void handleDialogs() {
quote_split_string(curQuote, subQuote1, subQuote2);
kernel_message_add(subQuote1, 230, 42, 0x1110, 140, 0, 32);
kernel_message_add(subQuote2, 230, 56, 0x1110, 140, 0, 32);
- _scene->_sequences.addTimer(160, 120);
+ kernel_timing_trigger(160, 120);
} else {
kernel_message_add(curQuote, 230, 56, 0x1110, 140, 1, 32);
- _scene->_sequences.addTimer(160, 120);
+ kernel_timing_trigger(160, 120);
}
} else if (kernel.trigger == 120) {
player.commands_allowed = true;
@@ -630,47 +630,47 @@ static void room_402_init() {
kernel_run_animation(kernel_full_name(402, 'd', 1, "", EXT_AA), 0);
kernel_anim[0].repeat = true;
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[5], 1);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 1);
+ kernel_seq_depth(g_sequence_ids[5], 1);
- g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 2);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ g_sequence_ids[13] = kernel_seq_stamp(g_sprite_ids[13], false, 2);
+ kernel_seq_depth(g_sequence_ids[13], 8);
if (!player_has(OBJ_REPAIR_LIST)) {
- g_sequence_ids[14] = _scene->_sequences.startCycle(g_sprite_ids[14], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[14], 7);
- _scene->_sequences.setPosition(g_sequence_ids[14], Common::Point(210, 80));
+ g_sequence_ids[14] = kernel_seq_stamp(g_sprite_ids[14], false, 1);
+ kernel_seq_depth(g_sequence_ids[14], 7);
+ kernel_seq_loc(g_sequence_ids[14], 210, 80);
int idx = _scene->_dynamicHotspots.add(words_repair_list, words_look_at, g_sequence_ids[14], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(0, 0), FACING_NONE);
}
{
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[9], 8);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
+ kernel_seq_depth(g_sequence_ids[9], 8);
int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
}
if (!object_is_here(OBJ_ALIEN_LIQUOR) && !player_has(OBJ_CREDIT_CHIP)) {
- g_sequence_ids[15] = _scene->_sequences.startCycle(g_sprite_ids[15], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[15], 8);
- _scene->_sequences.setPosition(g_sequence_ids[15], Common::Point(250, 80));
+ g_sequence_ids[15] = kernel_seq_stamp(g_sprite_ids[15], false, 1);
+ kernel_seq_depth(g_sequence_ids[15], 8);
+ kernel_seq_loc(g_sequence_ids[15], 250, 80);
int idx = _scene->_dynamicHotspots.add(words_credit_chip, words_take, g_sequence_ids[15], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(0, 0), FACING_NONE);
}
- g_sequence_ids[20] = _scene->_sequences.startCycle(g_sprite_ids[20], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[20], 7);
- _scene->_sequences.setPosition(g_sequence_ids[20], Common::Point(234, 72));
+ g_sequence_ids[20] = kernel_seq_stamp(g_sprite_ids[20], false, 1);
+ kernel_seq_depth(g_sequence_ids[20], 7);
+ kernel_seq_loc(g_sequence_ids[20], 234, 72);
if (global[kBottleDisplayed]) {
- g_sequence_ids[8] = _scene->_sequences.startCycle(g_sprite_ids[8], false, 4);
- _scene->_sequences.setDepth(g_sequence_ids[8], 7);
+ g_sequence_ids[8] = kernel_seq_stamp(g_sprite_ids[8], false, 4);
+ kernel_seq_depth(g_sequence_ids[8], 7);
}
if (local._roxOnStool) {
- g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, 11);
- _scene->_sequences.setDepth(g_sequence_ids[6], 5);
+ g_sequence_ids[6] = kernel_seq_stamp(g_sprite_ids[6], false, 11);
+ kernel_seq_depth(g_sequence_ids[6], 5);
player.walker_visible = false;
}
@@ -681,7 +681,7 @@ static void room_402_daemon() {
if (kernel.trigger == 104) {
player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
- _scene->_sequences.remove(g_sequence_ids[15]);
+ kernel_seq_delete(g_sequence_ids[15]);
inter_give_to_player(OBJ_CREDIT_CHIP);
object_examine(OBJ_CREDIT_CHIP, 40242, 0);
player.commands_allowed = true;
@@ -689,10 +689,10 @@ static void room_402_daemon() {
if ((g_engine->getRandomNumber(1, 1500) == 1) && (!local._activeTeleporter) && (player.x < 150)) {
g_engine->_soundManager->command(30, 0);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 13, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[4], 1, 11);
- _scene->_sequences.setDepth(g_sequence_ids[4], 14);
- _scene->_sequences.addSubEntry(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 48);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 13, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[4], 1, 11);
+ kernel_seq_depth(g_sequence_ids[4], 14);
+ kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 48);
local._activeTeleporter = true;
global[kSomeoneHasExploded] = true;
}
@@ -703,36 +703,36 @@ static void room_402_daemon() {
if (kernel.trigger == 100) {
local._bartenderReady = false;
if (local._bartenderHandsHips) {
- _scene->_sequences.remove(g_sequence_ids[10]);
+ kernel_seq_delete(g_sequence_ids[10]);
local._bartenderHandsHips = false;
} else if (local._bartenderLooksLeft) {
- _scene->_sequences.remove(g_sequence_ids[11]);
+ kernel_seq_delete(g_sequence_ids[11]);
local._bartenderLooksLeft = false;
} else if (local._bartenderSteady) {
- _scene->_sequences.remove(g_sequence_ids[9]);
+ kernel_seq_delete(g_sequence_ids[9]);
local._bartenderSteady = false;
}
if (!local._bartenderTalking) {
- g_sequence_ids[10] = _scene->_sequences.startPingPongCycle(g_sprite_ids[10], false, 7, 0, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[10], 3, 4);
- _scene->_sequences.setDepth(g_sequence_ids[10], 8);
+ g_sequence_ids[10] = kernel_seq_pingpong(g_sprite_ids[10], false, 7, 0, 0, 0);
+ kernel_seq_range(g_sequence_ids[10], 3, 4);
+ kernel_seq_depth(g_sequence_ids[10], 8);
int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[10], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
local._bartenderTalking = true;
if (local._talkTimer > 1000)
- _scene->_sequences.addTimer(local._talkTimer - 1000, 101);
+ kernel_timing_trigger(local._talkTimer - 1000, 101);
else
- _scene->_sequences.addTimer(local._talkTimer, 101);
+ kernel_timing_trigger(local._talkTimer, 101);
}
}
if ((kernel.trigger == 101) && local._bartenderTalking) {
- _scene->_sequences.remove(g_sequence_ids[10]);
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
+ kernel_seq_delete(g_sequence_ids[10]);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
- _scene->_sequences.setDepth(g_sequence_ids[9], 8);
+ kernel_seq_depth(g_sequence_ids[9], 8);
local._bartenderSteady = true;
local._bartenderTalking = false;
if (local._talkTimer < 1000)
@@ -745,11 +745,11 @@ static void room_402_daemon() {
switch (kernel.trigger) {
case 92:
player.commands_allowed = false;
- _scene->_sequences.remove(g_sequence_ids[6]);
- g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[7], 1, 2);
- _scene->_sequences.setDepth(g_sequence_ids[7], 5);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 93);
+ kernel_seq_delete(g_sequence_ids[6]);
+ g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[7], 1, 2);
+ kernel_seq_depth(g_sequence_ids[7], 5);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 93);
break;
case 93:
@@ -758,40 +758,40 @@ static void room_402_daemon() {
switch (local._roxMode) {
case 20:
g_engine->_soundManager->command(57, 0);
- _scene->_sequences.remove(g_sequence_ids[15]);
+ kernel_seq_delete(g_sequence_ids[15]);
inter_give_to_player(OBJ_CREDIT_CHIP);
object_examine(OBJ_CREDIT_CHIP, 40242, 0);
break;
case 22:
g_engine->_soundManager->command(57, 0);
- _scene->_sequences.remove(g_sequence_ids[8]);
+ kernel_seq_delete(g_sequence_ids[8]);
inter_give_to_player(OBJ_ALIEN_LIQUOR);
global[kBottleDisplayed] = false;
object_examine(OBJ_ALIEN_LIQUOR, 40241, 0);
break;
case 21:
- g_sequence_ids[15] = _scene->_sequences.startCycle(g_sprite_ids[15], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[15], 8);
- _scene->_sequences.setPosition(g_sequence_ids[15], Common::Point(250, 80));
+ g_sequence_ids[15] = kernel_seq_stamp(g_sprite_ids[15], false, 1);
+ kernel_seq_depth(g_sequence_ids[15], 8);
+ kernel_seq_loc(g_sequence_ids[15], 250, 80);
break;
default:
break;
}
- g_sequence_ids[7] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[7], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[7], 1, 3);
- _scene->_sequences.setDepth(g_sequence_ids[7], 5);
- _scene->_sequences.updateTimeout(g_sequence_ids[7], seqIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 94);
+ g_sequence_ids[7] = kernel_seq_backward(g_sprite_ids[7], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[7], 1, 3);
+ kernel_seq_depth(g_sequence_ids[7], 5);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[7]);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 94);
if (local._roxMode == 21) {
if (player_has(OBJ_CREDIT_CHIP))
inter_move_object(OBJ_CREDIT_CHIP, NOWHERE);
local._bartenderMode = 20;
- _scene->_sequences.addTimer(60, 95);
+ kernel_timing_trigger(60, 95);
}
}
break;
@@ -799,15 +799,15 @@ static void room_402_daemon() {
case 94:
{
int seqIdx = g_sequence_ids[7];
- g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, 11);
- _scene->_sequences.setDepth(g_sequence_ids[6], 5);
- _scene->_sequences.updateTimeout(g_sequence_ids[6], seqIdx);
+ g_sequence_ids[6] = kernel_seq_stamp(g_sprite_ids[6], false, 11);
+ kernel_seq_depth(g_sequence_ids[6], 5);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[6]);
if (local._roxMode == 22) {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x23F), 230, 56, 0x1110, 120, 0, 32);
local._bartenderMode = 21;
global[kHasPurchased] = true;
- _scene->_sequences.addTimer(140, 95);
+ kernel_timing_trigger(140, 95);
} else if (local._roxMode == 20)
player.commands_allowed = true;
@@ -823,34 +823,34 @@ static void room_402_daemon() {
local._bartenderReady = false;
player.commands_allowed = false;
if (local._bartenderHandsHips || local._bartenderTalking) {
- _scene->_sequences.remove(g_sequence_ids[10]);
+ kernel_seq_delete(g_sequence_ids[10]);
local._bartenderHandsHips = false;
local._bartenderTalking = false;
}
if (local._bartenderLooksLeft) {
- _scene->_sequences.remove(g_sequence_ids[11]);
+ kernel_seq_delete(g_sequence_ids[11]);
local._bartenderLooksLeft = false;
}
if (local._bartenderSteady) {
- _scene->_sequences.remove(g_sequence_ids[9]);
+ kernel_seq_delete(g_sequence_ids[9]);
local._bartenderSteady = false;
}
- g_sequence_ids[12] = _scene->_sequences.addSpriteCycle(g_sprite_ids[12], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[12], 1, 4);
- _scene->_sequences.setDepth(g_sequence_ids[12], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 96);
+ g_sequence_ids[12] = kernel_seq_forward(g_sprite_ids[12], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[12], 1, 4);
+ kernel_seq_depth(g_sequence_ids[12], 8);
+ kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 96);
break;
case 96:
{
int seqIdx = g_sequence_ids[12];
- g_sequence_ids[12] = _scene->_sequences.addSpriteCycle(g_sprite_ids[12], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[12], 6, 7);
- _scene->_sequences.setDepth(g_sequence_ids[12], 8);
- _scene->_sequences.updateTimeout(g_sequence_ids[12], seqIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 97);
+ g_sequence_ids[12] = kernel_seq_forward(g_sprite_ids[12], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[12], 6, 7);
+ kernel_seq_depth(g_sequence_ids[12], 8);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[12]);
+ kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 97);
}
break;
@@ -859,21 +859,21 @@ static void room_402_daemon() {
int seqIdx = g_sequence_ids[12];
switch (local._bartenderMode) {
case 20:
- _scene->_sequences.remove(g_sequence_ids[15]);
+ kernel_seq_delete(g_sequence_ids[15]);
break;
case 21:
{
- g_sequence_ids[15] = _scene->_sequences.startCycle(g_sprite_ids[15], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[15], 8);
- _scene->_sequences.setPosition(g_sequence_ids[15], Common::Point(250, 80));
+ g_sequence_ids[15] = kernel_seq_stamp(g_sprite_ids[15], false, 1);
+ kernel_seq_depth(g_sequence_ids[15], 8);
+ kernel_seq_loc(g_sequence_ids[15], 250, 80);
int idx = _scene->_dynamicHotspots.add(words_credit_chip, words_take, g_sequence_ids[15], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(0, 0), FACING_NONE);
}
break;
case 22:
- _scene->_sequences.remove(g_sequence_ids[8]);
+ kernel_seq_delete(g_sequence_ids[8]);
global[kBottleDisplayed] = false;
break;
@@ -881,37 +881,37 @@ static void room_402_daemon() {
break;
}
- g_sequence_ids[12] = _scene->_sequences.startCycle(g_sprite_ids[12], false, 6);
- _scene->_sequences.updateTimeout(g_sequence_ids[12], seqIdx);
- _scene->_sequences.setDepth(g_sequence_ids[12], 8);
- _scene->_sequences.addTimer(10, 98);
+ g_sequence_ids[12] = kernel_seq_stamp(g_sprite_ids[12], false, 6);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[12]);
+ kernel_seq_depth(g_sequence_ids[12], 8);
+ kernel_timing_trigger(10, 98);
}
break;
case 98:
- _scene->_sequences.remove(g_sequence_ids[12]);
- g_sequence_ids[12] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[12], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[12], 1, 4);
- _scene->_sequences.setDepth(g_sequence_ids[12], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 99);
+ kernel_seq_delete(g_sequence_ids[12]);
+ g_sequence_ids[12] = kernel_seq_backward(g_sprite_ids[12], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[12], 1, 4);
+ kernel_seq_depth(g_sequence_ids[12], 8);
+ kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 99);
break;
case 99:
{
int seqIdx = g_sequence_ids[12];
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
local._bartenderSteady = true;
int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
- _scene->_sequences.updateTimeout(g_sequence_ids[9], seqIdx);
- _scene->_sequences.setDepth(g_sequence_ids[9], 8);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[9]);
+ kernel_seq_depth(g_sequence_ids[9], 8);
if (local._bartenderMode == 20) {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1F3), 210, 41, 0xFDFC, 100, 0, 0);
- _scene->_sequences.addTimer(5, 100);
+ kernel_timing_trigger(5, 100);
local._talkTimer = 180;
local._roxMode = 22;
- _scene->_sequences.addTimer(65, 92);
+ kernel_timing_trigger(65, 92);
} else if ((local._bartenderMode == 21) || (local._bartenderMode == 22)) {
player.commands_allowed = true;
local._bartenderReady = true;
@@ -929,64 +929,64 @@ static void room_402_daemon() {
local._bartenderReady = false;
player.commands_allowed = false;
if ((local._bartenderHandsHips) || (local._bartenderTalking)) {
- _scene->_sequences.remove(g_sequence_ids[10]);
+ kernel_seq_delete(g_sequence_ids[10]);
local._bartenderHandsHips = false;
local._bartenderTalking = false;
} else if (local._bartenderLooksLeft) {
- _scene->_sequences.remove(g_sequence_ids[11]);
+ kernel_seq_delete(g_sequence_ids[11]);
local._bartenderLooksLeft = false;
} else if (local._bartenderSteady) {
- _scene->_sequences.remove(g_sequence_ids[9]);
+ kernel_seq_delete(g_sequence_ids[9]);
local._bartenderSteady = false;
}
- g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[9], 1, 9);
- _scene->_sequences.setDepth(g_sequence_ids[9], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 87);
+ g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[9], 1, 9);
+ kernel_seq_depth(g_sequence_ids[9], 8);
+ kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 87);
break;
case 87:
{
int seqIdx = g_sequence_ids[9];
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 9);
- _scene->_sequences.setDepth(g_sequence_ids[9], 8);
- _scene->_sequences.updateTimeout(g_sequence_ids[9], seqIdx);
- _scene->_sequences.addTimer(10, 89);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 9);
+ kernel_seq_depth(g_sequence_ids[9], 8);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[9]);
+ kernel_timing_trigger(10, 89);
- g_sequence_ids[8] = _scene->_sequences.addSpriteCycle(g_sprite_ids[8], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[8], 1, 4);
- _scene->_sequences.setDepth(g_sequence_ids[8], 7);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 88);
+ g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[8], 1, 4);
+ kernel_seq_depth(g_sequence_ids[8], 7);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 88);
}
break;
case 88:
- g_sequence_ids[8] = _scene->_sequences.startCycle(g_sprite_ids[8], false, 4);
- _scene->_sequences.setDepth(g_sequence_ids[8], 7);
+ g_sequence_ids[8] = kernel_seq_stamp(g_sprite_ids[8], false, 4);
+ kernel_seq_depth(g_sequence_ids[8], 7);
global[kBottleDisplayed] = true;
break;
case 89:
- _scene->_sequences.remove(g_sequence_ids[9]);
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 6);
- _scene->_sequences.setDepth(g_sequence_ids[9], 8);
- _scene->_sequences.addTimer(10, 90);
+ kernel_seq_delete(g_sequence_ids[9]);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 6);
+ kernel_seq_depth(g_sequence_ids[9], 8);
+ kernel_timing_trigger(10, 90);
break;
case 90:
- _scene->_sequences.remove(g_sequence_ids[9]);
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 5);
- _scene->_sequences.setDepth(g_sequence_ids[9], 8);
- _scene->_sequences.addTimer(10, 91);
+ kernel_seq_delete(g_sequence_ids[9]);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 5);
+ kernel_seq_depth(g_sequence_ids[9], 8);
+ kernel_timing_trigger(10, 91);
break;
case 91:
{
- _scene->_sequences.remove(g_sequence_ids[9]);
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
+ kernel_seq_delete(g_sequence_ids[9]);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
- _scene->_sequences.setDepth(g_sequence_ids[9], 8);
+ kernel_seq_depth(g_sequence_ids[9], 8);
local._bartenderSteady = true;
player.commands_allowed = true;
local._bartenderReady = true;
@@ -1003,46 +1003,46 @@ static void room_402_daemon() {
if (local._beatCounter >= 20) {
local._ginnyLooking = true;
local._beatCounter = 0;
- _scene->_sequences.addTimer(60, 54);
+ kernel_timing_trigger(60, 54);
} else {
- _scene->_sequences.addTimer(30, 75);
+ kernel_timing_trigger(30, 75);
}
}
switch (kernel.trigger) {
case 75:
- _scene->_sequences.remove(g_sequence_ids[5]);
+ kernel_seq_delete(g_sequence_ids[5]);
local._bigBeatFl = !local._bigBeatFl;
if (local._bigBeatFl) {
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 5);
- _scene->_sequences.addTimer(8, 130);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 5);
+ kernel_timing_trigger(8, 130);
} else {
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 5);
- _scene->_sequences.addTimer(8, 53);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 5);
+ kernel_timing_trigger(8, 53);
}
- _scene->_sequences.setDepth(g_sequence_ids[5], 1);
+ kernel_seq_depth(g_sequence_ids[5], 1);
break;
case 130:
- _scene->_sequences.remove(g_sequence_ids[5]);
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 6);
- _scene->_sequences.setDepth(g_sequence_ids[5], 1);
- _scene->_sequences.addTimer(8, 131);
+ kernel_seq_delete(g_sequence_ids[5]);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 6);
+ kernel_seq_depth(g_sequence_ids[5], 1);
+ kernel_timing_trigger(8, 131);
break;
case 131:
- _scene->_sequences.remove(g_sequence_ids[5]);
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 5);
- _scene->_sequences.setDepth(g_sequence_ids[5], 1);
- _scene->_sequences.addTimer(8, 53);
+ kernel_seq_delete(g_sequence_ids[5]);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 5);
+ kernel_seq_depth(g_sequence_ids[5], 1);
+ kernel_timing_trigger(8, 53);
break;
case 53:
- _scene->_sequences.remove(g_sequence_ids[5]);
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[5], 1);
+ kernel_seq_delete(g_sequence_ids[5]);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 1);
+ kernel_seq_depth(g_sequence_ids[5], 1);
local._waitingGinnyMove = false;
break;
@@ -1058,31 +1058,31 @@ static void room_402_daemon() {
local._beatCounter = 0;
local._bigBeatFl = true;
} else {
- _scene->_sequences.remove(g_sequence_ids[5]);
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, g_engine->getRandomNumber(1, 4));
- _scene->_sequences.setDepth(g_sequence_ids[5], 1);
- _scene->_sequences.addTimer(60, 54);
+ kernel_seq_delete(g_sequence_ids[5]);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, g_engine->getRandomNumber(1, 4));
+ kernel_seq_depth(g_sequence_ids[5], 1);
+ kernel_timing_trigger(60, 54);
}
}
if (local._bartenderReady) {
if (g_engine->getRandomNumber(1, 250) == 1) {
if (local._bartenderLooksLeft) {
- _scene->_sequences.remove(g_sequence_ids[11]);
+ kernel_seq_delete(g_sequence_ids[11]);
local._bartenderLooksLeft = false;
} else if (local._bartenderHandsHips) {
- _scene->_sequences.remove(g_sequence_ids[10]);
+ kernel_seq_delete(g_sequence_ids[10]);
local._bartenderHandsHips = false;
} else if (local._bartenderSteady) {
- _scene->_sequences.remove(g_sequence_ids[9]);
+ kernel_seq_delete(g_sequence_ids[9]);
local._bartenderSteady = false;
}
switch (g_engine->getRandomNumber(1, 3)) {
case 1:
{
- g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[10], false, 4);
- _scene->_sequences.setDepth(g_sequence_ids[10], 8);
+ g_sequence_ids[10] = kernel_seq_stamp(g_sprite_ids[10], false, 4);
+ kernel_seq_depth(g_sequence_ids[10], 8);
int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[10], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
local._bartenderHandsHips = true;
@@ -1091,8 +1091,8 @@ static void room_402_daemon() {
case 2:
{
- g_sequence_ids[11] = _scene->_sequences.startCycle(g_sprite_ids[11], false, 2);
- _scene->_sequences.setDepth(g_sequence_ids[11], 8);
+ g_sequence_ids[11] = kernel_seq_stamp(g_sprite_ids[11], false, 2);
+ kernel_seq_depth(g_sequence_ids[11], 8);
int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[11], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
local._bartenderLooksLeft = true;
@@ -1101,8 +1101,8 @@ static void room_402_daemon() {
case 3:
{
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[9], 8);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
+ kernel_seq_depth(g_sequence_ids[9], 8);
int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
local._bartenderSteady = true;
@@ -1117,9 +1117,9 @@ static void room_402_daemon() {
if (kernel.trigger == 76) {
int seqIdx = g_sequence_ids[6];
- g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, 11);
- _scene->_sequences.setDepth(g_sequence_ids[6], 5);
- _scene->_sequences.updateTimeout(g_sequence_ids[6], seqIdx);
+ g_sequence_ids[6] = kernel_seq_stamp(g_sprite_ids[6], false, 11);
+ kernel_seq_depth(g_sequence_ids[6], 5);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[6]);
if (!global[kBeenThruHelgaScene]) {
player.commands_allowed = false;
local._cutSceneNeeded = true;
@@ -1132,11 +1132,11 @@ static void room_402_daemon() {
switch (kernel.trigger) {
case 77:
player.commands_allowed = false;
- _scene->_sequences.remove(g_sequence_ids[6]);
- g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[7], 10, 12);
- _scene->_sequences.setDepth(g_sequence_ids[7], 5);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 78);
+ kernel_seq_delete(g_sequence_ids[6]);
+ g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[7], 10, 12);
+ kernel_seq_depth(g_sequence_ids[7], 5);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 78);
break;
case 78:
@@ -1144,22 +1144,22 @@ static void room_402_daemon() {
g_engine->_soundManager->command(57, 0);
int seqIdx = g_sequence_ids[7];
inter_give_to_player(OBJ_REPAIR_LIST);
- _scene->_sequences.remove(g_sequence_ids[14]);
- g_sequence_ids[7] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[7], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[7], 10, 12);
- _scene->_sequences.setDepth(g_sequence_ids[7], 5);
- _scene->_sequences.updateTimeout(g_sequence_ids[7], seqIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 79);
+ kernel_seq_delete(g_sequence_ids[14]);
+ g_sequence_ids[7] = kernel_seq_backward(g_sprite_ids[7], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[7], 10, 12);
+ kernel_seq_depth(g_sequence_ids[7], 5);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[7]);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 79);
}
break;
case 79:
{
int seqIdx = g_sequence_ids[7];
- g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, 11);
- _scene->_sequences.setDepth(g_sequence_ids[6], 5);
- _scene->_sequences.updateTimeout(g_sequence_ids[6], seqIdx);
- _scene->_sequences.addTimer(20, 180);
+ g_sequence_ids[6] = kernel_seq_stamp(g_sprite_ids[6], false, 11);
+ kernel_seq_depth(g_sequence_ids[6], 5);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[6]);
+ kernel_timing_trigger(20, 180);
}
break;
@@ -1174,35 +1174,35 @@ static void room_402_daemon() {
if (local._cutSceneNeeded && local._cutSceneReady) {
local._cutSceneNeeded = false;
- _scene->_sequences.addTimer(20, 55);
+ kernel_timing_trigger(20, 55);
local._helgaReady = false;
local._bartenderReady = false;
}
if (g_engine->getRandomNumber(1, 25) == 1) {
if (local._lightOn) {
- _scene->_sequences.remove(g_sequence_ids[0]);
+ kernel_seq_delete(g_sequence_ids[0]);
local._lightOn = false;
} else {
- g_sequence_ids[0] = _scene->_sequences.startCycle(g_sprite_ids[0], false, 1);
+ g_sequence_ids[0] = kernel_seq_stamp(g_sprite_ids[0], false, 1);
local._lightOn = true;
}
}
if (!local._blowingSmoke && (g_engine->getRandomNumber(1, 300) == 1)) {
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[1], 1, 14);
- _scene->_sequences.setDepth(g_sequence_ids[1], 14);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 30);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[1], 1, 14);
+ kernel_seq_depth(g_sequence_ids[1], 14);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 30);
local._blowingSmoke = true;
}
switch (kernel.trigger) {
case 30:
- g_sequence_ids[1] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[1], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[1], 1, 5);
- _scene->_sequences.setDepth(g_sequence_ids[1], 14);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 31);
+ g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[1], 1, 5);
+ kernel_seq_depth(g_sequence_ids[1], 14);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 31);
break;
case 31:
@@ -1217,15 +1217,15 @@ static void room_402_daemon() {
if (g_engine->getRandomNumber(1, 1000) == 1) {
switch (g_engine->getRandomNumber(1, 2)) {
case 1:
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 33);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 1, 8);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 33);
local._leftWomanMoving = true;
break;
case 2:
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
- _scene->_sequences.addTimer(12, 35);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 1);
+ kernel_timing_trigger(12, 35);
local._leftWomanMoving = true;
break;
@@ -1239,33 +1239,33 @@ static void room_402_daemon() {
case 33:
{
int seqIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 9);
- _scene->_sequences.updateTimeout(g_sequence_ids[2], seqIdx);
- _scene->_sequences.addTimer(g_engine->getRandomNumber(60, 250), 34);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 9);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[2]);
+ kernel_timing_trigger(g_engine->getRandomNumber(60, 250), 34);
}
break;
case 34:
- _scene->_sequences.remove(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[2], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 38);
+ kernel_seq_delete(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 1, 8);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 38);
break;
case 35:
- _scene->_sequences.remove(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 2);
- _scene->_sequences.addTimer(g_engine->getRandomNumber(60, 300), 36);
+ kernel_seq_delete(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 2);
+ kernel_timing_trigger(g_engine->getRandomNumber(60, 300), 36);
break;
case 36:
- _scene->_sequences.remove(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
- _scene->_sequences.addTimer(12, 37);
+ kernel_seq_delete(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 1);
+ kernel_timing_trigger(12, 37);
break;
case 37:
- _scene->_sequences.remove(g_sequence_ids[2]);
+ kernel_seq_delete(g_sequence_ids[2]);
local._leftWomanMoving = false;
break;
@@ -1281,30 +1281,30 @@ static void room_402_daemon() {
if (g_engine->getRandomNumber(1, 300) == 1) {
switch (g_engine->getRandomNumber(1, 4)) {
case 1:
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 1, 4);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
local._rightWomanMoving = true;
break;
case 2:
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 4, 5);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[3], 4, 5);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
local._rightWomanMoving = true;
break;
case 3:
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 12, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 4, 5);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 12, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[3], 4, 5);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
local._rightWomanMoving = true;
break;
case 4:
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 12, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 3, 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[3], 3, 4);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
local._rightWomanMoving = true;
break;
@@ -1364,12 +1364,12 @@ static void room_402_daemon() {
case 39:
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1D8), 89, 67, 0xFDFC, 120, 0, 32);
- _scene->_sequences.addTimer(150, 40);
+ kernel_timing_trigger(150, 40);
break;
case 40:
kernel_message_add(quote_string(kernel.quotes, 0x1D9), 89, 67, 0xFDFC, 120, 0, 32);
- _scene->_sequences.addTimer(150, 41);
+ kernel_timing_trigger(150, 41);
break;
case 41:
@@ -1380,7 +1380,7 @@ static void room_402_daemon() {
case 42:
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1DC), 89, 67, 0xFDFC, 120, 0, 32);
- _scene->_sequences.addTimer(150, 43);
+ kernel_timing_trigger(150, 43);
break;
case 43:
@@ -1399,80 +1399,80 @@ static void room_402_daemon() {
switch (kernel.trigger) {
case 55:
if (local._bartenderHandsHips) {
- _scene->_sequences.remove(g_sequence_ids[10]);
+ kernel_seq_delete(g_sequence_ids[10]);
local._bartenderHandsHips = false;
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
local._bartenderSteady = true;
- _scene->_sequences.setDepth(g_sequence_ids[9], 8);
+ kernel_seq_depth(g_sequence_ids[9], 8);
} else if (local._bartenderLooksLeft) {
- _scene->_sequences.remove(g_sequence_ids[11]);
+ kernel_seq_delete(g_sequence_ids[11]);
local._bartenderLooksLeft = false;
- g_sequence_ids[9] = _scene->_sequences.startCycle(g_sprite_ids[9], false, 1);
+ g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
local._bartenderSteady = true;
- _scene->_sequences.setDepth(g_sequence_ids[9], 8);
+ kernel_seq_depth(g_sequence_ids[9], 8);
}
player.commands_allowed = false;
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1FE), 180, 47, 0xFBFA, 100, 0, 0);
- _scene->_sequences.addTimer(120, 56);
+ kernel_timing_trigger(120, 56);
break;
case 56:
- _scene->_sequences.remove(g_sequence_ids[13]);
- g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 2, 5);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 57);
+ kernel_seq_delete(g_sequence_ids[13]);
+ g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[13], 2, 5);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 57);
break;
case 57:
{
int seqIdx = g_sequence_ids[13];
- _scene->_sequences.remove(g_sequence_ids[20]);
- g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 6, 9);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 58);
+ kernel_seq_delete(g_sequence_ids[20]);
+ g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[13], 6, 9);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 58);
}
break;
case 58:
{
int seqIdx = g_sequence_ids[13];
- g_sequence_ids[13] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 5, 9);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 59);
+ g_sequence_ids[13] = kernel_seq_backward(g_sprite_ids[13], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[13], 5, 9);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 59);
}
break;
case 59:
{
int seqIdx = g_sequence_ids[13];
- g_sequence_ids[13] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 1, 4);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
- g_sequence_ids[20] = _scene->_sequences.startCycle(g_sprite_ids[20], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[20], 8);
- _scene->_sequences.setPosition(g_sequence_ids[20], Common::Point(234, 72));
+ g_sequence_ids[13] = kernel_seq_backward(g_sprite_ids[13], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[13], 1, 4);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
+ g_sequence_ids[20] = kernel_seq_stamp(g_sprite_ids[20], false, 1);
+ kernel_seq_depth(g_sequence_ids[20], 8);
+ kernel_seq_loc(g_sequence_ids[20], 234, 72);
}
break;
case 60:
{
int seqIdx = g_sequence_ids[13];
- g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 2);
- _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.addTimer(10, 61);
+ g_sequence_ids[13] = kernel_seq_stamp(g_sprite_ids[13], false, 2);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_timing_trigger(10, 61);
}
break;
@@ -1480,20 +1480,20 @@ static void room_402_daemon() {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1FF), 181, 33, 0xFBFA, 130, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x200), 171, 47, 0xFBFA, 130, 0, 0);
- _scene->_sequences.addTimer(150, 63);
- _scene->_sequences.remove(g_sequence_ids[13]);
- g_sequence_ids[13] = _scene->_sequences.startPingPongCycle(g_sprite_ids[13], false, 30, 4, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 10, 11);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 62);
+ kernel_timing_trigger(150, 63);
+ kernel_seq_delete(g_sequence_ids[13]);
+ g_sequence_ids[13] = kernel_seq_pingpong(g_sprite_ids[13], false, 30, 0, 0, 4);
+ kernel_seq_range(g_sequence_ids[13], 10, 11);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 62);
break;
case 62:
{
int seqIdx = g_sequence_ids[13];
- g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 2);
- _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ g_sequence_ids[13] = kernel_seq_stamp(g_sprite_ids[13], false, 2);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
+ kernel_seq_depth(g_sequence_ids[13], 8);
}
break;
@@ -1501,85 +1501,85 @@ static void room_402_daemon() {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x201), 160, 33, 0xFBFA, 130, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x202), 165, 47, 0xFBFA, 130, 0, 0);
- _scene->_sequences.addTimer(150, 64);
+ kernel_timing_trigger(150, 64);
break;
case 64:
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1E0), 210, 27, 0xFDFC, 130, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x1E1), 198, 41, 0xFDFC, 130, 0, 0);
- _scene->_sequences.addTimer(150, 65);
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(150, 65);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 1130;
break;
case 65:
g_engine->_soundManager->command(30, 0);
- g_sequence_ids[16] = _scene->_sequences.addSpriteCycle(g_sprite_ids[16], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[16], 1, 6);
- _scene->_sequences.setDepth(g_sequence_ids[16], 9);
- _scene->_sequences.addSubEntry(g_sequence_ids[16], SEQUENCE_TRIGGER_EXPIRE, 0, 66);
+ g_sequence_ids[16] = kernel_seq_forward(g_sprite_ids[16], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[16], 1, 6);
+ kernel_seq_depth(g_sequence_ids[16], 9);
+ kernel_seq_trigger(g_sequence_ids[16], SEQUENCE_TRIGGER_EXPIRE, 0, 66);
break;
case 66:
{
int seqIdx = g_sequence_ids[16];
- g_sequence_ids[16] = _scene->_sequences.addSpriteCycle(g_sprite_ids[16], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[16], 7, 37);
- _scene->_sequences.setDepth(g_sequence_ids[16], 9);
- _scene->_sequences.updateTimeout(g_sequence_ids[16], seqIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[16], SEQUENCE_TRIGGER_EXPIRE, 0, 68);
-
- _scene->_sequences.remove(g_sequence_ids[13]);
- g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 12, 13);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 67);
+ g_sequence_ids[16] = kernel_seq_forward(g_sprite_ids[16], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[16], 7, 37);
+ kernel_seq_depth(g_sequence_ids[16], 9);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[16]);
+ kernel_seq_trigger(g_sequence_ids[16], SEQUENCE_TRIGGER_EXPIRE, 0, 68);
+
+ kernel_seq_delete(g_sequence_ids[13]);
+ g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[13], 12, 13);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 67);
}
break;
case 67:
{
int seqIdx = g_sequence_ids[13];
- g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 13);
- _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ g_sequence_ids[13] = kernel_seq_stamp(g_sprite_ids[13], false, 13);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
+ kernel_seq_depth(g_sequence_ids[13], 8);
}
break;
case 68:
- _scene->_sequences.remove(g_sequence_ids[13]);
- g_sequence_ids[13] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 12, 13);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 69);
+ kernel_seq_delete(g_sequence_ids[13]);
+ g_sequence_ids[13] = kernel_seq_backward(g_sprite_ids[13], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[13], 12, 13);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 69);
break;
case 69:
{
int seqIdx = g_sequence_ids[13];
- g_sequence_ids[13] = _scene->_sequences.startPingPongCycle(g_sprite_ids[13], false, 25, 4, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 10, 11);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
+ g_sequence_ids[13] = kernel_seq_pingpong(g_sprite_ids[13], false, 25, 0, 0, 4);
+ kernel_seq_range(g_sequence_ids[13], 10, 11);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x203), 179, 33, 0xFBFA, 130, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x204), 167, 47, 0xFBFA, 130, 0, 0);
- _scene->_sequences.addTimer(150, 71);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ kernel_timing_trigger(150, 71);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
}
break;
case 70:
- g_sequence_ids[13] = _scene->_sequences.startPingPongCycle(g_sprite_ids[13], false, 25, 4, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 10, 12);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ g_sequence_ids[13] = kernel_seq_pingpong(g_sprite_ids[13], false, 25, 0, 0, 4);
+ kernel_seq_range(g_sequence_ids[13], 10, 12);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
break;
case 71:
- _scene->_sequences.addTimer(210, 73);
+ kernel_timing_trigger(210, 73);
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x205), 168, 33, 0xFBFA, 180, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x206), 151, 47, 0xFBFA, 180, 0, 0);
@@ -1590,9 +1590,9 @@ static void room_402_daemon() {
case 72:
{
int seqIdx = g_sequence_ids[13];
- g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 2);
- _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ g_sequence_ids[13] = kernel_seq_stamp(g_sprite_ids[13], false, 2);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
+ kernel_seq_depth(g_sequence_ids[13], 8);
}
break;
@@ -1619,51 +1619,51 @@ static void room_402_daemon() {
case 1:
local._cutSceneReady = false;
local._helgaReady = false;
- _scene->_sequences.remove(g_sequence_ids[13]);
- g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 2, 5);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 82);
+ kernel_seq_delete(g_sequence_ids[13]);
+ g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[13], 2, 5);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 82);
break;
case 2:
local._cutSceneReady = false;
local._helgaReady = false;
- _scene->_sequences.remove(g_sequence_ids[13]);
- g_sequence_ids[13] = _scene->_sequences.startPingPongCycle(g_sprite_ids[13], false, 15, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 11, 13);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
+ kernel_seq_delete(g_sequence_ids[13]);
+ g_sequence_ids[13] = kernel_seq_pingpong(g_sprite_ids[13], false, 15, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[13], 11, 13);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
break;
case 3:
local._cutSceneReady = false;
local._helgaReady = false;
- _scene->_sequences.remove(g_sequence_ids[13]);
- g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 10, 11);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
+ kernel_seq_delete(g_sequence_ids[13]);
+ g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[13], 10, 11);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
break;
case 4:
local._cutSceneReady = false;
local._helgaReady = false;
- _scene->_sequences.remove(g_sequence_ids[13]);
- g_sequence_ids[13] = _scene->_sequences.startPingPongCycle(g_sprite_ids[13], false, 15, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 14, 15);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
+ kernel_seq_delete(g_sequence_ids[13]);
+ g_sequence_ids[13] = kernel_seq_pingpong(g_sprite_ids[13], false, 15, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[13], 14, 15);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
break;
case 5:
local._cutSceneReady = false;
local._helgaReady = false;
- _scene->_sequences.remove(g_sequence_ids[13]);
- g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 16, 19);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ kernel_seq_delete(g_sequence_ids[13]);
+ g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[13], 16, 19);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
break;
default:
@@ -1673,25 +1673,25 @@ static void room_402_daemon() {
if (kernel.trigger == 80) {
int seqIdx = g_sequence_ids[13];
- g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 19);
- _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.addTimer(g_engine->getRandomNumber(60, 120), 81);
+ g_sequence_ids[13] = kernel_seq_stamp(g_sprite_ids[13], false, 19);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_timing_trigger(g_engine->getRandomNumber(60, 120), 81);
}
if (kernel.trigger == 81) {
- _scene->_sequences.remove(g_sequence_ids[13]);
- g_sequence_ids[13] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 16, 19);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
+ kernel_seq_delete(g_sequence_ids[13]);
+ g_sequence_ids[13] = kernel_seq_backward(g_sprite_ids[13], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[13], 16, 19);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
}
if (kernel.trigger == 26) {
int seqIdx = g_sequence_ids[13];
- g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 2);
- _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ g_sequence_ids[13] = kernel_seq_stamp(g_sprite_ids[13], false, 2);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
+ kernel_seq_depth(g_sequence_ids[13], 8);
local._cutSceneReady = true;
if (!local._cutSceneNeeded)
@@ -1699,54 +1699,54 @@ static void room_402_daemon() {
}
if (kernel.trigger == 82) {
- _scene->_sequences.remove(g_sequence_ids[20]);
+ kernel_seq_delete(g_sequence_ids[20]);
int seqIdx = g_sequence_ids[13];
- g_sequence_ids[13] = _scene->_sequences.addSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 6, 9);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 83);
+ g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[13], 6, 9);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 83);
}
if (kernel.trigger == 83) {
int seqIdx = g_sequence_ids[13];
- g_sequence_ids[13] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 5, 9);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 84);
+ g_sequence_ids[13] = kernel_seq_backward(g_sprite_ids[13], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[13], 5, 9);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 84);
}
if (kernel.trigger == 84) {
int seqIdx = g_sequence_ids[13];
- g_sequence_ids[13] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[13], false, 10, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[13], 1, 4);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
- _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
- _scene->_sequences.addSubEntry(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 85);
+ g_sequence_ids[13] = kernel_seq_backward(g_sprite_ids[13], false, 10, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[13], 1, 4);
+ kernel_seq_depth(g_sequence_ids[13], 8);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
+ kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 85);
- g_sequence_ids[20] = _scene->_sequences.startCycle(g_sprite_ids[20], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[20], 8);
- _scene->_sequences.setPosition(g_sequence_ids[20], Common::Point(234, 72));
+ g_sequence_ids[20] = kernel_seq_stamp(g_sprite_ids[20], false, 1);
+ kernel_seq_depth(g_sequence_ids[20], 8);
+ kernel_seq_loc(g_sequence_ids[20], 234, 72);
}
if (kernel.trigger == 85) {
int seqIdx = g_sequence_ids[13];
- g_sequence_ids[13] = _scene->_sequences.startCycle(g_sprite_ids[13], false, 2);
- _scene->_sequences.updateTimeout(g_sequence_ids[13], seqIdx);
- _scene->_sequences.setDepth(g_sequence_ids[13], 8);
+ g_sequence_ids[13] = kernel_seq_stamp(g_sprite_ids[13], false, 2);
+ kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
+ kernel_seq_depth(g_sequence_ids[13], 8);
local._cutSceneReady = true;
if (!local._cutSceneNeeded)
local._helgaReady = true;
}
if (kernel.trigger == 102) {
- _scene->_sequences.remove(g_sequence_ids[6]);
+ kernel_seq_delete(g_sequence_ids[6]);
player.clock = kernel.clock - player.frame_delay;
- g_sequence_ids[7] = _scene->_sequences.addSpriteCycle(g_sprite_ids[7], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[7], 14, 18);
- _scene->_sequences.setDepth(g_sequence_ids[7], 5);
- _scene->_sequences.addSubEntry(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 103);
+ g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[7], 14, 18);
+ kernel_seq_depth(g_sequence_ids[7], 5);
+ kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 103);
} else if (kernel.trigger == 103) {
player.clock = kernel.clock + player.frame_delay;
local._roxOnStool = false;
@@ -1759,46 +1759,46 @@ static void room_402_daemon() {
if (local._activeArrows) {
if (!local._activeArrow1) {
- g_sequence_ids[17] = _scene->_sequences.startCycle(g_sprite_ids[17], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[17], 1);
- _scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 49);
+ g_sequence_ids[17] = kernel_seq_stamp(g_sprite_ids[17], false, 1);
+ kernel_seq_depth(g_sequence_ids[17], 1);
+ kernel_timing_trigger(g_engine->getRandomNumber(10, 15), 49);
local._activeArrow1 = true;
}
if (!local._activeArrow2) {
- g_sequence_ids[18] = _scene->_sequences.startCycle(g_sprite_ids[18], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[18], 1);
- _scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 50);
+ g_sequence_ids[18] = kernel_seq_stamp(g_sprite_ids[18], false, 1);
+ kernel_seq_depth(g_sequence_ids[18], 1);
+ kernel_timing_trigger(g_engine->getRandomNumber(10, 15), 50);
local._activeArrow2 = true;
}
if (!local._activeArrow3) {
- g_sequence_ids[19] = _scene->_sequences.startCycle(g_sprite_ids[19], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[19], 1);
- _scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 51);
+ g_sequence_ids[19] = kernel_seq_stamp(g_sprite_ids[19], false, 1);
+ kernel_seq_depth(g_sequence_ids[19], 1);
+ kernel_timing_trigger(g_engine->getRandomNumber(10, 15), 51);
local._activeArrow3 = true;
}
}
if (kernel.trigger == 49) {
- _scene->_sequences.remove(g_sequence_ids[17]);
- _scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 45);
+ kernel_seq_delete(g_sequence_ids[17]);
+ kernel_timing_trigger(g_engine->getRandomNumber(10, 15), 45);
}
if (kernel.trigger == 45)
local._activeArrow1 = false;
if (kernel.trigger == 50) {
- _scene->_sequences.remove(g_sequence_ids[18]);
- _scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 46);
+ kernel_seq_delete(g_sequence_ids[18]);
+ kernel_timing_trigger(g_engine->getRandomNumber(10, 15), 46);
}
if (kernel.trigger == 46)
local._activeArrow2 = false;
if (kernel.trigger == 51) {
- _scene->_sequences.remove(g_sequence_ids[19]);
- _scene->_sequences.addTimer(g_engine->getRandomNumber(10, 15), 47);
+ kernel_seq_delete(g_sequence_ids[19]);
+ kernel_timing_trigger(g_engine->getRandomNumber(10, 15), 47);
}
if (kernel.trigger == 47)
@@ -1836,7 +1836,7 @@ static void room_402_pre_parser() {
player.ready_to_walk = false;
player.commands_allowed = false;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 102);
+ kernel_timing_trigger(1, 102);
}
}
@@ -1853,25 +1853,25 @@ static void room_402_pre_parser() {
static void room_402_parser() {
if (player_said_2(take, repair_list) && object_is_here(OBJ_REPAIR_LIST) && local._roxOnStool) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 77);
+ kernel_timing_trigger(1, 77);
player.need_to_walk = false;
} else if (player_said_2(take, repair_list) && object_is_here(OBJ_REPAIR_LIST) && !local._roxOnStool) {
if (kernel.trigger == 0) {
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[21] = _scene->_sequences.startPingPongCycle(g_sprite_ids[21], false, 7, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[21], 1, 2);
- _scene->_sequences.setMsgLayout(g_sequence_ids[21]);
- _scene->_sequences.addSubEntry(g_sequence_ids[21], SEQUENCE_TRIGGER_SPRITE, 2, 165);
- _scene->_sequences.addSubEntry(g_sequence_ids[21], SEQUENCE_TRIGGER_EXPIRE, 0, 166);
+ g_sequence_ids[21] = kernel_seq_pingpong(g_sprite_ids[21], false, 7, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[21], 1, 2);
+ kernel_seq_player(g_sequence_ids[21], false);
+ kernel_seq_trigger(g_sequence_ids[21], SEQUENCE_TRIGGER_SPRITE, 2, 165);
+ kernel_seq_trigger(g_sequence_ids[21], SEQUENCE_TRIGGER_EXPIRE, 0, 166);
} else if (kernel.trigger == 165) {
- _scene->_sequences.remove(g_sequence_ids[14]);
+ kernel_seq_delete(g_sequence_ids[14]);
inter_give_to_player(OBJ_REPAIR_LIST);
}
} else if (kernel.trigger == 166) {
player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
- _scene->_sequences.addTimer(20, 167);
+ kernel_timing_trigger(20, 167);
} else if (kernel.trigger == 167) {
object_examine(OBJ_REPAIR_LIST, 40240, 0);
player.commands_allowed = true;
@@ -1903,17 +1903,17 @@ static void room_402_parser() {
switch (random) {
case 1:
kernel_message_add(quote_string(kernel.quotes, 0x211), centerPos.x, centerPos.y, 0x1110, 90, 0, 32 | centerFlag);
- _scene->_sequences.addTimer(110, 25);
+ kernel_timing_trigger(110, 25);
break;
case 2:
kernel_message_add(quote_string(kernel.quotes, 0x212), centerPos.x, centerPos.y, 0x1110, 90, 0, 32 | centerFlag);
- _scene->_sequences.addTimer(110, 25);
+ kernel_timing_trigger(110, 25);
break;
case 3:
kernel_message_add(quote_string(kernel.quotes, 0x213), centerPos.x, centerPos.y, 0x1110, 90, 0, 32 | centerFlag);
- _scene->_sequences.addTimer(110, 25);
+ kernel_timing_trigger(110, 25);
break;
default:
@@ -1930,7 +1930,7 @@ static void room_402_parser() {
kernel_message_add(quote_string(kernel.quotes, 0x209), 177, 33, 0xFBFA, 130, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x20A), 182, 47, 0xFBFA, 130, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(130, 28);
+ kernel_timing_trigger(130, 28);
break;
case 1:
@@ -1938,7 +1938,7 @@ static void room_402_parser() {
local._helgaTalkMode = 2;
kernel_message_add(quote_string(kernel.quotes, 0x20B), 157, 47, 0xFBFA, 100, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(100, 28);
+ kernel_timing_trigger(100, 28);
break;
case 2:
@@ -1946,7 +1946,7 @@ static void room_402_parser() {
local._helgaTalkMode = 3;
kernel_message_add(quote_string(kernel.quotes, 0x20C), 172, 47, 0xFBFA, 100, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(100, 28);
+ kernel_timing_trigger(100, 28);
break;
case 3:
@@ -1964,18 +1964,18 @@ static void room_402_parser() {
} else if (player_said_2(talkto, woman_in_chair) && !local._firstTalkToGirlInChair) {
kernel_message_add(quote_string(kernel.quotes, 0x1D7), 0, 0, 0x1110, 120, 0, 34);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(150, 39);
+ kernel_timing_trigger(150, 39);
player.commands_allowed = false;
local._firstTalkToGirlInChair = true;
} else if (player_said_2(talkto, woman_in_chair) && local._firstTalkToGirlInChair) {
kernel_message_add(quote_string(kernel.quotes, 0x1DB), 0, 0, 0x1110, 120, 0, 34);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(150, 42);
+ kernel_timing_trigger(150, 42);
player.commands_allowed = false;
} else if (player_said_2(talkto, woman_in_alcove) || player_said_2(walkto, woman_in_alcove)) {
kernel_message_add(quote_string(kernel.quotes, 0x1DE), 102, 48, 0xFBFA, 120, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(120, 44);
+ kernel_timing_trigger(120, 44);
player.commands_allowed = false;
} else if (player_said_2(sit_on, bar_stool) && (player.target_x == 248)) {
kernel_message_add(quote_string(kernel.quotes, 0x20D), 0, -14, 0x1110, 120, 0, 34);
@@ -1983,26 +1983,26 @@ static void room_402_parser() {
} else if (player_said_2(sit_on, bar_stool) && !local._roxOnStool && (player.target_x != 248)) {
player.walker_visible = false;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- g_sequence_ids[6] = _scene->_sequences.addSpriteCycle(g_sprite_ids[6], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[6], 1, 11);
- _scene->_sequences.setDepth(g_sequence_ids[6], 5);
- _scene->_sequences.addSubEntry(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
+ g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 7, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[6], 1, 11);
+ kernel_seq_depth(g_sequence_ids[6], 5);
+ kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
player.commands_allowed = false;
} else if (player_said_2(take, credit_chip) && !player_has(OBJ_CREDIT_CHIP) && local._roxOnStool) {
local._roxMode = 20;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 92);
+ kernel_timing_trigger(1, 92);
} else if (player_said_2(take, credit_chip) && !player_has(OBJ_CREDIT_CHIP) && !local._roxOnStool) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[22] = _scene->_sequences.startPingPongCycle(g_sprite_ids[22], false, 7, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[22], 1, 2);
- _scene->_sequences.setPosition(g_sequence_ids[22], Common::Point(player.x, player.y + 1));
- _scene->_sequences.setDepth(g_sequence_ids[22], 5);
- _scene->_sequences.setScale(g_sequence_ids[22], 88);
+ g_sequence_ids[22] = kernel_seq_pingpong(g_sprite_ids[22], false, 7, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[22], 1, 2);
+ kernel_seq_loc(g_sequence_ids[22], player.x, player.y + 1);
+ kernel_seq_depth(g_sequence_ids[22], 5);
+ kernel_seq_scale(g_sequence_ids[22], 88);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addSubEntry(g_sequence_ids[22], SEQUENCE_TRIGGER_EXPIRE, 0, 104);
+ kernel_seq_trigger(g_sequence_ids[22], SEQUENCE_TRIGGER_EXPIRE, 0, 104);
} else if (player_said_2(talkto, bartender)) {
switch (kernel.trigger) {
case 0:
@@ -2027,9 +2027,9 @@ static void room_402_parser() {
}
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, quoteId), centerPos.x, centerPos.y, 0x1110, 90, 0, 32 | centerFlag);
- _scene->_sequences.addTimer(110, 29);
+ kernel_timing_trigger(110, 29);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(90, 28);
+ kernel_timing_trigger(90, 28);
}
break;
@@ -2039,21 +2039,21 @@ static void room_402_parser() {
if (object_is_here(OBJ_ALIEN_LIQUOR)) {
kernel_message_add(quote_string(kernel.quotes, 0x1DF), 177, 41, 0xFDFC, 120, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 120;
} else if (local._rexMode == 0) {
kernel_message_add(quote_string(kernel.quotes, 0x1F9), 175, 13, 0xFDFC, 180, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x1FA), 184, 27, 0xFDFC, 180, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x1FB), 200, 41, 0xFDFC, 180, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 180;
local._rexMode = 1;
} else if (local._rexMode == 1) {
kernel_message_add(quote_string(kernel.quotes, 0x1FC), 205, 41, 0xFDFC, 120, 0, 0);
player.commands_allowed = true;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 120;
local._rexMode = 3;
} else {
@@ -2067,7 +2067,7 @@ static void room_402_parser() {
kernel_message_add(quote_string(kernel.quotes, 0x1E3), 199, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
local._bartenderCurrentQuestion = 10;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 120;
local._conversationFl = true;
local._bartenderDialogNode = 1;
@@ -2078,7 +2078,7 @@ static void room_402_parser() {
} else {
kernel_message_add(quote_string(kernel.quotes, 0x1EF), 177, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 120;
local._bartenderCurrentQuestion = 3;
local._conversationFl = true;
@@ -2095,14 +2095,14 @@ static void room_402_parser() {
kernel_message_add(quote_string(kernel.quotes, 0x1FA), 184, 27, 0xFDFC, 180, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x1FB), 200, 41, 0xFDFC, 180, 0, 0);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 180;
local._rexMode = 1;
} else if (local._rexMode == 1) {
kernel_message_add(quote_string(kernel.quotes, 0x1FC), 205, 41, 0xFDFC, 120, 0, 0);
player.commands_allowed = true;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(1, 100);
+ kernel_timing_trigger(1, 100);
local._talkTimer = 120;
local._rexMode = 3;
} else {
diff --git a/engines/mads/nebular/rooms/room405.cpp b/engines/mads/nebular/rooms/room405.cpp
index 39a2b06321d..896a31bb0f1 100644
--- a/engines/mads/nebular/rooms/room405.cpp
+++ b/engines/mads/nebular/rooms/room405.cpp
@@ -59,9 +59,9 @@ static void room_405_init() {
}
if (global[kArmoryDoorOpen])
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 1);
else
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
if (kernel.teleported_in) {
global[kArmoryDoorOpen] = false;
@@ -74,7 +74,7 @@ static void room_405_init() {
static void room_405_daemon() {
if (kernel.trigger == 80) {
- _scene->_sequences.addTimer(20, 81);
+ kernel_timing_trigger(20, 81);
player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
}
@@ -87,26 +87,26 @@ static void room_405_daemon() {
if (kernel.trigger == 70) {
player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
- g_sequence_ids[1] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[1], false, 6, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 6, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
g_engine->_soundManager->command(19, 0);
}
if (kernel.trigger == 71) {
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
global[kArmoryDoorOpen] = false;
- _scene->_sequences.remove(g_sequence_ids[2]);
+ kernel_seq_delete(g_sequence_ids[2]);
player.commands_allowed = true;
}
if (kernel.trigger == 75) {
player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 1, 0, 0);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 0, 1);
global[kArmoryDoorOpen] = true;
player.commands_allowed = true;
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2],
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2],
false, 1);
g_engine->_soundManager->command(19, 0);
}
@@ -137,30 +137,30 @@ static void room_405_parser() {
player.commands_allowed = false;
player.walker_visible = false;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 7, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 2);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 7, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[3], 1, 2);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
Common::Point msgPos = Common::Point(player.x, player.y + 1);
- _scene->_sequences.setPosition(g_sequence_ids[3], msgPos);
- _scene->_sequences.setScale(g_sequence_ids[3], 87);
+ kernel_seq_loc(g_sequence_ids[3], msgPos.x, msgPos.y);
+ kernel_seq_scale(g_sequence_ids[3], 87);
} else if ((player_said_3(put, security_card, card_slot) || player_said_2(close, wide_door)) && global[kArmoryDoorOpen]) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 7, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 2);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
- _scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(player.x, player.y));
- _scene->_sequences.setScale(g_sequence_ids[3], 87);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 7, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[3], 1, 2);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ kernel_seq_loc(g_sequence_ids[3], player.x, player.y);
+ kernel_seq_scale(g_sequence_ids[3], 87);
} else if (player_said_2(put, card_slot)) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], false, 7, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 2);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
- _scene->_sequences.setPosition(g_sequence_ids[3], Common::Point(player.x, player.y));
- _scene->_sequences.setScale(g_sequence_ids[3], 87);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 7, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[3], 1, 2);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ kernel_seq_loc(g_sequence_ids[3], player.x, player.y);
+ kernel_seq_scale(g_sequence_ids[3], 87);
} else if (player_said_2(look, cannon_balls))
text_show(40510);
else if (player_said_2(take, cannon_balls))
diff --git a/engines/mads/nebular/rooms/room406.cpp b/engines/mads/nebular/rooms/room406.cpp
index d3fd3d1ffc8..fba15de6ae0 100644
--- a/engines/mads/nebular/rooms/room406.cpp
+++ b/engines/mads/nebular/rooms/room406.cpp
@@ -72,15 +72,15 @@ static void room_406_init() {
}
if (!global[kStorageDoorOpen])
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
if (previous_room != 411)
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
else {
player.commands_allowed = false;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 3, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 90);
+ g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 3, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 90);
g_engine->_soundManager->command(19, 0);
}
@@ -92,7 +92,7 @@ static void room_406_init() {
static void room_406_daemon() {
if (kernel.trigger == 90) {
player.commands_allowed = true;
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
}
if (kernel.trigger == 80)
@@ -104,7 +104,7 @@ static void room_406_daemon() {
}
if (kernel.trigger == 110) {
- _scene->_sequences.addTimer(20, 111);
+ kernel_timing_trigger(20, 111);
player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
}
@@ -117,20 +117,20 @@ static void room_406_daemon() {
if (kernel.trigger == 70) {
player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
- g_sequence_ids[1] = _scene->_sequences.startPingPongCycle(g_sprite_ids[1], false, 4, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ g_sequence_ids[1] = kernel_seq_pingpong(g_sprite_ids[1], false, 4, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
g_engine->_soundManager->command(19, 0);
}
if (kernel.trigger == 71) {
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
global[kStorageDoorOpen] = false;
player.commands_allowed = true;
}
if (kernel.trigger == 75) {
- _scene->_sequences.remove(g_sequence_ids[1]);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 4, 1, 0, 0);
+ kernel_seq_delete(g_sequence_ids[1]);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 4, 0, 0, 1);
global[kStorageDoorOpen] = true;
player.commands_allowed = true;
player.clock = kernel.clock + player.frame_delay;
@@ -157,9 +157,9 @@ static void room_406_parser() {
if (player_said_2(walk_through, door) && (player.target_x > 100)) {
player.commands_allowed = false;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 3, 1, 0, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 3, 0, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
g_engine->_soundManager->command(19, 0);
} else if (player_said_2(walk_through, door) && global[kStorageDoorOpen] && (player.target_x < 100))
new_room = 410;
@@ -167,37 +167,37 @@ static void room_406_parser() {
kernel_message_add(quote_string(kernel.quotes, 0x24F), 0, 0, 0x1110, 60, 0, 34);
if (!local._hitStorageDoor) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- _scene->_sequences.addTimer(80, 100);
+ kernel_timing_trigger(80, 100);
}
} else if (player_said_3(put, security_card, card_slot) && !global[kStorageDoorOpen]) {
player.commands_allowed = false;
player.walker_visible = false;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 7, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 2);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 7, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[2], 1, 2);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
Common::Point msgPos = Common::Point(player.x, player.y + 1);
- _scene->_sequences.setPosition(g_sequence_ids[2], msgPos);
- _scene->_sequences.setScale(g_sequence_ids[2], 87);
+ kernel_seq_loc(g_sequence_ids[2], msgPos.x, msgPos.y);
+ kernel_seq_scale(g_sequence_ids[2], 87);
} else if (player_said_3(put, security_card, card_slot) && global[kStorageDoorOpen]) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 7, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 2);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 7, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[2], 1, 2);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
Common::Point msgPos = Common::Point(player.x, player.y + 1);
- _scene->_sequences.setPosition(g_sequence_ids[2], msgPos);
- _scene->_sequences.setScale(g_sequence_ids[2], 87);
+ kernel_seq_loc(g_sequence_ids[2], msgPos.x, msgPos.y);
+ kernel_seq_scale(g_sequence_ids[2], 87);
} else if (player_said_2(put, card_slot)) {
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 7, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 2);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 110);
- _scene->_sequences.setPosition(g_sequence_ids[2], Common::Point(player.x, player.y));
- _scene->_sequences.setScale(g_sequence_ids[2], 87);
+ g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 7, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[2], 1, 2);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 110);
+ kernel_seq_loc(g_sequence_ids[2], player.x, player.y);
+ kernel_seq_scale(g_sequence_ids[2], 87);
} else if (player_said_2(look, trash))
text_show(40610);
else if (player_said_2(take, trash))
diff --git a/engines/mads/nebular/rooms/room408.cpp b/engines/mads/nebular/rooms/room408.cpp
index a5afb40fd87..e10fad70ebf 100644
--- a/engines/mads/nebular/rooms/room408.cpp
+++ b/engines/mads/nebular/rooms/room408.cpp
@@ -40,8 +40,8 @@ static void room_408_init() {
g_sprite_ids[2] = kernel_load_series(kernel_name('m', -1), 0);
if (object_is_here(OBJ_TARGET_MODULE)) {
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[2], 3);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 1);
+ kernel_seq_depth(g_sequence_ids[2], 3);
int idx = _scene->_dynamicHotspots.add(words_target_module, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(283, 128), FACING_NORTHEAST);
}
@@ -66,15 +66,15 @@ static void room_408_parser() {
g_engine->_soundManager->command(57, 0);
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[1] = _scene->_sequences.startPingPongCycle(g_sprite_ids[1], true, 7, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[1], 1, 2);
- _scene->_sequences.setMsgLayout(g_sequence_ids[1]);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[1] = kernel_seq_pingpong(g_sprite_ids[1], true, 7, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[1], 1, 2);
+ kernel_seq_player(g_sequence_ids[1], false);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
- _scene->_sequences.remove(g_sequence_ids[2]);
+ kernel_seq_delete(g_sequence_ids[2]);
inter_give_to_player(OBJ_TARGET_MODULE);
object_examine(OBJ_TARGET_MODULE, 40847, 0);
break;
@@ -82,7 +82,7 @@ static void room_408_parser() {
case 2:
player.clock = player.frame_delay + kernel.clock;
player.walker_visible = true;
- _scene->_sequences.addTimer(20, 3);
+ kernel_timing_trigger(20, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room410.cpp b/engines/mads/nebular/rooms/room410.cpp
index a90071be770..47629cff3c1 100644
--- a/engines/mads/nebular/rooms/room410.cpp
+++ b/engines/mads/nebular/rooms/room410.cpp
@@ -36,7 +36,7 @@ static void room_410_init() {
g_sprite_ids[2] = kernel_load_series("*ROXRC_7", 0);
if (object_is_here(OBJ_CHARGE_CASES))
- g_sequence_ids[1] = _scene->_sequences.startCycle(g_sprite_ids[1], false, 1);
+ g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
else
_scene->_hotspots.activate(words_charge_cases, false);
@@ -105,15 +105,15 @@ static void room_410_parser() {
g_engine->_soundManager->command(57, 0);
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 7, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 3);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 3, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 7, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[2], 1, 3);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 3, 1);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
- _scene->_sequences.remove(g_sequence_ids[1]);
+ kernel_seq_delete(g_sequence_ids[1]);
_scene->_hotspots.activate(words_charge_cases, false);
inter_give_to_player(OBJ_CHARGE_CASES);
object_examine(OBJ_CHARGE_CASES, 41032, 0);
@@ -122,7 +122,7 @@ static void room_410_parser() {
case 2:
player.clock = player.frame_delay + kernel.clock;
player.walker_visible = true;
- _scene->_sequences.addTimer(20, 3);
+ kernel_timing_trigger(20, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room411.cpp b/engines/mads/nebular/rooms/room411.cpp
index 00884eeca4a..67fab670477 100644
--- a/engines/mads/nebular/rooms/room411.cpp
+++ b/engines/mads/nebular/rooms/room411.cpp
@@ -209,14 +209,12 @@ static int computeQuoteAndQuantity() {
static void handleKettleAction() {
switch (global[kNextIngredient]) {
case 1:
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4],
- false, 15, 0, 0, 0);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 15, 0, 0, 0);
break;
case 2:
- _scene->_sequences.remove(g_sequence_ids[4]);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4],
- false, 6, 0, 0, 0);
+ kernel_seq_delete(g_sequence_ids[4]);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 0);
break;
case 3:
@@ -316,8 +314,8 @@ static void room_411_init() {
g_sprite_ids[11] = kernel_load_series(kernel_name('a', 1), 0);
g_sprite_ids[8] = kernel_load_series("*ROXRC_9", 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 5, 0, 0, 0);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 50, 0, 0, 0);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 5, 0, 0, 0);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 50, 0, 0, 0);
kernel.quotes = quote_load(0x252, 0x25E, 0x25A, 0x256, 0x253, 0x25F, 0x25B, 0x257, 0x254, 0x260, 0x25C, 0x258, 0x255,
0x261, 0x25D, 0x259, 0x262, 0x267, 0x263, 0x26B, 0x26F, 0x268, 0x264, 0x26C, 0x270, 0x26A, 0x266, 0x26E,
@@ -337,7 +335,7 @@ static void room_411_init() {
}
if (global[kNextIngredient] >= 4 && object_check_quality(OBJ_CHARGE_CASES, 3)) {
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], true, 6);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], true, 6);
} else if (!object_check_quality(OBJ_CHARGE_CASES, 3)) {
switch (global[kNextIngredient]) {
case 1:
@@ -347,14 +345,14 @@ static void room_411_init() {
case 2:
g_engine->_soundManager->command(53, 0);
g_engine->_soundManager->command(54, 0);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 15, 0, 0, 0);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 15, 0, 0, 0);
break;
case 3:
g_engine->_soundManager->command(53, 0);
g_engine->_soundManager->command(54, 0);
g_engine->_soundManager->command(55, 0);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 0, 0, 0);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 0);
break;
case 4:
@@ -362,7 +360,7 @@ static void room_411_init() {
g_engine->_soundManager->command(54, 0);
g_engine->_soundManager->command(55, 0);
g_engine->_soundManager->command(56, 0);
- g_sequence_ids[4] = _scene->_sequences.addSpriteCycle(g_sprite_ids[4], false, 6, 0, 0, 0);
+ g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 0);
break;
default:
@@ -372,27 +370,27 @@ static void room_411_init() {
}
if (global[kNextIngredient] >= 4 && object_check_quality(OBJ_CHARGE_CASES, 3)) {
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], true, 6);
- _scene->_sequences.setDepth(g_sequence_ids[4], 1);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], true, 6);
+ kernel_seq_depth(g_sequence_ids[4], 1);
}
if (object_is_here(OBJ_FORMALDEHYDE)) {
- g_sequence_ids[7] = _scene->_sequences.startCycle(g_sprite_ids[7], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[7], 1);
+ g_sequence_ids[7] = kernel_seq_stamp(g_sprite_ids[7], false, 1);
+ kernel_seq_depth(g_sequence_ids[7], 1);
int idx = _scene->_dynamicHotspots.add(words_formaldehyde, words_walkto, g_sequence_ids[7], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(206, 145), FACING_SOUTHEAST);
}
if (object_is_here(OBJ_PETROX)) {
- g_sequence_ids[5] = _scene->_sequences.startCycle(g_sprite_ids[5], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[5], 8);
+ g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 1);
+ kernel_seq_depth(g_sequence_ids[5], 8);
int idx = _scene->_dynamicHotspots.add(words_petrox, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(186, 112), FACING_NORTHEAST);
}
if (object_is_here(OBJ_LECITHIN)) {
- g_sequence_ids[6] = _scene->_sequences.startCycle(g_sprite_ids[6], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[6], 8);
+ g_sequence_ids[6] = kernel_seq_stamp(g_sprite_ids[6], false, 1);
+ kernel_seq_depth(g_sequence_ids[6], 8);
int idx = _scene->_dynamicHotspots.add(words_lecithin, words_walkto, g_sequence_ids[6], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(idx, Common::Point(220, 121), FACING_NORTHEAST);
}
@@ -470,7 +468,7 @@ static void room_411_daemon() {
case 59:
case 115:
if (local._makeMushroomCloud) {
- g_sequence_ids[9] = _scene->_sequences.addSpriteCycle(g_sprite_ids[9], false, 5, 1, 0, 0);
+ g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 5, 0, 0, 1);
local._makeMushroomCloud = false;
_scene->_hotspots.activate(words_kettle, false);
_scene->_hotspots.activate(words_explosives, true);
@@ -543,35 +541,35 @@ static void room_411_parser() {
g_engine->_soundManager->command(57, 0);
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[10] = _scene->_sequences.addSpriteCycle(g_sprite_ids[10], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[10], 1, 6);
- _scene->_sequences.setDepth(g_sequence_ids[10], 3);
- _scene->_sequences.addSubEntry(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 110);
+ g_sequence_ids[10] = kernel_seq_forward(g_sprite_ids[10], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[10], 1, 6);
+ kernel_seq_depth(g_sequence_ids[10], 3);
+ kernel_seq_trigger(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 110);
break;
case 110:
{
int idx = g_sequence_ids[10];
- g_sequence_ids[10] = _scene->_sequences.startCycle(g_sprite_ids[10], false, 6);
- _scene->_sequences.setDepth(g_sequence_ids[10], 3);
- _scene->_sequences.updateTimeout(g_sequence_ids[10], idx);
- _scene->_sequences.addTimer(180, 111);
+ g_sequence_ids[10] = kernel_seq_stamp(g_sprite_ids[10], false, 6);
+ kernel_seq_depth(g_sequence_ids[10], 3);
+ kernel_seq_timeout(idx, g_sequence_ids[10]);
+ kernel_timing_trigger(180, 111);
}
break;
case 111:
_scene->_hotspots.activate(words_kettle, true);
_scene->_hotspots.activate(words_explosives, false);
- _scene->_sequences.remove(g_sequence_ids[4]);
- _scene->_sequences.remove(g_sequence_ids[10]);
+ kernel_seq_delete(g_sequence_ids[4]);
+ kernel_seq_delete(g_sequence_ids[10]);
- g_sequence_ids[4] = _scene->_sequences.startCycle(g_sprite_ids[4], true, 6);
- _scene->_sequences.setDepth(g_sequence_ids[4], 1);
+ g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], true, 6);
+ kernel_seq_depth(g_sequence_ids[4], 1);
- g_sequence_ids[10] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[10], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[10], 1, 6);
- _scene->_sequences.setDepth(g_sequence_ids[10], 3);
- _scene->_sequences.addSubEntry(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 112);
+ g_sequence_ids[10] = kernel_seq_backward(g_sprite_ids[10], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[10], 1, 6);
+ kernel_seq_depth(g_sequence_ids[10], 3);
+ kernel_seq_trigger(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 112);
// fall through
case 112:
player.clock = kernel.clock - player.frame_delay;
@@ -598,15 +596,15 @@ static void room_411_parser() {
g_engine->_soundManager->command(57, 0);
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[8] = _scene->_sequences.startPingPongCycle(g_sprite_ids[8], false, 7, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[8], 1, 2);
- _scene->_sequences.setMsgLayout(g_sequence_ids[8]);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[8] = kernel_seq_pingpong(g_sprite_ids[8], false, 7, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[8], 1, 2);
+ kernel_seq_player(g_sequence_ids[8], false);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_SPRITE, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
- _scene->_sequences.remove(g_sequence_ids[5]);
+ kernel_seq_delete(g_sequence_ids[5]);
inter_give_to_player(OBJ_PETROX);
object_examine(OBJ_PETROX, 41120, 0);
break;
@@ -615,7 +613,7 @@ static void room_411_parser() {
player.clock = kernel.clock + player.frame_delay;
player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
- _scene->_sequences.addTimer(20, 3);
+ kernel_timing_trigger(20, 3);
break;
case 3:
@@ -635,15 +633,15 @@ static void room_411_parser() {
g_engine->_soundManager->command(57, 0);
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[8] = _scene->_sequences.startPingPongCycle(g_sprite_ids[8], false, 7, 2, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[8], 1, 2);
- _scene->_sequences.setMsgLayout(g_sequence_ids[8]);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[8] = kernel_seq_pingpong(g_sprite_ids[8], false, 7, 0, 0, 2);
+ kernel_seq_range(g_sequence_ids[8], 1, 2);
+ kernel_seq_player(g_sequence_ids[8], false);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_SPRITE, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
- _scene->_sequences.remove(g_sequence_ids[6]);
+ kernel_seq_delete(g_sequence_ids[6]);
inter_give_to_player(OBJ_LECITHIN);
object_examine(OBJ_LECITHIN, 41124, 0);
break;
@@ -651,7 +649,7 @@ static void room_411_parser() {
case 2:
player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
- _scene->_sequences.addTimer(20, 3);
+ kernel_timing_trigger(20, 3);
break;
case 3:
@@ -669,21 +667,21 @@ static void room_411_parser() {
g_engine->_soundManager->command(57, 0);
player.commands_allowed = false;
player.walker_visible = false;
- g_sequence_ids[11] = _scene->_sequences.startCycle(g_sprite_ids[11], false, 2);
- _scene->_sequences.setDepth(g_sequence_ids[11], 1);
- _scene->_sequences.addTimer(20, 100);
- _scene->_sequences.remove(g_sequence_ids[7]);
+ g_sequence_ids[11] = kernel_seq_stamp(g_sprite_ids[11], false, 2);
+ kernel_seq_depth(g_sequence_ids[11], 1);
+ kernel_timing_trigger(20, 100);
+ kernel_seq_delete(g_sequence_ids[7]);
inter_give_to_player(OBJ_FORMALDEHYDE);
player.command_ready = false;
return;
}
if (kernel.trigger == 100) {
- _scene->_sequences.remove(g_sequence_ids[11]);
+ kernel_seq_delete(g_sequence_ids[11]);
player.clock = kernel.clock - player.frame_delay;
player.walker_visible = true;
player.commands_allowed = true;
- _scene->_sequences.addTimer(20, 10);
+ kernel_timing_trigger(20, 10);
}
if (kernel.trigger == 10)
diff --git a/engines/mads/nebular/rooms/room413.cpp b/engines/mads/nebular/rooms/room413.cpp
index a1aa5f61ad8..450c4729ccc 100644
--- a/engines/mads/nebular/rooms/room413.cpp
+++ b/engines/mads/nebular/rooms/room413.cpp
@@ -69,19 +69,19 @@ static void room_413_init() {
case 1:
g_engine->_soundManager->command(30, 0);
player.walker_visible = false;
- g_sequence_ids[1] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[1], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[1], 1, 19);
- _scene->_sequences.setDepth(g_sequence_ids[1], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
+ g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 7, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[1], 1, 19);
+ kernel_seq_depth(g_sequence_ids[1], 8);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
break;
case 2:
player.walker_visible = false;
g_engine->_soundManager->command(30, 0);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 7, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[1], 1, 20);
- _scene->_sequences.setDepth(g_sequence_ids[1], 8);
- _scene->_sequences.addSubEntry(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 77);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 7, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[1], 1, 20);
+ kernel_seq_depth(g_sequence_ids[1], 8);
+ kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 77);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room501.cpp b/engines/mads/nebular/rooms/room501.cpp
index 8067638a93a..68bdb59916c 100644
--- a/engines/mads/nebular/rooms/room501.cpp
+++ b/engines/mads/nebular/rooms/room501.cpp
@@ -57,27 +57,27 @@ static void handleSlotActions() {
frameIndex = 2;
}
- local._mainSequenceId = _scene->_sequences.startPingPongCycle(local._mainSpriteId, false, numTicks, 1, 0, 0);
- _scene->_sequences.setAnimRange(local._mainSequenceId, 1, frameIndex);
- _scene->_sequences.setMsgLayout(local._mainSequenceId);
+ local._mainSequenceId = kernel_seq_pingpong(local._mainSpriteId, false, numTicks, 0, 0, 1);
+ kernel_seq_range(local._mainSequenceId, 1, frameIndex);
+ kernel_seq_player(local._mainSequenceId, false);
g_engine->_soundManager->command(10, 0);
- _scene->_sequences.addSubEntry(local._mainSequenceId, SEQUENCE_TRIGGER_SPRITE, frameIndex, 1);
- _scene->_sequences.addSubEntry(local._mainSequenceId, SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(local._mainSequenceId, SEQUENCE_TRIGGER_SPRITE, frameIndex, 1);
+ kernel_seq_trigger(local._mainSequenceId, SEQUENCE_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 12, 6, 0, 0);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 12, 0, 0, 6);
break;
case 2:
- _scene->_sequences.updateTimeout(-1, local._mainSequenceId);
+ kernel_seq_timeout(local._mainSequenceId, -1);
player.walker_visible = true;
- _scene->_sequences.addTimer(15, 3);
+ kernel_timing_trigger(15, 3);
break;
case 3:
player_walk(282, 110, FACING_NORTH);
- _scene->_sequences.addTimer(60, 4);
+ kernel_timing_trigger(60, 4);
break;
default:
@@ -98,13 +98,13 @@ static void room_501_init() {
g_sprite_ids[7] = kernel_load_series("*ROXCD_7", 0);
}
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
int idx = _scene->_dynamicHotspots.add(words_door, words_walk_through, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
local._doorHotspotid = _scene->_dynamicHotspots.setPosition(idx, Common::Point(282, 110), FACING_NORTH);
_scene->_dynamicHotspots.setCursor(local._doorHotspotid, CURSOR_GO_UP);
- _scene->_sequences.setDepth(g_sequence_ids[3], 7);
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -1);
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
+ kernel_seq_depth(g_sequence_ids[3], 7);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, -1);
+ kernel_seq_depth(g_sequence_ids[2], 4);
local._rexPunched = true;
if (previous_room == 504) {
@@ -114,9 +114,9 @@ static void room_501_init() {
player.facing = FACING_NORTHWEST;
player.walker_visible = false;
player.commands_allowed = false;
- _scene->_sequences.remove(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -2);
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
+ kernel_seq_delete(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, -2);
+ kernel_seq_depth(g_sequence_ids[2], 4);
if (global[kSexOfRex] == REX_MALE)
kernel_run_animation(kernel_name('G', 2), 70);
else
@@ -125,7 +125,7 @@ static void room_501_init() {
player.x = 317;
player.y = 102;
player.facing = FACING_SOUTHWEST;
- _scene->_sequences.addTimer(15, 80);
+ kernel_timing_trigger(15, 80);
} else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 299;
player.y = 131;
@@ -141,7 +141,7 @@ static void room_501_init() {
kernel.quotes = quote_load(0x275, 0x276, 0x277, 0);
if (!player.been_here_before)
- _scene->_sequences.addTimer(2, 90);
+ kernel_timing_trigger(2, 90);
}
static void room_501_daemon() {
@@ -152,34 +152,34 @@ static void room_501_daemon() {
switch (kernel.trigger) {
case 80:
player.commands_allowed = false;
- _scene->_sequences.remove(g_sequence_ids[3]);
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 12, 6, 0, 0);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 9, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[3], 7);
+ kernel_seq_delete(g_sequence_ids[3]);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 12, 0, 0, 6);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[3], 7);
g_engine->_soundManager->command(11, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 81);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 81);
break;
case 81:
_scene->_dynamicHotspots.remove(local._doorHotspotid);
player_walk(276, 110, FACING_SOUTHWEST);
- _scene->_sequences.addTimer(120, 82);
+ kernel_timing_trigger(120, 82);
break;
case 82:
- g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 9, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[3], 7);
+ g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 9, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[3], 7);
g_engine->_soundManager->command(12, 0);
local._doorHotspotid = _scene->_dynamicHotspots.add(words_door, words_walk_through, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(g_sequence_ids[3], Common::Point(282, 110), FACING_NORTH);
_scene->_dynamicHotspots.setCursor(local._doorHotspotid, CURSOR_GO_UP);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 83);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 83);
break;
case 83:
player.commands_allowed = true;
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, -1);
- _scene->_sequences.setDepth(g_sequence_ids[3], 7);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -1);
+ kernel_seq_depth(g_sequence_ids[3], 7);
break;
default:
@@ -192,25 +192,25 @@ static void room_501_daemon() {
case 70:
player.walker_visible = true;
player.clock = kernel.clock - player.frame_delay;
- _scene->_sequences.addTimer(15, 71);
+ kernel_timing_trigger(15, 71);
break;
case 71:
player_walk(92, 130, FACING_SOUTH);
- _scene->_sequences.addTimer(30, 72);
+ kernel_timing_trigger(30, 72);
break;
case 72:
- _scene->_sequences.remove(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[2], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ kernel_seq_delete(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 6, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[2], 4);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
break;
case 73:
player.commands_allowed = true;
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -1);
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, -1);
+ kernel_seq_depth(g_sequence_ids[2], 4);
break;
default:
@@ -229,19 +229,19 @@ static void room_501_parser() {
switch (kernel.trigger) {
case 0:
player.commands_allowed = false;
- _scene->_sequences.remove(g_sequence_ids[2]);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_delete(g_sequence_ids[2]);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[2], 4);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
{
int syncIdx = g_sequence_ids[2];
- g_sequence_ids[2] = _scene->_sequences.startCycle(g_sprite_ids[2], false, -2);
- _scene->_sequences.setDepth(g_sequence_ids[2], 4);
- _scene->_sequences.updateTimeout(g_sequence_ids[2], syncIdx);
- _scene->_sequences.addTimer(15, 2);
+ g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, -2);
+ kernel_seq_depth(g_sequence_ids[2], 4);
+ kernel_seq_timeout(syncIdx, g_sequence_ids[2]);
+ kernel_timing_trigger(15, 2);
}
break;
@@ -252,18 +252,18 @@ static void room_501_parser() {
else
local._mainSpriteId = g_sprite_ids[7];
- local._mainSequenceId = _scene->_sequences.addSpriteCycle(local._mainSpriteId, false, 8, 1, 0, 0);
- _scene->_sequences.setMsgLayout(local._mainSequenceId);
- _scene->_sequences.addSubEntry(local._mainSequenceId, SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ local._mainSequenceId = kernel_seq_forward(local._mainSpriteId, false, 8, 0, 0, 1);
+ kernel_seq_player(local._mainSequenceId, false);
+ kernel_seq_trigger(local._mainSequenceId, SEQUENCE_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
{
int syncIdx = local._mainSequenceId;
- local._mainSequenceId = _scene->_sequences.startCycle(local._mainSpriteId, false, -2);
- _scene->_sequences.setMsgLayout(local._mainSequenceId);
- _scene->_sequences.updateTimeout(local._mainSequenceId, syncIdx);
- _scene->_sequences.addTimer(30, 4);
+ local._mainSequenceId = kernel_seq_stamp(local._mainSpriteId, false, -2);
+ kernel_seq_player(local._mainSequenceId, false);
+ kernel_seq_timeout(syncIdx, local._mainSequenceId);
+ kernel_timing_trigger(30, 4);
}
break;
@@ -300,7 +300,7 @@ static void room_501_parser() {
case 5:
player.walker_visible = true;
player.clock = kernel.clock - player.frame_delay;
- _scene->_sequences.addTimer(30, 6);
+ kernel_timing_trigger(30, 6);
break;
case 6:
@@ -330,37 +330,37 @@ static void room_501_parser() {
break;
case 4:
- _scene->_sequences.remove(g_sequence_ids[3]);
+ kernel_seq_delete(g_sequence_ids[3]);
_scene->_dynamicHotspots.remove(local._doorHotspotid);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 9, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[3], 7);
+ g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[3], 7);
g_engine->_soundManager->command(11, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 6);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 6);
break;
case 6:
player_walk(317, 102, FACING_NORTHEAST);
- _scene->_sequences.addTimer(120, 7);
+ kernel_timing_trigger(120, 7);
break;
case 7:
{
g_engine->_soundManager->command(12, 0);
int syncIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.addReverseSpriteCycle(g_sprite_ids[3], false, 9, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[3], 7);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], syncIdx);
+ g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 9, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[3], 7);
+ kernel_seq_timeout(syncIdx, g_sequence_ids[3]);
g_engine->_soundManager->command(12, 0);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
}
break;
case 8:
{
int syncIdx = g_sequence_ids[3];
- g_sequence_ids[3] = _scene->_sequences.startCycle(g_sprite_ids[3], false, 1);
- _scene->_sequences.setDepth(g_sequence_ids[3], 7);
- _scene->_sequences.updateTimeout(g_sequence_ids[3], syncIdx);
+ g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
+ kernel_seq_depth(g_sequence_ids[3], 7);
+ kernel_seq_timeout(syncIdx, g_sequence_ids[3]);
new_room = 503;
}
break;
diff --git a/engines/mads/nebular/rooms/room503.cpp b/engines/mads/nebular/rooms/room503.cpp
index 30de37adef1..31a8d16058c 100644
--- a/engines/mads/nebular/rooms/room503.cpp
+++ b/engines/mads/nebular/rooms/room503.cpp
@@ -48,7 +48,7 @@ static void room_503_init() {
g_sprite_ids[3] = kernel_load_series("*ROXBD_2", 0);
if (object[OBJ_DETONATORS].location == room_id) {
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 9, 0, 0, 0);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 9, 0, 0, 0);
local._detonatorHotspotId = _scene->_dynamicHotspots.add(words_detonators, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
_scene->_dynamicHotspots.setPosition(local._detonatorHotspotId, Common::Point(254, 135), FACING_SOUTH);
}
@@ -72,23 +72,23 @@ static void room_503_parser() {
player.commands_allowed = false;
player.walker_visible = false;
if (global[kSexOfRex] == REX_MALE) {
- g_sequence_ids[2] = _scene->_sequences.startPingPongCycle(g_sprite_ids[2], false, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[2], 1, 3);
- _scene->_sequences.setMsgLayout(g_sequence_ids[2]);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 3, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[2], 1, 3);
+ kernel_seq_player(g_sequence_ids[2], false);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 3, 1);
+ kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
} else {
- g_sequence_ids[3] = _scene->_sequences.startPingPongCycle(g_sprite_ids[3], true, 8, 1, 0, 0);
- _scene->_sequences.setAnimRange(g_sequence_ids[3], 1, 4);
- _scene->_sequences.setMsgLayout(g_sequence_ids[3]);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 4, 1);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], true, 8, 0, 0, 1);
+ kernel_seq_range(g_sequence_ids[3], 1, 4);
+ kernel_seq_player(g_sequence_ids[3], false);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 4, 1);
+ kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
case 1:
g_engine->_soundManager->command(9, 0);
- _scene->_sequences.remove(g_sequence_ids[1]);
+ kernel_seq_delete(g_sequence_ids[1]);
_scene->_dynamicHotspots.remove(local._detonatorHotspotId);
inter_give_to_player(OBJ_DETONATORS);
object_examine(OBJ_DETONATORS, 50326, 0);
@@ -96,9 +96,9 @@ static void room_503_parser() {
case 2:
if (global[kSexOfRex] == REX_MALE)
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[2]);
+ kernel_seq_timeout(g_sequence_ids[2], -1);
else
- _scene->_sequences.updateTimeout(-1, g_sequence_ids[3]);
+ kernel_seq_timeout(g_sequence_ids[3], -1);
player.walker_visible = true;
player.commands_allowed = true;
diff --git a/engines/mads/nebular/rooms/room504.cpp b/engines/mads/nebular/rooms/room504.cpp
index 4401dbcab71..55e1441dd24 100644
--- a/engines/mads/nebular/rooms/room504.cpp
+++ b/engines/mads/nebular/rooms/room504.cpp
@@ -53,16 +53,16 @@ static void room_504_init() {
kernel_load_variant(1);
}
- g_sequence_ids[1] = _scene->_sequences.addSpriteCycle(g_sprite_ids[1], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[1], 0);
- g_sequence_ids[2] = _scene->_sequences.addSpriteCycle(g_sprite_ids[2], false, 6, 0, 0, 0);
+ g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 0, 1);
+ kernel_seq_depth(g_sequence_ids[1], 0);
+ g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 0, 0);
local._carFrame = -1;
if ((previous_room == 505) && (global[kHoverCarDestination] != global[kHoverCarLocation])) {
local._carAnimationMode = 1;
kernel_run_animation(kernel_name('A', -1), 0);
g_engine->_soundManager->command(14, 0);
- _scene->_sequences.addTimer(1, 70);
+ kernel_timing_trigger(1, 70);
player.commands_allowed = false;
} else {
g_sprite_ids[3] = kernel_load_series(kernel_name('a', 3), 0);
@@ -71,7 +71,7 @@ static void room_504_init() {
if ((previous_room != RETURNING_FROM_DIALOG) && (previous_room != 505))
global[kHoverCarLocation] = previous_room;
- g_sequence_ids[7] = _scene->_sequences.startCycle(g_sprite_ids[7], false, 1);
+ g_sequence_ids[7] = kernel_seq_stamp(g_sprite_ids[7], false, 1);
}
if (global[kTimebombTimer] > 10500)
@@ -149,41 +149,41 @@ static void room_504_parser() {
case 0:
player.commands_allowed = false;
g_engine->_soundManager->command(39, 0);
- g_sequence_ids[3] = _scene->_sequences.addSpriteCycle(g_sprite_ids[3], false, 6, 1, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[3], 13);
- _scene->_sequences.addSubEntry(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- _scene->_sequences.remove(g_sequence_ids[7]);
- g_sequence_ids[5] = _scene->_sequences.addSpriteCycle(g_sprite_ids[5], false, 18, 0, 0, 0);
- _scene->_sequences.setDepth(g_sequence_ids[5], 14);
Commit: 89ce28f6621de68f9c56d7567ea781b7cdbd1b01
https://github.com/scummvm/scummvm/commit/89ce28f6621de68f9c56d7567ea781b7cdbd1b01
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:56+10:00
Commit Message:
MADS: NEBULAR: Refactor remainder of Scene thunk
Changed paths:
engines/mads/nebular/rooms/room101.cpp
engines/mads/nebular/rooms/room102.cpp
engines/mads/nebular/rooms/room103.cpp
engines/mads/nebular/rooms/room104.cpp
engines/mads/nebular/rooms/room105.cpp
engines/mads/nebular/rooms/room107.cpp
engines/mads/nebular/rooms/room108.cpp
engines/mads/nebular/rooms/room109.cpp
engines/mads/nebular/rooms/room110.cpp
engines/mads/nebular/rooms/room111.cpp
engines/mads/nebular/rooms/room112.cpp
engines/mads/nebular/rooms/room201.cpp
engines/mads/nebular/rooms/room202.cpp
engines/mads/nebular/rooms/room203.cpp
engines/mads/nebular/rooms/room205.cpp
engines/mads/nebular/rooms/room207.cpp
engines/mads/nebular/rooms/room208.cpp
engines/mads/nebular/rooms/room209.cpp
engines/mads/nebular/rooms/room210.cpp
engines/mads/nebular/rooms/room211.cpp
engines/mads/nebular/rooms/room214.cpp
engines/mads/nebular/rooms/room216.cpp
engines/mads/nebular/rooms/room307.cpp
engines/mads/nebular/rooms/room309.cpp
engines/mads/nebular/rooms/room311.cpp
engines/mads/nebular/rooms/room313.cpp
engines/mads/nebular/rooms/room318.cpp
engines/mads/nebular/rooms/room321.cpp
engines/mads/nebular/rooms/room351.cpp
engines/mads/nebular/rooms/room352.cpp
engines/mads/nebular/rooms/room359.cpp
engines/mads/nebular/rooms/room366.cpp
engines/mads/nebular/rooms/room387.cpp
engines/mads/nebular/rooms/room388.cpp
engines/mads/nebular/rooms/room389.cpp
engines/mads/nebular/rooms/room390.cpp
engines/mads/nebular/rooms/room391.cpp
engines/mads/nebular/rooms/room399.cpp
engines/mads/nebular/rooms/room402.cpp
engines/mads/nebular/rooms/room408.cpp
engines/mads/nebular/rooms/room410.cpp
engines/mads/nebular/rooms/room411.cpp
engines/mads/nebular/rooms/room501.cpp
engines/mads/nebular/rooms/room503.cpp
engines/mads/nebular/rooms/room506.cpp
engines/mads/nebular/rooms/room507.cpp
engines/mads/nebular/rooms/room508.cpp
engines/mads/nebular/rooms/room511.cpp
engines/mads/nebular/rooms/room512.cpp
engines/mads/nebular/rooms/room601.cpp
engines/mads/nebular/rooms/room602.cpp
engines/mads/nebular/rooms/room603.cpp
engines/mads/nebular/rooms/room604.cpp
engines/mads/nebular/rooms/room605.cpp
engines/mads/nebular/rooms/room607.cpp
engines/mads/nebular/rooms/room608.cpp
engines/mads/nebular/rooms/room609.cpp
engines/mads/nebular/rooms/room610.cpp
engines/mads/nebular/rooms/room611.cpp
engines/mads/nebular/rooms/room612.cpp
engines/mads/nebular/rooms/room620.cpp
engines/mads/nebular/rooms/room701.cpp
engines/mads/nebular/rooms/room703.cpp
engines/mads/nebular/rooms/room704.cpp
engines/mads/nebular/rooms/room705.cpp
engines/mads/nebular/rooms/room706.cpp
engines/mads/nebular/rooms/room710.cpp
engines/mads/nebular/rooms/room751.cpp
engines/mads/nebular/rooms/room752.cpp
engines/mads/nebular/rooms/room802.cpp
engines/mads/nebular/rooms/room803.cpp
engines/mads/nebular/rooms/room804.cpp
engines/mads/nebular/rooms/room805.cpp
engines/mads/nebular/rooms/room808.cpp
engines/mads/nebular/rooms/room810.cpp
engines/mads/nebular/rooms/thunks.cpp
engines/mads/nebular/rooms/thunks.h
diff --git a/engines/mads/nebular/rooms/room101.cpp b/engines/mads/nebular/rooms/room101.cpp
index 84403cb4034..f9fd5916525 100644
--- a/engines/mads/nebular/rooms/room101.cpp
+++ b/engines/mads/nebular/rooms/room101.cpp
@@ -102,7 +102,7 @@ static void room_101_init() {
g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 6, 4, 10, 0);
g_sequence_ids[10] = kernel_seq_forward(g_sprite_ids[10], false, 6, 47, 32, 0);
- _scene->_hotspots.activate(words_shield_modulator, false);
+ kernel_flip_hotspot(words_shield_modulator, false);
local._panelOpened = false;
if (previous_room != RETURNING_FROM_LOADING)
@@ -121,8 +121,8 @@ static void room_101_init() {
player.facing = FACING_NORTHEAST;
g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 3, 0, 0, 0);
kernel_seq_range(g_sequence_ids[11], 17, 17);
- _scene->_hotspots.activate(words_chair, false);
- local._chairHotspotId = _scene->_dynamicHotspots.add(words_chair, words_sit_in, -1, Common::Rect(159, 84, 159 + 33, 84 + 36));
+ kernel_flip_hotspot(words_chair, false);
+ local._chairHotspotId = kernel_add_dynamic(words_chair, words_sit_in, 0, -1, 159, 84, 33, 36);
if (previous_room == 112)
room_101_say_dang();
} else {
@@ -237,8 +237,8 @@ static void room_101_pre_parser() {
player.walker_visible = true;
player.commands_allowed = true;
player.ready_to_walk = true;
- _scene->_hotspots.activate(71, true);
- _scene->_dynamicHotspots.remove(local._chairHotspotId);
+ kernel_flip_hotspot(71, true);
+ kernel_delete_dynamic(local._chairHotspotId);
g_sequence_ids[12] = kernel_seq_forward(g_sprite_ids[12], false, 6, 0, 0, 0);
kernel_seq_depth(g_sequence_ids[12], 4);
break;
@@ -265,7 +265,7 @@ static void room_101_pre_parser() {
case 1:
player.commands_allowed = true;
local._panelOpened = false;
- _scene->_hotspots.activate(words_shield_modulator, false);
+ kernel_flip_hotspot(words_shield_modulator, false);
break;
default:
@@ -310,8 +310,8 @@ static void room_101_parser() {
kernel_seq_range(g_sequence_ids[11], 17, 17);
player.commands_allowed = true;
local._sittingFl = true;
- _scene->_hotspots.activate(71, false);
- local._chairHotspotId = _scene->_dynamicHotspots.add(words_chair, words_sit_in, -1, Common::Rect(159, 84, 159 + 33, 84 + 36));
+ kernel_flip_hotspot(71, false);
+ local._chairHotspotId = kernel_add_dynamic(words_chair, words_sit_in, 0, -1, 159, 84, 33, 36);
if (!player_said_2(look, view_screen)) {
player.command_ready = false;
return;
@@ -346,7 +346,7 @@ static void room_101_parser() {
player.commands_allowed = true;
local._panelOpened = true;
if (object_is_here(OBJ_SHIELD_MODULATOR))
- _scene->_hotspots.activate(words_shield_modulator, true);
+ kernel_flip_hotspot(words_shield_modulator, true);
break;
default:
@@ -361,7 +361,7 @@ static void room_101_parser() {
kernel_seq_delete(g_sequence_ids[13]);
g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[14], false, 6, 0, 0, 0);
kernel_seq_range(g_sequence_ids[13], -2, -2);
- _scene->_hotspots.activate(words_shield_modulator, false);
+ kernel_flip_hotspot(words_shield_modulator, false);
object_examine(OBJ_SHIELD_MODULATOR, 10120, 0);
g_engine->_soundManager->command(22, 0);
player.command_ready = false;
diff --git a/engines/mads/nebular/rooms/room102.cpp b/engines/mads/nebular/rooms/room102.cpp
index 9d201937d37..54f860b07a8 100644
--- a/engines/mads/nebular/rooms/room102.cpp
+++ b/engines/mads/nebular/rooms/room102.cpp
@@ -77,9 +77,9 @@ static void room_102_init() {
if (object_is_here(OBJ_BINOCULARS))
g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 24, 24, 0, 0);
else
- _scene->_hotspots.activate(words_binoculars, false);
+ kernel_flip_hotspot(words_binoculars, false);
- _scene->_hotspots.activate(words_burger, false);
+ kernel_flip_hotspot(words_burger, false);
if (global[kMedicineCabinetOpen]) {
g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 6, 0, 0, 0);
@@ -201,7 +201,7 @@ static void room_102_pre_parser() {
case 1:
if (object_is_here(OBJ_BURGER)) {
kernel_seq_delete(g_sequence_ids[10]);
- _scene->_hotspots.activate(words_burger, false);
+ kernel_flip_hotspot(words_burger, false);
}
local._fridgeOpenedFl = false;
player.commands_allowed = true;
@@ -259,7 +259,7 @@ static void room_102_parser() {
player.commands_allowed = true;
justOpenedFl = true;
if (object_is_here(OBJ_BURGER))
- _scene->_hotspots.activate(words_burger, true);
+ kernel_flip_hotspot(words_burger, true);
break;
default:
@@ -587,7 +587,7 @@ static void room_102_parser() {
case 1:
inter_give_to_player(OBJ_BINOCULARS);
kernel_seq_delete(g_sequence_ids[9]);
- _scene->_hotspots.activate(words_binoculars, false);
+ kernel_flip_hotspot(words_binoculars, false);
player.walker_visible = true;
player.commands_allowed = true;
g_engine->_soundManager->command(22, 0);
@@ -606,7 +606,7 @@ static void room_102_parser() {
object_examine(OBJ_BURGER, 10235, 0);
kernel_seq_delete(g_sequence_ids[10]);
inter_give_to_player(OBJ_BURGER);
- _scene->_hotspots.activate(words_burger, false);
+ kernel_flip_hotspot(words_burger, false);
g_engine->_soundManager->command(22, 0);
player.walker_visible = true;
player.commands_allowed = true;
diff --git a/engines/mads/nebular/rooms/room103.cpp b/engines/mads/nebular/rooms/room103.cpp
index 78d58c3d979..8ea84de175a 100644
--- a/engines/mads/nebular/rooms/room103.cpp
+++ b/engines/mads/nebular/rooms/room103.cpp
@@ -75,17 +75,17 @@ static void room_103_init() {
if (object_is_here(OBJ_TIMER_MODULE))
g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 6, 0, 0, 0);
else
- _scene._hotspots.activate(371, false);
+ kernel_flip_hotspot(371, false);
if (object_is_here(OBJ_REBREATHER))
g_sequence_ids[10] = kernel_seq_forward(g_sprite_ids[10], false, 6, 0, 0, 0);
else
- _scene._hotspots.activate(289, false);
+ kernel_flip_hotspot(289, false);
if (global[kTurkeyExploded]) {
g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 6, 0, 0, 0);
kernel_seq_range(g_sequence_ids[9], -2, -2);
- _scene->_hotspots.activate(362, false);
+ kernel_flip_hotspot(362, false);
}
if (previous_room != RETURNING_FROM_DIALOG) {
@@ -205,7 +205,7 @@ static void room_103_parser() {
inter_give_to_player(OBJ_TIMER_MODULE);
kernel_load_variant(0);
matte_frame(kTransitionNone, false);
- _scene->_hotspots.activate(371, false);
+ kernel_flip_hotspot(371, false);
player.walker_visible = true;
player.commands_allowed = true;
object_examine(OBJ_TIMER_MODULE, 805, 0);
@@ -232,7 +232,7 @@ static void room_103_parser() {
case 2:
g_engine->_soundManager->command(22, 0);
inter_give_to_player(OBJ_REBREATHER);
- _scene->_hotspots.activate(289, false);
+ kernel_flip_hotspot(289, false);
player.walker_visible = true;
player.commands_allowed = true;
object_examine(OBJ_REBREATHER, 804, 0);
@@ -271,7 +271,7 @@ static void room_103_parser() {
if (kernel.trigger == 2) {
// Show exposition dialog at end of sequence
text_show(10302);
- _scene->_hotspots.activate(362, false);
+ kernel_flip_hotspot(362, false);
}
} else if (player_said_2(look, oven))
text_show(!global[kTurkeyExploded] ? 10323 : 10303);
diff --git a/engines/mads/nebular/rooms/room104.cpp b/engines/mads/nebular/rooms/room104.cpp
index 383b06a3ae4..4284f116cad 100644
--- a/engines/mads/nebular/rooms/room104.cpp
+++ b/engines/mads/nebular/rooms/room104.cpp
@@ -198,10 +198,10 @@ static void room_104_daemon() {
g_engine->_soundManager->command(34, 0);
}
- if (player.walking && (_scene->_rails.getNext() > 0)) {
+ if (player.walking && (player.next_special_code > 0)) {
player_cancel_command();
player_start_walking(189, 70, FACING_NONE);
- _scene->_rails.resetNext();
+ player.next_special_code = 0;
}
if ((player.special_code > 0) && player.commands_allowed)
diff --git a/engines/mads/nebular/rooms/room105.cpp b/engines/mads/nebular/rooms/room105.cpp
index 6a44ca71c86..889bf92b8d8 100644
--- a/engines/mads/nebular/rooms/room105.cpp
+++ b/engines/mads/nebular/rooms/room105.cpp
@@ -47,8 +47,8 @@ static void room_105_init() {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 0);
kernel_seq_loc(g_sequence_ids[4], 48, 144);
- int idx = _scene->_dynamicHotspots.add(words_dead_fish, words_swim_to, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(56, 141), FACING_NORTHWEST);
+ int idx = kernel_add_dynamic(words_dead_fish, words_swim_to, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 56, 141, FACING_NORTHWEST);
}
if (previous_room == 104) {
@@ -123,10 +123,10 @@ static void room_105_daemon() {
}
}
- if (player.walking && (_scene->_rails.getNext() > 0)) {
+ if (player.walking && (player.next_special_code > 0)) {
player_cancel_command();
player_start_walking(170, 87, FACING_NONE);
- _scene->_rails.resetNext();
+ player.next_special_code = 0;
}
if ((player.special_code > 0) && player.commands_allowed)
diff --git a/engines/mads/nebular/rooms/room107.cpp b/engines/mads/nebular/rooms/room107.cpp
index 3b1d6bd6237..19cbaa01105 100644
--- a/engines/mads/nebular/rooms/room107.cpp
+++ b/engines/mads/nebular/rooms/room107.cpp
@@ -55,8 +55,8 @@ static void room_107_init() {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 0);
kernel_seq_loc(g_sequence_ids[4], 68, 151);
kernel_seq_depth(g_sequence_ids[4], 1);
- int idx = _scene->_dynamicHotspots.add(words_dead_fish, words_swim_to, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(78, 135), FACING_SOUTHWEST);
+ int idx = kernel_add_dynamic(words_dead_fish, words_swim_to, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 78, 135, FACING_SOUTHWEST);
}
if (previous_room == 105) {
@@ -78,7 +78,7 @@ static void room_107_init() {
kernel_seq_loc(g_sequence_ids[0], 270, 150);
kernel_seq_motion(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, -200, 0);
kernel_seq_depth(g_sequence_ids[0], 2);
- _scene->_dynamicHotspots.add(words_manta_ray, words_swim_to, g_sequence_ids[0], Common::Rect(0, 0, 0, 0));
+ kernel_add_dynamic(words_manta_ray, words_swim_to, 0, g_sequence_ids[0], 0, 0, 0, 0);
}
kernel.quotes = quote_load(0x4A, 0x4B, 0x4C, 0x35, 0x34, 0);
diff --git a/engines/mads/nebular/rooms/room108.cpp b/engines/mads/nebular/rooms/room108.cpp
index 29c3ef44a5b..a264282b553 100644
--- a/engines/mads/nebular/rooms/room108.cpp
+++ b/engines/mads/nebular/rooms/room108.cpp
@@ -52,8 +52,8 @@ static void room_108_init() {
if (global[kFishIn108]) {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 0);
kernel_seq_loc(g_sequence_ids[4], 41, 109);
- int idx = _scene->_dynamicHotspots.add(words_dead_fish, words_swim_to, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(41, 109), FACING_NORTHWEST);
+ int idx = kernel_add_dynamic(words_dead_fish, words_swim_to, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 41, 109, FACING_NORTHWEST);
}
if (previous_room == 107) {
diff --git a/engines/mads/nebular/rooms/room109.cpp b/engines/mads/nebular/rooms/room109.cpp
index 69ca84f8617..1af37f72ac7 100644
--- a/engines/mads/nebular/rooms/room109.cpp
+++ b/engines/mads/nebular/rooms/room109.cpp
@@ -79,12 +79,12 @@ static void room_109_init() {
kernel_seq_depth(g_sequence_ids[6], 4);
kernel_seq_range(g_sequence_ids[6], -2, -2);
- int idx = _scene->_dynamicHotspots.add(words_dead_purple_monster, words_swim_to, -1, Common::Rect(256, 57, 267, 87));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(241, 91), FACING_NORTHEAST);
- idx = _scene->_dynamicHotspots.add(words_dead_purple_monster, words_swim_to, -1, Common::Rect(242, 79, 265, 90));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(241, 91), FACING_NORTHEAST);
- idx = _scene->_dynamicHotspots.add(words_monster_sludge, words_swim_to, -1, Common::Rect(231, 88, 253, 94));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(241, 91), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_dead_purple_monster, words_swim_to, 0, -1, 256, 57, 11, 30);
+ kernel_dynamic_walk(idx, 241, 91, FACING_NORTHEAST);
+ idx = kernel_add_dynamic(words_dead_purple_monster, words_swim_to, 0, -1, 242, 79, 23, 11);
+ kernel_dynamic_walk(idx, 241, 91, FACING_NORTHEAST);
+ idx = kernel_add_dynamic(words_monster_sludge, words_swim_to, 0, -1, 231, 88, 22, 6);
+ kernel_dynamic_walk(idx, 241, 91, FACING_NORTHEAST);
}
if (!global[kHoovicAlive] || global[kHoovicSated])
@@ -93,8 +93,8 @@ static void room_109_init() {
if (object_is_here(OBJ_BURGER)) {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 0, 0);
kernel_seq_range(g_sequence_ids[3], -2, -2);
- int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_burger, words_swim_to, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -3, 0, FACING_NORTHEAST);
} else if (kernel.teleported_in)
inter_give_to_player(OBJ_BURGER);
@@ -162,10 +162,10 @@ static void room_109_daemon() {
kernel_new_palette();
}
- if (player.walking && (_scene->_rails.getNext() > 0) && global[kHoovicAlive] && !global[kHoovicSated] && !local._hungryFl && !local._beforeEatingRex) {
+ if (player.walking && (player.next_special_code > 0) && global[kHoovicAlive] && !global[kHoovicSated] && !local._hungryFl && !local._beforeEatingRex) {
player_cancel_command();
player_start_walking(160, 32, FACING_EAST);
- _scene->_rails.resetNext();
+ player.next_special_code = 0;
local._hungryFl = true;
}
@@ -188,8 +188,8 @@ static void room_109_daemon() {
matte_deallocate_series(g_sprite_ids[9], true);
matte_deallocate_series(g_sprite_ids[10], true);
- _scene->_spriteSlots.clear();
- _scene->_spriteSlots.fullRefresh();
+ image_marker = 0;
+ matte_refresh_work();
int randVal = g_engine->getRandomNumber(85, 88);
int idx = kernel_message_add(quote_string(kernel.quotes, randVal), 0, 0, 0x1110, 120, 0, 34);
@@ -315,12 +315,12 @@ static void room_109_parser() {
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[6], 4);
kernel_seq_range(g_sequence_ids[6], -2, -2);
- int idx = _scene->_dynamicHotspots.add(words_dead_purple_monster, words_swim_to, -1, Common::Rect(256, 57, 256 + 12, 57 + 31));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(241, 91), FACING_NORTHEAST);
- idx = _scene->_dynamicHotspots.add(words_dead_purple_monster, words_swim_to, -1, Common::Rect(242, 79, 242 + 24, 79 + 12));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(241, 91), FACING_NORTHEAST);
- idx = _scene->_dynamicHotspots.add(words_monster_sludge, words_swim_to, -1, Common::Rect(231, 88, 231 + 23, 88 + 7));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(241, 91), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_dead_purple_monster, words_swim_to, 0, -1, 256, 57, 12, 31);
+ kernel_dynamic_walk(idx, 241, 91, FACING_NORTHEAST);
+ idx = kernel_add_dynamic(words_dead_purple_monster, words_swim_to, 0, -1, 242, 79, 24, 12);
+ kernel_dynamic_walk(idx, 241, 91, FACING_NORTHEAST);
+ idx = kernel_add_dynamic(words_monster_sludge, words_swim_to, 0, -1, 231, 88, 23, 7);
+ kernel_dynamic_walk(idx, 241, 91, FACING_NORTHEAST);
kernel_load_variant(1);
} else {
if (local._throwingObjectId == OBJ_DEAD_FISH) {
@@ -350,8 +350,8 @@ static void room_109_parser() {
kernel_abort_animation(0);
kernel_seq_delete(g_sequence_ids[8]);
matte_deallocate_series(g_sprite_ids[8], true);
- _scene->_spriteSlots.clear();
- _scene->_spriteSlots.fullRefresh();
+ image_marker = 0;
+ matte_refresh_work();
kernel_seq_full_update();
if (player.walker_visible) {
player.sprite_changed = true;
@@ -367,8 +367,8 @@ static void room_109_parser() {
inter_move_object(OBJ_BURGER, room_id);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 0, 0);
kernel_seq_range(g_sequence_ids[3], 30, 30);
- int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_burger, words_swim_to, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -3, 0, FACING_NORTHEAST);
kernel_timing_trigger(65, 6);
}
break;
@@ -378,8 +378,8 @@ static void room_109_parser() {
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 31, 46);
- int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_burger, words_swim_to, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -3, 0, FACING_NORTHEAST);
kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
}
break;
@@ -388,8 +388,8 @@ static void room_109_parser() {
{
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -2);
- int idx = _scene->_dynamicHotspots.add(words_burger, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-3, 0), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_burger, words_swim_to, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -3, 0, FACING_NORTHEAST);
text_show(10915);
}
break;
diff --git a/engines/mads/nebular/rooms/room110.cpp b/engines/mads/nebular/rooms/room110.cpp
index aa451ba23dc..3f5021237b7 100644
--- a/engines/mads/nebular/rooms/room110.cpp
+++ b/engines/mads/nebular/rooms/room110.cpp
@@ -58,14 +58,14 @@ static void room_110_init() {
local._crabsFl = true;
- int idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[0], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
+ int idx = kernel_add_dynamic(words_crab, words_swim_to, 0, g_sequence_ids[0], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -1, 0, FACING_NONE);
+ idx = kernel_add_dynamic(words_crab, words_swim_to, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -1, 0, FACING_NONE);
+ idx = kernel_add_dynamic(words_crab, words_swim_to, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -1, 0, FACING_NONE);
+ idx = kernel_add_dynamic(words_crab, words_swim_to, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -1, 0, FACING_NONE);
} else if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 194;
player.y = 23;
@@ -106,14 +106,14 @@ static void room_110_pre_parser() {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 16, 0, 0, 1);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 16, 0, 0, 1);
- int idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[0], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_crab, words_swim_to, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-1, 0), FACING_NONE);
+ int idx = kernel_add_dynamic(words_crab, words_swim_to, 0, g_sequence_ids[0], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -1, 0, FACING_NONE);
+ idx = kernel_add_dynamic(words_crab, words_swim_to, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -1, 0, FACING_NONE);
+ idx = kernel_add_dynamic(words_crab, words_swim_to, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -1, 0, FACING_NONE);
+ idx = kernel_add_dynamic(words_crab, words_swim_to, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -1, 0, FACING_NONE);
}
}
diff --git a/engines/mads/nebular/rooms/room111.cpp b/engines/mads/nebular/rooms/room111.cpp
index 8158c2cd353..cbe79d5a73e 100644
--- a/engines/mads/nebular/rooms/room111.cpp
+++ b/engines/mads/nebular/rooms/room111.cpp
@@ -61,12 +61,12 @@ static void room_111_init() {
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
- idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
+ int idx = kernel_add_dynamic(words_bats, words_look_at, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -2, 0, FACING_NONE);
+ idx = kernel_add_dynamic(words_bats, words_look_at, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -2, 0, FACING_NONE);
+ idx = kernel_add_dynamic(words_bats, words_look_at, 0, g_sequence_ids[5], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -2, 0, FACING_NONE);
local._launch1Fl = false;
local._launched2Fl = false;
@@ -118,15 +118,15 @@ static void room_111_daemon() {
kernel_seq_delete(g_sequence_ids[4]);
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 5, 0, 0, 1);
local._launch1Fl = true;
- int idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
+ int idx = kernel_add_dynamic(words_bats, words_look_at, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -2, 0, FACING_NONE);
}
if (!local._launched2Fl && (g_engine->getRandomNumber(1, 30000) == 1)) {
kernel_seq_delete(g_sequence_ids[5]);
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 5, 0, 0, 1);
- int idx = _scene->_dynamicHotspots.add(words_bats, words_look_at, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
+ int idx = kernel_add_dynamic(words_bats, words_look_at, 0, g_sequence_ids[5], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -2, 0, FACING_NONE);
local._launched2Fl = true;
}
diff --git a/engines/mads/nebular/rooms/room112.cpp b/engines/mads/nebular/rooms/room112.cpp
index 8ca89aeb99a..c39219c7b1e 100644
--- a/engines/mads/nebular/rooms/room112.cpp
+++ b/engines/mads/nebular/rooms/room112.cpp
@@ -46,8 +46,8 @@ static void room_112_init() {
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_userInterface.emptyConversationList();
- _scene->_userInterface.setup(kInputConversation);
+ inter_reset_dialog();
+ kernel_set_interface_mode(kInputConversation);
kernel_run_animation(kernel_full_name(112, 'X', -1, "", EXT_AA), 70);
}
diff --git a/engines/mads/nebular/rooms/room201.cpp b/engines/mads/nebular/rooms/room201.cpp
index 40ecd965c3f..26568db1e4c 100644
--- a/engines/mads/nebular/rooms/room201.cpp
+++ b/engines/mads/nebular/rooms/room201.cpp
@@ -52,8 +52,8 @@ static void room_201_init() {
kernel_seq_depth(g_sequence_ids[4], 8);
kernel_seq_loc(g_sequence_ids[4], 185, 46);
- int idx = _scene->_dynamicHotspots.add(words_birds, words_look_at, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(186, 81), FACING_NORTH);
+ int idx = kernel_add_dynamic(words_birds, words_look_at, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 186, 81, FACING_NORTH);
if ((previous_room == 202) || (previous_room == RETURNING_FROM_LOADING)) {
player.x = 165;
@@ -116,7 +116,7 @@ static void room_201_init() {
local._pterodactylFlag = true;
if (global[kTeleporterUnderstood])
- _scene->_hotspots.activate(words_strange_device, false);
+ kernel_flip_hotspot(words_strange_device, false);
section_2_music();
}
@@ -124,8 +124,8 @@ static void room_201_init() {
static void room_201_daemon() {
if (local._pterodactylFlag && (g_engine->getRandomNumber(5000) == 9)) {
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 5, 0, 6, 1);
- int idx = _scene->_dynamicHotspots.add(words_swooping_creature, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(270, 80), FACING_EAST);
+ int idx = kernel_add_dynamic(words_swooping_creature, words_walkto, 0, g_sequence_ids[5], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 270, 80, FACING_EAST);
kernel_seq_depth(g_sequence_ids[5], 8);
g_engine->_soundManager->command(14, 0);
local._pterodactylFlag = false;
diff --git a/engines/mads/nebular/rooms/room202.cpp b/engines/mads/nebular/rooms/room202.cpp
index 5bd26167e2d..1f238f60467 100644
--- a/engines/mads/nebular/rooms/room202.cpp
+++ b/engines/mads/nebular/rooms/room202.cpp
@@ -70,23 +70,23 @@ static void room_202_init() {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 0, 0);
kernel_seq_loc(g_sequence_ids[2], 149, 113);
kernel_seq_depth(g_sequence_ids[2], 10);
- int idx = _scene->_dynamicHotspots.add(words_skull, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(153, 97), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_skull, words_walkto, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 153, 97, FACING_SOUTH);
if (!(global[kBone202Status] & 1)) {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 0, 0);
kernel_seq_loc(g_sequence_ids[1], 130, 108);
kernel_seq_depth(g_sequence_ids[1], 10);
- idx = _scene->_dynamicHotspots.add(words_bone, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(132, 97), FACING_SOUTH);
+ idx = kernel_add_dynamic(words_bone, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 132, 97, FACING_SOUTH);
}
if (!(global[kBone202Status] & 2)) {
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 6, 0, 0, 0);
kernel_seq_loc(g_sequence_ids[6], 166, 110);
kernel_seq_depth(g_sequence_ids[6], 10);
- idx = _scene->_dynamicHotspots.add(words_bone, words_walkto, g_sequence_ids[6], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(165, 99), FACING_SOUTH);
+ idx = kernel_add_dynamic(words_bone, words_walkto, 0, g_sequence_ids[6], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 165, 99, FACING_SOUTH);
}
if (global[kBone202Status])
@@ -105,9 +105,9 @@ static void room_202_init() {
if (global[kLadderBroken]) {
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 6, 0, 0, 0);
kernel_seq_depth(g_sequence_ids[5], 6);
- _scene->_hotspots.activate(words_ladder, false);
- idx = _scene->_dynamicHotspots.add(words_broken_ladder, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(246, 124), FACING_NORTH);
+ kernel_flip_hotspot(words_ladder, false);
+ idx = kernel_add_dynamic(words_broken_ladder, words_walkto, 0, g_sequence_ids[5], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 246, 124, FACING_NORTH);
}
kernel.quotes = quote_load(0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x62, 0x63, 0x64, 0x65, 0x66, 0x61, 0);
@@ -303,9 +303,9 @@ static void room_202_daemon() {
{
global[kLadderBroken] = false;
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 6, 0, 0, 0);
- _scene->_hotspots.activate(words_ladder, false);
- int idx = _scene->_dynamicHotspots.add(words_broken_ladder, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(246, 124), FACING_NORTH);
+ kernel_flip_hotspot(words_ladder, false);
+ int idx = kernel_add_dynamic(words_broken_ladder, words_walkto, 0, g_sequence_ids[5], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 246, 124, FACING_NORTH);
kernel_seq_timeout(g_sequence_ids[5], g_sequence_ids[11]);
kernel_seq_timeout(g_sequence_ids[11], -1);
player.commands_allowed = true;
@@ -440,7 +440,7 @@ static void room_202_pre_parser() {
kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
} else if (kernel.trigger == 1) {
kernel_seq_timeout(g_sequence_ids[8], -1);
- _scene->_dynamicHotspots.remove(local._ladderHotspotId);
+ kernel_delete_dynamic(local._ladderHotspotId);
player.walker_visible = true;
player.ready_to_walk = true;
player.commands_allowed = true;
@@ -527,8 +527,8 @@ static void room_202_parser() {
player.walker_visible = false;
player.commands_allowed = false;
- local._ladderHotspotId = _scene->_dynamicHotspots.add(words_ladder, words_climb_down, -1, Common::Rect(241, 68, 241 + 12, 68 + 54));
- _scene->_dynamicHotspots.setPosition(local._ladderHotspotId, Common::Point(246, 124), FACING_NORTH);
+ local._ladderHotspotId = kernel_add_dynamic(words_ladder, words_climb_down, 0, -1, 241, 68, 12, 54);
+ kernel_dynamic_walk(local._ladderHotspotId, 246, 124, FACING_NORTH);
g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[8], 1);
kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
diff --git a/engines/mads/nebular/rooms/room203.cpp b/engines/mads/nebular/rooms/room203.cpp
index 4b4c88614ec..5411f3a9208 100644
--- a/engines/mads/nebular/rooms/room203.cpp
+++ b/engines/mads/nebular/rooms/room203.cpp
@@ -62,17 +62,17 @@ static void room_203_init() {
if ((global[kRhotundaStatus] == 0) && (!kernel.teleported_in)) {
local._rhotundaEatFl = true;
player_walk(158, 135, FACING_SOUTH);
- int idx = _scene->_dynamicHotspots.add(words_field_to_south, words_walk_towards, 0, Common::Rect(0, 0, 320, 156));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(155, 152), FACING_SOUTH);
- _scene->_dynamicHotspots.setCursor(idx, CURSOR_GO_DOWN);
+ int idx = kernel_add_dynamic(words_field_to_south, words_walk_towards, 0, 0, 0, 0, 320, 156);
+ kernel_dynamic_walk(idx, 155, 152, FACING_SOUTH);
+ kernel_dynamic_cursor(idx, CURSOR_GO_DOWN);
}
if (!local._rhotundaEatFl) {
g_sprite_ids[0] = kernel_load_series(kernel_name('b', -1), 0);
if (g_engine->getRandomNumber(1, 3) == 2) {
g_sprite_ids[15] = kernel_seq_forward(g_sprite_ids[0], false, 9, 0, 0, 1);
- int idx = _scene->_dynamicHotspots.add(words_yellow_bird, words_look_at, g_sprite_ids[15], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
+ int idx = kernel_add_dynamic(words_yellow_bird, words_look_at, 0, g_sprite_ids[15], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -2, 0, FACING_NONE);
g_engine->_soundManager->command(14, 0);
}
}
diff --git a/engines/mads/nebular/rooms/room205.cpp b/engines/mads/nebular/rooms/room205.cpp
index b2ecb820637..6a950dd1a70 100644
--- a/engines/mads/nebular/rooms/room205.cpp
+++ b/engines/mads/nebular/rooms/room205.cpp
@@ -56,12 +56,12 @@ static void room_205_init() {
g_sprite_ids[8] = kernel_load_series(kernel_name('a', 1), 0);
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 10, 3, 0, 0);
- int idx = _scene->_dynamicHotspots.add(words_chicken, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(162, 120), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_chicken, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 162, 120, FACING_NORTHEAST);
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 15, 0, 0, 0);
- idx = _scene->_dynamicHotspots.add(words_chicken, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(162, 120), FACING_NORTHEAST);
+ idx = kernel_add_dynamic(words_chicken, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 162, 120, FACING_NORTHEAST);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 0);
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 6, 0, 0, 0);
@@ -69,15 +69,15 @@ static void room_205_init() {
if (!player.been_here_before) {
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 7, 0, 0, 1);
- idx = _scene->_dynamicHotspots.add(words_piranha, words_walkto, g_sequence_ids[6], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(49, 86), FACING_NORTH);
+ idx = kernel_add_dynamic(words_piranha, words_walkto, 0, g_sequence_ids[6], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 49, 86, FACING_NORTH);
}
if (object[12].location == 205) {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 7, 0, 0, 0);
kernel_seq_depth(g_sequence_ids[4], 11);
} else {
- _scene->_hotspots.activate(450, false);
+ kernel_flip_hotspot(450, false);
}
local._beingKicked = false;
@@ -135,9 +135,8 @@ static void room_205_daemon() {
if (kernel.clock - local._lastFishTime > 1300) {
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 5, 0, 0, 1);
- int idx = _scene->_dynamicHotspots.add(words_piranha, words_walkto, g_sequence_ids[6],
- Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(49, 86), FACING_NORTH);
+ int idx = kernel_add_dynamic(words_piranha, words_walkto, 0, g_sequence_ids[6], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 49, 86, FACING_NORTH);
local._lastFishTime = kernel.clock;
}
@@ -211,7 +210,7 @@ static void room_205_parser() {
case 0x77:
kernel_message_add(quote_string(kernel.quotes, 0x7F), 186, 27, 0xFBFA, 120, 0, 0);
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
break;
default:
@@ -275,7 +274,7 @@ static void room_205_parser() {
} else if (player_said_2(take, chicken_on_spit) && global[kChickenPermitted] && object_is_here(OBJ_CHICKEN)) {
inter_give_to_player(OBJ_CHICKEN);
kernel_seq_delete(g_sequence_ids[4]);
- _scene->_hotspots.activate(words_chicken_on_spit, false);
+ kernel_flip_hotspot(words_chicken_on_spit, false);
object_examine(OBJ_CHICKEN, 812, 0);
} else if (player_said_2(take, chicken_on_spit) && (!global[kChickenPermitted]))
kernel_message_add(quote_string(kernel.quotes, 0x80), 186, 27, 0xFBFA, 120, 0, 32);
diff --git a/engines/mads/nebular/rooms/room207.cpp b/engines/mads/nebular/rooms/room207.cpp
index 27a1104ff19..d1c5e4c8932 100644
--- a/engines/mads/nebular/rooms/room207.cpp
+++ b/engines/mads/nebular/rooms/room207.cpp
@@ -71,15 +71,15 @@ static void room_207_init() {
if (local._vultureFl) {
g_sequence_ids[1] = kernel_seq_pingpong(g_sprite_ids[1], false, 30, 400, 0, 0);
- local._vultureHotspotId = _scene->_dynamicHotspots.add(words_vulture, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(local._vultureHotspotId, Common::Point(254, 94), FACING_WEST);
+ local._vultureHotspotId = kernel_add_dynamic(words_vulture, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(local._vultureHotspotId, 254, 94, FACING_WEST);
}
if (local._spiderFl) {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[4], -1, -1);
- local._spiderHotspotId = _scene->_dynamicHotspots.add(words_spider, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(local._spiderHotspotId, Common::Point(59, 132), FACING_SOUTH);
+ local._spiderHotspotId = kernel_add_dynamic(words_spider, words_walkto, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(local._spiderHotspotId, 59, 132, FACING_SOUTH);
}
local._eyeFl = false;
@@ -110,7 +110,7 @@ static void moveVulture() {
g_engine->_soundManager->command(43, 0);
local._vultureFl = false;
local._vultureTime = player.clock;
- _scene->_dynamicHotspots.remove(local._vultureHotspotId);
+ kernel_delete_dynamic(local._vultureHotspotId);
}
static void moveSpider() {
@@ -118,7 +118,7 @@ static void moveSpider() {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 5, 0, 0, 1);
local._spiderFl = false;
local._spiderTime = player.clock;
- _scene->_dynamicHotspots.remove(local._spiderHotspotId);
+ kernel_delete_dynamic(local._spiderHotspotId);
}
static void room_207_daemon() {
diff --git a/engines/mads/nebular/rooms/room208.cpp b/engines/mads/nebular/rooms/room208.cpp
index defa5ed09ec..4f5aead400b 100644
--- a/engines/mads/nebular/rooms/room208.cpp
+++ b/engines/mads/nebular/rooms/room208.cpp
@@ -45,9 +45,9 @@ static void updateTrap() {
if (global[kRhotundaStatus] == 1) {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 8, 24, 0, 0);
kernel_seq_depth(g_sequence_ids[1], 5);
- int idx = _scene->_dynamicHotspots.add(words_huge_legs, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(100, 146), FACING_NORTH);
- _scene->_hotspots.activate(414, false);
+ int idx = kernel_add_dynamic(words_huge_legs, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 100, 146, FACING_NORTH);
+ kernel_flip_hotspot(414, false);
return;
}
@@ -56,18 +56,18 @@ static void updateTrap() {
{
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 1);
kernel_seq_depth(g_sequence_ids[2], 15);
- int idx = _scene->_dynamicHotspots.add(words_pile_of_leaves, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(60, 152), FACING_NORTH);
+ int idx = kernel_add_dynamic(words_pile_of_leaves, words_walkto, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 60, 152, FACING_NORTH);
}
break;
case LEAVES_ON_TRAP:
{
kernel_seq_depth(g_sequence_ids[3], 15);
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
- _scene->_hotspots.activate(words_deep_pit, false);
- int idx = _scene->_dynamicHotspots.add(words_leaf_covered_pit, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(100, 146), FACING_NORTH);
- _scene->_dynamicHotspots[idx]._articleNumber = PREP_ON;
+ kernel_flip_hotspot(words_deep_pit, false);
+ int idx = kernel_add_dynamic(words_leaf_covered_pit, words_walkto, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 100, 146, FACING_NORTH);
+ kernel_dynamic_hot[idx].prep = PREP_ON;
}
break;
default:
diff --git a/engines/mads/nebular/rooms/room209.cpp b/engines/mads/nebular/rooms/room209.cpp
index 707077cf6e3..214b3b97252 100644
--- a/engines/mads/nebular/rooms/room209.cpp
+++ b/engines/mads/nebular/rooms/room209.cpp
@@ -124,7 +124,7 @@ static void handlePeek() {
case 138:
local._pauseMode = 1;
- _scene->_hotspots.activate(227, false);
+ kernel_flip_hotspot(227, false);
local._playingAnimFl = false;
break;
@@ -161,7 +161,7 @@ static void handleVerticalMove() {
case 143:
local._pauseMode = 1;
local._playingAnimFl = false;
- _scene->_hotspots.activate(227, false);
+ kernel_flip_hotspot(227, false);
break;
default:
@@ -459,7 +459,7 @@ static void handleJumpInTree() {
local._removeMonkeyFl = true;
local._pauseMode = 1;
local._playingAnimFl = false;
- _scene->_hotspots.activate(227, false);
+ kernel_flip_hotspot(227, false);
break;
default:
@@ -617,7 +617,7 @@ static void handleJumpAndHide() {
case 197:
local._pauseMode = 1;
- _scene->_hotspots.activate(227, false);
+ kernel_flip_hotspot(227, false);
local._playingAnimFl = false;
break;
@@ -753,7 +753,7 @@ static void handleMonkeyFall() {
g_sprite_ids[8] = kernel_load_series(kernel_name('m', 4), 0);
kernel_message_add(quote_string(kernel.quotes, 151), 180, 26, 0xFDFC, 90, 0, 0);
kernel_timing_trigger(40, 100);
- _scene->_hotspots.activate(227, false);
+ kernel_flip_hotspot(227, false);
int oldIdx = g_sequence_ids[3];
local._monkeyPosition = 1;
kernel_seq_delete(g_sequence_ids[3]);
@@ -769,7 +769,7 @@ static void handleMonkeyFall() {
{
g_engine->_soundManager->command(18, 0);
kernel_message_add(quote_string(kernel.quotes, 159), 182, 109, 0xFDFC, 90, 0, 0);
- _scene->_hotspots.activate(227, false);
+ kernel_flip_hotspot(227, false);
int oldIdx = g_sequence_ids[3];
local._monkeyPosition = 1;
kernel_seq_delete(g_sequence_ids[3]);
@@ -794,8 +794,8 @@ static void handleMonkeyFall() {
kernel_seq_timeout(oldIdx, g_sequence_ids[8]);
kernel_seq_range(g_sequence_ids[8], 43, 72);
kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 222);
- int idx = _scene->_dynamicHotspots.add(words_binoculars, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(200, 133), FACING_NORTH);
+ int idx = kernel_add_dynamic(words_binoculars, words_walkto, 0, g_sequence_ids[9], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 200, 133, FACING_NORTH);
}
break;
@@ -935,7 +935,7 @@ static void handleMonkey2() {
static void handleDodge() {
switch (kernel.trigger) {
case 241:
- _scene->_hotspots.activate(227, true);
+ kernel_flip_hotspot(227, true);
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 7);
kernel_timing_trigger(6, 242);
@@ -989,8 +989,8 @@ static void room_209_init() {
if (object_is_here(OBJ_PLANT_STALK)) {
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_plant_stalk, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(263, 129), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_plant_stalk, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 263, 129, FACING_SOUTH);
kernel_seq_depth(g_sequence_ids[1], 13);
}
@@ -1008,8 +1008,8 @@ static void room_209_init() {
g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
kernel_seq_loc(g_sequence_ids[9], 201, 131);
kernel_seq_depth(g_sequence_ids[9], 8);
- int idx = _scene->_dynamicHotspots.add(words_binoculars, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(200, 133), FACING_NORTH);
+ int idx = kernel_add_dynamic(words_binoculars, words_walkto, 0, g_sequence_ids[9], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 200, 133, FACING_NORTH);
}
if (kernel.teleported_in) {
@@ -1037,7 +1037,7 @@ static void room_209_init() {
local._removeMonkeyFl = true;
local._shootReadyFl = false;
- _scene->_hotspots.activate(227, false);
+ kernel_flip_hotspot(227, false);
section_2_music();
}
@@ -1050,7 +1050,7 @@ static void room_209_daemon() {
if ((local._monkeyPosition == 1) && (local._counter < 2)) {
kernel_timing_trigger(1, 133);
local._playingAnimFl = true;
- _scene->_hotspots.activate(227, true);
+ kernel_flip_hotspot(227, true);
++local._counter;
}
break;
@@ -1058,7 +1058,7 @@ static void room_209_daemon() {
case 2:
if ((local._monkeyPosition == 1) && (local._counter < 2)) {
kernel_timing_trigger(1, 140);
- _scene->_hotspots.activate(227, true);
+ kernel_flip_hotspot(227, true);
local._playingAnimFl = true;
++local._counter;
}
@@ -1067,7 +1067,7 @@ static void room_209_daemon() {
case 3:
if (local._monkeyPosition == 1) {
kernel_timing_trigger(1, 145);
- _scene->_hotspots.activate(227, true);
+ kernel_flip_hotspot(227, true);
local._playingAnimFl = true;
local._counter = 0;
}
@@ -1076,7 +1076,7 @@ static void room_209_daemon() {
case 4:
if ((local._monkeyPosition == 2) && (local._counter < 2)) {
kernel_timing_trigger(1, 151);
- _scene->_hotspots.activate(227, true);
+ kernel_flip_hotspot(227, true);
++local._counter;
local._playingAnimFl = true;
}
@@ -1085,7 +1085,7 @@ static void room_209_daemon() {
case 5:
if (local._monkeyPosition == 2) {
kernel_timing_trigger(1, 161);
- _scene->_hotspots.activate(227, true);
+ kernel_flip_hotspot(227, true);
local._counter = 0;
local._playingAnimFl = true;
}
@@ -1094,14 +1094,14 @@ static void room_209_daemon() {
case 6:
if (local._monkeyPosition == 2) {
kernel_timing_trigger(1, 189);
- _scene->_hotspots.activate(227, true);
+ kernel_flip_hotspot(227, true);
local._counter = 0;
local._playingAnimFl = true;
}
break;
case 7:
if (local._monkeyPosition == 3) {
- _scene->_hotspots.activate(227, true);
+ kernel_flip_hotspot(227, true);
kernel_timing_trigger(1, 167);
local._playingAnimFl = true;
}
@@ -1111,7 +1111,7 @@ static void room_209_daemon() {
if (local._monkeyPosition == 3) {
kernel_timing_trigger(1, 178);
local._playingAnimFl = true;
- _scene->_hotspots.activate(227, true);
+ kernel_flip_hotspot(227, true);
local._counter = 0;
}
break;
@@ -1119,7 +1119,7 @@ static void room_209_daemon() {
case 9:
if ((local._monkeyPosition == 3) && (player.x < 120)) {
kernel_timing_trigger(1, 182);
- _scene->_hotspots.activate(227, true);
+ kernel_flip_hotspot(227, true);
local._counter = 0;
local._playingAnimFl = true;
}
@@ -1128,7 +1128,7 @@ static void room_209_daemon() {
case 10:
if (local._monkeyPosition == 4) {
kernel_timing_trigger(1, 196);
- _scene->_hotspots.activate(227, true);
+ kernel_flip_hotspot(227, true);
local._playingAnimFl = true;
local._counter = 0;
}
@@ -1137,7 +1137,7 @@ static void room_209_daemon() {
case 11:
if ((local._monkeyPosition == 4) && (local._counter < 3)) {
kernel_timing_trigger(1, 199);
- _scene->_hotspots.activate(227, true);
+ kernel_flip_hotspot(227, true);
++local._counter;
local._playingAnimFl = true;
}
@@ -1146,7 +1146,7 @@ static void room_209_daemon() {
case 30:
if (local._monkeyPosition == 4) {
kernel_timing_trigger(1, 246);
- _scene->_hotspots.activate(227, true);
+ kernel_flip_hotspot(227, true);
local._counter = 0;
local._playingAnimFl = true;
}
diff --git a/engines/mads/nebular/rooms/room210.cpp b/engines/mads/nebular/rooms/room210.cpp
index 24e754c51c3..eefeb659049 100644
--- a/engines/mads/nebular/rooms/room210.cpp
+++ b/engines/mads/nebular/rooms/room210.cpp
@@ -102,7 +102,7 @@ static void newNode(int node) {
static void setDialogNode(int node) {
switch (node) {
case 0:
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
local._shouldFaceRex = false;
local._shouldTalk = false;
player.commands_allowed = true;
@@ -188,7 +188,7 @@ static void setDialogNode(int node) {
kernel_timing_trigger(6, 1);
}
} else {
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
local._shouldFaceRex = false;
local._shouldTalk = false;
player.commands_allowed = true;
@@ -320,8 +320,8 @@ static void setDialogNode(int node) {
local._shouldTalk = true;
player.commands_allowed = false;
if (local._twinklesTalking) {
- _scene->_userInterface.emptyConversationList();
- _scene->_userInterface.setup(kInputConversation);
+ inter_reset_dialog();
+ kernel_set_interface_mode(kInputConversation);
handleTwinklesSpeech(0xE4, -1, 0);
kernel_timing_trigger(180, 2);
} else {
@@ -636,9 +636,10 @@ static void room_210_init() {
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 5);
kernel_seq_depth(g_sequence_ids[1], 5);
} else {
- int idx = _scene->_dynamicHotspots.add(words_doorway, words_walk_through, -1, Common::Rect(163, 87, 163 + 19, 87 + 36));
- local._doorway = _scene->_dynamicHotspots.setPosition(idx, Common::Point(168, 127), FACING_NORTH);
- _scene->_dynamicHotspots.setCursor(local._doorway, CURSOR_GO_UP);
+ int idx = kernel_add_dynamic(words_doorway, words_walk_through, 0, -1, 163, 87, 19, 36);
+ kernel_dynamic_walk(idx, 168, 127, FACING_NORTH);
+ local._doorway = idx;
+ kernel_dynamic_cursor(local._doorway, CURSOR_GO_UP);
}
kernel.quotes = quote_load(0x5A, 0x73, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB8, 0xB7,
@@ -681,7 +682,7 @@ static void room_210_init() {
kernel_run_animation(kernel_name('A', -1), 0);
local._twinkleAnimationType = 1;
} else
- _scene->_hotspots.activate(476, false);
+ kernel_flip_hotspot(476, false);
if (local._curDialogNode) {
int quote = 0;
@@ -893,9 +894,9 @@ static void room_210_daemon() {
local._shouldTalk = false;
}
- if ((local._twinkleAnimationType == 1) && (_scene->_rails.getNext() > 0)) {
+ if ((local._twinkleAnimationType == 1) && (player.next_special_code > 0)) {
player_walk(214, 150, FACING_NORTHWEST);
- _scene->_rails.resetNext();
+ player.next_special_code = 0;
local._stopWalking = true;
}
}
@@ -1004,9 +1005,9 @@ static void room_210_parser() {
case 1:
player.commands_allowed = true;
global[kCurtainOpen] = true;
- local._doorway = _scene->_dynamicHotspots.add(words_doorway, words_walk_through, -1, Common::Rect(163, 87, 163 + 19, 87 + 36));
- _scene->_dynamicHotspots.setPosition(local._doorway, Common::Point(168, 127), FACING_NORTH);
- _scene->_dynamicHotspots.setCursor(local._doorway, CURSOR_GO_UP);
+ local._doorway = kernel_add_dynamic(words_doorway, words_walk_through, 0, -1, 163, 87, 19, 36);
+ kernel_dynamic_walk(local._doorway, 168, 127, FACING_NORTH);
+ kernel_dynamic_cursor(local._doorway, CURSOR_GO_UP);
break;
default:
@@ -1029,7 +1030,7 @@ static void room_210_parser() {
kernel_timing_trigger(48, 2);
break;
case 2:
- _scene->_dynamicHotspots.remove(local._doorway);
+ kernel_delete_dynamic(local._doorway);
player.commands_allowed = true;
global[kCurtainOpen] = false;
break;
diff --git a/engines/mads/nebular/rooms/room211.cpp b/engines/mads/nebular/rooms/room211.cpp
index 46a29386738..4c5f53a3174 100644
--- a/engines/mads/nebular/rooms/room211.cpp
+++ b/engines/mads/nebular/rooms/room211.cpp
@@ -71,7 +71,7 @@ static void room_211_init() {
kernel_seq_loc(g_sequence_ids[2], 202, 126);
kernel_seq_depth(g_sequence_ids[2], 8);
kernel_seq_motion(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, -200, 0);
- _scene->_dynamicHotspots.add(words_slithering_snake, words_walkto, g_sequence_ids[2], Common::Rect(1, 1, 1 + 41, 1 + 10));
+ kernel_add_dynamic(words_slithering_snake, words_walkto, 0, g_sequence_ids[2], 1, 1, 41, 10);
}
if (kernel.teleported_in)
@@ -119,8 +119,8 @@ static void room_211_daemon() {
g_engine->_soundManager->command(19, 0);
int count = (int)inven_num_objects;
for (int idx = 0; idx < count; idx++) {
- if ((inven[idx] == OBJ_BINOCULARS) && (_scene->_userInterface._selectedInvIndex != idx))
- _scene->_userInterface.selectObject(idx);
+ if ((inven[idx] == OBJ_BINOCULARS) && (active_inven != idx))
+ inter_set_active_inven(idx);
}
}
break;
@@ -177,7 +177,7 @@ static void room_211_daemon() {
break;
case 97:
- _scene->_userInterface.selectObject(-1);
+ inter_set_active_inven(-1);
inter_take_from_player(OBJ_BINOCULARS, 1);
break;
@@ -269,7 +269,7 @@ static void room_211_daemon() {
static void room_211_pre_parser() {
if (player_said_2(walk_down, jungle_path) && player_has(OBJ_BINOCULARS) && (global[kMonkeyStatus] == MONKEY_AMBUSH_READY)
- && (_scene->_customDest.x <= 52) && (_scene->_customDest.y >= 132))
+ && (inter_point_x <= 52) && (inter_point_y >= 132))
player_walk(52, 132, FACING_WEST);
if (player_said_2(walk_down, path_to_west)) {
diff --git a/engines/mads/nebular/rooms/room214.cpp b/engines/mads/nebular/rooms/room214.cpp
index a23b9f2ba51..826db8ebd7b 100644
--- a/engines/mads/nebular/rooms/room214.cpp
+++ b/engines/mads/nebular/rooms/room214.cpp
@@ -53,7 +53,7 @@ static void room_214_init() {
kernel_seq_loc(g_sequence_ids[1], 103, 86);
kernel_seq_depth(g_sequence_ids[1], 11);
} else {
- _scene->_hotspots.activate(words_poison_darts, false);
+ kernel_flip_hotspot(words_poison_darts, false);
}
if (object_is_here(OBJ_BLOWGUN)) {
@@ -61,7 +61,7 @@ static void room_214_init() {
kernel_seq_loc(g_sequence_ids[2], 90, 87);
kernel_seq_depth(g_sequence_ids[2], 13);
} else {
- _scene->_hotspots.activate(words_blowgun, false);
+ kernel_flip_hotspot(words_blowgun, false);
}
if (previous_room != RETURNING_FROM_DIALOG) {
@@ -78,7 +78,7 @@ static void room_214_daemon() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 6, 1);
kernel_seq_range(g_sequence_ids[3], 1, 4);
kernel_seq_depth(g_sequence_ids[3], 2);
- _scene->_dynamicHotspots.add(words_captive_creature, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
+ kernel_add_dynamic(words_captive_creature, words_walkto, 0, g_sequence_ids[3], 0, 0, 0, 0);
kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
}
@@ -89,7 +89,7 @@ static void room_214_daemon() {
int oldIdx = g_sequence_ids[3];
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 5);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- _scene->_dynamicHotspots.add(words_captive_creature, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
+ kernel_add_dynamic(words_captive_creature, words_walkto, 0, g_sequence_ids[3], 0, 0, 0, 0);
kernel_seq_range(g_sequence_ids[3], 5, 8);
kernel_seq_depth(g_sequence_ids[3], 2);
kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
@@ -101,7 +101,7 @@ static void room_214_daemon() {
int oldIdx = g_sequence_ids[3];
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 1);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- _scene->_dynamicHotspots.add(words_captive_creature, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
+ kernel_add_dynamic(words_captive_creature, words_walkto, 0, g_sequence_ids[3], 0, 0, 0, 0);
kernel_seq_range(g_sequence_ids[3], 9, -2);
kernel_seq_depth(g_sequence_ids[3], 2);
local._devilTime = player.clock;
@@ -136,7 +136,7 @@ static void room_214_parser() {
kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
kernel_seq_delete(g_sequence_ids[1]);
inter_give_to_player(OBJ_POISON_DARTS);
- _scene->_hotspots.activate(words_poison_darts, false);
+ kernel_flip_hotspot(words_poison_darts, false);
break;
case 2:
@@ -168,7 +168,7 @@ static void room_214_parser() {
kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
kernel_seq_delete(g_sequence_ids[2]);
inter_give_to_player(OBJ_BLOWGUN);
- _scene->_hotspots.activate(words_blowgun, false);
+ kernel_flip_hotspot(words_blowgun, false);
break;
case 2:
diff --git a/engines/mads/nebular/rooms/room216.cpp b/engines/mads/nebular/rooms/room216.cpp
index 0973233ba4d..c6e4ebf7c71 100644
--- a/engines/mads/nebular/rooms/room216.cpp
+++ b/engines/mads/nebular/rooms/room216.cpp
@@ -35,8 +35,8 @@ void room_216_init() {
player.commands_allowed = false;
player.walker_visible = false;
- _scene->_userInterface.emptyConversationList();
- _scene->_userInterface.setup(kInputConversation);
+ inter_reset_dialog();
+ kernel_set_interface_mode(kInputConversation);
kernel_run_animation(kernel_name('A', -1), 60);
section_2_music();
diff --git a/engines/mads/nebular/rooms/room307.cpp b/engines/mads/nebular/rooms/room307.cpp
index 2da92f70df5..b50ed8f7983 100644
--- a/engines/mads/nebular/rooms/room307.cpp
+++ b/engines/mads/nebular/rooms/room307.cpp
@@ -94,7 +94,7 @@ static void setDialogNode(int node) {
switch (node) {
case 0:
handlePrisonerSpeech(0x153, 2, 120);
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
break;
case 1:
@@ -111,7 +111,7 @@ static void setDialogNode(int node) {
case 4:
handlePrisonerSpeech(0x116, 1, 120);
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
break;
case 5:
@@ -122,7 +122,7 @@ static void setDialogNode(int node) {
case 6:
handlePrisonerSpeech(0x123, 1, 120);
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
break;
case 7:
@@ -183,7 +183,7 @@ static void setDialogNode(int node) {
case 15:
handlePrisonerSpeech(0x152, 1, 120);
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
break;
case 16:
@@ -347,11 +347,12 @@ static void room_307_init() {
}
if (local._grateOpenedFl) {
- _scene->_hotspots.activate(17, false);
+ kernel_flip_hotspot(17, false);
- int idx = _scene->_dynamicHotspots.add(words_air_vent, words_climb_into, -1, Common::Rect(117, 67, 117 + 19, 67 + 13));
- int hotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(129, 104), FACING_NORTH);
- _scene->_dynamicHotspots.setCursor(hotspotId, CURSOR_GO_UP);
+ int idx = kernel_add_dynamic(words_air_vent, words_climb_into, 0, -1, 117, 67, 19, 13);
+ kernel_dynamic_walk(idx, 129, 104, FACING_NORTH);
+ int hotspotId = idx;
+ kernel_dynamic_cursor(hotspotId, CURSOR_GO_UP);
kernel_seq_delete(g_sequence_ids[4]);
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 2);
@@ -543,10 +544,11 @@ static void room_307_parser() {
player.clock = kernel.clock - player.frame_delay;
kernel_seq_delete(g_sequence_ids[5]);
local._grateOpenedFl = true;
- _scene->_hotspots.activate(17, false);
- int idx = _scene->_dynamicHotspots.add(words_air_vent, words_climb_into, -1, Common::Rect(117, 67, 117 + 19, 67 + 13));
- int hotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(129, 104), FACING_NORTH);
- _scene->_dynamicHotspots.setCursor(hotspotId, CURSOR_GO_UP);
+ kernel_flip_hotspot(17, false);
+ int idx = kernel_add_dynamic(words_air_vent, words_climb_into, 0, -1, 117, 67, 19, 13);
+ kernel_dynamic_walk(idx, 129, 104, FACING_NORTH);
+ int hotspotId = idx;
+ kernel_dynamic_cursor(hotspotId, CURSOR_GO_UP);
inter_take_from_player(OBJ_SCALPEL, NOWHERE);
kernel_message_player(0xF2, 120, 7);
}
diff --git a/engines/mads/nebular/rooms/room309.cpp b/engines/mads/nebular/rooms/room309.cpp
index e121a0a6f0c..b6511aff4bc 100644
--- a/engines/mads/nebular/rooms/room309.cpp
+++ b/engines/mads/nebular/rooms/room309.cpp
@@ -134,8 +134,8 @@ static void room_309_daemon() {
switch (kernel.trigger) {
case 70:
{
- int idx = _scene->_dynamicHotspots.add(words_ghastly_beast, words_gawk_at, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(142, 146), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_ghastly_beast, words_gawk_at, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 142, 146, FACING_NORTHEAST);
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 7, 0, 0, 4);
kernel_seq_range(g_sequence_ids[3], 2, 3);
kernel_seq_depth(g_sequence_ids[3], 11);
diff --git a/engines/mads/nebular/rooms/room311.cpp b/engines/mads/nebular/rooms/room311.cpp
index e7e3a51bd8a..1aee4c2a5b9 100644
--- a/engines/mads/nebular/rooms/room311.cpp
+++ b/engines/mads/nebular/rooms/room311.cpp
@@ -178,7 +178,7 @@ static void room_311_daemon() {
break;
}
- if (player.walking && (_scene->_rails.getNext() > 0)) {
+ if (player.walking && (player.next_special_code > 0)) {
int x = player.prepare_walk_x;
if (x < 75)
x = 75;
@@ -187,7 +187,7 @@ static void room_311_daemon() {
local._checkGuardFl = true;
player_start_walking(x, 122, FACING_SOUTH);
- _scene->_rails.resetNext();
+ player.next_special_code = 0;
}
}
diff --git a/engines/mads/nebular/rooms/room313.cpp b/engines/mads/nebular/rooms/room313.cpp
index 0a33f35a20d..c6c1ed0be7e 100644
--- a/engines/mads/nebular/rooms/room313.cpp
+++ b/engines/mads/nebular/rooms/room313.cpp
@@ -34,7 +34,7 @@ namespace RexNebular {
namespace Rooms {
static void room_313_init() {
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
if ((previous_room == 366) || (previous_room == 316)) {
player.x = 30;
diff --git a/engines/mads/nebular/rooms/room318.cpp b/engines/mads/nebular/rooms/room318.cpp
index fc173b237a2..ec0669acdfa 100644
--- a/engines/mads/nebular/rooms/room318.cpp
+++ b/engines/mads/nebular/rooms/room318.cpp
@@ -115,7 +115,7 @@ static void handleDialog() {
kernel_seq_loc(g_sequence_ids[2], 142, 121);
kernel_seq_timeout(synxIdx, g_sequence_ids[2]);
g_engine->_soundManager->command(3, 0);
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
player.commands_allowed = true;
} else {
if (player2.words[0] < 0x19C)
@@ -215,15 +215,15 @@ static void room_318_init() {
kernel_run_animation(kernel_name('f', -1), 0);
kernel_anim[0].repeat = true;
} else if (!global[kHasSeenProfPyro]) {
- _scene->_hotspots.activate(words_professors_gurney, false);
- _scene->_hotspots.activate(words_professor, false);
- _scene->_hotspots.activate(words_tape_player, false);
+ kernel_flip_hotspot(words_professors_gurney, false);
+ kernel_flip_hotspot(words_professor, false);
+ kernel_flip_hotspot(words_tape_player, false);
}
if (object_is_here(OBJ_SCALPEL)) {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 120, 0, 0);
kernel_seq_depth(g_sequence_ids[3], 4);
- _scene->_dynamicHotspots.add(words_scalpel, words_take, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
+ kernel_add_dynamic(words_scalpel, words_take, 0, g_sequence_ids[3], 0, 0, 0, 0);
}
if (previous_room == 357) {
@@ -251,7 +251,7 @@ static void room_318_init() {
}
local._lastFrame = 0;
- _scene->_hotspots.activate(words_intern, false);
+ kernel_flip_hotspot(words_intern, false);
if (previous_room != RETURNING_FROM_DIALOG) {
local._dialogFl = false;
@@ -282,7 +282,7 @@ static void room_318_init() {
local._dialogFl = false;
} else {
kernel_run_animation(kernel_name('b', -1), 61);
- _scene->_hotspots.activate(words_intern, true);
+ kernel_flip_hotspot(words_intern, true);
}
if (local._dialogFl) {
@@ -368,7 +368,7 @@ static void room_318_daemon() {
if (nextFrame == 184) {
handleInternDialog(0x1D1, 3, 240);
- _scene->_hotspots.activate(words_intern, false);
+ kernel_flip_hotspot(words_intern, false);
local._internVisibleFl = false;
}
break;
diff --git a/engines/mads/nebular/rooms/room321.cpp b/engines/mads/nebular/rooms/room321.cpp
index 4047dd0c648..0b3ae3f9015 100644
--- a/engines/mads/nebular/rooms/room321.cpp
+++ b/engines/mads/nebular/rooms/room321.cpp
@@ -35,8 +35,8 @@ static void room_321_init() {
player.walker_visible = false;
player.commands_allowed = false;
- _scene->_userInterface.emptyConversationList();
- _scene->_userInterface.setup(kInputConversation);
+ inter_reset_dialog();
+ kernel_set_interface_mode(kInputConversation);
int suffixNum;
if (global[kSexOfRex] == REX_FEMALE) {
diff --git a/engines/mads/nebular/rooms/room351.cpp b/engines/mads/nebular/rooms/room351.cpp
index d0ca35bb32d..d1629e772a0 100644
--- a/engines/mads/nebular/rooms/room351.cpp
+++ b/engines/mads/nebular/rooms/room351.cpp
@@ -43,7 +43,7 @@ static void room_351_init() {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 0, 0);
kernel_seq_depth(g_sequence_ids[1], 4);
} else
- _scene->_hotspots.activate(words_credit_chip, false);
+ kernel_flip_hotspot(words_credit_chip, false);
if (previous_room == 352) {
player.x = 148;
@@ -141,7 +141,7 @@ static void room_351_parser() {
break;
case 1:
- _scene->_hotspots.activate(words_credit_chip, false);
+ kernel_flip_hotspot(words_credit_chip, false);
kernel_seq_delete(g_sequence_ids[1]);
inter_give_to_player(OBJ_CREDIT_CHIP);
break;
diff --git a/engines/mads/nebular/rooms/room352.cpp b/engines/mads/nebular/rooms/room352.cpp
index 19ccb769c51..4afc0ec7fe5 100644
--- a/engines/mads/nebular/rooms/room352.cpp
+++ b/engines/mads/nebular/rooms/room352.cpp
@@ -72,8 +72,8 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
case 2:
{
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 0, 0);
- int idx = _scene->_dynamicHotspots.add(words_guards_arm2, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(230, 117), FACING_NORTHWEST);
+ int idx = kernel_add_dynamic(words_guards_arm2, words_walkto, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 230, 117, FACING_NORTHWEST);
kernel_load_variant(0);
}
break;
@@ -152,8 +152,9 @@ static void room_352_init() {
if (object_is_here(OBJ_TAPE_PLAYER)) {
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 12, 0, 0, 0);
kernel_seq_depth(g_sequence_ids[5], 5);
- int idx = _scene->_dynamicHotspots.add(words_tape_player, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
- local._tapePlayerHotspotIdx = _scene->_dynamicHotspots.setPosition(idx, Common::Point(84, 145), FACING_WEST);
+ int idx = kernel_add_dynamic(words_tape_player, words_walkto, 0, g_sequence_ids[5], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 84, 145, FACING_WEST);
+ local._tapePlayerHotspotIdx = idx;
}
local._vaultOpenFl = false;
@@ -166,8 +167,8 @@ static void room_352_init() {
if (object_is_here(OBJ_GUARDS_ARM)) {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 0, 0);
- int idx = _scene->_dynamicHotspots.add(words_guards_arm2, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(230, 117), FACING_NORTHWEST);
+ int idx = kernel_add_dynamic(words_guards_arm2, words_walkto, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 230, 117, FACING_NORTHWEST);
} else
local._mustPutArmDownFl = true;
@@ -214,10 +215,10 @@ static void room_352_pre_parser() {
case 1:
if (!global[kHaveYourStuff])
- _scene->_dynamicHotspots.remove(local._hotspot2Idx);
+ kernel_delete_dynamic(local._hotspot2Idx);
- _scene->_dynamicHotspots.remove(local._hotspot1Idx);
- _scene->_dynamicHotspots.remove(local._lampHostpotIdx);
+ kernel_delete_dynamic(local._hotspot1Idx);
+ kernel_delete_dynamic(local._lampHostpotIdx);
local._vaultOpenFl = false;
player.commands_allowed = true;
break;
@@ -431,8 +432,9 @@ static void room_352_parser() {
local._vaultOpenFl = true;
int idx;
if (!global[kHaveYourStuff]) {
- idx = _scene->_dynamicHotspots.add(words_your_stuff, words_walkto, -1, Common::Rect(282, 87, 282 + 13, 87 + 7));
- local._hotspot2Idx = _scene->_dynamicHotspots.setPosition(idx, Common::Point(280, 111), FACING_NORTHEAST);
+ idx = kernel_add_dynamic(words_your_stuff, words_walkto, 0, -1, 282, 87, 13, 7);
+ kernel_dynamic_walk(idx, 280, 111, FACING_NORTHEAST);
+ local._hotspot2Idx = idx;
g_sequence_ids[1] = local._commonSequenceIdx;
kernel_message_add(quote_string(kernel.quotes, 0x102), 0, 0, 0x1110, 120, 0, 34);
} else {
@@ -440,10 +442,12 @@ static void room_352_parser() {
kernel_message_add(quote_string(kernel.quotes, 0x103), 0, 0, 0x1110, 120, 0, 34);
}
- idx = _scene->_dynamicHotspots.add(words_other_stuff, words_walkto, -1, Common::Rect(282, 48, 282 + 36, 48 + 27));
- local._hotspot1Idx = _scene->_dynamicHotspots.setPosition(idx, Common::Point(287, 115), FACING_NORTHEAST);
- idx = _scene->_dynamicHotspots.add(words_lamp, words_walkto, -1, Common::Rect(296, 76, 296 + 11, 76 + 17));
- local._lampHostpotIdx = _scene->_dynamicHotspots.setPosition(idx, Common::Point(287, 115), FACING_NORTHEAST);
+ idx = kernel_add_dynamic(words_other_stuff, words_walkto, 0, -1, 282, 48, 36, 27);
+ kernel_dynamic_walk(idx, 287, 115, FACING_NORTHEAST);
+ local._hotspot1Idx = idx;
+ idx = kernel_add_dynamic(words_lamp, words_walkto, 0, -1, 296, 76, 11, 17);
+ kernel_dynamic_walk(idx, 287, 115, FACING_NORTHEAST);
+ local._lampHostpotIdx = idx;
player.commands_allowed = true;
}
break;
@@ -473,7 +477,7 @@ static void room_352_parser() {
break;
case 1:
- _scene->_dynamicHotspots.remove(local._hotspot2Idx);
+ kernel_delete_dynamic(local._hotspot2Idx);
global[kHaveYourStuff] = true;
for (uint16 i = 0; i < num_objects; i++) {
@@ -519,7 +523,7 @@ static void room_352_parser() {
case 1:
kernel_seq_delete(g_sequence_ids[5]);
- _scene->_dynamicHotspots.remove(local._tapePlayerHotspotIdx);
+ kernel_delete_dynamic(local._tapePlayerHotspotIdx);
break;
case 2:
diff --git a/engines/mads/nebular/rooms/room359.cpp b/engines/mads/nebular/rooms/room359.cpp
index b2f66e74f0a..ea130c28bdd 100644
--- a/engines/mads/nebular/rooms/room359.cpp
+++ b/engines/mads/nebular/rooms/room359.cpp
@@ -53,8 +53,8 @@ static void room_359_init() {
if (object_is_here(OBJ_SECURITY_CARD)) {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 9, 0, 0, 0);
- local._cardHotspotId = _scene->_dynamicHotspots.add(words_security_card, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(local._cardHotspotId, Common::Point(107, 107), FACING_SOUTH);
+ local._cardHotspotId = kernel_add_dynamic(words_security_card, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(local._cardHotspotId, 107, 107, FACING_SOUTH);
}
if (previous_room == 358) {
@@ -106,7 +106,7 @@ static void room_359_parser() {
case 1:
kernel_seq_delete(g_sequence_ids[1]);
- _scene->_dynamicHotspots.remove(local._cardHotspotId);
+ kernel_delete_dynamic(local._cardHotspotId);
g_engine->_soundManager->command(57, 0);
inter_give_to_player(OBJ_SECURITY_CARD);
object_examine(OBJ_SECURITY_CARD, 0x330, 0);
diff --git a/engines/mads/nebular/rooms/room366.cpp b/engines/mads/nebular/rooms/room366.cpp
index 33793d2f19a..d9755cb69df 100644
--- a/engines/mads/nebular/rooms/room366.cpp
+++ b/engines/mads/nebular/rooms/room366.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_366_init() {
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
player.walker_visible = false;
section_3_music();
}
diff --git a/engines/mads/nebular/rooms/room387.cpp b/engines/mads/nebular/rooms/room387.cpp
index 44c3fe0d449..ecc5d89c752 100644
--- a/engines/mads/nebular/rooms/room387.cpp
+++ b/engines/mads/nebular/rooms/room387.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_387_init() {
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
player.walker_visible = false;
section_3_music();
diff --git a/engines/mads/nebular/rooms/room388.cpp b/engines/mads/nebular/rooms/room388.cpp
index 35fcd3cc027..7e217a44132 100644
--- a/engines/mads/nebular/rooms/room388.cpp
+++ b/engines/mads/nebular/rooms/room388.cpp
@@ -33,10 +33,10 @@ namespace RexNebular {
namespace Rooms {
static void room_388_init() {
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
if (global[kAfterHavoc])
- _scene->_hotspots.activate(words_sauropod, false);
+ kernel_flip_hotspot(words_sauropod, false);
else {
g_sprite_ids[0] = kernel_load_series(kernel_name('b', 0), 0);
g_sequence_ids[0] = kernel_seq_stamp(g_sprite_ids[0], false, 1);
diff --git a/engines/mads/nebular/rooms/room389.cpp b/engines/mads/nebular/rooms/room389.cpp
index a7a795de11f..74b14891e46 100644
--- a/engines/mads/nebular/rooms/room389.cpp
+++ b/engines/mads/nebular/rooms/room389.cpp
@@ -42,12 +42,12 @@ static Scratch local;
static void room_389_init() {
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
local._monsterTime = 0;
local._circularQuoteId = 0x159;
if (global[kAfterHavoc])
- _scene->_hotspots.activate(words_monster, false);
+ kernel_flip_hotspot(words_monster, false);
else {
g_sprite_ids[0] = kernel_load_series(kernel_name('m', -1), 0);
g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 6, 0, 0, 0);
diff --git a/engines/mads/nebular/rooms/room390.cpp b/engines/mads/nebular/rooms/room390.cpp
index 11e5af3b1f2..7601b9f480f 100644
--- a/engines/mads/nebular/rooms/room390.cpp
+++ b/engines/mads/nebular/rooms/room390.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_390_init() {
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
player.walker_visible = false;
section_3_music();
diff --git a/engines/mads/nebular/rooms/room391.cpp b/engines/mads/nebular/rooms/room391.cpp
index 43420ad6bc4..2d39bd015dc 100644
--- a/engines/mads/nebular/rooms/room391.cpp
+++ b/engines/mads/nebular/rooms/room391.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_391_init() {
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
player.walker_visible = false;
section_3_music();
}
diff --git a/engines/mads/nebular/rooms/room399.cpp b/engines/mads/nebular/rooms/room399.cpp
index 921c70f99d7..c68bd63b80f 100644
--- a/engines/mads/nebular/rooms/room399.cpp
+++ b/engines/mads/nebular/rooms/room399.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_399_init() {
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
player.walker_visible = false;
section_3_music();
}
diff --git a/engines/mads/nebular/rooms/room402.cpp b/engines/mads/nebular/rooms/room402.cpp
index c5c04ac6e5e..257691b7810 100644
--- a/engines/mads/nebular/rooms/room402.cpp
+++ b/engines/mads/nebular/rooms/room402.cpp
@@ -87,7 +87,7 @@ static void setDialogNode(int node) {
switch (node) {
case 0:
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
local._conversationFl = false;
local._bartenderDialogNode = 0;
break;
@@ -342,7 +342,7 @@ static void handleConversation4() {
local._roxMode = 21;
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
kernel_timing_trigger(1, 92);
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
local._conversationFl = false;
break;
@@ -525,7 +525,7 @@ static void room_402_init() {
if (local._conversationFl) {
switch (local._bartenderDialogNode) {
case 0:
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
local._bartenderDialogNode = 1;
break;
@@ -640,23 +640,23 @@ static void room_402_init() {
g_sequence_ids[14] = kernel_seq_stamp(g_sprite_ids[14], false, 1);
kernel_seq_depth(g_sequence_ids[14], 7);
kernel_seq_loc(g_sequence_ids[14], 210, 80);
- int idx = _scene->_dynamicHotspots.add(words_repair_list, words_look_at, g_sequence_ids[14], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(0, 0), FACING_NONE);
+ int idx = kernel_add_dynamic(words_repair_list, words_look_at, 0, g_sequence_ids[14], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 0, 0, FACING_NONE);
}
{
g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
kernel_seq_depth(g_sequence_ids[9], 8);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_bartender, words_walkto, 0, g_sequence_ids[9], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 228, 83, FACING_SOUTH);
}
if (!object_is_here(OBJ_ALIEN_LIQUOR) && !player_has(OBJ_CREDIT_CHIP)) {
g_sequence_ids[15] = kernel_seq_stamp(g_sprite_ids[15], false, 1);
kernel_seq_depth(g_sequence_ids[15], 8);
kernel_seq_loc(g_sequence_ids[15], 250, 80);
- int idx = _scene->_dynamicHotspots.add(words_credit_chip, words_take, g_sequence_ids[15], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(0, 0), FACING_NONE);
+ int idx = kernel_add_dynamic(words_credit_chip, words_take, 0, g_sequence_ids[15], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 0, 0, FACING_NONE);
}
g_sequence_ids[20] = kernel_seq_stamp(g_sprite_ids[20], false, 1);
@@ -717,8 +717,8 @@ static void room_402_daemon() {
g_sequence_ids[10] = kernel_seq_pingpong(g_sprite_ids[10], false, 7, 0, 0, 0);
kernel_seq_range(g_sequence_ids[10], 3, 4);
kernel_seq_depth(g_sequence_ids[10], 8);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[10], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_bartender, words_walkto, 0, g_sequence_ids[10], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 228, 83, FACING_SOUTH);
local._bartenderTalking = true;
if (local._talkTimer > 1000)
kernel_timing_trigger(local._talkTimer - 1000, 101);
@@ -730,8 +730,8 @@ static void room_402_daemon() {
if ((kernel.trigger == 101) && local._bartenderTalking) {
kernel_seq_delete(g_sequence_ids[10]);
g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_bartender, words_walkto, 0, g_sequence_ids[9], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 228, 83, FACING_SOUTH);
kernel_seq_depth(g_sequence_ids[9], 8);
local._bartenderSteady = true;
local._bartenderTalking = false;
@@ -867,8 +867,8 @@ static void room_402_daemon() {
g_sequence_ids[15] = kernel_seq_stamp(g_sprite_ids[15], false, 1);
kernel_seq_depth(g_sequence_ids[15], 8);
kernel_seq_loc(g_sequence_ids[15], 250, 80);
- int idx = _scene->_dynamicHotspots.add(words_credit_chip, words_take, g_sequence_ids[15], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(0, 0), FACING_NONE);
+ int idx = kernel_add_dynamic(words_credit_chip, words_take, 0, g_sequence_ids[15], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 0, 0, FACING_NONE);
}
break;
@@ -901,8 +901,8 @@ static void room_402_daemon() {
int seqIdx = g_sequence_ids[12];
g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
local._bartenderSteady = true;
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_bartender, words_walkto, 0, g_sequence_ids[9], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 228, 83, FACING_SOUTH);
kernel_seq_timeout(seqIdx, g_sequence_ids[9]);
kernel_seq_depth(g_sequence_ids[9], 8);
if (local._bartenderMode == 20) {
@@ -984,8 +984,8 @@ static void room_402_daemon() {
{
kernel_seq_delete(g_sequence_ids[9]);
g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_bartender, words_walkto, 0, g_sequence_ids[9], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 228, 83, FACING_SOUTH);
kernel_seq_depth(g_sequence_ids[9], 8);
local._bartenderSteady = true;
player.commands_allowed = true;
@@ -1083,8 +1083,8 @@ static void room_402_daemon() {
{
g_sequence_ids[10] = kernel_seq_stamp(g_sprite_ids[10], false, 4);
kernel_seq_depth(g_sequence_ids[10], 8);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[10], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_bartender, words_walkto, 0, g_sequence_ids[10], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 228, 83, FACING_SOUTH);
local._bartenderHandsHips = true;
}
break;
@@ -1093,8 +1093,8 @@ static void room_402_daemon() {
{
g_sequence_ids[11] = kernel_seq_stamp(g_sprite_ids[11], false, 2);
kernel_seq_depth(g_sequence_ids[11], 8);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[11], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_bartender, words_walkto, 0, g_sequence_ids[11], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 228, 83, FACING_SOUTH);
local._bartenderLooksLeft = true;
}
break;
@@ -1103,8 +1103,8 @@ static void room_402_daemon() {
{
g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
kernel_seq_depth(g_sequence_ids[9], 8);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_bartender, words_walkto, 0, g_sequence_ids[9], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 228, 83, FACING_SOUTH);
local._bartenderSteady = true;
}
break;
@@ -1402,16 +1402,16 @@ static void room_402_daemon() {
kernel_seq_delete(g_sequence_ids[10]);
local._bartenderHandsHips = false;
g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_bartender, words_walkto, 0, g_sequence_ids[9], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 228, 83, FACING_SOUTH);
local._bartenderSteady = true;
kernel_seq_depth(g_sequence_ids[9], 8);
} else if (local._bartenderLooksLeft) {
kernel_seq_delete(g_sequence_ids[11]);
local._bartenderLooksLeft = false;
g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_bartender, words_walkto, g_sequence_ids[9], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(228, 83), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_bartender, words_walkto, 0, g_sequence_ids[9], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 228, 83, FACING_SOUTH);
local._bartenderSteady = true;
kernel_seq_depth(g_sequence_ids[9], 8);
}
diff --git a/engines/mads/nebular/rooms/room408.cpp b/engines/mads/nebular/rooms/room408.cpp
index e10fad70ebf..f7687f24156 100644
--- a/engines/mads/nebular/rooms/room408.cpp
+++ b/engines/mads/nebular/rooms/room408.cpp
@@ -42,8 +42,8 @@ static void room_408_init() {
if (object_is_here(OBJ_TARGET_MODULE)) {
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 1);
kernel_seq_depth(g_sequence_ids[2], 3);
- int idx = _scene->_dynamicHotspots.add(words_target_module, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(283, 128), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_target_module, words_walkto, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 283, 128, FACING_NORTHEAST);
}
section_4_music();
}
diff --git a/engines/mads/nebular/rooms/room410.cpp b/engines/mads/nebular/rooms/room410.cpp
index 47629cff3c1..112bb7c76b7 100644
--- a/engines/mads/nebular/rooms/room410.cpp
+++ b/engines/mads/nebular/rooms/room410.cpp
@@ -38,7 +38,7 @@ static void room_410_init() {
if (object_is_here(OBJ_CHARGE_CASES))
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
else
- _scene->_hotspots.activate(words_charge_cases, false);
+ kernel_flip_hotspot(words_charge_cases, false);
if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 155;
@@ -114,7 +114,7 @@ static void room_410_parser() {
case 1:
kernel_seq_delete(g_sequence_ids[1]);
- _scene->_hotspots.activate(words_charge_cases, false);
+ kernel_flip_hotspot(words_charge_cases, false);
inter_give_to_player(OBJ_CHARGE_CASES);
object_examine(OBJ_CHARGE_CASES, 41032, 0);
break;
diff --git a/engines/mads/nebular/rooms/room411.cpp b/engines/mads/nebular/rooms/room411.cpp
index 67fab670477..cf8df5a2022 100644
--- a/engines/mads/nebular/rooms/room411.cpp
+++ b/engines/mads/nebular/rooms/room411.cpp
@@ -263,9 +263,9 @@ static void handleDialog() {
} else
local._killRox = true;
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
} else if (player2.words[0] == 0x262)
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
}
static void giveToRex(int object_id) {
@@ -327,11 +327,11 @@ static void room_411_init() {
local._dialog4.setup(0x5E, 0x255, 0x261, 0x25D, 0x259, 0x262, -1);
if (global[kNextIngredient] >= 4 && !object_check_quality(OBJ_CHARGE_CASES, 3)) {
- _scene->_hotspots.activate(words_kettle, false);
- _scene->_hotspots.activate(words_explosives, true);
+ kernel_flip_hotspot(words_kettle, false);
+ kernel_flip_hotspot(words_explosives, true);
} else {
- _scene->_hotspots.activate(words_explosives, false);
- _scene->_hotspots.activate(words_kettle, true);
+ kernel_flip_hotspot(words_explosives, false);
+ kernel_flip_hotspot(words_kettle, true);
}
if (global[kNextIngredient] >= 4 && object_check_quality(OBJ_CHARGE_CASES, 3)) {
@@ -377,22 +377,22 @@ static void room_411_init() {
if (object_is_here(OBJ_FORMALDEHYDE)) {
g_sequence_ids[7] = kernel_seq_stamp(g_sprite_ids[7], false, 1);
kernel_seq_depth(g_sequence_ids[7], 1);
- int idx = _scene->_dynamicHotspots.add(words_formaldehyde, words_walkto, g_sequence_ids[7], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(206, 145), FACING_SOUTHEAST);
+ int idx = kernel_add_dynamic(words_formaldehyde, words_walkto, 0, g_sequence_ids[7], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 206, 145, FACING_SOUTHEAST);
}
if (object_is_here(OBJ_PETROX)) {
g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 1);
kernel_seq_depth(g_sequence_ids[5], 8);
- int idx = _scene->_dynamicHotspots.add(words_petrox, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(186, 112), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_petrox, words_walkto, 0, g_sequence_ids[5], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 186, 112, FACING_NORTHEAST);
}
if (object_is_here(OBJ_LECITHIN)) {
g_sequence_ids[6] = kernel_seq_stamp(g_sprite_ids[6], false, 1);
kernel_seq_depth(g_sequence_ids[6], 8);
- int idx = _scene->_dynamicHotspots.add(words_lecithin, words_walkto, g_sequence_ids[6], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(220, 121), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_lecithin, words_walkto, 0, g_sequence_ids[6], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 220, 121, FACING_NORTHEAST);
}
if (previous_room != RETURNING_FROM_DIALOG) {
@@ -470,8 +470,8 @@ static void room_411_daemon() {
if (local._makeMushroomCloud) {
g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 5, 0, 0, 1);
local._makeMushroomCloud = false;
- _scene->_hotspots.activate(words_kettle, false);
- _scene->_hotspots.activate(words_explosives, true);
+ kernel_flip_hotspot(words_kettle, false);
+ kernel_flip_hotspot(words_explosives, true);
}
break;
@@ -558,8 +558,8 @@ static void room_411_parser() {
break;
case 111:
- _scene->_hotspots.activate(words_kettle, true);
- _scene->_hotspots.activate(words_explosives, false);
+ kernel_flip_hotspot(words_kettle, true);
+ kernel_flip_hotspot(words_explosives, false);
kernel_seq_delete(g_sequence_ids[4]);
kernel_seq_delete(g_sequence_ids[10]);
diff --git a/engines/mads/nebular/rooms/room501.cpp b/engines/mads/nebular/rooms/room501.cpp
index 68bdb59916c..4add35d8a15 100644
--- a/engines/mads/nebular/rooms/room501.cpp
+++ b/engines/mads/nebular/rooms/room501.cpp
@@ -99,9 +99,10 @@ static void room_501_init() {
}
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_door, words_walk_through, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- local._doorHotspotid = _scene->_dynamicHotspots.setPosition(idx, Common::Point(282, 110), FACING_NORTH);
- _scene->_dynamicHotspots.setCursor(local._doorHotspotid, CURSOR_GO_UP);
+ int idx = kernel_add_dynamic(words_door, words_walk_through, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 282, 110, FACING_NORTH);
+ local._doorHotspotid = idx;
+ kernel_dynamic_cursor(local._doorHotspotid, CURSOR_GO_UP);
kernel_seq_depth(g_sequence_ids[3], 7);
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, -1);
kernel_seq_depth(g_sequence_ids[2], 4);
@@ -161,7 +162,7 @@ static void room_501_daemon() {
break;
case 81:
- _scene->_dynamicHotspots.remove(local._doorHotspotid);
+ kernel_delete_dynamic(local._doorHotspotid);
player_walk(276, 110, FACING_SOUTHWEST);
kernel_timing_trigger(120, 82);
break;
@@ -170,9 +171,9 @@ static void room_501_daemon() {
g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 9, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[3], 7);
g_engine->_soundManager->command(12, 0);
- local._doorHotspotid = _scene->_dynamicHotspots.add(words_door, words_walk_through, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(g_sequence_ids[3], Common::Point(282, 110), FACING_NORTH);
- _scene->_dynamicHotspots.setCursor(local._doorHotspotid, CURSOR_GO_UP);
+ local._doorHotspotid = kernel_add_dynamic(words_door, words_walk_through, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(g_sequence_ids[3], 282, 110, FACING_NORTH);
+ kernel_dynamic_cursor(local._doorHotspotid, CURSOR_GO_UP);
kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 83);
break;
@@ -331,7 +332,7 @@ static void room_501_parser() {
case 4:
kernel_seq_delete(g_sequence_ids[3]);
- _scene->_dynamicHotspots.remove(local._doorHotspotid);
+ kernel_delete_dynamic(local._doorHotspotid);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[3], 7);
g_engine->_soundManager->command(11, 0);
diff --git a/engines/mads/nebular/rooms/room503.cpp b/engines/mads/nebular/rooms/room503.cpp
index 31a8d16058c..0d97298152c 100644
--- a/engines/mads/nebular/rooms/room503.cpp
+++ b/engines/mads/nebular/rooms/room503.cpp
@@ -49,8 +49,8 @@ static void room_503_init() {
if (object[OBJ_DETONATORS].location == room_id) {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 9, 0, 0, 0);
- local._detonatorHotspotId = _scene->_dynamicHotspots.add(words_detonators, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(local._detonatorHotspotId, Common::Point(254, 135), FACING_SOUTH);
+ local._detonatorHotspotId = kernel_add_dynamic(words_detonators, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(local._detonatorHotspotId, 254, 135, FACING_SOUTH);
}
if (previous_room != RETURNING_FROM_DIALOG) {
@@ -89,7 +89,7 @@ static void room_503_parser() {
case 1:
g_engine->_soundManager->command(9, 0);
kernel_seq_delete(g_sequence_ids[1]);
- _scene->_dynamicHotspots.remove(local._detonatorHotspotId);
+ kernel_delete_dynamic(local._detonatorHotspotId);
inter_give_to_player(OBJ_DETONATORS);
object_examine(OBJ_DETONATORS, 50326, 0);
break;
diff --git a/engines/mads/nebular/rooms/room506.cpp b/engines/mads/nebular/rooms/room506.cpp
index 4139bffa964..bc686bd6432 100644
--- a/engines/mads/nebular/rooms/room506.cpp
+++ b/engines/mads/nebular/rooms/room506.cpp
@@ -100,9 +100,10 @@ static void handleDoorSequences() {
case 83:
{
local._doorSequenceIdx = kernel_seq_stamp(local._doorSpriteIdx, false, 1);
- int idx = _scene->_dynamicHotspots.add(local._doorWord, words_walk_into, local._doorSequenceIdx, Common::Rect(0, 0, 0, 0));
- int hotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(local._doorPos_x, local._doorPos_y), FACING_NORTHWEST);
- _scene->_dynamicHotspots.setCursor(hotspotId, CURSOR_GO_LEFT);
+ int idx = kernel_add_dynamic(local._doorWord, words_walk_into, 0, local._doorSequenceIdx, 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, local._doorPos_x, local._doorPos_y, FACING_NORTHWEST);
+ int hotspotId = idx;
+ kernel_dynamic_cursor(hotspotId, CURSOR_GO_LEFT);
kernel_seq_depth(local._doorSequenceIdx, local._doorDepth);
local._firstDoorFl = true;
if (local._labDoorFl) {
@@ -148,14 +149,16 @@ static void room_506_init() {
}
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_laboratory, words_walk_into, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- int hotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(65, 125), FACING_NORTHWEST);
- _scene->_dynamicHotspots.setCursor(hotspotId, CURSOR_GO_LEFT);
+ int idx = kernel_add_dynamic(words_laboratory, words_walk_into, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 65, 125, FACING_NORTHWEST);
+ int hotspotId = idx;
+ kernel_dynamic_cursor(hotspotId, CURSOR_GO_LEFT);
kernel_seq_depth(g_sequence_ids[1], 10);
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 1);
- idx = _scene->_dynamicHotspots.add(words_software_store, words_walk_into, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
- hotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(112, 102), FACING_NORTHWEST);
- _scene->_dynamicHotspots.setCursor(hotspotId, CURSOR_GO_LEFT);
+ idx = kernel_add_dynamic(words_software_store, words_walk_into, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 112, 102, FACING_NORTHWEST);
+ hotspotId = idx;
+ kernel_dynamic_cursor(hotspotId, CURSOR_GO_LEFT);
kernel_seq_depth(g_sequence_ids[2], 13);
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -1);
diff --git a/engines/mads/nebular/rooms/room507.cpp b/engines/mads/nebular/rooms/room507.cpp
index 580c22fb47e..df9fe22eef0 100644
--- a/engines/mads/nebular/rooms/room507.cpp
+++ b/engines/mads/nebular/rooms/room507.cpp
@@ -45,8 +45,8 @@ static void room_507_init() {
if ((game.difficulty != DIFFICULTY_EASY) && (object[OBJ_PENLIGHT].location == room_id)) {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 9, 0, 0, 0);
- local._penlightHotspotId = _scene->_dynamicHotspots.add(words_penlight, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(local._penlightHotspotId, Common::Point(233, 152), FACING_SOUTHEAST);
+ local._penlightHotspotId = kernel_add_dynamic(words_penlight, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(local._penlightHotspotId, 233, 152, FACING_SOUTHEAST);
}
if (previous_room != RETURNING_FROM_DIALOG) {
@@ -76,7 +76,7 @@ static void room_507_parser() {
case 1:
kernel_seq_delete(g_sequence_ids[1]);
- _scene->_dynamicHotspots.remove(local._penlightHotspotId);
+ kernel_delete_dynamic(local._penlightHotspotId);
g_engine->_soundManager->command(27, 0);
inter_give_to_player(OBJ_PENLIGHT);
object_examine(OBJ_PENLIGHT, 50730, 0);
@@ -107,7 +107,7 @@ static void room_507_parser() {
else if (player_said_2(look, advertising_poster))
text_show(50715);
else if (player_said_2(look, sign)) {
- if (_scene->_customDest.x < 100)
+ if (inter_point_x < 100)
text_show(50726);
else
text_show(50716);
diff --git a/engines/mads/nebular/rooms/room508.cpp b/engines/mads/nebular/rooms/room508.cpp
index 8643e03971f..2ee71cc0bf6 100644
--- a/engines/mads/nebular/rooms/room508.cpp
+++ b/engines/mads/nebular/rooms/room508.cpp
@@ -57,25 +57,25 @@ static void room_508_init() {
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -2);
kernel_seq_depth(g_sequence_ids[3], 8);
g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, -2);
- int idx = _scene->_dynamicHotspots.add(words_spinach_patch_doll, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(57, 116), FACING_NORTHEAST);
- _scene->_hotspots.activate(words_hole, false);
- _scene->_hotspots.activate(words_laser_beam, false);
+ int idx = kernel_add_dynamic(words_spinach_patch_doll, words_walkto, 0, g_sequence_ids[5], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 57, 116, FACING_NORTHEAST);
+ kernel_flip_hotspot(words_hole, false);
+ kernel_flip_hotspot(words_laser_beam, false);
} else {
kernel_load_variant(1);
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -2);
kernel_seq_depth(g_sequence_ids[3], 8);
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, -2);
kernel_seq_depth(g_sequence_ids[4], 11);
- int idx = _scene->_dynamicHotspots.add(words_laser_beam, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(57, 116), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_laser_beam, words_walkto, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 57, 116, FACING_NORTHEAST);
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 15, 0, 0, 0);
kernel_seq_range(g_sequence_ids[2], 6, 8);
kernel_seq_depth(g_sequence_ids[2], 6);
if (global[kLaserHoleIsThere]) {
g_sequence_ids[7] = kernel_seq_stamp(g_sprite_ids[7], false, -2);
- _scene->_hotspots.activate(words_hole, true);
- _scene->_hotspots.activate(words_laser_beam, true);
+ kernel_flip_hotspot(words_hole, true);
+ kernel_flip_hotspot(words_laser_beam, true);
}
g_engine->_soundManager->command(21, 0);
}
@@ -136,8 +136,8 @@ static void handlePedestral() {
case 2:
g_sequence_ids[7] = kernel_seq_stamp(g_sprite_ids[7], false, -2);
- _scene->_hotspots.activate(words_hole, true);
- _scene->_hotspots.activate(words_laser_beam, true);
+ kernel_flip_hotspot(words_hole, true);
+ kernel_flip_hotspot(words_laser_beam, true);
break;
case 3:
@@ -205,8 +205,8 @@ static void room_508_parser() {
g_engine->_soundManager->command(22, 0);
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, -2);
kernel_seq_depth(g_sequence_ids[4], 11);
- int idx = _scene->_dynamicHotspots.add(words_laser_beam, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(57, 116), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_laser_beam, words_walkto, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 57, 116, FACING_NORTHEAST);
kernel_message_purge();
kernel_load_variant(1);
kernel_timing_trigger(30, 7);
diff --git a/engines/mads/nebular/rooms/room511.cpp b/engines/mads/nebular/rooms/room511.cpp
index 2d54585af9f..ad052676401 100644
--- a/engines/mads/nebular/rooms/room511.cpp
+++ b/engines/mads/nebular/rooms/room511.cpp
@@ -57,8 +57,8 @@ static void room_511_init() {
if (global[kLineStatus] == 2 || global[kLineStatus] == 3) {
g_sprite_ids[7] = kernel_load_series(kernel_name('b', 4), 0);
g_sequence_ids[7] = kernel_seq_stamp(g_sprite_ids[7], false, frame);
- int idx = _scene->_dynamicHotspots.add(words_fishing_line, words_walkto, g_sequence_ids[7], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(26, 153), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_fishing_line, words_walkto, 0, g_sequence_ids[7], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 26, 153, FACING_NORTHEAST);
kernel_seq_depth(g_sequence_ids[7], 3);
if (global[kBoatRaised])
kernel_load_variant(2);
@@ -71,10 +71,10 @@ static void room_511_init() {
g_sprite_ids[2] = kernel_load_series(kernel_name('b', 0), 0);
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 1);
kernel_seq_depth(g_sequence_ids[2], 3);
- _scene->_hotspots.activate(words_boat, false);
- int idx = _scene->_dynamicHotspots.add(words_boat, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(75, 124), FACING_NORTH);
- _scene->_hotspots.activate(words_rope, false);
+ kernel_flip_hotspot(words_boat, false);
+ int idx = kernel_add_dynamic(words_boat, words_walkto, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 75, 124, FACING_NORTH);
+ kernel_flip_hotspot(words_rope, false);
} else {
g_sprite_ids[5] = kernel_load_series(kernel_name('b', 2), 0);
g_sprite_ids[6] = kernel_load_series(kernel_name('b', 3), 0);
@@ -89,8 +89,8 @@ static void room_511_init() {
g_sequence_ids[6] = kernel_seq_stamp(g_sprite_ids[6], false, 1);
kernel_seq_depth(g_sequence_ids[6], 5);
- _scene->_hotspots.activate(words_rope, true);
- _scene->_hotspots.activate(words_boat, true);
+ kernel_flip_hotspot(words_rope, true);
+ kernel_flip_hotspot(words_boat, true);
kernel_load_variant(1);
}
@@ -294,8 +294,8 @@ static void room_511_parser() {
player.walker_visible = true;
g_sequence_ids[7] = kernel_seq_stamp(g_sprite_ids[7], false, -2);
kernel_seq_depth(g_sequence_ids[7], 4);
- int idx = _scene->_dynamicHotspots.add(words_fishing_line, words_walkto, g_sequence_ids[7], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(26, 153), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_fishing_line, words_walkto, 0, g_sequence_ids[7], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 26, 153, FACING_NORTHEAST);
inter_take_from_player(OBJ_FISHING_LINE, 1);
local._handingLine = false;
local._lineMoving = true;
diff --git a/engines/mads/nebular/rooms/room512.cpp b/engines/mads/nebular/rooms/room512.cpp
index 60f50e6db4a..24341f3d6d7 100644
--- a/engines/mads/nebular/rooms/room512.cpp
+++ b/engines/mads/nebular/rooms/room512.cpp
@@ -51,38 +51,38 @@ static void room_512_init() {
if (object[OBJ_FISHING_ROD].location == room_id) {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 9, 0, 0, 0);
- local._fishingRodHotspotId = _scene->_dynamicHotspots.add(words_fishing_rod, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(local._fishingRodHotspotId, Common::Point(199, 101), FACING_NORTHEAST);
+ local._fishingRodHotspotId = kernel_add_dynamic(words_fishing_rod, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(local._fishingRodHotspotId, 199, 101, FACING_NORTHEAST);
}
if (!player.been_here_before)
global[kRegisterOpen] = false;
- _scene->_hotspots.activate(words_padlock_key, false);
+ kernel_flip_hotspot(words_padlock_key, false);
if (game.difficulty == DIFFICULTY_EASY) {
if (object[OBJ_PADLOCK_KEY].location == room_id) {
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 10, 0, 0, 0);
kernel_seq_depth(g_sequence_ids[6], 3);
- local._keyHotspotId = _scene->_dynamicHotspots.add(words_padlock_key, words_walkto, g_sequence_ids[6], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(local._keyHotspotId, Common::Point(218, 152), FACING_NORTHEAST);
+ local._keyHotspotId = kernel_add_dynamic(words_padlock_key, words_walkto, 0, g_sequence_ids[6], 0, 0, 0, 0);
+ kernel_dynamic_walk(local._keyHotspotId, 218, 152, FACING_NORTHEAST);
}
if (global[kRegisterOpen]) {
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -2);
kernel_seq_depth(g_sequence_ids[3], 3);
- _scene->_hotspots.activate(words_padlock_key, false);
+ kernel_flip_hotspot(words_padlock_key, false);
}
} else if (global[kRegisterOpen]) {
if (object[OBJ_PADLOCK_KEY].location == room_id) {
- _scene->_hotspots.activate(words_padlock_key, true);
+ kernel_flip_hotspot(words_padlock_key, true);
g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, -2);
kernel_seq_depth(g_sequence_ids[5], 3);
} else {
- _scene->_hotspots.activate(words_padlock_key, false);
+ kernel_flip_hotspot(words_padlock_key, false);
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -2);
kernel_seq_depth(g_sequence_ids[3], 3);
}
} else
- _scene->_hotspots.activate(words_padlock_key, false);
+ kernel_flip_hotspot(words_padlock_key, false);
if (previous_room != RETURNING_FROM_DIALOG) {
player.x = 144;
@@ -111,7 +111,7 @@ static void room_512_parser() {
case 1:
g_engine->_soundManager->command(9, 0);
kernel_seq_delete(g_sequence_ids[1]);
- _scene->_dynamicHotspots.remove(local._fishingRodHotspotId);
+ kernel_delete_dynamic(local._fishingRodHotspotId);
inter_give_to_player(OBJ_FISHING_ROD);
object_examine(OBJ_FISHING_ROD, 51217, 0);
break;
@@ -173,7 +173,7 @@ static void room_512_parser() {
case 5:
g_sequence_ids[5] = kernel_seq_pingpong(g_sprite_ids[5], false, 14, 0, 0, 0);
kernel_seq_depth(g_sequence_ids[5], 3);
- _scene->_hotspots.activate(words_padlock_key, true);
+ kernel_flip_hotspot(words_padlock_key, true);
kernel_timing_trigger(60, 6);
break;
@@ -210,7 +210,7 @@ static void room_512_parser() {
kernel_seq_delete(g_sequence_ids[5]);
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 12, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[4], 3);
- _scene->_hotspots.activate(words_padlock_key, false);
+ kernel_flip_hotspot(words_padlock_key, false);
kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -246,12 +246,12 @@ static void room_512_parser() {
case 1:
if (Common::Point(player.x, player.y) == Common::Point(218, 152)) {
kernel_seq_delete(g_sequence_ids[6]);
- _scene->_dynamicHotspots.remove(local._keyHotspotId);
+ kernel_delete_dynamic(local._keyHotspotId);
} else {
kernel_seq_delete(g_sequence_ids[5]);
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -2);
kernel_seq_depth(g_sequence_ids[3], 3);
- _scene->_hotspots.activate(words_padlock_key, false);
+ kernel_flip_hotspot(words_padlock_key, false);
}
g_engine->_soundManager->command(9, 0);
inter_give_to_player(OBJ_PADLOCK_KEY);
diff --git a/engines/mads/nebular/rooms/room601.cpp b/engines/mads/nebular/rooms/room601.cpp
index 59b63f07255..411df287cb4 100644
--- a/engines/mads/nebular/rooms/room601.cpp
+++ b/engines/mads/nebular/rooms/room601.cpp
@@ -38,7 +38,7 @@ static void room_601_init() {
if (global[kLaserHoleIsThere]) {
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, -2);
- _scene->_dynamicHotspots.add(words_laser_beam, words_look_at, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
+ kernel_add_dynamic(words_laser_beam, words_look_at, 0, g_sequence_ids[1], 0, 0, 0, 0);
}
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, -1);
diff --git a/engines/mads/nebular/rooms/room602.cpp b/engines/mads/nebular/rooms/room602.cpp
index 106cffff03b..f45b17b925d 100644
--- a/engines/mads/nebular/rooms/room602.cpp
+++ b/engines/mads/nebular/rooms/room602.cpp
@@ -56,11 +56,11 @@ static void room_602_init() {
kernel_seq_depth(g_sequence_ids[1], 9);
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
kernel_seq_depth(g_sequence_ids[4], 9);
- int idx = _scene->_dynamicHotspots.add(words_laser_beam, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(80, 134), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_laser_beam, words_walkto, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 80, 134, FACING_NORTHEAST);
kernel_load_variant(1);
} else
- _scene->_hotspots.activate(words_hole, false);
+ kernel_flip_hotspot(words_hole, false);
if (global[kSafeStatus] == 0) {
local._lastSpriteIdx = g_sprite_ids[2];
@@ -78,17 +78,17 @@ static void room_602_init() {
local._lastSequenceIdx = kernel_seq_stamp(local._lastSpriteIdx, false, local._cycleIndex);
kernel_seq_depth(local._lastSequenceIdx, 14);
- int idx = _scene->_dynamicHotspots.add(words_safe, words_walkto, local._lastSequenceIdx, Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(185, 113), FACING_NORTHWEST);
+ int idx = kernel_add_dynamic(words_safe, words_walkto, 0, local._lastSequenceIdx, 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 185, 113, FACING_NORTHWEST);
if (object_is_here(OBJ_DOOR_KEY)) {
g_sprite_ids[6] = kernel_load_series(kernel_name('k', -1), 0);
g_sequence_ids[6] = kernel_seq_stamp(g_sprite_ids[6], false, -1);
kernel_seq_depth(g_sequence_ids[6], 15);
if (global[kSafeStatus] == 0 || global[kSafeStatus] == 2)
- _scene->_hotspots.activate(words_door_key, false);
+ kernel_flip_hotspot(words_door_key, false);
} else
- _scene->_hotspots.activate(words_door_key, false);
+ kernel_flip_hotspot(words_door_key, false);
if (previous_room == 603) {
player.x = 228;
@@ -138,7 +138,7 @@ static void handleSafeActions() {
local._lastSequenceIdx = kernel_seq_forward(local._lastSpriteIdx, false, 12, 0, 0, 1);
kernel_seq_depth(local._lastSequenceIdx, 14);
if (object[OBJ_DOOR_KEY].location == room_id)
- _scene->_hotspots.activate(words_door_key, true);
+ kernel_flip_hotspot(words_door_key, true);
kernel_seq_trigger(local._lastSequenceIdx,
SEQUENCE_TRIGGER_EXPIRE, 0, 2);
@@ -153,7 +153,7 @@ static void handleSafeActions() {
local._lastSequenceIdx = kernel_seq_pingpong(local._lastSpriteIdx, false, 12, 0, 0, 1);
kernel_seq_depth(local._lastSequenceIdx, 14);
if (object[OBJ_DOOR_KEY].location == room_id)
- _scene->_hotspots.activate(words_door_key, false);
+ kernel_flip_hotspot(words_door_key, false);
kernel_seq_trigger(local._lastSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 2);
}
@@ -165,8 +165,8 @@ static void handleSafeActions() {
local._lastSequenceIdx = kernel_seq_stamp(local._lastSpriteIdx, false, local._cycleIndex);
kernel_seq_depth(local._lastSequenceIdx, 14);
kernel_seq_timeout(synxIdx, local._lastSequenceIdx);
- int idx = _scene->_dynamicHotspots.add(words_safe, words_walkto, local._lastSequenceIdx, Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(185, 113), FACING_NORTHWEST);
+ int idx = kernel_add_dynamic(words_safe, words_walkto, 0, local._lastSequenceIdx, 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 185, 113, FACING_NORTHWEST);
if (local._safeMode == 3) {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x2F3), 0, 0, 0x1110, 120, 0, 34);
@@ -239,12 +239,12 @@ static void room_602_parser() {
local._lastSpriteIdx = g_sprite_ids[3];
local._lastSequenceIdx = kernel_seq_stamp(local._lastSpriteIdx, false, -1);
kernel_seq_depth(local._lastSequenceIdx, 14);
- int idx = _scene->_dynamicHotspots.add(words_safe, words_walkto, local._lastSequenceIdx, Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(185, 113), FACING_NORTHWEST);
+ int idx = kernel_add_dynamic(words_safe, words_walkto, 0, local._lastSequenceIdx, 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 185, 113, FACING_NORTHWEST);
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
kernel_seq_depth(g_sequence_ids[4], 9);
- idx = _scene->_dynamicHotspots.add(words_laser_beam, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(80, 134), FACING_NORTHEAST);
+ idx = kernel_add_dynamic(words_laser_beam, words_walkto, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 80, 134, FACING_NORTHEAST);
kernel_timing_trigger(60, 2);
}
break;
@@ -273,7 +273,7 @@ static void room_602_parser() {
case 1:
kernel_seq_delete(g_sequence_ids[6]);
- _scene->_hotspots.activate(words_door_key, false);
+ kernel_flip_hotspot(words_door_key, false);
g_engine->_soundManager->command(9, 0);
inter_give_to_player(OBJ_DOOR_KEY);
break;
diff --git a/engines/mads/nebular/rooms/room603.cpp b/engines/mads/nebular/rooms/room603.cpp
index b32fb4bc6a4..7c5b7038b7b 100644
--- a/engines/mads/nebular/rooms/room603.cpp
+++ b/engines/mads/nebular/rooms/room603.cpp
@@ -45,8 +45,8 @@ static void room_603_init() {
g_sprite_ids[1] = kernel_load_series(kernel_name('c', -1), 0);
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, -1);
kernel_seq_depth(g_sequence_ids[1], 1);
- local._compactCaseHotspotId = _scene->_dynamicHotspots.add(words_compact_case, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(local._compactCaseHotspotId, Common::Point(250, 152), FACING_SOUTHEAST);
+ local._compactCaseHotspotId = kernel_add_dynamic(words_compact_case, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(local._compactCaseHotspotId, 250, 152, FACING_SOUTHEAST);
}
if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_NOTE].location == room_id)) {
@@ -54,8 +54,8 @@ static void room_603_init() {
g_sprite_ids[2] = kernel_load_series(kernel_name('p', -1), 0);
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, -1);
kernel_seq_depth(g_sequence_ids[2], 14);
- local._noteHotspotId = _scene->_dynamicHotspots.add(words_note, words_walkto, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(local._noteHotspotId, Common::Point(242, 118), FACING_NORTHEAST);
+ local._noteHotspotId = kernel_add_dynamic(words_note, words_walkto, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(local._noteHotspotId, 242, 118, FACING_NORTHEAST);
}
if (previous_room != RETURNING_FROM_DIALOG) {
@@ -85,7 +85,7 @@ static void room_603_parser() {
case 1:
g_engine->_soundManager->command(9, 0);
kernel_seq_delete(g_sequence_ids[1]);
- _scene->_dynamicHotspots.remove(local._compactCaseHotspotId);
+ kernel_delete_dynamic(local._compactCaseHotspotId);
inter_give_to_player(OBJ_COMPACT_CASE);
object_examine(OBJ_COMPACT_CASE, 60330, 0);
break;
@@ -111,7 +111,7 @@ static void room_603_parser() {
} else if (kernel.trigger == 1) {
g_engine->_soundManager->command(9, 0);
kernel_seq_delete(g_sequence_ids[2]);
- _scene->_dynamicHotspots.remove(local._noteHotspotId);
+ kernel_delete_dynamic(local._noteHotspotId);
inter_give_to_player(OBJ_NOTE);
kernel_seq_delete(g_sequence_ids[3]);
player.clock = kernel.clock - player.frame_delay;
diff --git a/engines/mads/nebular/rooms/room604.cpp b/engines/mads/nebular/rooms/room604.cpp
index 67a50eb535d..98766c2b280 100644
--- a/engines/mads/nebular/rooms/room604.cpp
+++ b/engines/mads/nebular/rooms/room604.cpp
@@ -52,8 +52,8 @@ static void room_604_init() {
if (global[kTimebombStatus] == 1) {
g_sequence_ids[6] = kernel_seq_stamp(g_sprite_ids[6], false, -1);
- local._timebombHotspotId = _scene->_dynamicHotspots.add(words_timebomb, words_walkto, g_sequence_ids[6], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(local._timebombHotspotId, Common::Point(166, 118), FACING_NORTHEAST);
+ local._timebombHotspotId = kernel_add_dynamic(words_timebomb, words_walkto, 0, g_sequence_ids[6], 0, 0, 0, 0);
+ kernel_dynamic_walk(local._timebombHotspotId, 166, 118, FACING_NORTHEAST);
}
if (kernel.teleported_in)
@@ -186,14 +186,14 @@ static void handleBombActions() {
case 1:
g_sequence_ids[6] = kernel_seq_stamp(g_sprite_ids[6], false, -1);
- local._timebombHotspotId = _scene->_dynamicHotspots.add(words_timebomb, words_walkto, g_sequence_ids[6], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(local._timebombHotspotId, Common::Point(166, 118), FACING_NORTHEAST);
+ local._timebombHotspotId = kernel_add_dynamic(words_timebomb, words_walkto, 0, g_sequence_ids[6], 0, 0, 0, 0);
+ kernel_dynamic_walk(local._timebombHotspotId, 166, 118, FACING_NORTHEAST);
inter_move_object(OBJ_TIMEBOMB, room_id);
break;
case 2:
kernel_seq_delete(g_sequence_ids[6]);
- _scene->_dynamicHotspots.remove(local._timebombHotspotId);
+ kernel_delete_dynamic(local._timebombHotspotId);
inter_give_to_player(OBJ_TIMEBOMB);
break;
diff --git a/engines/mads/nebular/rooms/room605.cpp b/engines/mads/nebular/rooms/room605.cpp
index 33001940bd6..b2a7502e3a0 100644
--- a/engines/mads/nebular/rooms/room605.cpp
+++ b/engines/mads/nebular/rooms/room605.cpp
@@ -49,7 +49,7 @@ static void room_605_init() {
player.walker_visible = false;
player.commands_allowed = false;
kernel_timing_trigger(600, 70);
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
section_6_music();
g_engine->_soundManager->command(22, 0);
}
diff --git a/engines/mads/nebular/rooms/room607.cpp b/engines/mads/nebular/rooms/room607.cpp
index 403477d2b64..b900f6698db 100644
--- a/engines/mads/nebular/rooms/room607.cpp
+++ b/engines/mads/nebular/rooms/room607.cpp
@@ -72,7 +72,7 @@ static void room_607_init() {
local._dogEatsRex = false;
local._dogTimer = 0;
} else
- _scene->_hotspots.activate(words_obnoxious_dog, false);
+ kernel_flip_hotspot(words_obnoxious_dog, false);
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, -2);
kernel_seq_depth(g_sequence_ids[2], 4);
@@ -133,7 +133,7 @@ static void room_607_daemon() {
kernel_seq_depth(g_sequence_ids[1], 6);
local._dogBarking = false;
global[kDogStatus] = DOG_PRESENT;
- _scene->_hotspots.activate(words_obnoxious_dog, true);
+ kernel_flip_hotspot(words_obnoxious_dog, true);
}
if (!local._dogEatsRex && (game.difficulty != DIFFICULTY_EASY) && !local._animationActive && (global[kDogStatus] == DOG_PRESENT)
@@ -187,10 +187,10 @@ static void room_607_daemon() {
}
}
- if (player.walking && (game.difficulty != DIFFICULTY_EASY) && !local._shopAvailable && (global[kDogStatus] == DOG_PRESENT) && (_scene->_rails.getNext() > 0)) {
+ if (player.walking && (game.difficulty != DIFFICULTY_EASY) && !local._shopAvailable && (global[kDogStatus] == DOG_PRESENT) && (player.next_special_code > 0)) {
player_cancel_command();
player_start_walking(268, 72, FACING_NORTHEAST);
- _scene->_rails.resetNext();
+ player.next_special_code = 0;
}
if ((player.special_code > 0) && (game.difficulty != DIFFICULTY_EASY) && (global[kDogStatus] == DOG_PRESENT) && player.commands_allowed)
@@ -307,7 +307,7 @@ static void handleThrowingBone() {
player.clock = kernel_anim[0].next_clock - player.frame_delay;
if (local._animationMode != 1)
- _scene->_hotspots.activate(words_obnoxious_dog, false);
+ kernel_flip_hotspot(words_obnoxious_dog, false);
else {
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
kernel_seq_depth(g_sequence_ids[1], 6);
diff --git a/engines/mads/nebular/rooms/room608.cpp b/engines/mads/nebular/rooms/room608.cpp
index 56493daee2f..638e1fc7a51 100644
--- a/engines/mads/nebular/rooms/room608.cpp
+++ b/engines/mads/nebular/rooms/room608.cpp
@@ -68,8 +68,8 @@ static Scratch local;
static void resetDogVariables() {
g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_obnoxious_dog, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(194, 142), FACING_EAST);
+ int idx = kernel_add_dynamic(words_obnoxious_dog, words_walkto, 0, g_sequence_ids[5], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 194, 142, FACING_EAST);
kernel_seq_depth(g_sequence_ids[5], 4);
local._dogBarkingFl = false;
local._dogFirstEncounter = false;
@@ -181,16 +181,17 @@ static void room_608_init() {
if (object_is_here(OBJ_POLYCEMENT)) {
g_sprite_ids[1] = kernel_load_series(kernel_name('g', -1), 0);
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_polycement, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- local._polycementHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(249, 129), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_polycement, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 249, 129, FACING_NORTHEAST);
+ local._polycementHotspotId = idx;
kernel_seq_depth(g_sequence_ids[1], 6);
}
if (object_is_here(OBJ_REARVIEW_MIRROR)) {
g_sprite_ids[12] = kernel_load_series(kernel_name('m', -1), 0);
g_sequence_ids[12] = kernel_seq_stamp(g_sprite_ids[12], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_rearview_mirror, words_walkto, g_sequence_ids[12], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(71, 113), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_rearview_mirror, words_walkto, 0, g_sequence_ids[12], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 71, 113, FACING_NORTHEAST);
kernel_seq_depth(g_sequence_ids[12], 15);
}
@@ -233,37 +234,42 @@ static void room_608_init() {
local._carMode = 0;
local._dogDeathMode = 0;
local._resetPositionsFl = false;
- int idx = _scene->_dynamicHotspots.add(words_car, words_walkto, -1, Common::Rect(99, 69, 99 + 82, 69 + 25));
- local._carHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(96, 132), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_car, words_walkto, 0, -1, 99, 69, 82, 25);
+ kernel_dynamic_walk(idx, 96, 132, FACING_NORTHEAST);
+ local._carHotspotId = idx;
kernel_run_animation(kernel_name('A', -1), 0);
} else if (global[kCarStatus] == CAR_DOWN) {
local._carMode = 0;
local._dogDeathMode = 0;
local._resetPositionsFl = false;
- int idx = _scene->_dynamicHotspots.add(words_car, words_walkto, -1, Common::Rect(100, 100, 100 + 82, 100 + 25));
- local._carHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(96, 132), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_car, words_walkto, 0, -1, 100, 100, 82, 25);
+ kernel_dynamic_walk(idx, 96, 132, FACING_NORTHEAST);
+ local._carHotspotId = idx;
kernel_run_animation(kernel_name('A', -1), 0);
kernel_reset_animation(0, 6);
} else if (global[kCarStatus] == CAR_SQUASHES_DOG) {
local._carMode = 2;
local._dogDeathMode = 0;
local._resetPositionsFl = false;
- int idx = _scene->_dynamicHotspots.add(words_car, words_walkto, -1, Common::Rect(99, 69, 99 + 82, 69 + 25));
- local._carHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(96, 132), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_car, words_walkto, 0, -1, 99, 69, 82, 25);
+ kernel_dynamic_walk(idx, 96, 132, FACING_NORTHEAST);
+ local._carHotspotId = idx;
kernel_run_animation(kernel_name('C', -1), 0);
} else if (global[kCarStatus] == CAR_SQUASHES_DOG_AGAIN) {
local._carMode = 1;
local._dogDeathMode = 2;
local._resetPositionsFl = true;
- int idx = _scene->_dynamicHotspots.add(words_car, words_walkto, -1, Common::Rect(99, 69, 99 + 82, 69 + 25));
- local._carHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(96, 132), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_car, words_walkto, 0, -1, 99, 69, 82, 25);
+ kernel_dynamic_walk(idx, 96, 132, FACING_NORTHEAST);
+ local._carHotspotId = idx;
kernel_run_animation(kernel_name('B', -1), 0);
} else {
local._carMode = 3;
local._dogDeathMode = 2;
local._resetPositionsFl = true;
- int idx = _scene->_dynamicHotspots.add(words_car, words_walkto, -1, Common::Rect(100, 100, 100 + 82, 100 + 25));
- local._carHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(96, 132), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_car, words_walkto, 0, -1, 100, 100, 82, 25);
+ kernel_dynamic_walk(idx, 96, 132, FACING_NORTHEAST);
+ local._carHotspotId = idx;
kernel_run_animation(kernel_name('D', -1), 0);
}
@@ -328,8 +334,8 @@ static void room_608_daemon() {
kernel_seq_delete(g_sequence_ids[5]);
g_sequence_ids[5] = kernel_seq_pingpong(g_sprite_ids[5], false, 5, 0, 0, 8);
kernel_seq_depth(g_sequence_ids[5], 4);
- int idx = _scene->_dynamicHotspots.add(words_obnoxious_dog, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(194, 142), FACING_EAST);
+ int idx = kernel_add_dynamic(words_obnoxious_dog, words_walkto, 0, g_sequence_ids[5], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 194, 142, FACING_EAST);
local._barkCount = 0;
kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_SPRITE, 2, 100);
kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
@@ -392,7 +398,7 @@ static void room_608_daemon() {
local._dogRunTimer = 0;
} else {
local._dogSafeFl = false;
- if (player.walking && (game.difficulty == DIFFICULTY_HARD) && local._dogActiveFl && (_scene->_rails.getNext() > 0) && local._dogUnderCar)
+ if (player.walking && (game.difficulty == DIFFICULTY_HARD) && local._dogActiveFl && (player.next_special_code > 0) && local._dogUnderCar)
local._dogSafeFl = true;
}
@@ -593,10 +599,10 @@ static void room_608_daemon() {
}
}
- if (player.walking && (game.difficulty == DIFFICULTY_HARD) && local._dogActiveFl && (_scene->_rails.getNext() > 0)) {
+ if (player.walking && (game.difficulty == DIFFICULTY_HARD) && local._dogActiveFl && (player.next_special_code > 0)) {
player_cancel_command();
player_start_walking(194, 142, FACING_EAST);
- _scene->_rails.resetNext();
+ player.next_special_code = 0;
if (local._dogUnderCar)
local._dogSafeFl = true;
}
@@ -754,9 +760,10 @@ static void room_608_parser() {
if (local._carMoveMode != 0)
kernel_timing_trigger(1, 2);
else {
- _scene->_dynamicHotspots.remove(local._carHotspotId);
- int idx = _scene->_dynamicHotspots.add(words_car, words_walkto, -1, Common::Rect(100, 100, 100 + 82, 100 + 25));
- local._carHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(96, 132), FACING_NORTHEAST);
+ kernel_delete_dynamic(local._carHotspotId);
+ int idx = kernel_add_dynamic(words_car, words_walkto, 0, -1, 100, 100, 82, 25);
+ kernel_dynamic_walk(idx, 96, 132, FACING_NORTHEAST);
+ local._carHotspotId = idx;
if (global[kCarStatus] == CAR_SQUASHES_DOG)
kernel_timing_trigger(120, 3);
else {
@@ -823,9 +830,10 @@ static void room_608_parser() {
local._carMode = 3;
local._dogDeathMode = 2;
}
- _scene->_dynamicHotspots.remove(local._carHotspotId);
- int idx = _scene->_dynamicHotspots.add(words_car, words_walkto, -1, Common::Rect(99, 69, 99 + 82, 69 + 25));
- local._carHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(96, 132), FACING_NORTHEAST);
+ kernel_delete_dynamic(local._carHotspotId);
+ int idx = kernel_add_dynamic(words_car, words_walkto, 0, -1, 99, 69, 82, 25);
+ kernel_dynamic_walk(idx, 96, 132, FACING_NORTHEAST);
+ local._carHotspotId = idx;
player.commands_allowed = true;
}
break;
@@ -885,7 +893,7 @@ static void room_608_parser() {
case 1:
g_engine->_soundManager->command(9, 0);
kernel_seq_delete(g_sequence_ids[1]);
- _scene->_dynamicHotspots.remove(local._polycementHotspotId);
+ kernel_delete_dynamic(local._polycementHotspotId);
break;
case 2:
diff --git a/engines/mads/nebular/rooms/room609.cpp b/engines/mads/nebular/rooms/room609.cpp
index 3302e69fb8c..88717ee56e9 100644
--- a/engines/mads/nebular/rooms/room609.cpp
+++ b/engines/mads/nebular/rooms/room609.cpp
@@ -96,7 +96,7 @@ static void room_609_daemon() {
break;
case 61:
- _scene->_hotspots.activate(words_video_store_door, false);
+ kernel_flip_hotspot(words_video_store_door, false);
player_walk(101, 100, FACING_EAST);
kernel_timing_trigger(180, 62);
break;
@@ -104,7 +104,7 @@ static void room_609_daemon() {
case 62:
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 7, 0, 0, 1);
- _scene->_hotspots.activate(words_video_store_door, true);
+ kernel_flip_hotspot(words_video_store_door, true);
kernel_seq_depth(g_sequence_ids[2], 9);
kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 63);
break;
@@ -208,7 +208,7 @@ static void enterStore() {
break;
case 6:
- _scene->_hotspots.activate(words_video_store_door, false);
+ kernel_flip_hotspot(words_video_store_door, false);
if (local._videoDoorMode == 1) {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x307), 0, 0, 0x1110, 180, 0, 34);
@@ -225,7 +225,7 @@ static void enterStore() {
break;
case 8:
- _scene->_hotspots.activate(words_video_store_door, true);
+ kernel_flip_hotspot(words_video_store_door, true);
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, -1);
kernel_seq_depth(g_sequence_ids[2], 9);
global[kBeenInVideoStore] = true;
diff --git a/engines/mads/nebular/rooms/room610.cpp b/engines/mads/nebular/rooms/room610.cpp
index 13a205ba639..cdadf37041c 100644
--- a/engines/mads/nebular/rooms/room610.cpp
+++ b/engines/mads/nebular/rooms/room610.cpp
@@ -58,8 +58,8 @@ static void room_610_init() {
if (object[OBJ_PHONE_HANDSET].location == room_id) {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 9, 0, 0, 0);
- local._handsetHotspotId = _scene->_dynamicHotspots.add(words_phone_handset, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(local._handsetHotspotId, Common::Point(132, 121), FACING_NORTHWEST);
+ local._handsetHotspotId = kernel_add_dynamic(words_phone_handset, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(local._handsetHotspotId, 132, 121, FACING_NORTHWEST);
if ((global[kHandsetCellStatus] == 2) && (game.difficulty == DIFFICULTY_HARD) && !global[kDurafailRecharged])
global[kHandsetCellStatus] = 1;
}
@@ -116,7 +116,7 @@ static void room_610_parser() {
case 1:
g_engine->_soundManager->command(9, 0);
kernel_seq_delete(g_sequence_ids[1]);
- _scene->_dynamicHotspots.remove(local._handsetHotspotId);
+ kernel_delete_dynamic(local._handsetHotspotId);
inter_give_to_player(OBJ_PHONE_HANDSET);
object_examine(OBJ_PHONE_HANDSET, 61017, 0);
break;
@@ -145,8 +145,8 @@ static void room_610_parser() {
case 1:
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 9, 0, 0, 0);
- local._handsetHotspotId = _scene->_dynamicHotspots.add(words_phone_handset, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(local._handsetHotspotId, Common::Point(132, 121), FACING_NORTHWEST);
+ local._handsetHotspotId = kernel_add_dynamic(words_phone_handset, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(local._handsetHotspotId, 132, 121, FACING_NORTHWEST);
inter_move_object(OBJ_PHONE_HANDSET, room_id);
break;
diff --git a/engines/mads/nebular/rooms/room611.cpp b/engines/mads/nebular/rooms/room611.cpp
index 9c750f3e680..610e490d759 100644
--- a/engines/mads/nebular/rooms/room611.cpp
+++ b/engines/mads/nebular/rooms/room611.cpp
@@ -69,7 +69,7 @@ static void handleRatMoves() {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[1], 11, -2);
local._ratTimer = player.clock;
- _scene->_dynamicHotspots.remove(local._ratHotspotId);
+ kernel_delete_dynamic(local._ratHotspotId);
}
static void handleTrading() {
@@ -90,7 +90,7 @@ static void setDialogNode(int node) {
switch (node) {
case 0:
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
local._duringDialogFl = false;
local._hermitDialogNode = 0;
break;
@@ -959,7 +959,7 @@ static void room_611_init() {
local._stickFingerFl = false;
} else {
local._hermitMode = 0;
- _scene->_hotspots.activate(words_hermit, false);
+ kernel_flip_hotspot(words_hermit, false);
}
// WORKAROUND: Fix original adding 'give batteries' option even if you don't have them
@@ -975,7 +975,7 @@ static void room_611_init() {
switch (local._hermitDialogNode) {
case 0:
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
local._hermitDialogNode = 1;
break;
@@ -1011,8 +1011,9 @@ static void room_611_daemon() {
} else if (kernel.trigger == 81) {
int syncId = g_sequence_ids[1];
g_sequence_ids[1] = kernel_seq_pingpong(g_sprite_ids[1], false, 20, 0, 0, 0);
- int idx = _scene->_dynamicHotspots.add(words_rat, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- local._ratHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(272, 154), FACING_SOUTHEAST);
+ int idx = kernel_add_dynamic(words_rat, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 272, 154, FACING_SOUTHEAST);
+ local._ratHotspotId = idx;
kernel_seq_range(g_sequence_ids[1], 9, 10);
kernel_seq_timeout(syncId, g_sequence_ids[1]);
kernel_seq_depth(g_sequence_ids[1], 1);
@@ -1320,7 +1321,7 @@ static void room_611_daemon() {
local._startTradingFl = false;
local._nextFrame = 52;
global[kHasTalkedToHermit] = true;
- _scene->_hotspots.activate(words_hermit, false);
+ kernel_flip_hotspot(words_hermit, false);
} else {
player.commands_allowed = true;
local._hermitMode = 1;
diff --git a/engines/mads/nebular/rooms/room612.cpp b/engines/mads/nebular/rooms/room612.cpp
index 705f4d28bb9..cbd6b9a86d6 100644
--- a/engines/mads/nebular/rooms/room612.cpp
+++ b/engines/mads/nebular/rooms/room612.cpp
@@ -103,8 +103,8 @@ static void room_612_init() {
g_sprite_ids[5] = kernel_load_series(kernel_name('f', -1), 0);
g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, -1);
kernel_seq_depth(g_sequence_ids[5], 1);
- int idx = _scene->_dynamicHotspots.add(words_fishing_line, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(34, 117), FACING_SOUTHEAST);
+ int idx = kernel_add_dynamic(words_fishing_line, words_walkto, 0, g_sequence_ids[5], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 34, 117, FACING_SOUTHEAST);
}
if (global[kBoatRaised])
diff --git a/engines/mads/nebular/rooms/room620.cpp b/engines/mads/nebular/rooms/room620.cpp
index 432c3c84372..19a77bc3bdb 100644
--- a/engines/mads/nebular/rooms/room620.cpp
+++ b/engines/mads/nebular/rooms/room620.cpp
@@ -37,7 +37,7 @@ static void room_620_init() {
player.commands_allowed = false;
player.walker_visible = false;
kernel_timing_trigger(30, 70);
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
section_6_music();
}
diff --git a/engines/mads/nebular/rooms/room701.cpp b/engines/mads/nebular/rooms/room701.cpp
index 068a697310e..2c3fea8180a 100644
--- a/engines/mads/nebular/rooms/room701.cpp
+++ b/engines/mads/nebular/rooms/room701.cpp
@@ -88,12 +88,12 @@ static void room_701_init() {
{
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, -1);
kernel_seq_depth(g_sequence_ids[2], 9);
- int idx = _scene->_dynamicHotspots.add(words_boat, words_climb_into, g_sequence_ids[2], Common::Rect());
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(231, 127), FACING_NORTH);
+ int idx = kernel_add_dynamic(words_boat, words_climb_into, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 231, 127, FACING_NORTH);
break;
}
case BOAT_GONE:
- _scene->_hotspots.activate(words_boat, false);
+ kernel_flip_hotspot(words_boat, false);
break;
default:
break;
@@ -102,8 +102,9 @@ static void room_701_init() {
if (global[kLineStatus] == LINE_DROPPED || global[kLineStatus] == LINE_TIED) {
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -1);
kernel_seq_depth(g_sequence_ids[3], 8);
- int idx = _scene->_dynamicHotspots.add(words_fishing_line, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- local._fishingLineId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(234, 129), FACING_NORTHEAST);
+ int idx = kernel_add_dynamic(words_fishing_line, words_walkto, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 234, 129, FACING_NORTHEAST);
+ local._fishingLineId = idx;
}
if (previous_room == 702) {
@@ -190,8 +191,8 @@ static void room_701_daemon() {
player.clock = kernel.clock - player.frame_delay;
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, -1);
kernel_seq_depth(g_sequence_ids[2], 9);
- int idx = _scene->_dynamicHotspots.add(words_boat, words_climb_into, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(234, 129), FACING_NORTH);
+ int idx = kernel_add_dynamic(words_boat, words_climb_into, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 234, 129, FACING_NORTH);
global[kBoatStatus] = BOAT_TIED;
player.commands_allowed = true;
}
@@ -289,8 +290,8 @@ static void room_701_parser() {
player.commands_allowed = false;
kernel_seq_delete(g_sequence_ids[4]);
kernel_seq_delete(g_sequence_ids[3]);
- _scene->_dynamicHotspots.remove(local._fishingLineId);
- _scene->_hotspots.activate(words_boat, false);
+ kernel_delete_dynamic(local._fishingLineId);
+ kernel_flip_hotspot(words_boat, false);
player.walker_visible = false;
kernel_run_animation(kernel_name('E', -1), 1);
break;
@@ -301,8 +302,8 @@ static void room_701_parser() {
player.clock = kernel_anim[0].next_clock - player.frame_delay;
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, -1);
kernel_seq_depth(g_sequence_ids[2], 9);
- int idx = _scene->_dynamicHotspots.add(words_boat, words_climb_into, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(231, 127), FACING_NORTH);
+ int idx = kernel_add_dynamic(words_boat, words_climb_into, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 231, 127, FACING_NORTH);
kernel_timing_trigger(15, 2);
}
break;
diff --git a/engines/mads/nebular/rooms/room703.cpp b/engines/mads/nebular/rooms/room703.cpp
index e9821c43049..348ad8948e8 100644
--- a/engines/mads/nebular/rooms/room703.cpp
+++ b/engines/mads/nebular/rooms/room703.cpp
@@ -92,7 +92,7 @@ static void handleBottleInterface() {
}
static void setBottleSequence() {
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
player.commands_allowed = false;
if (local._boatDir == 2)
local._curSequence = 6;
@@ -123,7 +123,7 @@ static void handleFillBottle(int quote) {
break;
case 0x315:
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
break;
default:
@@ -149,7 +149,7 @@ static void room_703_init() {
local._boatFrame = -1;
if (!global[kMonsterAlive])
- _scene->_hotspots.activate(words_sea_monster, false);
+ kernel_flip_hotspot(words_sea_monster, false);
if (previous_room == 704) {
player.commands_allowed = false;
@@ -463,7 +463,7 @@ static void room_703_daemon() {
break;
case 126:
- _scene->_hotspots.activate(words_sea_monster, false);
+ kernel_flip_hotspot(words_sea_monster, false);
global[kMonsterAlive] = false;
kernel_abort_animation(0);
local._monsterMode = 0;
diff --git a/engines/mads/nebular/rooms/room704.cpp b/engines/mads/nebular/rooms/room704.cpp
index 11dc69c18d3..8daf58d8515 100644
--- a/engines/mads/nebular/rooms/room704.cpp
+++ b/engines/mads/nebular/rooms/room704.cpp
@@ -84,7 +84,7 @@ static void handleBottleInterface() {
}
static void setBottleSequence() {
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
player.commands_allowed = false;
if (local._boatDirection == 2)
local._animationMode = 6;
@@ -115,7 +115,7 @@ static void handleFillBottle(int quote) {
break;
case 0x315:
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
break;
default:
@@ -135,8 +135,9 @@ static void room_704_init() {
kernel_seq_loc(g_sequence_ids[1], 190, 122);
kernel_seq_depth(g_sequence_ids[1], 2);
}
- int idx = _scene->_dynamicHotspots.add(words_bottle, words_look_at, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- local._bottleHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(-2, 0), FACING_NONE);
+ int idx = kernel_add_dynamic(words_bottle, words_look_at, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, -2, 0, FACING_NONE);
+ local._bottleHotspotId = idx;
}
player.walker_visible = false;
@@ -247,7 +248,7 @@ static void room_704_daemon() {
case 90:
if (local._takeBottleFl) {
kernel_seq_delete(g_sequence_ids[1]);
- _scene->_dynamicHotspots.remove(local._bottleHotspotId);
+ kernel_delete_dynamic(local._bottleHotspotId);
inter_give_to_player(OBJ_BOTTLE);
g_engine->_soundManager->command(15, 0);
object_examine(OBJ_BOTTLE, 70415, 0);
@@ -265,7 +266,7 @@ static void room_704_daemon() {
case 98:
if (local._takeBottleFl) {
kernel_seq_delete(g_sequence_ids[1]);
- _scene->_dynamicHotspots.remove(local._bottleHotspotId);
+ kernel_delete_dynamic(local._bottleHotspotId);
inter_give_to_player(OBJ_BOTTLE);
g_engine->_soundManager->command(15, 0);
object_examine(OBJ_BOTTLE, 70415, 0);
diff --git a/engines/mads/nebular/rooms/room705.cpp b/engines/mads/nebular/rooms/room705.cpp
index 048801ecdc5..5b99c758763 100644
--- a/engines/mads/nebular/rooms/room705.cpp
+++ b/engines/mads/nebular/rooms/room705.cpp
@@ -79,7 +79,7 @@ static void handleBottleInterface() {
}
static void setBottleSequence() {
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
player.commands_allowed = false;
kernel_seq_delete(g_sequence_ids[3]);
kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
@@ -109,7 +109,7 @@ static void handleFillBottle(int quote) {
break;
case 0x315:
- _scene->_userInterface.setup(kInputBuildingSentences);
+ kernel_set_interface_mode(kInputBuildingSentences);
break;
default:
diff --git a/engines/mads/nebular/rooms/room706.cpp b/engines/mads/nebular/rooms/room706.cpp
index 735544e106c..be854bebd7c 100644
--- a/engines/mads/nebular/rooms/room706.cpp
+++ b/engines/mads/nebular/rooms/room706.cpp
@@ -84,14 +84,14 @@ static void handleTakeVase() {
case 1:
g_engine->_soundManager->command(9, 0);
kernel_seq_delete(g_sequence_ids[1]);
- _scene->_dynamicHotspots.remove(local._vaseHotspotId);
+ kernel_delete_dynamic(local._vaseHotspotId);
inter_give_to_player(OBJ_VASE);
if (local._vaseMode == 1) {
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
kernel_seq_depth(g_sequence_ids[4], 4);
kernel_seq_loc(g_sequence_ids[4], 195, 99);
- int idx = _scene->_dynamicHotspots.add(words_bottle, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(175, 124), FACING_SOUTHEAST);
+ int idx = kernel_add_dynamic(words_bottle, words_walkto, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 175, 124, FACING_SOUTHEAST);
inter_move_object(OBJ_BOTTLE, room_id);
}
break;
@@ -119,14 +119,15 @@ static void room_706_init() {
g_sprite_ids[1] = kernel_load_series(kernel_name('v', -1), 0);
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
kernel_seq_depth(g_sequence_ids[1], 4);
- int idx = _scene->_dynamicHotspots.add(words_vase, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- local._vaseHotspotId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(175, 124), FACING_SOUTHEAST);
+ int idx = kernel_add_dynamic(words_vase, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 175, 124, FACING_SOUTHEAST);
+ local._vaseHotspotId = idx;
} else if (object_is_here(OBJ_BOTTLE)) {
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
kernel_seq_depth(g_sequence_ids[4], 4);
kernel_seq_loc(g_sequence_ids[4], 195, 99);
- int idx = _scene->_dynamicHotspots.add(words_bottle, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(175, 124), FACING_SOUTHEAST);
+ int idx = kernel_add_dynamic(words_bottle, words_walkto, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 175, 124, FACING_SOUTHEAST);
}
player.walker_visible = true;
@@ -201,8 +202,8 @@ static void room_706_daemon() {
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
kernel_seq_depth(g_sequence_ids[4], 4);
kernel_seq_loc(g_sequence_ids[4], 195, 99);
- int idx = _scene->_dynamicHotspots.add(words_bottle, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(175, 124), FACING_SOUTHEAST);
+ int idx = kernel_add_dynamic(words_bottle, words_walkto, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 175, 124, FACING_SOUTHEAST);
}
}
}
diff --git a/engines/mads/nebular/rooms/room710.cpp b/engines/mads/nebular/rooms/room710.cpp
index 3cc8634a089..98d66e6f9c3 100644
--- a/engines/mads/nebular/rooms/room710.cpp
+++ b/engines/mads/nebular/rooms/room710.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_710_init() {
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
if (object[OBJ_VASE].location == 706) {
g_sprite_ids[1] = kernel_load_series(kernel_name('g', -1), 0);
diff --git a/engines/mads/nebular/rooms/room751.cpp b/engines/mads/nebular/rooms/room751.cpp
index 25466a9924f..776324ff7ca 100644
--- a/engines/mads/nebular/rooms/room751.cpp
+++ b/engines/mads/nebular/rooms/room751.cpp
@@ -50,8 +50,8 @@ static void room_751_init() {
if (global[kLineStatus] == 2 || global[kLineStatus] == 3) {
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -1);
kernel_seq_depth(g_sequence_ids[3], 7);
- int idx = _scene->_dynamicHotspots.add(words_fishing_line, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(268, 140), FACING_NORTHWEST);
+ int idx = kernel_add_dynamic(words_fishing_line, words_walkto, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 268, 140, FACING_NORTHWEST);
}
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
@@ -88,8 +88,8 @@ static void room_751_init() {
} else if (global[kLineStatus] == 2) {
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -1);
kernel_seq_depth(g_sequence_ids[3], 7);
- int idx = _scene->_dynamicHotspots.add(words_fishing_line, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(268, 140), FACING_NORTHWEST);
+ int idx = kernel_add_dynamic(words_fishing_line, words_walkto, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 268, 140, FACING_NORTHWEST);
}
if (kernel.teleported_in) {
@@ -315,8 +315,8 @@ static void room_751_parser() {
player.walker_visible = true;
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -1);
kernel_seq_depth(g_sequence_ids[3], 7);
- int idx = _scene->_dynamicHotspots.add(words_fishing_line, words_walkto, g_sequence_ids[3], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(268, 140), FACING_NORTHWEST);
+ int idx = kernel_add_dynamic(words_fishing_line, words_walkto, 0, g_sequence_ids[3], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 268, 140, FACING_NORTHWEST);
kernel_message_purge();
inter_move_object(OBJ_FISHING_LINE, room_id);
local._rexHandingLine = false;
diff --git a/engines/mads/nebular/rooms/room752.cpp b/engines/mads/nebular/rooms/room752.cpp
index 3fe911c6264..a23aa35275d 100644
--- a/engines/mads/nebular/rooms/room752.cpp
+++ b/engines/mads/nebular/rooms/room752.cpp
@@ -58,15 +58,16 @@ static void room_752_init() {
g_sprite_ids[13] = kernel_load_series(kernel_name('i', -1), 0);
g_sequence_ids[13] = kernel_seq_stamp(g_sprite_ids[13], false, 1);
kernel_seq_depth(g_sequence_ids[13], 8);
- int idx = _scene->_dynamicHotspots.add(words_id_card, words_walkto, g_sequence_ids[13], Common::Rect(0, 0, 0, 0));
- local._cardId = _scene->_dynamicHotspots.setPosition(idx, Common::Point(234, 135), FACING_NORTH);
+ int idx = kernel_add_dynamic(words_id_card, words_walkto, 0, g_sequence_ids[13], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 234, 135, FACING_NORTH);
+ local._cardId = idx;
}
if (global[kLaserHoleIsThere]) {
g_sequence_ids[14] = kernel_seq_stamp(g_sprite_ids[14], false, 1);
kernel_seq_depth(g_sequence_ids[14], 13);
- int idx = _scene->_dynamicHotspots.add(words_laser_beam, words_look_at, g_sequence_ids[14], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(215, 130), FACING_NORTHWEST);
+ int idx = kernel_add_dynamic(words_laser_beam, words_look_at, 0, g_sequence_ids[14], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 215, 130, FACING_NORTHWEST);
}
if (global[kTeleporterCommand]) {
@@ -131,7 +132,7 @@ static void room_752_parser() {
g_engine->_soundManager->command(15, 0);
kernel_seq_delete(g_sequence_ids[13]);
inter_give_to_player(OBJ_ID_CARD);
- _scene->_dynamicHotspots.remove(local._cardId);
+ kernel_delete_dynamic(local._cardId);
object_examine(OBJ_ID_CARD, 830, 0);
break;
case 2:
diff --git a/engines/mads/nebular/rooms/room802.cpp b/engines/mads/nebular/rooms/room802.cpp
index ac825738996..fec9ae19ea2 100644
--- a/engines/mads/nebular/rooms/room802.cpp
+++ b/engines/mads/nebular/rooms/room802.cpp
@@ -77,15 +77,15 @@ static void room_802_init() {
if ((global[kRemoteOnGround]) && (!player_has(OBJ_REMOTE))) {
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
kernel_seq_depth(g_sequence_ids[4], 8);
- int idx = _scene->_dynamicHotspots.add(words_remote, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(107, 99), FACING_NORTH);
+ int idx = kernel_add_dynamic(words_remote, words_walkto, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 107, 99, FACING_NORTH);
}
if (!player_has(OBJ_SHIELD_MODULATOR) && !global[kShieldModInstalled]) {
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
kernel_seq_depth(g_sequence_ids[1], 8);
- int idx = _scene->_dynamicHotspots.add(words_shield_modulator, words_walkto, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(93, 97), FACING_NORTH);
+ int idx = kernel_add_dynamic(words_shield_modulator, words_walkto, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 93, 97, FACING_NORTH);
}
section_8_music();
}
@@ -102,8 +102,8 @@ static void room_802_daemon() {
if (kernel.trigger == 71) {
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
kernel_seq_depth(g_sequence_ids[4], 8);
- int idx = _scene->_dynamicHotspots.add(words_remote, words_walkto, g_sequence_ids[4], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(107, 99), FACING_NORTH);
+ int idx = kernel_add_dynamic(words_remote, words_walkto, 0, g_sequence_ids[4], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 107, 99, FACING_NORTH);
global[kRemoteSequenceRan] = true;
global[kRemoteOnGround] = true;
diff --git a/engines/mads/nebular/rooms/room803.cpp b/engines/mads/nebular/rooms/room803.cpp
index f5a2a3ed497..86b2292867d 100644
--- a/engines/mads/nebular/rooms/room803.cpp
+++ b/engines/mads/nebular/rooms/room803.cpp
@@ -43,8 +43,8 @@ static void room_803_init() {
if (global[kHoppyDead]) {
g_sprite_ids[7] = kernel_load_series(kernel_name('e', 1), 0);
g_sequence_ids[7] = kernel_seq_stamp(g_sprite_ids[7], false, 1);
- int idx = _scene->_dynamicHotspots.add(words_guts, words_walkto, g_sequence_ids[7], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(66, 123), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_guts, words_walkto, 0, g_sequence_ids[7], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 66, 123, FACING_SOUTH);
}
if (!global[kBeamIsUp] && !global[kReturnFromCut] && (!global[kFromCockpit] || global[kExitShip])) {
@@ -137,8 +137,8 @@ static void room_803_daemon() {
kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 101);
} else {
g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, -2);
- int idx = _scene->_dynamicHotspots.add(words_guts, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(66, 123), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_guts, words_walkto, 0, g_sequence_ids[5], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 66, 123, FACING_SOUTH);
g_engine->_soundManager->command(16, 0);
global[kCameFromCut] = true;
global[kBeamIsUp] = false;
@@ -156,8 +156,8 @@ static void room_803_daemon() {
if (kernel.trigger == 101) {
g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, -2);
- int idx = _scene->_dynamicHotspots.add(words_guts, words_walkto, g_sequence_ids[5], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(66, 123), FACING_SOUTH);
+ int idx = kernel_add_dynamic(words_guts, words_walkto, 0, g_sequence_ids[5], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 66, 123, FACING_SOUTH);
g_engine->_soundManager->command(16, 0);
global[kCameFromCut] = true;
global[kBeamIsUp] = false;
diff --git a/engines/mads/nebular/rooms/room804.cpp b/engines/mads/nebular/rooms/room804.cpp
index b2b4ced9df6..07b707adc83 100644
--- a/engines/mads/nebular/rooms/room804.cpp
+++ b/engines/mads/nebular/rooms/room804.cpp
@@ -102,7 +102,7 @@ static void room_804_init() {
section_8_music();
if (global[kInSpace] && !global[kWindowFixed]) {
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
g_engine->_soundManager->command(19, 0);
}
}
diff --git a/engines/mads/nebular/rooms/room805.cpp b/engines/mads/nebular/rooms/room805.cpp
index 3f88159bf08..2f8e56e36e7 100644
--- a/engines/mads/nebular/rooms/room805.cpp
+++ b/engines/mads/nebular/rooms/room805.cpp
@@ -33,64 +33,63 @@ namespace Rooms {
static void room_805_init() {
player.walker_visible = false;
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
g_sprite_ids[1] = kernel_load_series(kernel_name('a', 1), 0);
g_sprite_ids[2] = kernel_load_series(kernel_name('a', 2), 0);
if (global[kShieldModInstalled]) {
- _scene->_hotspots.activate(OBJ_SHIELD_MODULATOR, false);
+ kernel_flip_hotspot(OBJ_SHIELD_MODULATOR, false);
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 25);
- int idx = _scene->_dynamicHotspots.add(words_shield_modulator, words_remove, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(0, 0), 0);
+ int idx = kernel_add_dynamic(words_shield_modulator, words_remove, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 0, 0, 0);
}
if (global[kTargetModInstalled]) {
- _scene->_hotspots.activate(OBJ_TARGET_MODULE, false);
+ kernel_flip_hotspot(OBJ_TARGET_MODULE, false);
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 12);
- int idx = _scene->_dynamicHotspots.add(words_target_module, words_remove, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(0, 0), 0);
+ int idx = kernel_add_dynamic(words_target_module, words_remove, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 0, 0, 0);
}
section_8_music();
}
static void room_805_daemon() {
- auto &userInterface = _scene._userInterface;
if (kernel.trigger == 70) {
- _scene->_hotspots.activate(OBJ_SHIELD_MODULATOR, false);
+ kernel_flip_hotspot(OBJ_SHIELD_MODULATOR, false);
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 25);
- int idx = _scene->_dynamicHotspots.add(words_shield_modulator, words_remove, g_sequence_ids[1], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(0, 0), 0);
+ int idx = kernel_add_dynamic(words_shield_modulator, words_remove, 0, g_sequence_ids[1], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 0, 0, 0);
global[kShieldModInstalled] = true;
inter_move_object(OBJ_SHIELD_MODULATOR, NOWHERE);
- userInterface._selectedInvIndex = -1;
+ active_inven = -1;
player.commands_allowed = true;
g_engine->_soundManager->command(24, 0);
}
if (kernel.trigger == 80) {
- _scene->_hotspots.activate(OBJ_TARGET_MODULE, false);
+ kernel_flip_hotspot(OBJ_TARGET_MODULE, false);
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 12);
- int idx = _scene->_dynamicHotspots.add(words_target_module, words_remove, g_sequence_ids[2], Common::Rect(0, 0, 0, 0));
- _scene->_dynamicHotspots.setPosition(idx, Common::Point(0, 0), 0);
+ int idx = kernel_add_dynamic(words_target_module, words_remove, 0, g_sequence_ids[2], 0, 0, 0, 0);
+ kernel_dynamic_walk(idx, 0, 0, 0);
global[kTargetModInstalled] = true;
inter_move_object(OBJ_TARGET_MODULE, NOWHERE);
- userInterface._selectedInvIndex = -1;
+ active_inven = -1;
player.commands_allowed = true;
g_engine->_soundManager->command(24, 0);
}
if (kernel.trigger == 71) {
- _scene->_hotspots.activate(OBJ_SHIELD_MODULATOR, true);
+ kernel_flip_hotspot(OBJ_SHIELD_MODULATOR, true);
global[kShieldModInstalled] = false;
inter_give_to_player(OBJ_SHIELD_MODULATOR);
player.commands_allowed = true;
}
if (kernel.trigger == 81) {
- _scene->_hotspots.activate(OBJ_TARGET_MODULE, true);
+ kernel_flip_hotspot(OBJ_TARGET_MODULE, true);
global[kTargetModInstalled] = false;
inter_give_to_player(OBJ_TARGET_MODULE);
player.commands_allowed = true;
diff --git a/engines/mads/nebular/rooms/room808.cpp b/engines/mads/nebular/rooms/room808.cpp
index 858ace6da23..4843fee5995 100644
--- a/engines/mads/nebular/rooms/room808.cpp
+++ b/engines/mads/nebular/rooms/room808.cpp
@@ -39,7 +39,7 @@ static Scratch local;
static void room_808_init() {
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
g_sprite_ids[4] = kernel_load_series("*REXHAND", 0);
g_sprite_ids[1] = kernel_load_series(kernel_name('b', 0), 0);
diff --git a/engines/mads/nebular/rooms/room810.cpp b/engines/mads/nebular/rooms/room810.cpp
index 2b0bf44d64f..d528ff1d7a4 100644
--- a/engines/mads/nebular/rooms/room810.cpp
+++ b/engines/mads/nebular/rooms/room810.cpp
@@ -39,7 +39,7 @@ static Scratch local;
static void room_810_init() {
- _scene->_userInterface.setup(kInputLimitedSentences);
+ kernel_set_interface_mode(kInputLimitedSentences);
player.walker_visible = false;
player.commands_allowed = false;
kernel_run_animation(kernel_full_name(810, 'a', -1, "", EXT_AA), 0);
diff --git a/engines/mads/nebular/rooms/thunks.cpp b/engines/mads/nebular/rooms/thunks.cpp
index 90b1e6d212e..0c245a51578 100644
--- a/engines/mads/nebular/rooms/thunks.cpp
+++ b/engines/mads/nebular/rooms/thunks.cpp
@@ -19,76 +19,12 @@
*
*/
-#include "common/textconsole.h"
-#include "mads/core/global.h"
-#include "mads/core/kernel.h"
-#include "mads/core/matte.h"
-#include "mads/core/player.h"
#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
namespace Rooms {
-Scene _scene;
-
-int Scene::DynamicHotspots::add(int vocab_id, int verb_id, int auto_sequence, const Common::Rect &r) {
- return kernel_add_dynamic(vocab_id, verb_id, 0, auto_sequence,
- r.left, r.top, r.width(), r.height());
-}
-
-void Scene::DynamicHotspots::remove(int dyn_id) {
- kernel_delete_dynamic(dyn_id);
-}
-
-int Scene::DynamicHotspots::setPosition(int id, const Common::Point &pt, int facing) {
- kernel_dynamic_walk(id, pt.x, pt.y, facing);
- return id;
-}
-
-int Scene::DynamicHotspots::setCursor(int id, int cursorNum) {
- return kernel_dynamic_cursor(id, cursorNum);
-}
-
-Scene::DynamicHotspot Scene::DynamicHotspots::operator[](int idx) {
- return Scene::DynamicHotspot(idx);
-}
-
-Scene::DynamicHotspot::DynamicHotspot(int index) : _articleNumber(kernel_dynamic_hot[index].prep) {
-}
-
-void Scene::Hotspots::activate(int hotspot, int active) {
- kernel_flip_hotspot(hotspot, active);
-}
-
-int Scene::Rails::getNext() const {
- return player.next_special_code;
-}
-
-void Scene::Rails::resetNext() {
- player.next_special_code = 0;
-}
-
-void Scene::SpriteSlots::clear() {
- image_marker = 0;
-}
-
-void Scene::SpriteSlots::fullRefresh() {
- matte_refresh_work();
-}
-
-void Scene::UserInterface::emptyConversationList() {
- inter_reset_dialog();
-}
-
-void Scene::UserInterface::selectObject(int item_id) {
- inter_set_active_inven(item_id);
-}
-
-void Scene::UserInterface::setup(int inputMode) {
- kernel_set_interface_mode(inputMode);
-}
-
} // namespace Rooms
} // namespace RexNebular
} // namespace MADS
diff --git a/engines/mads/nebular/rooms/thunks.h b/engines/mads/nebular/rooms/thunks.h
index a291e408f6f..fa6910cc207 100644
--- a/engines/mads/nebular/rooms/thunks.h
+++ b/engines/mads/nebular/rooms/thunks.h
@@ -22,11 +22,9 @@
#ifndef MADS_NEBULAR_ROOMS_THUNKS_H
#define MADS_NEBULAR_ROOMS_THUNKS_H
-#include "common/rect.h"
#include "mads/core/config.h"
#include "mads/core/inter.h"
#include "mads/core/kernel.h"
-#include "mads/core/player.h"
namespace MADS {
namespace RexNebular {
@@ -120,69 +118,6 @@ enum StoryMode {
#define kernel_animation_next_clock kernel_anim[0].next_clock
#endif
-struct Scene {
- Scene *operator->() {
- return this;
- }
- const Scene *operator->() const {
- return this;
- }
-
- struct CustomDest {
- int &x = inter_point_x;
- int &y = inter_point_y;
- };
- CustomDest _customDest;
-
- struct DynamicHotspot {
- byte &_articleNumber;
-
- DynamicHotspot(int index);
- };
-
- struct DynamicHotspots {
- int add(int vocab_id, int verb_id, int auto_sequence, const Common::Rect &r);
- void remove(int dyn_id);
- int setPosition(int id, const Common::Point &pt, int facing);
- int setCursor(int id, int cursor);
-
- DynamicHotspot operator[](int idx);
- };
- DynamicHotspots _dynamicHotspots;
-
- struct Hotspots {
- void activate(int hotspot, int active);
- };
- Hotspots _hotspots;
-
- struct PaletteCycles {
- int size() const;
-
- };
- PaletteCycles _paletteCycles;
-
- struct Rails {
- int getNext() const;
- void resetNext();
- };
- Rails _rails;
-
- struct SpriteSlots {
- void clear();
- void fullRefresh();
- };
- SpriteSlots _spriteSlots;
-
- struct UserInterface {
- int &_selectedInvIndex = active_inven;
- void emptyConversationList();
- void setup(int inputMode);
- void selectObject(int item_id);
- };
- UserInterface _userInterface;
-};
-extern Scene _scene;
-
enum {
RETURNING_FROM_DIALOG = KERNEL_RESTORING_GAME,
RETURNING_FROM_LOADING = KERNEL_STARTING_GAME
Commit: 1d9ee3a89b88fc888faa3d994f757b3dd62c0576
https://github.com/scummvm/scummvm/commit/1d9ee3a89b88fc888faa3d994f757b3dd62c0576
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:57+10:00
Commit Message:
MADS: NEBULAR: Refactoring thunk enums
Changed paths:
engines/mads/core/game.h
engines/mads/core/matte.h
engines/mads/nebular/extra.cpp
engines/mads/nebular/rooms/forcefield.cpp
engines/mads/nebular/rooms/room101.cpp
engines/mads/nebular/rooms/room102.cpp
engines/mads/nebular/rooms/room103.cpp
engines/mads/nebular/rooms/room104.cpp
engines/mads/nebular/rooms/room105.cpp
engines/mads/nebular/rooms/room106.cpp
engines/mads/nebular/rooms/room107.cpp
engines/mads/nebular/rooms/room108.cpp
engines/mads/nebular/rooms/room109.cpp
engines/mads/nebular/rooms/room110.cpp
engines/mads/nebular/rooms/room111.cpp
engines/mads/nebular/rooms/room112.cpp
engines/mads/nebular/rooms/room201.cpp
engines/mads/nebular/rooms/room202.cpp
engines/mads/nebular/rooms/room203.cpp
engines/mads/nebular/rooms/room205.cpp
engines/mads/nebular/rooms/room207.cpp
engines/mads/nebular/rooms/room208.cpp
engines/mads/nebular/rooms/room209.cpp
engines/mads/nebular/rooms/room210.cpp
engines/mads/nebular/rooms/room211.cpp
engines/mads/nebular/rooms/room212.cpp
engines/mads/nebular/rooms/room214.cpp
engines/mads/nebular/rooms/room215.cpp
engines/mads/nebular/rooms/room216.cpp
engines/mads/nebular/rooms/room304.cpp
engines/mads/nebular/rooms/room307.cpp
engines/mads/nebular/rooms/room308.cpp
engines/mads/nebular/rooms/room309.cpp
engines/mads/nebular/rooms/room310.cpp
engines/mads/nebular/rooms/room311.cpp
engines/mads/nebular/rooms/room313.cpp
engines/mads/nebular/rooms/room316.cpp
engines/mads/nebular/rooms/room318.cpp
engines/mads/nebular/rooms/room319.cpp
engines/mads/nebular/rooms/room320.cpp
engines/mads/nebular/rooms/room321.cpp
engines/mads/nebular/rooms/room322.cpp
engines/mads/nebular/rooms/room351.cpp
engines/mads/nebular/rooms/room352.cpp
engines/mads/nebular/rooms/room353.cpp
engines/mads/nebular/rooms/room354.cpp
engines/mads/nebular/rooms/room357.cpp
engines/mads/nebular/rooms/room358.cpp
engines/mads/nebular/rooms/room359.cpp
engines/mads/nebular/rooms/room360.cpp
engines/mads/nebular/rooms/room361.cpp
engines/mads/nebular/rooms/room366.cpp
engines/mads/nebular/rooms/room387.cpp
engines/mads/nebular/rooms/room388.cpp
engines/mads/nebular/rooms/room389.cpp
engines/mads/nebular/rooms/room390.cpp
engines/mads/nebular/rooms/room391.cpp
engines/mads/nebular/rooms/room399.cpp
engines/mads/nebular/rooms/room401.cpp
engines/mads/nebular/rooms/room402.cpp
engines/mads/nebular/rooms/room405.cpp
engines/mads/nebular/rooms/room406.cpp
engines/mads/nebular/rooms/room407.cpp
engines/mads/nebular/rooms/room408.cpp
engines/mads/nebular/rooms/room410.cpp
engines/mads/nebular/rooms/room411.cpp
engines/mads/nebular/rooms/room413.cpp
engines/mads/nebular/rooms/room501.cpp
engines/mads/nebular/rooms/room502.cpp
engines/mads/nebular/rooms/room503.cpp
engines/mads/nebular/rooms/room504.cpp
engines/mads/nebular/rooms/room505.cpp
engines/mads/nebular/rooms/room506.cpp
engines/mads/nebular/rooms/room507.cpp
engines/mads/nebular/rooms/room508.cpp
engines/mads/nebular/rooms/room511.cpp
engines/mads/nebular/rooms/room512.cpp
engines/mads/nebular/rooms/room513.cpp
engines/mads/nebular/rooms/room551.cpp
engines/mads/nebular/rooms/room601.cpp
engines/mads/nebular/rooms/room602.cpp
engines/mads/nebular/rooms/room603.cpp
engines/mads/nebular/rooms/room604.cpp
engines/mads/nebular/rooms/room605.cpp
engines/mads/nebular/rooms/room607.cpp
engines/mads/nebular/rooms/room608.cpp
engines/mads/nebular/rooms/room609.cpp
engines/mads/nebular/rooms/room610.cpp
engines/mads/nebular/rooms/room611.cpp
engines/mads/nebular/rooms/room612.cpp
engines/mads/nebular/rooms/room620.cpp
engines/mads/nebular/rooms/room701.cpp
engines/mads/nebular/rooms/room702.cpp
engines/mads/nebular/rooms/room703.cpp
engines/mads/nebular/rooms/room704.cpp
engines/mads/nebular/rooms/room705.cpp
engines/mads/nebular/rooms/room706.cpp
engines/mads/nebular/rooms/room707.cpp
engines/mads/nebular/rooms/room710.cpp
engines/mads/nebular/rooms/room711.cpp
engines/mads/nebular/rooms/room751.cpp
engines/mads/nebular/rooms/room752.cpp
engines/mads/nebular/rooms/room801.cpp
engines/mads/nebular/rooms/room802.cpp
engines/mads/nebular/rooms/room803.cpp
engines/mads/nebular/rooms/room804.cpp
engines/mads/nebular/rooms/room805.cpp
engines/mads/nebular/rooms/room808.cpp
engines/mads/nebular/rooms/room810.cpp
engines/mads/nebular/rooms/section2.cpp
engines/mads/nebular/rooms/teleporter.cpp
engines/mads/nebular/rooms/thunks.h
diff --git a/engines/mads/core/game.h b/engines/mads/core/game.h
index 53d1a230c6b..514b00b0286 100644
--- a/engines/mads/core/game.h
+++ b/engines/mads/core/game.h
@@ -25,6 +25,7 @@
#include "common/serializer.h"
#include "mads/core/general.h"
#include "mads/core/global.h"
+#include "mads/core/kernel.h"
#include "mads/core/object.h"
#include "mads/core/player.h"
#include "mads/core/quote.h"
diff --git a/engines/mads/core/matte.h b/engines/mads/core/matte.h
index 863d0b92475..bf1fe21d2a2 100644
--- a/engines/mads/core/matte.h
+++ b/engines/mads/core/matte.h
@@ -42,6 +42,7 @@ namespace MADS {
#define MATTE_LIST_SIZE (IMAGE_LIST_SIZE + MESSAGE_LIST_SIZE)
#define FIRST_MESSAGE_MATTE IMAGE_LIST_SIZE
+#define MATTE_FX_NONE 0
#define MATTE_FX_FADE_FROM_BLACK 1
#define MATTE_FX_FADE_THRU_BLACK 2
#define MATTE_FX_CORNER_LOWER_LEFT 3
diff --git a/engines/mads/nebular/extra.cpp b/engines/mads/nebular/extra.cpp
index 2a6ab306390..833a183e1f7 100644
--- a/engines/mads/nebular/extra.cpp
+++ b/engines/mads/nebular/extra.cpp
@@ -72,7 +72,7 @@ struct RoomFileRex {
};
-static int room_picture_load(Room *room, int room_id, Buffer *picture, int load_flags) {
+static int room_picture_load(Room *roomPtr, int id, Buffer *picture, int load_flags) {
int error_flag = true;
int xs, ys;
long picture_size;
@@ -83,7 +83,7 @@ static int room_picture_load(Room *room, int room_id, Buffer *picture, int load_
load_handle.open = false;
- env_get_level_path(temp_buf, ROOM, ".ART", 0, room_id);
+ env_get_level_path(temp_buf, ROOM, ".ART", 0, id);
if (loader_open(&load_handle, temp_buf, "rb", true)) {
room_load_error = 1;
@@ -117,7 +117,7 @@ static int room_picture_load(Room *room, int room_id, Buffer *picture, int load_
picture_size = MAX((long)xs * ys, load_handle.pack.strategy[load_handle.pack_list_marker].size);
// Copy the cycle list
- room->cycle_list = art.cycle_list;
+ roomPtr->cycle_list = art.cycle_list;
if (!(load_flags & ROOM_LOAD_TRANSLATE)) {
if (master_shadow) {
@@ -127,8 +127,8 @@ static int room_picture_load(Room *room, int room_id, Buffer *picture, int load_
int pal_flags = (load_flags & (PAL_MAP_RESERVED | PAL_MAP_ANY_TO_CLOSEST |
PAL_MAP_ALL_TO_CLOSEST | PAL_MAP_TOP_COLORS)) | PAL_MAP_BACKGROUND;
- room->color_handle = pal_allocate(&art.color_list, master_shadow, pal_flags);
- if (room->color_handle < 0) {
+ roomPtr->color_handle = pal_allocate(&art.color_list, master_shadow, pal_flags);
+ if (roomPtr->color_handle < 0) {
room_load_error = 4;
goto done;
}
@@ -140,9 +140,9 @@ static int room_picture_load(Room *room, int room_id, Buffer *picture, int load_
}
}
- for (count = 0; count < room->cycle_list.num_cycles; ++count) {
- int col = room->cycle_list.table[count].first_list_color;
- room->cycle_list.table[count].first_palette_color = art.color_list.table[col].x16;
+ for (count = 0; count < roomPtr->cycle_list.num_cycles; ++count) {
+ int col = roomPtr->cycle_list.table[count].first_list_color;
+ roomPtr->cycle_list.table[count].first_palette_color = art.color_list.table[col].x16;
}
}
diff --git a/engines/mads/nebular/rooms/forcefield.cpp b/engines/mads/nebular/rooms/forcefield.cpp
index 4baf0b12e23..e94249df468 100644
--- a/engines/mads/nebular/rooms/forcefield.cpp
+++ b/engines/mads/nebular/rooms/forcefield.cpp
@@ -118,7 +118,7 @@ void handle_forcefield(Forcefield *force, int16 *sprites) {
kernel_seq_depth(force->_seqId[id], 8);
kernel_seq_loc(force->_seqId[id], posX, posY);
kernel_seq_motion(force->_seqId[id], 2, speedX, speedY);
- kernel_seq_trigger(force->_seqId[id], SEQUENCE_TRIGGER_EXPIRE, 0, 150 + id);
+ kernel_seq_trigger(force->_seqId[id], KERNEL_TRIGGER_EXPIRE, 0, 150 + id);
if (spriteId == 2)
force->_horizontal++;
else
diff --git a/engines/mads/nebular/rooms/room101.cpp b/engines/mads/nebular/rooms/room101.cpp
index f9fd5916525..9e2aae64fff 100644
--- a/engines/mads/nebular/rooms/room101.cpp
+++ b/engines/mads/nebular/rooms/room101.cpp
@@ -45,7 +45,7 @@ static Scratch local;
static void room_101_say_dang() {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
player.commands_allowed = false;
switch (kernel.trigger) {
@@ -53,7 +53,7 @@ static void room_101_say_dang() {
kernel_seq_delete(g_sequence_ids[11]);
g_sequence_ids[11] = kernel_seq_pingpong(g_sprite_ids[11], false, 3, 0, 0, 6);
kernel_seq_range(g_sequence_ids[11], 17, 21);
- kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[11], KERNEL_TRIGGER_EXPIRE, 0, 72);
g_engine->_soundManager->command(17, 0);
g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 3, 0, 0, 2);
break;
@@ -94,7 +94,7 @@ static void room_101_init() {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 5, 25, 0, 0);
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 4, 0, 1, 0);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 2, 0);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 7, 70);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_SPRITE, 7, 70);
g_sequence_ids[4] = kernel_seq_backward(g_sprite_ids[4], false, 10, 60, 0, 0);
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 5, 0, 1, 0);
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 10, 0, 2, 0);
@@ -105,15 +105,15 @@ static void room_101_init() {
kernel_flip_hotspot(words_shield_modulator, false);
local._panelOpened = false;
- if (previous_room != RETURNING_FROM_LOADING)
+ if (previous_room != KERNEL_STARTING_GAME)
global[kNeedToStandUp] = false;
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 100;
player.y = 152;
}
- if ((previous_room == 112) || ((previous_room == RETURNING_FROM_DIALOG) && local._sittingFl)) {
+ if ((previous_room == 112) || ((previous_room == KERNEL_RESTORING_GAME) && local._sittingFl)) {
player.walker_visible = false;
local._sittingFl = true;
player.x = 161;
@@ -133,7 +133,7 @@ static void room_101_init() {
kernel.quotes = quote_load(0x31, 0x32, 0x39, 0x36, 0x37, 0x38, 0);
if (global[kNeedToStandUp]) {
- kernel_run_animation(kernel_full_name(101, 'S', -1, "", EXT_AA), 71);
+ kernel_run_animation(kernel_full_name(101, 'S', -1, "", KERNEL_AA), 71);
player.walker_visible = false;
player.commands_allowed = false;
player.x = 68;
@@ -227,7 +227,7 @@ static void room_101_pre_parser() {
player.commands_allowed = false;
kernel_seq_delete(g_sequence_ids[11]);
g_sequence_ids[11] = kernel_seq_backward(g_sprite_ids[11], false, 3, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[11], KERNEL_TRIGGER_EXPIRE, 0, 1);
kernel_seq_range(g_sequence_ids[11], 1, 17);
g_engine->_soundManager->command(16, 0);
break;
@@ -256,7 +256,7 @@ static void room_101_pre_parser() {
kernel_seq_delete(g_sequence_ids[13]);
local._shieldSpriteIdx = object_is_here(OBJ_SHIELD_MODULATOR) ? 13 : 14;
g_sequence_ids[13] = kernel_seq_backward(g_sprite_ids[local._shieldSpriteIdx], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
}
@@ -294,8 +294,8 @@ static void room_101_parser() {
kernel_seq_delete(g_sequence_ids[12]);
g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 3, 0, 0, 1);
kernel_seq_range(g_sequence_ids[11], 1, 17);
- kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_SPRITE, 10, 1);
- kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[11], KERNEL_TRIGGER_SPRITE, 10, 1);
+ kernel_seq_trigger(g_sequence_ids[11], KERNEL_TRIGGER_EXPIRE, 0, 2);
player.commands_allowed = false;
player.walker_visible = false;
player.command_ready = false;
@@ -334,7 +334,7 @@ static void room_101_parser() {
case 0:
local._shieldSpriteIdx = object_is_here(OBJ_SHIELD_MODULATOR) ? 13 : 14;
g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[local._shieldSpriteIdx], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
break;
@@ -397,13 +397,13 @@ static void room_101_parser() {
kernel_seq_delete(g_sequence_ids[11]);
g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 3, 0, 0, 1);
kernel_seq_range(g_sequence_ids[11], 17, 21);
- kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[11], KERNEL_TRIGGER_EXPIRE, 0, 1);
g_engine->_soundManager->command(17, 0);
break;
case 1:
g_sequence_ids[11] = kernel_seq_backward(g_sprite_ids[11], false, 3, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[11], KERNEL_TRIGGER_EXPIRE, 0, 2);
kernel_seq_range(g_sequence_ids[11], 17, 21);
break;
@@ -411,7 +411,7 @@ static void room_101_parser() {
g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 3, 0, 0, 0);
kernel_seq_range(g_sequence_ids[11], 17, 17);
g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 3, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room102.cpp b/engines/mads/nebular/rooms/room102.cpp
index 54f860b07a8..ac277eb560d 100644
--- a/engines/mads/nebular/rooms/room102.cpp
+++ b/engines/mads/nebular/rooms/room102.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -46,7 +47,7 @@ static Scratch local;
static void addRandomMessage() {
kernel_message_purge();
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
int quoteId = g_engine->getRandomNumber(65, 69);
kernel_message_add(quote_string(kernel.quotes, quoteId), 0, 0, 0x1110, 120, 73, 34);
local._activeMsgFl = true;
@@ -91,12 +92,12 @@ static void room_102_init() {
player.y = 109;
player.commands_allowed = false;
g_sequence_ids[6] = kernel_seq_backward(g_sprite_ids[6], false, 6, 0, 2, 1);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 70);
} else if (previous_room == 103) {
player.x = 47;
player.y = 152;
}
- else if (previous_room != RETURNING_FROM_DIALOG) {
+ else if (previous_room != KERNEL_RESTORING_GAME) {
player.facing = FACING_NORTHWEST;
player.x = 32;
player.y = 129;
@@ -112,7 +113,7 @@ static void room_102_init() {
player.commands_allowed = false;
player.walker_visible = false;
g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 72);
kernel_seq_depth(g_sequence_ids[13], 5);
g_engine->_soundManager->command(24, 0);
g_engine->_soundManager->command(28, 0);
@@ -191,7 +192,7 @@ static void room_102_pre_parser() {
if (player.need_to_walk) {
kernel_seq_delete(g_sequence_ids[7]);
g_sequence_ids[7] = kernel_seq_backward(g_sprite_ids[7], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 1);
kernel_seq_depth(g_sequence_ids[7], 15);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
@@ -229,7 +230,7 @@ static void room_102_parser() {
case 0:
g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[7], 15);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 1);
if (object_is_here(OBJ_BURGER)) {
g_sequence_ids[10] = kernel_seq_forward(g_sprite_ids[10], false, 7, 0, 0, 0);
kernel_seq_depth(g_sequence_ids[10], 14);
@@ -284,7 +285,7 @@ static void room_102_parser() {
char *curQuote = quote_string(kernel.quotes, quoteId);
int width = font_string_width(kernel_message_font, curQuote, -1);
kernel_message_purge();
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_message_add(curQuote, 210, 60, 0x1110, 120, 73, 0);
kernel_message_add(quote_string(kernel.quotes, 64), 214 + width, 60, 0x1110, 120, 73, 0);
local._activeMsgFl = true;
@@ -308,7 +309,7 @@ static void room_102_parser() {
switch (kernel.trigger) {
case 0:
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
break;
@@ -519,7 +520,7 @@ static void room_102_parser() {
case 0:
kernel_seq_delete(g_sequence_ids[8]);
g_sequence_ids[8] = kernel_seq_backward(g_sprite_ids[8], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(21, 0);
break;
@@ -545,7 +546,7 @@ static void room_102_parser() {
switch (kernel.trigger) {
case 0:
g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(21, 0);
break;
@@ -579,7 +580,7 @@ static void room_102_parser() {
case 0:
g_sequence_ids[11] = kernel_seq_pingpong(g_sprite_ids[11], false, 3, 0, 0, 1);
kernel_seq_player(g_sequence_ids[11], false);
- kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[11], KERNEL_TRIGGER_EXPIRE, 0, 1);
player.walker_visible = false;
player.commands_allowed = false;
break;
@@ -639,7 +640,7 @@ static void room_102_parser() {
return;
}
- if (player_said_2(look, burger) && (player.main_object_source == CAT_HOTSPOT)) {
+ if (player_said_2(look, burger) && (player.main_object_source == STROKE_INTERFACE)) {
text_show(801);
player.command_ready = false;
}
diff --git a/engines/mads/nebular/rooms/room103.cpp b/engines/mads/nebular/rooms/room103.cpp
index 8ea84de175a..1365a30dbe8 100644
--- a/engines/mads/nebular/rooms/room103.cpp
+++ b/engines/mads/nebular/rooms/room103.cpp
@@ -62,10 +62,10 @@ static void room_103_init() {
kernel_seq_depth(g_sequence_ids[1], 0);
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 25, 0, 0);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 2, 72);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 2, 72);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 37, 1, 0);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 2, 73);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_SPRITE, 2, 73);
g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 8, 0, 0, 0);
g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 6, 0, 0, 0);
@@ -88,7 +88,7 @@ static void room_103_init() {
kernel_flip_hotspot(362, false);
}
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 237;
player.y = 74;
}
@@ -96,7 +96,7 @@ static void room_103_init() {
if (previous_room == 102) {
player.commands_allowed = false;
g_sequence_ids[6] = kernel_seq_backward(g_sprite_ids[6], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 70);
}
section_1_music();
@@ -170,7 +170,7 @@ static void room_103_parser() {
switch (kernel.trigger) {
case 0:
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
g_engine->_soundManager->command(20, 0);
break;
@@ -190,8 +190,8 @@ static void room_103_parser() {
kernel_load_variant(1);
g_sequence_ids[13] = kernel_seq_pingpong(g_sprite_ids[13], false, 3, 0, 0, 2);
kernel_seq_player(g_sequence_ids[13], false);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_SPRITE, 7, 1);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_SPRITE, 7, 1);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 2);
player.walker_visible = false;
player.commands_allowed = false;
break;
@@ -204,7 +204,7 @@ static void room_103_parser() {
g_engine->_soundManager->command(22, 0);
inter_give_to_player(OBJ_TIMER_MODULE);
kernel_load_variant(0);
- matte_frame(kTransitionNone, false);
+ matte_frame(MATTE_FX_NONE, false);
kernel_flip_hotspot(371, false);
player.walker_visible = true;
player.commands_allowed = true;
@@ -219,8 +219,8 @@ static void room_103_parser() {
case 0:
g_sequence_ids[12] = kernel_seq_pingpong(g_sprite_ids[12], false, 3, 0, 0, 2);
kernel_seq_player(g_sequence_ids[12], false);
- kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[12], KERNEL_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[12], KERNEL_TRIGGER_EXPIRE, 0, 2);
player.walker_visible = false;
player.commands_allowed = false;
break;
@@ -260,7 +260,7 @@ static void room_103_parser() {
kernel_timing_trigger(120, kernel.trigger + 1);
} else {
// Initial turky explosion
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_EXPIRE, 0, 1);
}
}
diff --git a/engines/mads/nebular/rooms/room104.cpp b/engines/mads/nebular/rooms/room104.cpp
index 4284f116cad..c4ab447fb94 100644
--- a/engines/mads/nebular/rooms/room104.cpp
+++ b/engines/mads/nebular/rooms/room104.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/core/quote.h"
#include "mads/nebular/global.h"
@@ -47,7 +48,7 @@ static void room_104_init() {
if (previous_room == 105) {
player.x = 302;
player.y = 107;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 160;
player.y = 134;
}
@@ -57,7 +58,7 @@ static void room_104_init() {
local._kargShootingFl = false;
if (g_engine->getRandomNumber(1, 3) == 1) {
- kernel_run_animation(kernel_full_name(104, 'B', -1, "", EXT_AA), 0);
+ kernel_run_animation(kernel_full_name(104, 'B', -1, "", KERNEL_AA), 0);
local._kargShootingFl = true;
}
@@ -94,7 +95,7 @@ static void room_104_daemon() {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], mirrorFl, 7, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[2], 198, 143);
kernel_seq_depth(g_sequence_ids[2], 4);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -128,7 +129,7 @@ static void room_104_daemon() {
kernel_seq_loc(g_sequence_ids[3], 198, 143);
kernel_seq_depth(g_sequence_ids[3], 4);
kernel_seq_range(g_sequence_ids[3], 1, 14);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -136,7 +137,7 @@ static void room_104_daemon() {
kernel_seq_loc(g_sequence_ids[3], 198, 143);
kernel_seq_depth(g_sequence_ids[3], 4);
kernel_seq_range(g_sequence_ids[3], 15, 32);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
@@ -169,9 +170,9 @@ static void room_104_daemon() {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 8, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[4], 198, 143);
kernel_seq_depth(g_sequence_ids[4], 4);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- if (config_file.naughtiness >= STORYMODE_NICE)
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 15, 2);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 1);
+ if (config_file.naughtiness >= NICE)
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_SPRITE, 15, 2);
break;
case 1:
diff --git a/engines/mads/nebular/rooms/room105.cpp b/engines/mads/nebular/rooms/room105.cpp
index 889bf92b8d8..0d55efd748e 100644
--- a/engines/mads/nebular/rooms/room105.cpp
+++ b/engines/mads/nebular/rooms/room105.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -55,7 +56,7 @@ static void room_105_init() {
player.x = 13;
player.y = 97;
}
- else if (previous_room != RETURNING_FROM_DIALOG) {
+ else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 116;
player.y = 147;
}
@@ -85,10 +86,10 @@ static void room_105_daemon() {
g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[0], 8);
- kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[0], KERNEL_TRIGGER_EXPIRE, 0, 1);
- if (config_file.naughtiness >= STORYMODE_NICE)
- kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, 8, 3);
+ if (config_file.naughtiness >= NICE)
+ kernel_seq_trigger(g_sequence_ids[0], KERNEL_TRIGGER_SPRITE, 8, 3);
break;
case 1:
@@ -99,7 +100,7 @@ static void room_105_daemon() {
kernel_seq_timeout(g_sequence_ids[0], g_sequence_ids[2]);
kernel_seq_depth(g_sequence_ids[2], 8);
kernel_seq_range(g_sequence_ids[2], 5, 7);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
diff --git a/engines/mads/nebular/rooms/room106.cpp b/engines/mads/nebular/rooms/room106.cpp
index b74041de85b..24d553bc7df 100644
--- a/engines/mads/nebular/rooms/room106.cpp
+++ b/engines/mads/nebular/rooms/room106.cpp
@@ -57,13 +57,13 @@ static void room_106_init() {
if (previous_room == 102) {
g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 6, 0, 4, 1);
- kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ kernel_seq_trigger(g_sequence_ids[0], KERNEL_TRIGGER_EXPIRE, 0, 70);
player.walker_visible = false;
player.commands_allowed = false;
player.facing = FACING_EAST;
player.x = 106;
player.y = 69;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
if (previous_room == 107) {
player.x = 319;
player.y = 84;
@@ -102,10 +102,10 @@ static void room_106_daemon() {
kernel_seq_depth(g_sequence_ids[0], 14);
if (!player_has(OBJ_REBREATHER) && !kernel.teleported_in) {
- kernel_run_animation(kernel_full_name(106, 'A', -1, "", EXT_AA), 75);
+ kernel_run_animation(kernel_full_name(106, 'A', -1, "", KERNEL_AA), 75);
} else {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 4, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 28, 71);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_SPRITE, 28, 71);
}
}
@@ -122,7 +122,7 @@ static void room_106_daemon() {
} else {
player.prepare_walk_facing = FACING_SOUTHWEST;
local._firstEmergingFl = true;
- kernel_run_animation(kernel_full_name(106, 'B', -1, "", EXT_AA), 80);
+ kernel_run_animation(kernel_full_name(106, 'B', -1, "", KERNEL_AA), 80);
}
}
@@ -171,8 +171,8 @@ static void room_106_daemon() {
if (player.x < 204) {
local._shadowFl = true;
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 4, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 44, 73);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_SPRITE, 44, 73);
}
} else if (kernel.trigger == 73)
player.walker_visible = false;
diff --git a/engines/mads/nebular/rooms/room107.cpp b/engines/mads/nebular/rooms/room107.cpp
index 19cbaa01105..11b3da0b00c 100644
--- a/engines/mads/nebular/rooms/room107.cpp
+++ b/engines/mads/nebular/rooms/room107.cpp
@@ -42,7 +42,7 @@ static void room_107_init() {
for (int i = 0; i < 3; i++)
g_sprite_ids[i + 1] = kernel_load_series(kernel_name('G', i), 0);
- g_sprite_ids[4] = kernel_load_series(kernel_full_name(105, 'f', 4, "", EXT_SS), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_full_name(105, 'f', 4, "", KERNEL_SS), 0);
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 14, 7, 0, 0);
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 17, 13, 0, 0);
@@ -67,16 +67,16 @@ static void room_107_init() {
player.x = 20;
player.y = 91;
}
- else if (previous_room != RETURNING_FROM_DIALOG) {
+ else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 223;
player.y = 151;
}
if (((previous_room == 105) || (previous_room == 106)) && (g_engine->getRandomNumber(1, 3) == 1)) {
- g_sprite_ids[0] = kernel_load_series(kernel_full_name(105, 'R', 1, "", EXT_SS), 0);
+ g_sprite_ids[0] = kernel_load_series(kernel_full_name(105, 'R', 1, "", KERNEL_SS), 0);
g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], true, 4, 0, 0, 0);
kernel_seq_loc(g_sequence_ids[0], 270, 150);
- kernel_seq_motion(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, -200, 0);
+ kernel_seq_motion(g_sequence_ids[0], KERNEL_TRIGGER_SPRITE, -200, 0);
kernel_seq_depth(g_sequence_ids[0], 2);
kernel_add_dynamic(words_manta_ray, words_swim_to, 0, g_sequence_ids[0], 0, 0, 0, 0);
}
@@ -85,7 +85,7 @@ static void room_107_init() {
local._shootingFl = false;
if (g_engine->getRandomNumber(1, 3) == 1) {
- kernel_run_animation(kernel_full_name(107, 'B', -1, "", EXT_AA), 0);
+ kernel_run_animation(kernel_full_name(107, 'B', -1, "", KERNEL_AA), 0);
local._shootingFl = true;
}
@@ -125,7 +125,7 @@ static void room_107_parser() {
new_room = 105;
else if (player_said_2(look, northern_sea_cliff))
text_show(10701);
- else if (player_said_2(look, dead_fish) && (player.main_object_source == CAT_HOTSPOT))
+ else if (player_said_2(look, dead_fish) && (player.main_object_source == STROKE_INTERFACE))
text_show(10702);
else if (player_said_2(look, bush_like_formation))
text_show(10703);
diff --git a/engines/mads/nebular/rooms/room108.cpp b/engines/mads/nebular/rooms/room108.cpp
index a264282b553..ccc95d69565 100644
--- a/engines/mads/nebular/rooms/room108.cpp
+++ b/engines/mads/nebular/rooms/room108.cpp
@@ -39,7 +39,7 @@ static void room_108_init() {
g_sprite_ids[1] = kernel_load_series(kernel_name('X', 1), 0);
g_sprite_ids[2] = kernel_load_series(kernel_name('X', 2), 0);
g_sprite_ids[3] = kernel_load_series(kernel_name('X', 3), 0);
- g_sprite_ids[4] = kernel_load_series(kernel_full_name(105, 'f', 4, "", EXT_SS), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_full_name(105, 'f', 4, "", KERNEL_SS), 0);
g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 13, 7, 0, 0);
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 16, 9, 0, 0);
@@ -60,7 +60,7 @@ static void room_108_init() {
player.x = 138;
player.y = 58;
}
- else if (previous_room != RETURNING_FROM_DIALOG) {
+ else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 305;
player.y = 98;
}
diff --git a/engines/mads/nebular/rooms/room109.cpp b/engines/mads/nebular/rooms/room109.cpp
index 1af37f72ac7..bf3e143fe1b 100644
--- a/engines/mads/nebular/rooms/room109.cpp
+++ b/engines/mads/nebular/rooms/room109.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/core/himem.h"
#include "mads/core/matte.h"
@@ -68,7 +69,7 @@ static void room_109_init() {
player.x = 248;
player.y = 38;
global[kHoovicSated] = 2;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 20;
player.y = 68;
player.facing = FACING_EAST;
@@ -110,7 +111,7 @@ static void room_109_init() {
local._eatingFirstFish = (!player.been_here_before) && (previous_room < 110);
if (local._eatingFirstFish) {
- g_sprite_ids[10] = kernel_load_series(kernel_full_name(105, 'F', 1, "", EXT_SS), 0);
+ g_sprite_ids[10] = kernel_load_series(kernel_full_name(105, 'F', 1, "", KERNEL_SS), 0);
g_sprite_ids[9] = kernel_load_series(kernel_name('H', 1), 0);
g_sequence_ids[10] = kernel_seq_pingpong(g_sprite_ids[10], true, 4, 0, 0, 0);
@@ -130,8 +131,8 @@ static void room_109_daemon() {
if (player.x > 205) {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[4], 4);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 70);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_SPRITE, 6, 70);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 71);
local._eatingRex = true;
g_engine->_soundManager->command(34, 0);
@@ -172,8 +173,8 @@ static void room_109_daemon() {
if (local._eatingFirstFish && (sequence_list[g_sequence_ids[10]].x >= 178)) {
g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 4, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[9], 4);
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_SPRITE, 29, 72);
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 29, 73);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_SPRITE, 29, 72);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_EXPIRE, 29, 73);
kernel_seq_timeout(g_sequence_ids[9], g_sequence_ids[10]);
local._eatingFirstFish = false;
player.commands_allowed = true;
@@ -241,7 +242,7 @@ static void room_109_parser() {
inter_move_object(local._throwingObjectId, NOWHERE);
g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 4, 0, 0, 1);
kernel_seq_player(g_sequence_ids[0], false);
- kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[0], KERNEL_TRIGGER_EXPIRE, 0, 1);
player.walker_visible = false;
player.commands_allowed = false;
@@ -269,23 +270,23 @@ static void room_109_parser() {
switch (local._throwingObjectId) {
case OBJ_BURGER:
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, (local._hoovicDifficultFl ? 4 : 6), 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 2, 2);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_SPRITE, 2, 2);
if (local._hoovicDifficultFl) {
kernel_seq_range(g_sequence_ids[3], 1, 30);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 5);
} else {
kernel_seq_range(g_sequence_ids[3], 1, 4);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 8);
local._hoovicTrigger = 3;
}
break;
case OBJ_DEAD_FISH:
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 4, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 2, 2);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_SPRITE, 2, 2);
break;
case OBJ_STUFFED_FISH:
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 4, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 2, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 2, 2);
local._hoovicTrigger = 3;
break;
default:
@@ -300,12 +301,12 @@ static void room_109_parser() {
g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 4, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[8], 4);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, local._hoovicTrigger);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, local._hoovicTrigger);
g_engine->_soundManager->command(34, 0);
break;
case 3:
- kernel_run_animation(kernel_full_name(109, 'H', 2, "", EXT_AA), 4);
+ kernel_run_animation(kernel_full_name(109, 'H', 2, "", KERNEL_AA), 4);
g_engine->_soundManager->command(35, 0);
global[kHoovicAlive] = false;
break;
@@ -380,7 +381,7 @@ static void room_109_parser() {
kernel_seq_range(g_sequence_ids[3], 31, 46);
int idx = kernel_add_dynamic(words_burger, words_swim_to, 0, g_sequence_ids[3], 0, 0, 0, 0);
kernel_dynamic_walk(idx, -3, 0, FACING_NORTHEAST);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 7);
}
break;
diff --git a/engines/mads/nebular/rooms/room110.cpp b/engines/mads/nebular/rooms/room110.cpp
index 3f5021237b7..96b6796b9f2 100644
--- a/engines/mads/nebular/rooms/room110.cpp
+++ b/engines/mads/nebular/rooms/room110.cpp
@@ -66,13 +66,13 @@ static void room_110_init() {
kernel_dynamic_walk(idx, -1, 0, FACING_NONE);
idx = kernel_add_dynamic(words_crab, words_swim_to, 0, g_sequence_ids[3], 0, 0, 0, 0);
kernel_dynamic_walk(idx, -1, 0, FACING_NONE);
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 194;
player.y = 23;
player.facing = FACING_SOUTH;
player.walker_visible = false;
player.commands_allowed = false;
- kernel_run_animation(kernel_full_name(110, 'T', 1, "", EXT_AA), 70);
+ kernel_run_animation(kernel_full_name(110, 'T', 1, "", KERNEL_AA), 70);
}
section_1_music();
@@ -121,7 +121,7 @@ static void room_110_parser() {
if (player_said_2(swim_through, tunnel)) {
switch (kernel.trigger) {
case 0:
- kernel_run_animation(kernel_full_name(110, 'T', 0, "", EXT_AA), 1);
+ kernel_run_animation(kernel_full_name(110, 'T', 0, "", KERNEL_AA), 1);
kernel_anim[0].next_clock = player.frame_delay + player.clock;
player.commands_allowed = false;
player.walker_visible = false;
diff --git a/engines/mads/nebular/rooms/room111.cpp b/engines/mads/nebular/rooms/room111.cpp
index cbe79d5a73e..3f4b7a2884d 100644
--- a/engines/mads/nebular/rooms/room111.cpp
+++ b/engines/mads/nebular/rooms/room111.cpp
@@ -51,11 +51,11 @@ static void room_111_init() {
g_sprite_ids[5] = kernel_load_series(kernel_name('B', 2), 0);
g_sequence_ids[0] = kernel_seq_forward(g_sprite_ids[0], false, 8, 0, 0, 0);
- kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, 9, 73);
- kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_SPRITE, 13, 73);
+ kernel_seq_trigger(g_sequence_ids[0], KERNEL_TRIGGER_SPRITE, 9, 73);
+ kernel_seq_trigger(g_sequence_ids[0], KERNEL_TRIGGER_SPRITE, 13, 73);
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 5, 0, 0, 0);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 71, 71);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_SPRITE, 71, 71);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 0);
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
@@ -72,10 +72,10 @@ static void room_111_init() {
local._launched2Fl = false;
local._stampedFl = false;
- if ((previous_room < 201) && (previous_room != RETURNING_FROM_DIALOG)) {
+ if ((previous_room < 201) && (previous_room != KERNEL_RESTORING_GAME)) {
player.commands_allowed = false;
player.walker_visible = false;
- kernel_run_animation(kernel_full_name(111, 'A', 0, "", EXT_AA), 70);
+ kernel_run_animation(kernel_full_name(111, 'A', 0, "", KERNEL_AA), 70);
player.x = 234;
player.y = 116;
player.facing = FACING_EAST;
@@ -84,7 +84,7 @@ static void room_111_init() {
local._launched2Fl = true;
g_engine->_soundManager->command(36, 0);
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 300;
player.y = 130;
player.facing = FACING_WEST;
@@ -106,7 +106,7 @@ static void room_111_daemon() {
if ((kernel.trigger == 71) && !local._stampedFl) {
local._stampedFl = true;
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 18, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 72);
}
if (kernel.trigger == 72) {
@@ -148,7 +148,7 @@ static void room_111_parser() {
if (player_said_2(dive_into, pool) && player_has(OBJ_REBREATHER)) {
switch (kernel.trigger) {
case 0:
- kernel_run_animation(kernel_full_name(111, 'A', 1, "", EXT_AA), 1);
+ kernel_run_animation(kernel_full_name(111, 'A', 1, "", KERNEL_AA), 1);
local._rexDivingFl = true;
player.commands_allowed = false;
player.walker_visible = false;
diff --git a/engines/mads/nebular/rooms/room112.cpp b/engines/mads/nebular/rooms/room112.cpp
index c39219c7b1e..7554cddc84e 100644
--- a/engines/mads/nebular/rooms/room112.cpp
+++ b/engines/mads/nebular/rooms/room112.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -47,13 +48,13 @@ static void room_112_init() {
player.walker_visible = false;
inter_reset_dialog();
- kernel_set_interface_mode(kInputConversation);
+ kernel_set_interface_mode(INTER_CONVERSATION);
- kernel_run_animation(kernel_full_name(112, 'X', -1, "", EXT_AA), 70);
+ kernel_run_animation(kernel_full_name(112, 'X', -1, "", KERNEL_AA), 70);
}
static void room_112_daemon() {
- if ((kernel_anim[0].anim != nullptr) && (config_file.naughtiness == STORYMODE_NICE)) {
+ if ((kernel_anim[0].anim != nullptr) && (config_file.naughtiness == NICE)) {
if (kernel_anim[0].frame >= 54) {
kernel_abort_animation(0);
kernel.trigger = 70;
@@ -63,7 +64,7 @@ static void room_112_daemon() {
if (kernel.trigger == 70) {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 7, 11, 0, 3);
kernel_seq_depth(g_sequence_ids[3], 1);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 71);
}
if (kernel.trigger == 71) {
diff --git a/engines/mads/nebular/rooms/room201.cpp b/engines/mads/nebular/rooms/room201.cpp
index 26568db1e4c..f8bb356aa54 100644
--- a/engines/mads/nebular/rooms/room201.cpp
+++ b/engines/mads/nebular/rooms/room201.cpp
@@ -55,7 +55,7 @@ static void room_201_init() {
int idx = kernel_add_dynamic(words_birds, words_look_at, 0, g_sequence_ids[4], 0, 0, 0, 0);
kernel_dynamic_walk(idx, 186, 81, FACING_NORTH);
- if ((previous_room == 202) || (previous_room == RETURNING_FROM_LOADING)) {
+ if ((previous_room == 202) || (previous_room == KERNEL_STARTING_GAME)) {
player.x = 165;
player.y = 152;
} else {
@@ -105,7 +105,7 @@ static void room_201_init() {
player.commands_allowed = false;
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[6], -1, 12);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_SPRITE, 12, 70);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_SPRITE, 12, 70);
kernel_seq_depth(g_sequence_ids[6], 1);
local._pterodactylFlag = false;
player_walk(157, 143, FACING_NORTH);
@@ -139,9 +139,9 @@ static void room_201_daemon() {
g_engine->_soundManager->command(42, 0);
kernel_seq_depth(g_sequence_ids[6], 1);
kernel_seq_depth(g_sequence_ids[7], 1);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_SPRITE, 3, 81);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_SPRITE, 3, 81);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 73);
}
if (kernel.trigger == 81) {
@@ -157,7 +157,7 @@ static void room_201_daemon() {
if (kernel.trigger == 73) {
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 9, 0, 0, 1);
kernel_seq_range(g_sequence_ids[6], 17, -2);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 74);
kernel_seq_depth(g_sequence_ids[6], 1);
}
diff --git a/engines/mads/nebular/rooms/room202.cpp b/engines/mads/nebular/rooms/room202.cpp
index 1f238f60467..b6e3e830bbe 100644
--- a/engines/mads/nebular/rooms/room202.cpp
+++ b/engines/mads/nebular/rooms/room202.cpp
@@ -96,7 +96,7 @@ static void room_202_init() {
player.x = 190;
player.y = 91;
player.facing = FACING_SOUTH;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 178;
player.y = 152;
player.facing = FACING_NORTH;
@@ -113,7 +113,7 @@ static void room_202_init() {
kernel.quotes = quote_load(0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x62, 0x63, 0x64, 0x65, 0x66, 0x61, 0);
local._activeMsgFl = false;
- if (previous_room == RETURNING_FROM_DIALOG) {
+ if (previous_room == KERNEL_RESTORING_GAME) {
if (local._waitingMeteoFl) {
g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], false, 1);
player.walker_visible = false;
@@ -174,7 +174,7 @@ static void room_202_init() {
static void setRandomKernelMessage() {
int vocabId = g_engine->getRandomNumber(92, 96);
kernel_message_purge();
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_message_add(quote_string(kernel.quotes, vocabId), 0, 0, 0x1110, 120, 70, 34);
local._activeMsgFl = true;
}
@@ -262,7 +262,7 @@ static void room_202_daemon() {
player2.words[0] = words_look;
player2.words[1] = words_binoculars;
player2.words[2] = words_strange_device;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_PARSER;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_PARSER;
kernel_timing_trigger(2 * 60, 2);
local._meteorologistSpecial = true;
} else if (global[kMeteorologistWatch] == METEOROLOGIST_TOWER) {
@@ -280,7 +280,7 @@ static void room_202_daemon() {
g_sequence_ids[9] = kernel_seq_backward(g_sprite_ids[9], true, 6, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[9], 247, 82);
kernel_seq_depth(g_sequence_ids[9], 1);
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 91);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_EXPIRE, 0, 91);
break;
case 91:
g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], true, 1);
@@ -293,7 +293,7 @@ static void room_202_daemon() {
kernel_seq_delete(g_sequence_ids[9]);
g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[11], 1);
- kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 93);
+ kernel_seq_trigger(g_sequence_ids[11], KERNEL_TRIGGER_EXPIRE, 0, 93);
kernel_message_purge();
int msgIndex = kernel_message_add(quote_string(kernel.quotes, 98), 0, -65, 0x1110, 60, 0, 32);
kernel_message_attach(msgIndex, g_sequence_ids[11]);
@@ -437,7 +437,7 @@ static void room_202_pre_parser() {
kernel_seq_delete(g_sequence_ids[9]);
g_sequence_ids[8] = kernel_seq_backward(g_sprite_ids[8], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[8], 1);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 1);
} else if (kernel.trigger == 1) {
kernel_seq_timeout(g_sequence_ids[8], -1);
kernel_delete_dynamic(local._ladderHotspotId);
@@ -488,8 +488,8 @@ static void room_202_parser() {
player.walker_visible = false;
g_sequence_ids[7] = kernel_seq_pingpong(g_sprite_ids[7], false, 3, 0, 0, 2);
kernel_seq_player(g_sequence_ids[7], false);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 2);
}
break;
case 1:
@@ -531,7 +531,7 @@ static void room_202_parser() {
kernel_dynamic_walk(local._ladderHotspotId, 246, 124, FACING_NORTH);
g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[8], 1);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
{
@@ -561,7 +561,7 @@ static void room_202_parser() {
kernel_seq_loc(g_sequence_ids[10], 172, 123);
kernel_seq_depth(g_sequence_ids[10], 1);
kernel_seq_timeout(g_sequence_ids[10], -1);
- kernel_seq_trigger(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[10], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
g_sequence_ids[10] = kernel_seq_stamp(g_sprite_ids[9], false, 6);
@@ -583,7 +583,7 @@ static void room_202_parser() {
kernel_seq_depth(g_sequence_ids[10], 1);
kernel_seq_range(g_sequence_ids[10], 1, 6);
kernel_seq_loc(g_sequence_ids[10], 172, 123);
- kernel_seq_trigger(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[10], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
kernel_seq_timeout(g_sequence_ids[10], -1);
@@ -603,7 +603,7 @@ static void room_202_parser() {
g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], true, 6, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[9], 247, 82);
kernel_seq_depth(g_sequence_ids[9], 1);
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
g_sequence_ids[10] = kernel_seq_stamp(g_sprite_ids[9], true, -2);
@@ -636,7 +636,7 @@ static void room_202_parser() {
g_sequence_ids[9] = kernel_seq_backward(g_sprite_ids[9], false, 6, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[9], 247, 82);
kernel_seq_depth(g_sequence_ids[9], 1);
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
g_sequence_ids[9] = kernel_seq_stamp(g_sprite_ids[9], true, 1);
diff --git a/engines/mads/nebular/rooms/room203.cpp b/engines/mads/nebular/rooms/room203.cpp
index 5411f3a9208..73308407704 100644
--- a/engines/mads/nebular/rooms/room203.cpp
+++ b/engines/mads/nebular/rooms/room203.cpp
@@ -50,7 +50,7 @@ static void room_203_init() {
player.x = 308;
player.y = 117;
player.facing = FACING_WEST;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 155;
player.y = 152;
player.facing = FACING_NORTH;
@@ -64,7 +64,7 @@ static void room_203_init() {
player_walk(158, 135, FACING_SOUTH);
int idx = kernel_add_dynamic(words_field_to_south, words_walk_towards, 0, 0, 0, 0, 320, 156);
kernel_dynamic_walk(idx, 155, 152, FACING_SOUTH);
- kernel_dynamic_cursor(idx, CURSOR_GO_DOWN);
+ kernel_dynamic_cursor(idx, CURSOR_DOWN);
}
if (!local._rhotundaEatFl) {
@@ -106,7 +106,7 @@ static void room_203_daemon() {
kernel_dump_all();
cursor_id = CURSOR_WAIT;
mouse_cursor_sprite(cursor, CURSOR_WAIT);
- kernel_run_animation(kernel_full_name(203, 'a', -1, "", EXT_AA), 81);
+ kernel_run_animation(kernel_full_name(203, 'a', -1, "", KERNEL_AA), 81);
} else if (kernel.trigger == 81) {
new_room = 208;
kernel.force_restart = true;
diff --git a/engines/mads/nebular/rooms/room205.cpp b/engines/mads/nebular/rooms/room205.cpp
index 6a950dd1a70..6d08ccdf23a 100644
--- a/engines/mads/nebular/rooms/room205.cpp
+++ b/engines/mads/nebular/rooms/room205.cpp
@@ -98,7 +98,7 @@ static void room_205_init() {
if (global[kSexOfRex] == SEX_FEMALE)
kernel_random_messages_init(3, 195, 264, 99, 134, 13, 2, 0xFDFC, 60, 108, 108, 109, 109, 110, 110, 111, 108, 0);
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 99;
player.y = 152;
}
@@ -112,9 +112,9 @@ static void room_205_init() {
player.walker_visible = false;
player.commands_allowed = false;
kernel_seq_depth(g_sequence_ids[8], 2);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_SPRITE, 6, 73);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_SPRITE, 11, 74);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_SPRITE, 6, 73);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_SPRITE, 11, 74);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 71);
}
section_2_music();
@@ -165,7 +165,7 @@ static void handleWomanSpeech(int quote) {
}
static void room_205_parser() {
- if (inter_input_mode == kInputConversation) {
+ if (inter_input_mode == INTER_CONVERSATION) {
if (local._kernelMessage >= 0)
kernel_message_delete(local._kernelMessage);
local._kernelMessage = -1;
@@ -210,7 +210,7 @@ static void room_205_parser() {
case 0x77:
kernel_message_add(quote_string(kernel.quotes, 0x7F), 186, 27, 0xFBFA, 120, 0, 0);
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
break;
default:
@@ -252,7 +252,7 @@ static void room_205_parser() {
g_sprite_ids[9] = kernel_load_series(kernel_name('a', 0), 0);
kernel_new_palette();
g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_EXPIRE, 0, 1);
kernel_seq_timeout(-1, g_sequence_ids[9]);
g_engine->_soundManager->command(27, 0);
} else if (kernel.trigger == 1) {
@@ -282,9 +282,9 @@ static void room_205_parser() {
text_show(20503);
else if (player_said_2(look, hut))
text_show(20504);
- else if (player_said_2(look, chicken) && (player.main_object_source == CAT_HOTSPOT))
+ else if (player_said_2(look, chicken) && (player.main_object_source == STROKE_INTERFACE))
text_show(20505);
- else if (player_said_2(take, chicken) && (player.main_object_source == CAT_HOTSPOT))
+ else if (player_said_2(take, chicken) && (player.main_object_source == STROKE_INTERFACE))
text_show(20506);
else if (player_said_2(look, chicken_on_spit))
text_show(20507);
diff --git a/engines/mads/nebular/rooms/room207.cpp b/engines/mads/nebular/rooms/room207.cpp
index d1c5e4c8932..d720d6f7991 100644
--- a/engines/mads/nebular/rooms/room207.cpp
+++ b/engines/mads/nebular/rooms/room207.cpp
@@ -91,7 +91,7 @@ static void room_207_init() {
player.x = 164;
player.y = 117;
player.facing = FACING_SOUTH;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 305;
player.y = 131;
}
@@ -101,7 +101,7 @@ static void room_207_init() {
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[6], 1, 22);
kernel_seq_depth(g_sequence_ids[6], 6);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 70);
}
static void moveVulture() {
@@ -150,7 +150,7 @@ static void room_207_daemon() {
g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 8, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[7], 6);
kernel_seq_depth(g_sequence_ids[8], 6);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 71);
local._eyeFl = true;
}
}
diff --git a/engines/mads/nebular/rooms/room208.cpp b/engines/mads/nebular/rooms/room208.cpp
index 4f5aead400b..f17ed3af136 100644
--- a/engines/mads/nebular/rooms/room208.cpp
+++ b/engines/mads/nebular/rooms/room208.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/core/pal.h"
#include "mads/nebular/global.h"
@@ -101,7 +102,7 @@ static void room_208_init() {
player.x = 307;
player.y = 123;
player.facing = FACING_WEST;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 162;
player.y = 149;
player.facing = FACING_NORTH;
@@ -186,7 +187,7 @@ static void subAction(int mode) {
else
endTrigger = 2;
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, endTrigger);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, endTrigger);
}
break;
case 1:
@@ -196,7 +197,7 @@ static void subAction(int mode) {
kernel_seq_range(g_sequence_ids[5], 3, 4);
kernel_seq_player(g_sequence_ids[5], false);
kernel_seq_timeout(oldSeq, g_sequence_ids[5]);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 2);
g_engine->_soundManager->command(20, 0);
}
break;
@@ -242,7 +243,7 @@ static void subAction(int mode) {
kernel_seq_range(g_sequence_ids[5], 1, 3);
kernel_seq_player(g_sequence_ids[5], false);
kernel_seq_timeout(oldVal, g_sequence_ids[5]);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 3);
}
break;
diff --git a/engines/mads/nebular/rooms/room209.cpp b/engines/mads/nebular/rooms/room209.cpp
index 214b3b97252..3af8b22b253 100644
--- a/engines/mads/nebular/rooms/room209.cpp
+++ b/engines/mads/nebular/rooms/room209.cpp
@@ -91,7 +91,7 @@ static void handlePeek() {
g_engine->_soundManager->command(18, 0);
g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 51, 52);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 134);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 134);
break;
case 134:
@@ -119,7 +119,7 @@ static void handlePeek() {
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 51, 52);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 138);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 138);
break;
case 138:
@@ -138,7 +138,7 @@ static void handleVerticalMove() {
case 140:
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 8, 1, 0, 8);
kernel_seq_range(g_sequence_ids[3], 1, 5);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 141);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 141);
break;
case 141:
@@ -155,7 +155,7 @@ static void handleVerticalMove() {
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 1, 5);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 143);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 143);
break;
case 143:
@@ -176,7 +176,7 @@ static void handleLookStay() {
local._monkeyPosition = 2;
g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 51, 52);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 146);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 146);
break;
case 146:
@@ -221,7 +221,7 @@ static void handleLookRight() {
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 8, 0, 0, 2);
kernel_seq_range(g_sequence_ids[3], 8, 14);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 152);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 152);
break;
case 152:
@@ -283,11 +283,11 @@ static void handleGetBinoculars() {
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 8, 24);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 20, 165);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_SPRITE, 20, 165);
if (!local._fallFl && !local._dodgeFl) {
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 162);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 162);
} else {
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 163);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 163);
}
break;
@@ -297,7 +297,7 @@ static void handleGetBinoculars() {
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 8, 0, 0, 6);
kernel_seq_range(g_sequence_ids[3], 23, 25);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 163);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 163);
}
break;
@@ -335,7 +335,7 @@ static void handleBinocularBlink() {
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 8, 0, 0, 2);
kernel_seq_range(g_sequence_ids[3], 23, 25);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 168);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 168);
}
break;
@@ -369,7 +369,7 @@ static void handleBinocularScan() {
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 12, 0, 0, 2);
kernel_seq_range(g_sequence_ids[3], 43, 45);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 172);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 172);
}
break;
@@ -389,7 +389,7 @@ static void handleBinocularScan() {
}
kernel_seq_range(g_sequence_ids[3], 23, 25);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 173);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 173);
}
break;
@@ -399,7 +399,7 @@ static void handleBinocularScan() {
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 12, 0, 0, 2);
kernel_seq_range(g_sequence_ids[3], 26, 30);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 174);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 174);
}
break;
@@ -440,7 +440,7 @@ static void handleJumpInTree() {
if (!local._removeMonkeyFl)
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 179);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 179);
}
break;
@@ -451,7 +451,7 @@ static void handleJumpInTree() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 53, 61);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 180);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 180);
}
break;
@@ -476,7 +476,7 @@ static void handleTongue() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 26, 30);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 183);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 183);
}
break;
@@ -486,7 +486,7 @@ static void handleTongue() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 31, 33);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 184);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 184);
}
break;
@@ -496,7 +496,7 @@ static void handleTongue() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 36, 37);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 185);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 185);
}
break;
@@ -507,7 +507,7 @@ static void handleTongue() {
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 6, 0, 0, 20);
kernel_seq_range(g_sequence_ids[3], 38, 39);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 186);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 186);
}
break;
@@ -517,7 +517,7 @@ static void handleTongue() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 40, 41);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 178);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 178);
local._removeMonkeyFl = false;
}
break;
@@ -546,7 +546,7 @@ static void handleStandFromPeek() {
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[6], 1, 5);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 192);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 192);
break;
case 192:
@@ -612,7 +612,7 @@ static void handleJumpAndHide() {
kernel_seq_delete(g_sequence_ids[4]);
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[5], 1, 16);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 197);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 197);
break;
case 197:
@@ -633,7 +633,7 @@ static void handleMonkeyEating() {
kernel_seq_delete(g_sequence_ids[4]);
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[4], 1, 14);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 200);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 200);
break;
case 200:
@@ -642,7 +642,7 @@ static void handleMonkeyEating() {
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 10, 0, 0, 10);
kernel_seq_range(g_sequence_ids[4], 15, 16);
kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 201);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 201);
}
break;
@@ -671,7 +671,7 @@ static void handleMonkeyEating() {
kernel_seq_delete(g_sequence_ids[4]);
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 10, 0, 0, 8);
kernel_seq_range(g_sequence_ids[4], 18, 19);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 205);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 205);
break;
case 205:
@@ -680,7 +680,7 @@ static void handleMonkeyEating() {
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 10, 0, 0, 8);
kernel_seq_range(g_sequence_ids[4], 20, 21);
kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 206);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 206);
}
break;
@@ -691,9 +691,9 @@ static void handleMonkeyEating() {
kernel_seq_range(g_sequence_ids[4], 22, 25);
kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
if (!local._dodgeFl && !local._fallFl)
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 207);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 207);
else
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 209);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 209);
}
break;
@@ -707,7 +707,7 @@ static void handleMonkeyEating() {
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 15, 0, 0, 4);
kernel_seq_range(g_sequence_ids[4], 26, 27);
kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 208);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 208);
}
break;
@@ -718,7 +718,7 @@ static void handleMonkeyEating() {
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 10, 0, 0, 4);
kernel_seq_range(g_sequence_ids[4], 28, 29);
kernel_seq_timeout(oldIdx, g_sequence_ids[4]);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 209);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 209);
}
break;
@@ -761,7 +761,7 @@ static void handleMonkeyFall() {
kernel_seq_range(g_sequence_ids[8], 1, 35);
kernel_seq_depth(g_sequence_ids[8], 6);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 220);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 220);
}
break;
@@ -777,7 +777,7 @@ static void handleMonkeyFall() {
kernel_seq_range(g_sequence_ids[8], 36, 42);
kernel_seq_depth(g_sequence_ids[8], 6);
kernel_seq_timeout(oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 221);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 221);
}
break;
@@ -793,7 +793,7 @@ static void handleMonkeyFall() {
kernel_seq_depth(g_sequence_ids[9], 8);
kernel_seq_timeout(oldIdx, g_sequence_ids[8]);
kernel_seq_range(g_sequence_ids[8], 43, 72);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 222);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 222);
int idx = kernel_add_dynamic(words_binoculars, words_walkto, 0, g_sequence_ids[9], 0, 0, 0, 0);
kernel_dynamic_walk(idx, 200, 133, FACING_NORTH);
}
@@ -806,12 +806,12 @@ static void handleMonkeyFall() {
g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[8], 73, 78);
kernel_seq_timeout(oldIdx, g_sequence_ids[8]);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 223);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 223);
}
break;
case 223:
- kernel_run_animation(kernel_full_name(209, 'e', -1, "", EXT_AA), 224);
+ kernel_run_animation(kernel_full_name(209, 'e', -1, "", KERNEL_AA), 224);
g_engine->_soundManager->command(38, 0);
break;
@@ -835,7 +835,7 @@ static void handleMonkey1() {
kernel_seq_delete(g_sequence_ids[4]);
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 9, 0, 0, 1);
kernel_seq_range(g_sequence_ids[4], 1, 13);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 213);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 213);
break;
case 213:
@@ -844,7 +844,7 @@ static void handleMonkey1() {
g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[7], 1, 22);
kernel_seq_timeout(oldIdx, g_sequence_ids[7]);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 214);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 214);
}
break;
@@ -854,7 +854,7 @@ static void handleMonkey1() {
g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[7], 23, 26);
kernel_seq_timeout(oldIdx, g_sequence_ids[7]);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 215);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 215);
int msgIndex = kernel_message_add(quote_string(kernel.quotes, 156), 170, 21, 0xFDFC, 90, 0, 0);
kernel_message_teletype(msgIndex, 3, true);
}
@@ -863,12 +863,12 @@ static void handleMonkey1() {
case 215:
{
g_engine->_soundManager->command(18, 0);
- kernel_run_animation(kernel_full_name(209, 'a', -1, "", EXT_AA), 251);
+ kernel_run_animation(kernel_full_name(209, 'a', -1, "", KERNEL_AA), 251);
int oldIdx = g_sequence_ids[7];
g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[7], 27, 35);
kernel_seq_timeout(oldIdx, g_sequence_ids[7]);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 216);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 216);
}
break;
@@ -902,7 +902,7 @@ static void handleMonkey2() {
kernel_seq_loc(g_sequence_ids[12], 111, 133);
kernel_seq_scale(g_sequence_ids[12], 79);
kernel_seq_range(g_sequence_ids[12], 1, 6);
- kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 252);
+ kernel_seq_trigger(g_sequence_ids[12], KERNEL_TRIGGER_EXPIRE, 0, 252);
player.clock = kernel.clock - player.frame_delay;
player.walker_visible = false;
break;
@@ -998,7 +998,7 @@ static void room_209_init() {
player.x = 11;
player.y = 121;
player.facing = FACING_EAST;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 28;
player.y = 121;
player.facing = FACING_SOUTH;
@@ -1270,7 +1270,7 @@ static void room_209_daemon() {
kernel_seq_range(g_sequence_ids[2], 1, 7);
kernel_seq_loc(g_sequence_ids[2], 116, 131);
kernel_seq_depth(g_sequence_ids[2], 4);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 229);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 229);
break;
case 229:
@@ -1290,7 +1290,7 @@ static void room_209_daemon() {
kernel_seq_range(g_sequence_ids[2], 1, 7);
kernel_seq_loc(g_sequence_ids[2], 116, 131);
kernel_seq_depth(g_sequence_ids[2], 4);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 231);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 231);
break;
case 231:
@@ -1301,7 +1301,7 @@ static void room_209_daemon() {
kernel_seq_loc(g_sequence_ids[2], 116, 131);
kernel_seq_depth(g_sequence_ids[2], 4);
kernel_seq_timeout(oldIdx, g_sequence_ids[2]);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 232);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 232);
player.clock = kernel.clock - player.frame_delay;
kernel_seq_timeout(-1, g_sequence_ids[2]);
player.walker_visible = false;
@@ -1336,14 +1336,14 @@ static void room_209_daemon() {
kernel_seq_range(g_sequence_ids[2], 11, 12);
kernel_seq_loc(g_sequence_ids[2], 116, 131);
kernel_seq_depth(g_sequence_ids[2], 4);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 12, 239);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 235);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 12, 239);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 235);
} else if (player_said_3(shoot, blowgun, monkey)) {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 11, 12);
kernel_seq_loc(g_sequence_ids[2], 116, 131);
kernel_seq_depth(g_sequence_ids[2], 4);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 235);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 235);
g_engine->_soundManager->command(23, 0);
}
break;
@@ -1367,7 +1367,7 @@ static void room_209_daemon() {
kernel_seq_range(g_sequence_ids[2], 14, 16);
kernel_seq_loc(g_sequence_ids[2], 116, 131);
kernel_seq_depth(g_sequence_ids[2], 4);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 237);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 237);
break;
case 237:
@@ -1563,7 +1563,7 @@ static void room_209_parser() {
if ((player_said_1(shoot) || player_said_1(hose_down)) && player_said_1(monkey)
&& player_said_1(blowgun) && player_has(OBJ_BLOWGUN) && player_has(OBJ_POISON_DARTS)) {
if (player_said_3(shoot, blowgun, monkey) && !local._startShootingInTimerFl) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 231);
local._startShootingInTimerFl = true;
player.commands_allowed = false;
@@ -1573,7 +1573,7 @@ static void room_209_parser() {
}
if (player_said_3(hose_down, blowgun, monkey) && !local._startShootingInTimerFl) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 228);
player.commands_allowed = false;
local._fallFl = true;
@@ -1599,8 +1599,8 @@ static void room_209_parser() {
player.walker_visible = false;
g_sequence_ids[11] = kernel_seq_pingpong(g_sprite_ids[11], false, 3, 0, 0, 2);
kernel_seq_player(g_sequence_ids[11], false);
- kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_SPRITE, 4, 1);
- kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[11], KERNEL_TRIGGER_SPRITE, 4, 1);
+ kernel_seq_trigger(g_sequence_ids[11], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -1633,8 +1633,8 @@ static void room_209_parser() {
player.walker_visible = false;
g_sequence_ids[10] = kernel_seq_pingpong(g_sprite_ids[10], false, 3, 0, 0, 2);
kernel_seq_player(g_sequence_ids[10], false);
- kernel_seq_trigger(g_sequence_ids[10], SEQUENCE_TRIGGER_SPRITE, 4, 1);
- kernel_seq_trigger(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[10], KERNEL_TRIGGER_SPRITE, 4, 1);
+ kernel_seq_trigger(g_sequence_ids[10], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
diff --git a/engines/mads/nebular/rooms/room210.cpp b/engines/mads/nebular/rooms/room210.cpp
index eefeb659049..8187ec91507 100644
--- a/engines/mads/nebular/rooms/room210.cpp
+++ b/engines/mads/nebular/rooms/room210.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/core/pal.h"
#include "mads/nebular/global.h"
@@ -102,7 +103,7 @@ static void newNode(int node) {
static void setDialogNode(int node) {
switch (node) {
case 0:
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
local._shouldFaceRex = false;
local._shouldTalk = false;
player.commands_allowed = true;
@@ -176,7 +177,7 @@ static void setDialogNode(int node) {
player.commands_allowed = false;
int quote;
- if (config_file.naughtiness == STORYMODE_NAUGHTY)
+ if (config_file.naughtiness == NAUGHTY)
quote = g_engine->getRandomNumber(199, 201);
else
quote = g_engine->getRandomNumber(197, 198);
@@ -188,7 +189,7 @@ static void setDialogNode(int node) {
kernel_timing_trigger(6, 1);
}
} else {
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
local._shouldFaceRex = false;
local._shouldTalk = false;
player.commands_allowed = true;
@@ -321,7 +322,7 @@ static void setDialogNode(int node) {
player.commands_allowed = false;
if (local._twinklesTalking) {
inter_reset_dialog();
- kernel_set_interface_mode(kInputConversation);
+ kernel_set_interface_mode(INTER_CONVERSATION);
handleTwinklesSpeech(0xE4, -1, 0);
kernel_timing_trigger(180, 2);
} else {
@@ -627,7 +628,7 @@ static void room_210_init() {
player.y = 128;
player.facing = FACING_SOUTH;
global[kCurtainOpen] = true;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 308;
player.y = 132;
}
@@ -639,7 +640,7 @@ static void room_210_init() {
int idx = kernel_add_dynamic(words_doorway, words_walk_through, 0, -1, 163, 87, 19, 36);
kernel_dynamic_walk(idx, 168, 127, FACING_NORTH);
local._doorway = idx;
- kernel_dynamic_cursor(local._doorway, CURSOR_GO_UP);
+ kernel_dynamic_cursor(local._doorway, CURSOR_UP);
}
kernel.quotes = quote_load(0x5A, 0x73, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB8, 0xB7,
@@ -667,7 +668,7 @@ static void room_210_init() {
local._twinkleAnimationType = 0;
local._twinklesCurrentFrame = 0;
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
local._shouldMoveHead = false;
local._shouldFaceRex = false;
local._shouldTalk = false;
@@ -911,7 +912,7 @@ static void room_210_pre_parser() {
static void room_210_parser() {
if (player_said_3(look, binoculars, hut_to_north)) {
text_show(21017);
- } else if (inter_input_mode == kInputConversation) {
+ } else if (inter_input_mode == INTER_CONVERSATION) {
handleConversations();
} else if (player_said_2(talkto, native_woman) ||
((Common::Point(player.x, player.y) == Common::Point(214, 150)) && (player.facing == FACING_NORTHWEST) && (local._twinkleAnimationType == 1) && local._stopWalking)) {
@@ -999,7 +1000,7 @@ static void room_210_parser() {
kernel_seq_delete(g_sequence_ids[1]);
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 12, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[1], 5);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -1007,7 +1008,7 @@ static void room_210_parser() {
global[kCurtainOpen] = true;
local._doorway = kernel_add_dynamic(words_doorway, words_walk_through, 0, -1, 163, 87, 19, 36);
kernel_dynamic_walk(local._doorway, 168, 127, FACING_NORTH);
- kernel_dynamic_cursor(local._doorway, CURSOR_GO_UP);
+ kernel_dynamic_cursor(local._doorway, CURSOR_UP);
break;
default:
@@ -1021,7 +1022,7 @@ static void room_210_parser() {
player.facing = FACING_NORTH;
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 12, 1, 0, 0);
kernel_seq_depth(g_sequence_ids[1], 5);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 1);
player.commands_allowed = false;
break;
case 1:
@@ -1039,7 +1040,7 @@ static void room_210_parser() {
}
} else if (player_said_2(look, hut)) {
if (global[kTwinklesStatus] == TWINKLES_GONE) {
- if (config_file.naughtiness == STORYMODE_NAUGHTY)
+ if (config_file.naughtiness == NAUGHTY)
text_show(21003);
else
text_show(21002);
diff --git a/engines/mads/nebular/rooms/room211.cpp b/engines/mads/nebular/rooms/room211.cpp
index 4c5f53a3174..42326e1d787 100644
--- a/engines/mads/nebular/rooms/room211.cpp
+++ b/engines/mads/nebular/rooms/room211.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/core/pal.h"
#include "mads/nebular/global.h"
@@ -60,7 +61,7 @@ static void room_211_init() {
player.walker_visible = false;
kernel_run_animation(kernel_name('A', -1), 100);
kernel_reset_animation(0, 169);
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 310;
player.y = 31;
player.facing = FACING_SOUTHWEST;
@@ -70,7 +71,7 @@ static void room_211_init() {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 0, 0);
kernel_seq_loc(g_sequence_ids[2], 202, 126);
kernel_seq_depth(g_sequence_ids[2], 8);
- kernel_seq_motion(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, -200, 0);
+ kernel_seq_motion(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, -200, 0);
kernel_add_dynamic(words_slithering_snake, words_walkto, 0, g_sequence_ids[2], 1, 1, 41, 10);
}
@@ -294,7 +295,7 @@ static void room_211_parser() {
text_show(21102);
else if (player_said_2(look, palm_tree)) {
if (global[kMonkeyStatus] == MONKEY_AMBUSH_READY) {
- if (config_file.naughtiness == STORYMODE_NAUGHTY)
+ if (config_file.naughtiness == NAUGHTY)
text_show(21103);
else
text_show(21104);
@@ -302,7 +303,7 @@ static void room_211_parser() {
text_show(21105);
}
} else if (player_said_2(look, thick_undergrowth)) {
- if (config_file.naughtiness == STORYMODE_NAUGHTY)
+ if (config_file.naughtiness == NAUGHTY)
text_show(21106);
else
text_show(21107);
diff --git a/engines/mads/nebular/rooms/room212.cpp b/engines/mads/nebular/rooms/room212.cpp
index f64f1b78617..fc4f32fe122 100644
--- a/engines/mads/nebular/rooms/room212.cpp
+++ b/engines/mads/nebular/rooms/room212.cpp
@@ -36,7 +36,7 @@ static void room_212_init() {
player.x = 195;
player.y = 85;
player.facing = FACING_SOUTH;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 67;
player.y = 117;
player.facing = FACING_NORTHEAST;
diff --git a/engines/mads/nebular/rooms/room214.cpp b/engines/mads/nebular/rooms/room214.cpp
index 826db8ebd7b..fed1e3376ad 100644
--- a/engines/mads/nebular/rooms/room214.cpp
+++ b/engines/mads/nebular/rooms/room214.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -64,7 +65,7 @@ static void room_214_init() {
kernel_flip_hotspot(words_blowgun, false);
}
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 191;
player.y = 152;
}
@@ -79,7 +80,7 @@ static void room_214_daemon() {
kernel_seq_range(g_sequence_ids[3], 1, 4);
kernel_seq_depth(g_sequence_ids[3], 2);
kernel_add_dynamic(words_captive_creature, words_walkto, 0, g_sequence_ids[3], 0, 0, 0, 0);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 71);
}
if (local._devilRunningFl) {
@@ -92,7 +93,7 @@ static void room_214_daemon() {
kernel_add_dynamic(words_captive_creature, words_walkto, 0, g_sequence_ids[3], 0, 0, 0, 0);
kernel_seq_range(g_sequence_ids[3], 5, 8);
kernel_seq_depth(g_sequence_ids[3], 2);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 72);
}
break;
@@ -127,13 +128,13 @@ static void room_214_parser() {
player.walker_visible = false;
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], true, 6, 0, 0, 1);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
g_sequence_ids[4] = kernel_seq_backward(g_sprite_ids[4], true, 6, 0, 0, 1);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 2);
kernel_seq_delete(g_sequence_ids[1]);
inter_give_to_player(OBJ_POISON_DARTS);
kernel_flip_hotspot(words_poison_darts, false);
@@ -159,13 +160,13 @@ static void room_214_parser() {
player.walker_visible = false;
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 1);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
g_sequence_ids[4] = kernel_seq_backward(g_sprite_ids[4], false, 6, 0, 0, 1);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 2);
kernel_seq_delete(g_sequence_ids[2]);
inter_give_to_player(OBJ_BLOWGUN);
kernel_flip_hotspot(words_blowgun, false);
@@ -195,7 +196,7 @@ static void room_214_parser() {
else if (player_said_2(look, trophy))
text_show(21405);
else if (player_said_2(look, large_bowl)) {
- if (config_file.naughtiness == STORYMODE_NAUGHTY) {
+ if (config_file.naughtiness == NAUGHTY) {
text_show(21406);
} else {
text_show(21407);
diff --git a/engines/mads/nebular/rooms/room215.cpp b/engines/mads/nebular/rooms/room215.cpp
index 898ebe9f406..ec1cbd9b58f 100644
--- a/engines/mads/nebular/rooms/room215.cpp
+++ b/engines/mads/nebular/rooms/room215.cpp
@@ -52,7 +52,7 @@ static void room_215_init() {
player.commands_allowed = false;
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
kernel_timing_trigger(120, 70);
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 204;
player.y = 152;
player.facing = FACING_NORTH;
@@ -66,7 +66,7 @@ static void room_215_daemon() {
if (kernel.trigger == 70) {
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 71);
}
if (kernel.trigger == 71) {
@@ -89,8 +89,8 @@ static void room_215_parser() {
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 6, 0, 0, 2);
kernel_seq_range(g_sequence_ids[2], 1, 4);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_LOOP, 0, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_LOOP, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
} else {
inter_give_to_player(OBJ_TWINKIFRUIT);
object_examine(OBJ_TWINKIFRUIT, 0x5404, 0);
diff --git a/engines/mads/nebular/rooms/room216.cpp b/engines/mads/nebular/rooms/room216.cpp
index c6e4ebf7c71..ab0da38b97b 100644
--- a/engines/mads/nebular/rooms/room216.cpp
+++ b/engines/mads/nebular/rooms/room216.cpp
@@ -36,7 +36,7 @@ void room_216_init() {
player.walker_visible = false;
inter_reset_dialog();
- kernel_set_interface_mode(kInputConversation);
+ kernel_set_interface_mode(INTER_CONVERSATION);
kernel_run_animation(kernel_name('A', -1), 60);
section_2_music();
diff --git a/engines/mads/nebular/rooms/room304.cpp b/engines/mads/nebular/rooms/room304.cpp
index c46d88f1790..b8e79f05c67 100644
--- a/engines/mads/nebular/rooms/room304.cpp
+++ b/engines/mads/nebular/rooms/room304.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/core/pal.h"
#include "mads/nebular/global.h"
@@ -96,8 +97,8 @@ static void room_304_daemon() {
int sprIdx = kernel_seq_forward(local._explosionSpriteId, false, 8, 0, 0, 1);
kernel_seq_range(sprIdx, -1, 4);
kernel_seq_depth(sprIdx, 1);
- kernel_seq_trigger(sprIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 71);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ kernel_seq_trigger(sprIdx, KERNEL_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 74);
}
break;
@@ -113,9 +114,9 @@ static void room_304_daemon() {
int sprIdx = kernel_seq_forward(local._explosionSpriteId, false, 8, 0, 0, 1);
kernel_seq_range(sprIdx, 5, -2);
kernel_seq_depth(sprIdx, 1);
- kernel_seq_trigger(sprIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 73);
- if (config_file.naughtiness == STORYMODE_NICE)
- kernel_seq_trigger(sprIdx, SEQUENCE_TRIGGER_SPRITE, 8, 78);
+ kernel_seq_trigger(sprIdx, KERNEL_TRIGGER_EXPIRE, 0, 73);
+ if (config_file.naughtiness == NICE)
+ kernel_seq_trigger(sprIdx, KERNEL_TRIGGER_SPRITE, 8, 78);
}
break;
@@ -131,14 +132,14 @@ static void room_304_daemon() {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 5, -2);
kernel_seq_depth(g_sequence_ids[2], 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 75);
break;
case 75:
g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 2, -2);
kernel_seq_depth(g_sequence_ids[2], 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 76);
break;
case 76:
diff --git a/engines/mads/nebular/rooms/room307.cpp b/engines/mads/nebular/rooms/room307.cpp
index b50ed8f7983..466c7663306 100644
--- a/engines/mads/nebular/rooms/room307.cpp
+++ b/engines/mads/nebular/rooms/room307.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/core/matte.h"
#include "mads/core/pal.h"
@@ -83,7 +84,7 @@ static void handlePrisonerSpeech(int firstQuoteId, int number, uint32 timeout) {
int quoteId = firstQuoteId;
for (int count = 0; count < number; count++) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_message_add(quote_string(kernel.quotes, quoteId), 5, posY, 0xFDFC, timeout, 81, 0);
posY += 14;
quoteId++;
@@ -94,7 +95,7 @@ static void setDialogNode(int node) {
switch (node) {
case 0:
handlePrisonerSpeech(0x153, 2, 120);
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
break;
case 1:
@@ -111,7 +112,7 @@ static void setDialogNode(int node) {
case 4:
handlePrisonerSpeech(0x116, 1, 120);
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
break;
case 5:
@@ -122,7 +123,7 @@ static void setDialogNode(int node) {
case 6:
handlePrisonerSpeech(0x123, 1, 120);
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
break;
case 7:
@@ -183,7 +184,7 @@ static void setDialogNode(int node) {
case 15:
handlePrisonerSpeech(0x152, 1, 120);
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
break;
case 16:
@@ -309,7 +310,7 @@ static void room_307_init() {
local._dialog2.write(0x11E, true);
- if (previous_room == RETURNING_FROM_DIALOG) {
+ if (previous_room == KERNEL_RESTORING_GAME) {
if (local._grateOpenedFl)
g_engine->_soundManager->command(10, 0);
else
@@ -352,7 +353,7 @@ static void room_307_init() {
int idx = kernel_add_dynamic(words_air_vent, words_climb_into, 0, -1, 117, 67, 19, 13);
kernel_dynamic_walk(idx, 129, 104, FACING_NORTH);
int hotspotId = idx;
- kernel_dynamic_cursor(hotspotId, CURSOR_GO_UP);
+ kernel_dynamic_cursor(hotspotId, CURSOR_UP);
kernel_seq_delete(g_sequence_ids[4]);
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 2);
@@ -414,7 +415,7 @@ static void room_307_daemon() {
local._lastFrameTime = kernel.clock;
if ((local._guardTime > 3000) && !local._duringPeeingFl && (kernel_anim[0].anim == nullptr)
- && (inter_input_mode != kInputConversation) && global[kMetBuddyBeast] && !local._activePrisonerFl) {
+ && (inter_input_mode != INTER_CONVERSATION) && global[kMetBuddyBeast] && !local._activePrisonerFl) {
if (!player_has(OBJ_SCALPEL) && !local._grateOpenedFl) {
player.commands_allowed = false;
player_walk(151, 119, FACING_SOUTHEAST);
@@ -423,7 +424,7 @@ static void room_307_daemon() {
kernel_run_animation(kernel_name('b', -1), 70);
}
local._guardTime = 0;
- } else if ((local._prisonerTimer > 300) && (inter_input_mode != kInputConversation) && (kernel_anim[0].anim == nullptr) && !local._activePrisonerFl) {
+ } else if ((local._prisonerTimer > 300) && (inter_input_mode != INTER_CONVERSATION) && (kernel_anim[0].anim == nullptr) && !local._activePrisonerFl) {
if (!global[kMetBuddyBeast]) {
if (local._prisonerMessageId == -1)
local._prisonerMessageId = 0x104;
@@ -456,7 +457,7 @@ static void room_307_daemon() {
static void room_307_parser() {
if (player.look_around)
text_show(30715);
- else if (inter_input_mode == kInputConversation)
+ else if (inter_input_mode == INTER_CONVERSATION)
handleDialog();
else if (player_said_2(talkto, cell_wall) || player_said_2(talkto, wall) || player_said_2(talkto, toilet)) {
int node, say;
@@ -498,7 +499,7 @@ static void room_307_parser() {
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[5], -1, 3);
kernel_seq_player(g_sequence_ids[5], false);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
@@ -508,7 +509,7 @@ static void room_307_parser() {
kernel_seq_player(g_sequence_ids[5], false);
kernel_seq_range(g_sequence_ids[5], 2, 3);
kernel_seq_timeout(oldIdx, g_sequence_ids[5]);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 3);
}
break;
@@ -548,7 +549,7 @@ static void room_307_parser() {
int idx = kernel_add_dynamic(words_air_vent, words_climb_into, 0, -1, 117, 67, 19, 13);
kernel_dynamic_walk(idx, 129, 104, FACING_NORTH);
int hotspotId = idx;
- kernel_dynamic_cursor(hotspotId, CURSOR_GO_UP);
+ kernel_dynamic_cursor(hotspotId, CURSOR_UP);
inter_take_from_player(OBJ_SCALPEL, NOWHERE);
kernel_message_player(0xF2, 120, 7);
}
@@ -577,8 +578,8 @@ static void room_307_parser() {
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 18, 0, 0, 1);
kernel_seq_range(g_sequence_ids[5], -1, 4);
kernel_seq_player(g_sequence_ids[5], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -594,7 +595,7 @@ static void room_307_parser() {
kernel_seq_range(g_sequence_ids[5], 4, 10);
kernel_seq_player(g_sequence_ids[5], false);
kernel_seq_timeout(oldIdx, g_sequence_ids[5]);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 3);
}
break;
@@ -619,7 +620,7 @@ static void room_307_parser() {
kernel_seq_range(g_sequence_ids[5], 12, 14);
kernel_seq_player(g_sequence_ids[5], false);
kernel_seq_loc(g_sequence_ids[5], 129, 102);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 5);
break;
case 5:
@@ -646,7 +647,7 @@ static void room_307_parser() {
break;
}
}
- } else if (player_said_2(use, toilet) && (config_file.naughtiness != STORYMODE_NAUGHTY))
+ } else if (player_said_2(use, toilet) && (config_file.naughtiness != NAUGHTY))
text_show(30723);
else if (player_said_2(use, toilet)) {
if (!local._afterPeeingFl) {
@@ -660,14 +661,14 @@ static void room_307_parser() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], -1, 2);
kernel_seq_depth(g_sequence_ids[3], 9);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 5);
kernel_seq_range(g_sequence_ids[3], 3, -2);
kernel_seq_depth(g_sequence_ids[3], 9);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
diff --git a/engines/mads/nebular/rooms/room308.cpp b/engines/mads/nebular/rooms/room308.cpp
index ec892da9bb7..85443d8a995 100644
--- a/engines/mads/nebular/rooms/room308.cpp
+++ b/engines/mads/nebular/rooms/room308.cpp
@@ -48,7 +48,7 @@ static void room_308_init() {
init_forcefield(&local._forcefield, true);
g_sprite_ids[3] = kernel_load_series(kernel_name('b', 0), 0);
- g_sprite_ids[4] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_full_name(307, 'X', 0, "", KERNEL_SS), 0);
pal_change_color(252, 63, 30, 20);
pal_change_color(253, 45, 15, 12);
@@ -87,7 +87,7 @@ static void room_308_daemon() {
kernel_message_purge();
int idx = kernel_message_add(quote_string(kernel.quotes, 244), 171, 21, 0xFDFC, 120, 0, 0);
kernel_message_teletype(idx, 2, true);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 71);
}
break;
@@ -107,7 +107,7 @@ static void room_308_daemon() {
kernel_seq_range(g_sequence_ids[3], 3, 4);
kernel_seq_depth(g_sequence_ids[3], 9);
kernel_message_purge();
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 73);
break;
case 73:
@@ -129,7 +129,7 @@ static void room_308_daemon() {
kernel_message_purge();
int idx = kernel_message_add(quote_string(kernel.quotes, 245), 171, 21, 0xFDFC, 120, 0, 0);
kernel_message_teletype(idx, 2, true);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 75);
}
break;
@@ -140,7 +140,7 @@ static void room_308_daemon() {
kernel_seq_range(g_sequence_ids[3], 8, 10);
kernel_seq_depth(g_sequence_ids[3], 9);
kernel_seq_timeout(seqIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 76);
}
break;
diff --git a/engines/mads/nebular/rooms/room309.cpp b/engines/mads/nebular/rooms/room309.cpp
index b6511aff4bc..e81cd585196 100644
--- a/engines/mads/nebular/rooms/room309.cpp
+++ b/engines/mads/nebular/rooms/room309.cpp
@@ -51,7 +51,7 @@ static void room_309_init() {
init_forcefield(&local._forcefield, true);
g_sprite_ids[3] = kernel_load_series(kernel_name('x', 0), 0);
- g_sprite_ids[4] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
+ g_sprite_ids[4] = kernel_load_series(kernel_full_name(307, 'X', 0, "", KERNEL_SS), 0);
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, 1);
kernel_seq_loc(g_sequence_ids[4], 127, 78);
@@ -60,7 +60,7 @@ static void room_309_init() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], -1, 3);
kernel_seq_depth(g_sequence_ids[3], 11);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 3, 70);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_SPRITE, 3, 70);
pal_change_color(252, 63, 37, 26);
pal_change_color(253, 45, 24, 17);
@@ -139,7 +139,7 @@ static void room_309_daemon() {
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 7, 0, 0, 4);
kernel_seq_range(g_sequence_ids[3], 2, 3);
kernel_seq_depth(g_sequence_ids[3], 11);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 71);
}
break;
@@ -152,7 +152,7 @@ static void room_309_daemon() {
kernel_seq_timeout(_oldIdx, g_sequence_ids[3]);
int idx = kernel_message_add(quote_string(kernel.quotes, 248), 85, 37, 0xFDFC, 120, 0, 0);
kernel_message_teletype(idx, 2, true);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 72);
}
break;
@@ -163,7 +163,7 @@ static void room_309_daemon() {
kernel_seq_range(g_sequence_ids[3], 8, 11);
kernel_seq_depth(g_sequence_ids[3], 11);
kernel_seq_timeout(_oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 73);
}
break;
@@ -176,7 +176,7 @@ static void room_309_daemon() {
kernel_seq_timeout(_oldIdx, g_sequence_ids[3]);
int idx = kernel_message_add(quote_string(kernel.quotes, 249), 170, 49, 0xFDFC, 120, 0, 0);
kernel_message_teletype(idx, 2, true);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 74);
}
break;
@@ -187,7 +187,7 @@ static void room_309_daemon() {
kernel_seq_range(g_sequence_ids[3], 21, 23);
kernel_seq_depth(g_sequence_ids[3], 11);
kernel_seq_timeout(_oldIdx, g_sequence_ids[3]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 75);
}
break;
@@ -198,7 +198,7 @@ static void room_309_daemon() {
kernel_seq_range(g_sequence_ids[3], 24, 25);
kernel_seq_timeout(_oldIdx, g_sequence_ids[3]);
kernel_seq_depth(g_sequence_ids[3], 11);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 76);
}
break;
@@ -209,7 +209,7 @@ static void room_309_daemon() {
kernel_seq_range(g_sequence_ids[3], 26, 28);
kernel_seq_timeout(_oldIdx, g_sequence_ids[3]);
kernel_seq_depth(g_sequence_ids[3], 11);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 77);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 77);
}
break;
diff --git a/engines/mads/nebular/rooms/room310.cpp b/engines/mads/nebular/rooms/room310.cpp
index 387737fdf92..a536e7fe9ed 100644
--- a/engines/mads/nebular/rooms/room310.cpp
+++ b/engines/mads/nebular/rooms/room310.cpp
@@ -46,7 +46,7 @@ static void room_310_init() {
init_forcefield(&local._forcefield, true);
- g_sprite_ids[3] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_full_name(307, 'X', 0, "", KERNEL_SS), 0);
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
kernel_seq_loc(g_sequence_ids[3], 127, 78);
kernel_seq_depth(g_sequence_ids[3], 15);
diff --git a/engines/mads/nebular/rooms/room311.cpp b/engines/mads/nebular/rooms/room311.cpp
index 1aee4c2a5b9..9bd92e85608 100644
--- a/engines/mads/nebular/rooms/room311.cpp
+++ b/engines/mads/nebular/rooms/room311.cpp
@@ -39,7 +39,7 @@ static Scratch local;
static void room_311_init() {
- g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", KERNEL_SS), 0);
g_sprite_ids[2] = kernel_load_series("*RXCL_8", 0);
g_sprite_ids[3] = kernel_load_series("*RXCL_2", 0);
@@ -66,7 +66,7 @@ static void room_311_init() {
player.x = 129;
player.y = 113;
player.facing = FACING_SOUTH;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.walker_visible = false;
player.commands_allowed = false;
kernel_run_animation(kernel_name('a', -1), 70);
@@ -118,7 +118,7 @@ static void room_311_daemon() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 4, 5);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 75);
break;
case 75:
@@ -165,7 +165,7 @@ static void room_311_daemon() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 10, -2);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 80);
break;
case 80:
@@ -214,8 +214,8 @@ static void room_311_parser() {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 15, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], -1, 4);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -235,7 +235,7 @@ static void room_311_parser() {
kernel_seq_range(g_sequence_ids[2], 4, 10);
kernel_seq_player(g_sequence_ids[2], false);
kernel_seq_timeout(oldIdx, g_sequence_ids[2]);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 3);
}
break;
@@ -266,7 +266,7 @@ static void room_311_parser() {
kernel_seq_range(g_sequence_ids[2], 12, 14);
kernel_seq_player(g_sequence_ids[2], false);
kernel_seq_loc(g_sequence_ids[2], 167, 100);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 5);
break;
case 5:
diff --git a/engines/mads/nebular/rooms/room313.cpp b/engines/mads/nebular/rooms/room313.cpp
index c6c1ed0be7e..c9a5b5d0258 100644
--- a/engines/mads/nebular/rooms/room313.cpp
+++ b/engines/mads/nebular/rooms/room313.cpp
@@ -34,7 +34,7 @@ namespace RexNebular {
namespace Rooms {
static void room_313_init() {
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
if ((previous_room == 366) || (previous_room == 316)) {
player.x = 30;
@@ -56,7 +56,7 @@ static void room_313_init() {
player.x = 199;
player.y = 70;
player.facing = FACING_WEST;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 234;
player.y = 70;
player.facing = FACING_WEST;
diff --git a/engines/mads/nebular/rooms/room316.cpp b/engines/mads/nebular/rooms/room316.cpp
index dc2200f6170..dbcdb9bcddf 100644
--- a/engines/mads/nebular/rooms/room316.cpp
+++ b/engines/mads/nebular/rooms/room316.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -46,7 +47,7 @@ static void handleRexInGrate() {
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 12, 0, 0, 3);
kernel_seq_range(g_sequence_ids[4], 2, 3);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
@@ -61,8 +62,8 @@ static void handleRexInGrate() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 2, -2);
kernel_seq_depth(g_sequence_ids[3], 12);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 4);
}
break;
@@ -87,7 +88,7 @@ static void handleRexInGrate() {
g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 5, -2);
kernel_seq_depth(g_sequence_ids[3], 3);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 5);
}
break;
@@ -116,8 +117,8 @@ static void handleRexInGrate() {
g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 2, 3);
kernel_seq_depth(g_sequence_ids[3], 3);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 7);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 8);
break;
case 7:
@@ -171,7 +172,7 @@ static void handleRoxInGrate() {
g_sequence_ids[5] = kernel_seq_pingpong(g_sprite_ids[5], false, 17, 0, 0, 3);
kernel_seq_range(g_sequence_ids[5], 2, 3);
kernel_seq_player(g_sequence_ids[5], false);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
@@ -185,8 +186,8 @@ static void handleRoxInGrate() {
kernel_seq_range(g_sequence_ids[5], 4, 8);
kernel_seq_player(g_sequence_ids[5], false);
kernel_seq_timeout(temp, g_sequence_ids[5]);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 4);
break;
case 3:
@@ -207,7 +208,7 @@ static void handleRoxInGrate() {
g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 17, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 5, -2);
kernel_seq_depth(g_sequence_ids[3], 3);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 5);
break;
case 5:
@@ -233,8 +234,8 @@ static void handleRoxInGrate() {
g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 17, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 2, 3);
kernel_seq_depth(g_sequence_ids[3], 3);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 7);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 7);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 8);
break;
case 7:
@@ -299,8 +300,8 @@ static void room_316_init() {
int spriteIdx = (global[kSexOfRex] == REX_MALE) ? 1 : 2;
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[spriteIdx], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[1], 2);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 60);
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 291;
player.y = 126;
}
@@ -327,8 +328,8 @@ static void room_316_daemon() {
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[6], 1, 5);
kernel_seq_player(g_sequence_ids[6], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 72);
break;
case 71:
@@ -347,7 +348,7 @@ static void room_316_daemon() {
kernel_seq_range(g_sequence_ids[6], 6, 9);
kernel_seq_player(g_sequence_ids[6], false);
kernel_seq_timeout(synxIdx, g_sequence_ids[6]);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 73);
}
break;
@@ -361,8 +362,8 @@ static void room_316_daemon() {
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[6], 10, -2);
kernel_seq_player(g_sequence_ids[6], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 74);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 75);
break;
case 74:
@@ -414,11 +415,11 @@ static void room_316_parser() {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[1], -1, 7);
kernel_seq_depth(g_sequence_ids[1], 2);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 1);
} else {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 7, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 2);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 3);
}
}
break;
@@ -431,7 +432,7 @@ static void room_316_parser() {
if (!player_has_been_in_room(321))
kernel_message_add(quote_string(kernel.quotes, 253), 0, 0, 0x1110, 120, 0, 34);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
diff --git a/engines/mads/nebular/rooms/room318.cpp b/engines/mads/nebular/rooms/room318.cpp
index ec0669acdfa..93e7f083940 100644
--- a/engines/mads/nebular/rooms/room318.cpp
+++ b/engines/mads/nebular/rooms/room318.cpp
@@ -96,7 +96,7 @@ static void handleInternDialog(int quoteId, int quoteNum, uint32 timeout) {
kernel_seq_delete(seqIndex);
for (int i = 0; i < quoteNum; i++) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(180, 63);
kernel_message_add(quote_string(kernel.quotes, curQuoteId), posX, posY, 0xFDFC, timeout, 0, 0);
posY += 14;
@@ -115,7 +115,7 @@ static void handleDialog() {
kernel_seq_loc(g_sequence_ids[2], 142, 121);
kernel_seq_timeout(synxIdx, g_sequence_ids[2]);
g_engine->_soundManager->command(3, 0);
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
player.commands_allowed = true;
} else {
if (player2.words[0] < 0x19C)
@@ -185,7 +185,7 @@ static void handleDialog() {
kernel_seq_depth(g_sequence_ids[2], 1);
kernel_seq_loc(g_sequence_ids[2], 142, 121);
kernel_seq_range(g_sequence_ids[2], 6, 8);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
local._dialogFl = false;
handleInternDialog(0x1D0, 1, 120);
@@ -230,7 +230,7 @@ static void room_318_init() {
player.x = 15;
player.y = 110;
}
- else if (previous_room != RETURNING_FROM_DIALOG) {
+ else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 214;
player.y = 152;
}
@@ -253,7 +253,7 @@ static void room_318_init() {
local._lastFrame = 0;
kernel_flip_hotspot(words_intern, false);
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
local._dialogFl = false;
local._internWalkingFl = false;
local._counter = 0;
@@ -270,8 +270,8 @@ static void room_318_init() {
0x1C8, 0x1C9, 0x1CA, 0x1CB, 0x1CC, 0x1CD, 0x1CE, 0x1CF, 0x1D0, 0x1D1, 0x1D2, 0x1D3,
0x190, 0x19D, 0);
- if ((previous_room == RETURNING_FROM_DIALOG) || (((previous_room == 318) ||
- (previous_room == RETURNING_FROM_LOADING)) && (!global[kAfterHavoc]))) {
+ if ((previous_room == KERNEL_RESTORING_GAME) || (((previous_room == 318) ||
+ (previous_room == KERNEL_STARTING_GAME)) && (!global[kAfterHavoc]))) {
if (!global[kAfterHavoc]) {
player.walker_visible = false;
g_sprite_ids[2] = kernel_load_series(kernel_name('g', -1), 0);
@@ -431,7 +431,7 @@ static void room_318_daemon() {
local._animMode = 3;
}
} else if ((local._animMode == 2) && local._explosionFl && local._internVisibleFl && !local._dialogFl
- && !local._internWalkingFl && (inter_input_mode != kInputConversation)) {
+ && !local._internWalkingFl && (inter_input_mode != INTER_CONVERSATION)) {
if ((diffFrame >= 0) && (diffFrame <= 4))
local._internCounter += diffFrame;
else
@@ -461,7 +461,7 @@ static void room_318_pre_parser() {
}
static void room_318_parser() {
- if (inter_input_mode == kInputConversation) {
+ if (inter_input_mode == INTER_CONVERSATION) {
handleDialog();
player.command_ready = false;
return;
@@ -481,7 +481,7 @@ static void room_318_parser() {
kernel_seq_depth(g_sequence_ids[2], 1);
kernel_seq_loc(g_sequence_ids[2], 142, 121);
kernel_seq_range(g_sequence_ids[2], 6, 8);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -517,8 +517,8 @@ static void room_318_parser() {
kernel_seq_depth(g_sequence_ids[2], 1);
kernel_seq_loc(g_sequence_ids[2], 142, 121);
kernel_seq_range(g_sequence_ids[2], 2, 5);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 5, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 5, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
diff --git a/engines/mads/nebular/rooms/room319.cpp b/engines/mads/nebular/rooms/room319.cpp
index 05e4eb123c6..f68ab805076 100644
--- a/engines/mads/nebular/rooms/room319.cpp
+++ b/engines/mads/nebular/rooms/room319.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/core/magic.h"
#include "mads/core/mcga.h"
@@ -106,7 +107,7 @@ static void room_319_init() {
local._dialog2.setup(0x44, 0x171, 0x172, 0x173, 0x174, 0x175, 0x176, 0);
local._dialog3.setup(0x45, 0x17D, 0x17E, 0x17F, 0x180, 0x181, 0x182, 0x183, 0);
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
local._dialog1.set(0x165, 0x166, 0x167, 0x168, 0);
local._dialog2.set(0x171, 0x172, 0x173, 0x174, 0);
local._dialog3.set(0x17D, 0x17E, 0x17F, 0x180, 0);
@@ -129,7 +130,7 @@ static void room_319_init() {
kernel_run_animation(kernel_name('b', 0), 0);
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
local._animMode = 1;
local._nextAction1 = 2;
local._nextAction2 = 2;
@@ -267,7 +268,7 @@ static void room_319_daemon() {
g_sequence_ids[i] = kernel_seq_forward(g_sprite_ids[i], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[i], 1, 7);
}
- kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ kernel_seq_trigger(g_sequence_ids[0], KERNEL_TRIGGER_EXPIRE, 0, 73);
}
}
}
@@ -322,7 +323,7 @@ static void room_319_daemon() {
kernel_seq_range(g_sequence_ids[i], 8, 13);
kernel_seq_timeout(oldIdx, g_sequence_ids[i]);
}
- kernel_seq_trigger(g_sequence_ids[0], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ kernel_seq_trigger(g_sequence_ids[0], KERNEL_TRIGGER_EXPIRE, 0, 74);
// WORKAROUND: This fixes the game sometimes going into an endless waiting
// loop even after the doctor has finished hitting Rex. Note sure if it's due
@@ -442,7 +443,7 @@ static void room_319_parser() {
(player2.words[0] == 0x183));
int addVerbId = player2.words[0] + 1;
- if ((addVerbId == 0x182) && (config_file.naughtiness != STORYMODE_NAUGHTY))
+ if ((addVerbId == 0x182) && (config_file.naughtiness != NAUGHTY))
addVerbId = 0x183;
if (local._slacheMode == 1) {
diff --git a/engines/mads/nebular/rooms/room320.cpp b/engines/mads/nebular/rooms/room320.cpp
index 9ff08b63a97..81dd4a9753f 100644
--- a/engines/mads/nebular/rooms/room320.cpp
+++ b/engines/mads/nebular/rooms/room320.cpp
@@ -253,8 +253,8 @@ static void room_320_parser() {
kernel_seq_scale(g_sequence_ids[18], 60);
kernel_seq_loc(g_sequence_ids[18], local._posX, 170);
kernel_seq_depth(g_sequence_ids[18], 0);
- kernel_seq_trigger(g_sequence_ids[18], SEQUENCE_TRIGGER_LOOP, 0, 1);
- kernel_seq_trigger(g_sequence_ids[18], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[18], KERNEL_TRIGGER_LOOP, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[18], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -297,7 +297,7 @@ static void room_320_parser() {
local._blinkFl = false;
setLeftView(2);
kernel.quotes = quote_load(0xFE, 0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_run_animation(kernel_name('a', -1), 70);
g_engine->_soundManager->command(17, 0);
}
diff --git a/engines/mads/nebular/rooms/room321.cpp b/engines/mads/nebular/rooms/room321.cpp
index 0b3ae3f9015..7132dea5f73 100644
--- a/engines/mads/nebular/rooms/room321.cpp
+++ b/engines/mads/nebular/rooms/room321.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -36,7 +37,7 @@ static void room_321_init() {
player.commands_allowed = false;
inter_reset_dialog();
- kernel_set_interface_mode(kInputConversation);
+ kernel_set_interface_mode(INTER_CONVERSATION);
int suffixNum;
if (global[kSexOfRex] == REX_FEMALE) {
@@ -53,7 +54,7 @@ static void room_321_init() {
static void room_321_daemon() {
if (kernel_anim[0].anim != nullptr) {
- if ((kernel_anim[0].frame >= 260) && (global[kSexOfRex] == REX_MALE) && (config_file.naughtiness >= STORYMODE_NICE))
+ if ((kernel_anim[0].frame >= 260) && (global[kSexOfRex] == REX_MALE) && (config_file.naughtiness >= NICE))
new_room = 316;
}
diff --git a/engines/mads/nebular/rooms/room322.cpp b/engines/mads/nebular/rooms/room322.cpp
index 6d87cae9902..470a472d194 100644
--- a/engines/mads/nebular/rooms/room322.cpp
+++ b/engines/mads/nebular/rooms/room322.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
diff --git a/engines/mads/nebular/rooms/room351.cpp b/engines/mads/nebular/rooms/room351.cpp
index d1629e772a0..073d27d5f29 100644
--- a/engines/mads/nebular/rooms/room351.cpp
+++ b/engines/mads/nebular/rooms/room351.cpp
@@ -49,7 +49,7 @@ static void room_351_init() {
player.x = 148;
player.y = 152;
}
- else if (previous_room != RETURNING_FROM_DIALOG) {
+ else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 207;
player.y = 81;
player.facing = FACING_NORTH;
@@ -130,13 +130,13 @@ static void room_351_parser() {
if (global[kSexOfRex] == REX_FEMALE) {
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 5, 0, 0, 2);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 5, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 5, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
} else {
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 5, 0, 0, 2);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 2);
}
break;
diff --git a/engines/mads/nebular/rooms/room352.cpp b/engines/mads/nebular/rooms/room352.cpp
index 4afc0ec7fe5..98480b07bc4 100644
--- a/engines/mads/nebular/rooms/room352.cpp
+++ b/engines/mads/nebular/rooms/room352.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -59,13 +60,13 @@ static void putArmDown(bool corridorExit, bool doorwayExit) {
if (global[kSexOfRex] == REX_FEMALE) {
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 5, 0, 0, 2);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 5, 2);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_SPRITE, 5, 2);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 3);
} else {
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 5, 0, 0, 2);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 2);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_SPRITE, 6, 2);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 3);
}
break;
@@ -159,7 +160,7 @@ static void room_352_init() {
local._vaultOpenFl = false;
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
local._mustPutArmDownFl = false;
if (!player.been_here_before)
global[kHaveYourStuff] = false;
@@ -176,7 +177,7 @@ static void room_352_init() {
player.x = 171;
player.y = 155;
}
- else if (previous_room != RETURNING_FROM_DIALOG) {
+ else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 116;
player.y = 107;
}
@@ -208,7 +209,7 @@ static void room_352_pre_parser() {
kernel_seq_delete(local._commonSequenceIdx);
g_engine->_soundManager->command(20, 0);
local._commonSequenceIdx = kernel_seq_backward(local._commonSpriteIndex, false, 6, 0, 0, 1);
- kernel_seq_trigger(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(local._commonSequenceIdx, KERNEL_TRIGGER_EXPIRE, 0, 1);
kernel_seq_depth(local._commonSequenceIdx, 15);
}
break;
@@ -261,7 +262,7 @@ static void room_352_parser() {
local._commonSequenceIdx = kernel_seq_forward(local._commonSpriteIndex, false, 8, 0, 0, 1);
kernel_seq_timeout(-1, local._commonSequenceIdx);
- kernel_seq_trigger(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(local._commonSequenceIdx, KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -272,7 +273,7 @@ static void room_352_parser() {
int oldIdx = local._commonSequenceIdx;
local._commonSequenceIdx = kernel_seq_stamp(local._commonSpriteIndex, false, -2);
kernel_seq_timeout(oldIdx, local._commonSequenceIdx);
- kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[12], KERNEL_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -281,7 +282,7 @@ static void room_352_parser() {
kernel_seq_delete(local._commonSequenceIdx);
local._commonSequenceIdx = kernel_seq_pingpong(local._commonSpriteIndex, false, 8, 0, 0, 1);
kernel_seq_range(local._commonSequenceIdx, 1, 3);
- kernel_seq_trigger(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(local._commonSequenceIdx, KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
@@ -339,13 +340,13 @@ static void room_352_parser() {
if (global[kSexOfRex] == REX_FEMALE) {
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 5, 0, 0, 2);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 5, 1);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_SPRITE, 5, 1);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 2);
} else {
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 5, 0, 0, 2);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -382,7 +383,7 @@ static void room_352_parser() {
local._commonSequenceIdx = kernel_seq_forward(local._commonSpriteIndex, false, 8, 0, 0, 1);
kernel_seq_timeout(-1, local._commonSequenceIdx);
- kernel_seq_trigger(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(local._commonSequenceIdx, KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -393,7 +394,7 @@ static void room_352_parser() {
int oldIdx = local._commonSequenceIdx;
local._commonSequenceIdx = kernel_seq_stamp(local._commonSpriteIndex, false, -2);
kernel_seq_timeout(oldIdx, local._commonSequenceIdx);
- kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[12], KERNEL_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -402,7 +403,7 @@ static void room_352_parser() {
kernel_seq_delete(local._commonSequenceIdx);
local._commonSequenceIdx = kernel_seq_backward(local._commonSpriteIndex, false, 8, 0, 0, 1);
kernel_seq_range(local._commonSequenceIdx, 1, 4);
- kernel_seq_trigger(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(local._commonSequenceIdx, KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
@@ -417,7 +418,7 @@ static void room_352_parser() {
g_engine->_soundManager->command(20, 0);
local._commonSequenceIdx = kernel_seq_forward(local._commonSpriteIndex, false, 6, 0, 0, 1);
kernel_seq_depth(local._commonSequenceIdx, 15);
- kernel_seq_trigger(local._commonSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ kernel_seq_trigger(local._commonSequenceIdx, KERNEL_TRIGGER_EXPIRE, 0, 4);
break;
case 4:
@@ -465,14 +466,14 @@ static void room_352_parser() {
g_sequence_ids[14] = kernel_seq_pingpong(g_sprite_ids[14], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[14], 1, 2);
kernel_seq_player(g_sequence_ids[14], false);
- kernel_seq_trigger(g_sequence_ids[14], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- kernel_seq_trigger(g_sequence_ids[14], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[14], KERNEL_TRIGGER_SPRITE, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[14], KERNEL_TRIGGER_EXPIRE, 0, 2);
} else {
g_sequence_ids[15] = kernel_seq_pingpong(g_sprite_ids[15], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[15], 1, 2);
kernel_seq_player(g_sequence_ids[15], false);
- kernel_seq_trigger(g_sequence_ids[15], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- kernel_seq_trigger(g_sequence_ids[15], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[15], KERNEL_TRIGGER_SPRITE, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[15], KERNEL_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -511,13 +512,13 @@ static void room_352_parser() {
if (global[kSexOfRex] == REX_MALE) {
g_sequence_ids[6] = kernel_seq_pingpong(g_sprite_ids[6], true, 6, 0, 0, 2);
kernel_seq_player(g_sequence_ids[6], false);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 2);
} else {
g_sequence_ids[7] = kernel_seq_pingpong(g_sprite_ids[7], true, 6, 0, 0, 2);
kernel_seq_player(g_sequence_ids[7], false);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -544,7 +545,7 @@ static void room_352_parser() {
} else if (player_said_2(look, scanner))
text_show(35210);
else if (player_said_2(look, monitor)) {
- if (config_file.naughtiness == STORYMODE_NAUGHTY)
+ if (config_file.naughtiness == NAUGHTY)
text_show(35211);
else
text_show(35212);
diff --git a/engines/mads/nebular/rooms/room353.cpp b/engines/mads/nebular/rooms/room353.cpp
index 4ef4c980fed..10bb2a27d7f 100644
--- a/engines/mads/nebular/rooms/room353.cpp
+++ b/engines/mads/nebular/rooms/room353.cpp
@@ -39,7 +39,7 @@ static Scratch local;
static void room_353_init() {
- g_sprite_ids[1] = kernel_load_series(kernel_full_name(303, 'B', 0, "", EXT_SS), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_full_name(303, 'B', 0, "", KERNEL_SS), 0);
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 5, 0, 5, 0);
kernel_seq_depth(g_sequence_ids[1], 1);
diff --git a/engines/mads/nebular/rooms/room354.cpp b/engines/mads/nebular/rooms/room354.cpp
index 30ecc4d295e..7d285818dea 100644
--- a/engines/mads/nebular/rooms/room354.cpp
+++ b/engines/mads/nebular/rooms/room354.cpp
@@ -53,7 +53,7 @@ static void room_354_init() {
player.x = 71;
player.y = 107;
}
- else if (previous_room != RETURNING_FROM_DIALOG) {
+ else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 167;
player.y = 57;
}
diff --git a/engines/mads/nebular/rooms/room357.cpp b/engines/mads/nebular/rooms/room357.cpp
index b2f823b6276..167d074eaec 100644
--- a/engines/mads/nebular/rooms/room357.cpp
+++ b/engines/mads/nebular/rooms/room357.cpp
@@ -33,7 +33,7 @@ namespace Rooms {
static void room_357_init() {
global[kAfterHavoc] = true;
- g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", KERNEL_SS), 0);
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
kernel_seq_loc(g_sequence_ids[1], 127, 78);
kernel_seq_depth(g_sequence_ids[1], 15);
@@ -46,7 +46,7 @@ static void room_357_init() {
player.x = 127;
player.y = 101;
}
- else if (previous_room != RETURNING_FROM_DIALOG) {
+ else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 15;
player.y = 148;
}
diff --git a/engines/mads/nebular/rooms/room358.cpp b/engines/mads/nebular/rooms/room358.cpp
index 3682dfdb01d..39f77572888 100644
--- a/engines/mads/nebular/rooms/room358.cpp
+++ b/engines/mads/nebular/rooms/room358.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_358_init() {
- g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", KERNEL_SS), 0);
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
kernel_seq_loc(g_sequence_ids[1], 127, 78);
kernel_seq_depth(g_sequence_ids[1], 15);
@@ -41,7 +41,7 @@ static void room_358_init() {
player.x = 305;
player.y = 142;
}
- else if (previous_room != RETURNING_FROM_DIALOG) {
+ else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 12;
player.y = 141;
}
diff --git a/engines/mads/nebular/rooms/room359.cpp b/engines/mads/nebular/rooms/room359.cpp
index ea130c28bdd..06e3646c8a5 100644
--- a/engines/mads/nebular/rooms/room359.cpp
+++ b/engines/mads/nebular/rooms/room359.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -40,7 +41,7 @@ static Scratch local;
static void room_359_init() {
g_sprite_ids[1] = kernel_load_series(kernel_name('b', -1), 0);
- g_sprite_ids[3] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
+ g_sprite_ids[3] = kernel_load_series(kernel_full_name(307, 'X', 0, "", KERNEL_SS), 0);
if (global[kSexOfRex] == REX_MALE)
g_sprite_ids[2] = kernel_load_series("*RXMBD_2", 0);
@@ -61,7 +62,7 @@ static void room_359_init() {
player.x = 301;
player.y = 141;
}
- else if (previous_room != RETURNING_FROM_DIALOG) {
+ else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 15;
player.y = 148;
}
@@ -93,14 +94,14 @@ static void room_359_parser() {
if (global[kSexOfRex] == REX_MALE) {
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 4, 0, 0, 2);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
} else {
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], true, 7, 0, 0, 2);
kernel_seq_player(g_sequence_ids[4], false);
kernel_seq_loc(g_sequence_ids[4], 106, 110);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 6, 1);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_SPRITE, 6, 1);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -143,7 +144,7 @@ static void room_359_parser() {
text_show(35918);
else if (player_said_2(take, limb))
text_show(35919);
- else if (player_said_2(look, security_card) && (player.main_object_source == CAT_HOTSPOT))
+ else if (player_said_2(look, security_card) && (player.main_object_source == STROKE_INTERFACE))
text_show(35921);
else if (player_said_2(look, blood_stain)) {
if ((game.difficulty != DIFFICULTY_HARD) && (object[OBJ_SECURITY_CARD].location == 359))
diff --git a/engines/mads/nebular/rooms/room360.cpp b/engines/mads/nebular/rooms/room360.cpp
index 63bdccb3bec..6d6ee8a5c04 100644
--- a/engines/mads/nebular/rooms/room360.cpp
+++ b/engines/mads/nebular/rooms/room360.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_360_init() {
- g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", KERNEL_SS), 0);
g_sequence_ids[1] = kernel_seq_stamp(g_sprite_ids[1], false, 1);
kernel_seq_loc(g_sequence_ids[1], 127, 78);
kernel_seq_depth(g_sequence_ids[1], 15);
@@ -41,7 +41,7 @@ static void room_360_init() {
player.x = 304;
player.y = 143;
}
- else if (previous_room != RETURNING_FROM_DIALOG) {
+ else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 13;
player.y = 141;
}
diff --git a/engines/mads/nebular/rooms/room361.cpp b/engines/mads/nebular/rooms/room361.cpp
index 4dfe40ff77c..77c43851861 100644
--- a/engines/mads/nebular/rooms/room361.cpp
+++ b/engines/mads/nebular/rooms/room361.cpp
@@ -45,8 +45,8 @@ static void handleRexAction() {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 15, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], -1, 4);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -66,7 +66,7 @@ static void handleRexAction() {
kernel_seq_range(g_sequence_ids[2], 4, 10);
kernel_seq_player(g_sequence_ids[2], false);
kernel_seq_timeout(seqIdx, g_sequence_ids[2]);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 3);
}
break;
@@ -97,7 +97,7 @@ static void handleRexAction() {
kernel_seq_range(g_sequence_ids[2], 12, 14);
kernel_seq_player(g_sequence_ids[2], false);
kernel_seq_loc(g_sequence_ids[2], 167, 100);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 5);
break;
case 5:
@@ -143,8 +143,8 @@ static void handleRoxAction() {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 18, 0, 0, 1);
kernel_seq_range(g_sequence_ids[4], -1, 3);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -164,7 +164,7 @@ static void handleRoxAction() {
kernel_seq_range(g_sequence_ids[4], 4, 8);
kernel_seq_player(g_sequence_ids[4], false);
kernel_seq_timeout(tmpIdx, g_sequence_ids[4]);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 3);
}
break;
@@ -181,7 +181,7 @@ static void handleRoxAction() {
kernel_seq_player(g_sequence_ids[4], false);
kernel_seq_loc(g_sequence_ids[4], 167, 100);
kernel_seq_timeout(tmpIdx, g_sequence_ids[4]);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 4);
}
break;
@@ -198,7 +198,7 @@ static void handleRoxAction() {
kernel_seq_player(g_sequence_ids[4], false);
kernel_seq_loc(g_sequence_ids[4], 167, 100);
kernel_seq_timeout(tmpIdx, g_sequence_ids[4]);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 5);
}
break;
@@ -233,7 +233,7 @@ static void handleRoxAction() {
}
static void room_361_init() {
- g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", EXT_SS), 0);
+ g_sprite_ids[1] = kernel_load_series(kernel_full_name(307, 'X', 0, "", KERNEL_SS), 0);
if (global[kSexOfRex] == REX_MALE) {
g_sprite_ids[2] = kernel_load_series("*RXCL_8", 0);
@@ -261,7 +261,7 @@ static void room_361_init() {
player.x = 129;
player.y = 113;
player.facing = FACING_SOUTH;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 13;
player.y = 145;
}
@@ -312,7 +312,7 @@ static void room_361_daemon() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 4, 5);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 74);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 74);
break;
case 74:
@@ -361,7 +361,7 @@ static void room_361_daemon() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 10, -2);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 79);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 79);
break;
case 79:
diff --git a/engines/mads/nebular/rooms/room366.cpp b/engines/mads/nebular/rooms/room366.cpp
index d9755cb69df..c256843d79f 100644
--- a/engines/mads/nebular/rooms/room366.cpp
+++ b/engines/mads/nebular/rooms/room366.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_366_init() {
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
player.walker_visible = false;
section_3_music();
}
diff --git a/engines/mads/nebular/rooms/room387.cpp b/engines/mads/nebular/rooms/room387.cpp
index ecc5d89c752..bb010d36b1f 100644
--- a/engines/mads/nebular/rooms/room387.cpp
+++ b/engines/mads/nebular/rooms/room387.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_387_init() {
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
player.walker_visible = false;
section_3_music();
diff --git a/engines/mads/nebular/rooms/room388.cpp b/engines/mads/nebular/rooms/room388.cpp
index 7e217a44132..48fb506a4d5 100644
--- a/engines/mads/nebular/rooms/room388.cpp
+++ b/engines/mads/nebular/rooms/room388.cpp
@@ -33,7 +33,7 @@ namespace RexNebular {
namespace Rooms {
static void room_388_init() {
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
if (global[kAfterHavoc])
kernel_flip_hotspot(words_sauropod, false);
diff --git a/engines/mads/nebular/rooms/room389.cpp b/engines/mads/nebular/rooms/room389.cpp
index 74b14891e46..c9ca7ad0e8f 100644
--- a/engines/mads/nebular/rooms/room389.cpp
+++ b/engines/mads/nebular/rooms/room389.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/core/pal.h"
#include "mads/nebular/global.h"
@@ -42,7 +43,7 @@ static Scratch local;
static void room_389_init() {
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
local._monsterTime = 0;
local._circularQuoteId = 0x159;
diff --git a/engines/mads/nebular/rooms/room390.cpp b/engines/mads/nebular/rooms/room390.cpp
index 7601b9f480f..7848e1cee13 100644
--- a/engines/mads/nebular/rooms/room390.cpp
+++ b/engines/mads/nebular/rooms/room390.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_390_init() {
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
player.walker_visible = false;
section_3_music();
diff --git a/engines/mads/nebular/rooms/room391.cpp b/engines/mads/nebular/rooms/room391.cpp
index 2d39bd015dc..e36d3661565 100644
--- a/engines/mads/nebular/rooms/room391.cpp
+++ b/engines/mads/nebular/rooms/room391.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_391_init() {
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
player.walker_visible = false;
section_3_music();
}
diff --git a/engines/mads/nebular/rooms/room399.cpp b/engines/mads/nebular/rooms/room399.cpp
index c68bd63b80f..d42ae488a23 100644
--- a/engines/mads/nebular/rooms/room399.cpp
+++ b/engines/mads/nebular/rooms/room399.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -32,7 +33,7 @@ namespace RexNebular {
namespace Rooms {
static void room_399_init() {
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
player.walker_visible = false;
section_3_music();
}
diff --git a/engines/mads/nebular/rooms/room401.cpp b/engines/mads/nebular/rooms/room401.cpp
index 03939b85257..a1c2033fff2 100644
--- a/engines/mads/nebular/rooms/room401.cpp
+++ b/engines/mads/nebular/rooms/room401.cpp
@@ -43,7 +43,7 @@ static Scratch local;
static void room_401_init() {
- if (previous_room != RETURNING_FROM_DIALOG)
+ if (previous_room != KERNEL_RESTORING_GAME)
local._northFl = false;
local._timer = 0;
@@ -57,7 +57,7 @@ static void room_401_init() {
player.y = 90;
player.facing = FACING_SOUTH;
local._northFl = true;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 142;
player.y = 131;
player.facing = FACING_NORTH;
@@ -123,7 +123,7 @@ static void room_401_pre_parser() {
static void room_401_parser() {
if (player.x == local._dest_x && player.y && local._northFl) {
if (global[kSexOfRex] == REX_MALE) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
g_engine->_soundManager->command(21, 0);
@@ -135,7 +135,7 @@ static void room_401_parser() {
}
if (global[kSexOfRex] == REX_FEMALE) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
g_engine->_soundManager->command(21, 0);
diff --git a/engines/mads/nebular/rooms/room402.cpp b/engines/mads/nebular/rooms/room402.cpp
index 257691b7810..f5b8cd77486 100644
--- a/engines/mads/nebular/rooms/room402.cpp
+++ b/engines/mads/nebular/rooms/room402.cpp
@@ -87,7 +87,7 @@ static void setDialogNode(int node) {
switch (node) {
case 0:
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
local._conversationFl = false;
local._bartenderDialogNode = 0;
break;
@@ -147,7 +147,7 @@ static void handleConversation1() {
}
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, quoteId), quotePosX, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 120;
setDialogNode(2);
@@ -157,7 +157,7 @@ static void handleConversation1() {
case 0x215:
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1EC), 260, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 120;
local._bartenderCurrentQuestion = 1;
@@ -168,7 +168,7 @@ static void handleConversation1() {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1FD), 208, 41, 0xFDFC, 100, 0, 0);
setDialogNode(0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 1120;
break;
@@ -248,7 +248,7 @@ static void handleConversation2() {
if (player2.words[0] != 0x21C) {
switch (g_engine->getRandomNumber(1, 3)) {
case 1:
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 180;
kernel_message_purge();
@@ -258,7 +258,7 @@ static void handleConversation2() {
break;
case 2:
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 180;
kernel_message_purge();
@@ -268,7 +268,7 @@ static void handleConversation2() {
break;
case 3:
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 150;
kernel_message_purge();
@@ -283,7 +283,7 @@ static void handleConversation2() {
} else {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1FD), 208, 41, 0xFDFC, 100, 0, 0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 1120;
}
@@ -295,7 +295,7 @@ static void handleConversation3() {
case 0x234:
case 0x235:
case 0x236:
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 86);
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1ED), 188, 27, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
@@ -307,7 +307,7 @@ static void handleConversation3() {
case 0x237:
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x1FD), 208, 41, 0xFDFC, 100, 0, 0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 1120;
setDialogNode(0);
@@ -327,12 +327,12 @@ static void handleConversation4() {
kernel_message_add(quote_string(kernel.quotes, 0x1F0), 196, 13, 0xFDFC, 180, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x1F1), 184, 27, 0xFDFC, 180, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x1F2), 200, 41, 0xFDFC, 180, 0, 0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 1100;
local._dialog4.write(0x238, false);
local._bartenderMode = 22;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(100, 95);
local._refuseAlienLiquor = true;
break;
@@ -340,9 +340,9 @@ static void handleConversation4() {
case 0x239:
player.commands_allowed = false;
local._roxMode = 21;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 92);
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
local._conversationFl = false;
break;
@@ -353,11 +353,11 @@ static void handleConversation4() {
kernel_message_add(quote_string(kernel.quotes, 0x1F5), 230, 41, 0xFDFC, 150, 0, 0);
local._dialog4.write(0x23A, false);
global[kHasSaidTimer] = true;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 1100;
local._bartenderMode = 22;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(100, 95);
local._refuseAlienLiquor = true;
break;
@@ -369,11 +369,11 @@ static void handleConversation4() {
kernel_message_add(quote_string(kernel.quotes, 0x1F7), 230, 41, 0xFDFC, 150, 0, 0);
local._dialog4.write(0x23D, false);
global[kHasSaidBinocs] = true;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 1100;
local._bartenderMode = 22;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(100, 95);
local._refuseAlienLiquor = true;
break;
@@ -384,10 +384,10 @@ static void handleConversation4() {
player.commands_allowed = false;
kernel_message_add(quote_string(kernel.quotes, 0x1F8), 205, 41, 0xFDFC, 100, 0, 0);
local._bartenderMode = 22;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 1050;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(50, 95);
local._refuseAlienLiquor = true;
break;
@@ -469,7 +469,7 @@ static void room_402_init() {
local._roxOnStool = false;
local._bartenderDialogNode = 1;
local._conversationFl = false;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 160;
player.y = 150;
player.facing = FACING_NORTH;
@@ -525,7 +525,7 @@ static void room_402_init() {
if (local._conversationFl) {
switch (local._bartenderDialogNode) {
case 0:
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
local._bartenderDialogNode = 1;
break;
@@ -627,7 +627,7 @@ static void room_402_init() {
local._rexMode = 0;
local._refuseAlienLiquor = false;
- kernel_run_animation(kernel_full_name(402, 'd', 1, "", EXT_AA), 0);
+ kernel_run_animation(kernel_full_name(402, 'd', 1, "", KERNEL_AA), 0);
kernel_anim[0].repeat = true;
g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, 1);
@@ -692,7 +692,7 @@ static void room_402_daemon() {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 13, 0, 0, 1);
kernel_seq_range(g_sequence_ids[4], 1, 11);
kernel_seq_depth(g_sequence_ids[4], 14);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 48);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 48);
local._activeTeleporter = true;
global[kSomeoneHasExploded] = true;
}
@@ -749,7 +749,7 @@ static void room_402_daemon() {
g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[7], 1, 2);
kernel_seq_depth(g_sequence_ids[7], 5);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 93);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 93);
break;
case 93:
@@ -784,7 +784,7 @@ static void room_402_daemon() {
kernel_seq_range(g_sequence_ids[7], 1, 3);
kernel_seq_depth(g_sequence_ids[7], 5);
kernel_seq_timeout(seqIdx, g_sequence_ids[7]);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 94);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 94);
if (local._roxMode == 21) {
if (player_has(OBJ_CREDIT_CHIP))
@@ -840,7 +840,7 @@ static void room_402_daemon() {
g_sequence_ids[12] = kernel_seq_forward(g_sprite_ids[12], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[12], 1, 4);
kernel_seq_depth(g_sequence_ids[12], 8);
- kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 96);
+ kernel_seq_trigger(g_sequence_ids[12], KERNEL_TRIGGER_EXPIRE, 0, 96);
break;
case 96:
@@ -850,7 +850,7 @@ static void room_402_daemon() {
kernel_seq_range(g_sequence_ids[12], 6, 7);
kernel_seq_depth(g_sequence_ids[12], 8);
kernel_seq_timeout(seqIdx, g_sequence_ids[12]);
- kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 97);
+ kernel_seq_trigger(g_sequence_ids[12], KERNEL_TRIGGER_EXPIRE, 0, 97);
}
break;
@@ -893,7 +893,7 @@ static void room_402_daemon() {
g_sequence_ids[12] = kernel_seq_backward(g_sprite_ids[12], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[12], 1, 4);
kernel_seq_depth(g_sequence_ids[12], 8);
- kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 99);
+ kernel_seq_trigger(g_sequence_ids[12], KERNEL_TRIGGER_EXPIRE, 0, 99);
break;
case 99:
@@ -942,7 +942,7 @@ static void room_402_daemon() {
g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[9], 1, 9);
kernel_seq_depth(g_sequence_ids[9], 8);
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 87);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_EXPIRE, 0, 87);
break;
case 87:
@@ -956,7 +956,7 @@ static void room_402_daemon() {
g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[8], 1, 4);
kernel_seq_depth(g_sequence_ids[8], 7);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 88);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 88);
}
break;
@@ -1136,7 +1136,7 @@ static void room_402_daemon() {
g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[7], 10, 12);
kernel_seq_depth(g_sequence_ids[7], 5);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 78);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 78);
break;
case 78:
@@ -1149,7 +1149,7 @@ static void room_402_daemon() {
kernel_seq_range(g_sequence_ids[7], 10, 12);
kernel_seq_depth(g_sequence_ids[7], 5);
kernel_seq_timeout(seqIdx, g_sequence_ids[7]);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 79);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 79);
}
break;
@@ -1193,7 +1193,7 @@ static void room_402_daemon() {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[1], 1, 14);
kernel_seq_depth(g_sequence_ids[1], 14);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 30);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 30);
local._blowingSmoke = true;
}
@@ -1202,7 +1202,7 @@ static void room_402_daemon() {
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[1], 1, 5);
kernel_seq_depth(g_sequence_ids[1], 14);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 31);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 31);
break;
case 31:
@@ -1219,7 +1219,7 @@ static void room_402_daemon() {
case 1:
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 1, 8);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 33);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 33);
local._leftWomanMoving = true;
break;
@@ -1249,7 +1249,7 @@ static void room_402_daemon() {
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 1, 8);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 38);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 38);
break;
case 35:
@@ -1283,28 +1283,28 @@ static void room_402_daemon() {
case 1:
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 1, 4);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 32);
local._rightWomanMoving = true;
break;
case 2:
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 2);
kernel_seq_range(g_sequence_ids[3], 4, 5);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 32);
local._rightWomanMoving = true;
break;
case 3:
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 12, 0, 0, 2);
kernel_seq_range(g_sequence_ids[3], 4, 5);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 32);
local._rightWomanMoving = true;
break;
case 4:
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 2);
kernel_seq_range(g_sequence_ids[3], 3, 4);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 32);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 32);
local._rightWomanMoving = true;
break;
@@ -1426,7 +1426,7 @@ static void room_402_daemon() {
g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[13], 2, 5);
kernel_seq_depth(g_sequence_ids[13], 8);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 57);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 57);
break;
case 57:
@@ -1437,7 +1437,7 @@ static void room_402_daemon() {
kernel_seq_range(g_sequence_ids[13], 6, 9);
kernel_seq_depth(g_sequence_ids[13], 8);
kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 58);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 58);
}
break;
@@ -1448,7 +1448,7 @@ static void room_402_daemon() {
kernel_seq_range(g_sequence_ids[13], 5, 9);
kernel_seq_depth(g_sequence_ids[13], 8);
kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 59);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 59);
}
break;
@@ -1459,7 +1459,7 @@ static void room_402_daemon() {
kernel_seq_range(g_sequence_ids[13], 1, 4);
kernel_seq_depth(g_sequence_ids[13], 8);
kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 60);
g_sequence_ids[20] = kernel_seq_stamp(g_sprite_ids[20], false, 1);
kernel_seq_depth(g_sequence_ids[20], 8);
kernel_seq_loc(g_sequence_ids[20], 234, 72);
@@ -1485,7 +1485,7 @@ static void room_402_daemon() {
g_sequence_ids[13] = kernel_seq_pingpong(g_sprite_ids[13], false, 30, 0, 0, 4);
kernel_seq_range(g_sequence_ids[13], 10, 11);
kernel_seq_depth(g_sequence_ids[13], 8);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 62);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 62);
break;
case 62:
@@ -1518,7 +1518,7 @@ static void room_402_daemon() {
g_sequence_ids[16] = kernel_seq_forward(g_sprite_ids[16], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[16], 1, 6);
kernel_seq_depth(g_sequence_ids[16], 9);
- kernel_seq_trigger(g_sequence_ids[16], SEQUENCE_TRIGGER_EXPIRE, 0, 66);
+ kernel_seq_trigger(g_sequence_ids[16], KERNEL_TRIGGER_EXPIRE, 0, 66);
break;
case 66:
@@ -1528,13 +1528,13 @@ static void room_402_daemon() {
kernel_seq_range(g_sequence_ids[16], 7, 37);
kernel_seq_depth(g_sequence_ids[16], 9);
kernel_seq_timeout(seqIdx, g_sequence_ids[16]);
- kernel_seq_trigger(g_sequence_ids[16], SEQUENCE_TRIGGER_EXPIRE, 0, 68);
+ kernel_seq_trigger(g_sequence_ids[16], KERNEL_TRIGGER_EXPIRE, 0, 68);
kernel_seq_delete(g_sequence_ids[13]);
g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[13], 12, 13);
kernel_seq_depth(g_sequence_ids[13], 8);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 67);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 67);
}
break;
@@ -1552,7 +1552,7 @@ static void room_402_daemon() {
g_sequence_ids[13] = kernel_seq_backward(g_sprite_ids[13], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[13], 12, 13);
kernel_seq_depth(g_sequence_ids[13], 8);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 69);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 69);
break;
case 69:
@@ -1567,7 +1567,7 @@ static void room_402_daemon() {
kernel_message_add(quote_string(kernel.quotes, 0x203), 179, 33, 0xFBFA, 130, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x204), 167, 47, 0xFBFA, 130, 0, 0);
kernel_timing_trigger(150, 71);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 70);
}
break;
@@ -1575,7 +1575,7 @@ static void room_402_daemon() {
g_sequence_ids[13] = kernel_seq_pingpong(g_sprite_ids[13], false, 25, 0, 0, 4);
kernel_seq_range(g_sequence_ids[13], 10, 12);
kernel_seq_depth(g_sequence_ids[13], 8);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 72);
break;
case 71:
@@ -1623,7 +1623,7 @@ static void room_402_daemon() {
g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[13], 2, 5);
kernel_seq_depth(g_sequence_ids[13], 8);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 82);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 82);
break;
case 2:
@@ -1633,7 +1633,7 @@ static void room_402_daemon() {
g_sequence_ids[13] = kernel_seq_pingpong(g_sprite_ids[13], false, 15, 0, 0, 2);
kernel_seq_range(g_sequence_ids[13], 11, 13);
kernel_seq_depth(g_sequence_ids[13], 8);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 26);
break;
case 3:
@@ -1643,7 +1643,7 @@ static void room_402_daemon() {
g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[13], 10, 11);
kernel_seq_depth(g_sequence_ids[13], 8);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 26);
break;
case 4:
@@ -1653,7 +1653,7 @@ static void room_402_daemon() {
g_sequence_ids[13] = kernel_seq_pingpong(g_sprite_ids[13], false, 15, 0, 0, 2);
kernel_seq_range(g_sequence_ids[13], 14, 15);
kernel_seq_depth(g_sequence_ids[13], 8);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 26);
break;
case 5:
@@ -1663,7 +1663,7 @@ static void room_402_daemon() {
g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[13], 16, 19);
kernel_seq_depth(g_sequence_ids[13], 8);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 80);
break;
default:
@@ -1684,7 +1684,7 @@ static void room_402_daemon() {
g_sequence_ids[13] = kernel_seq_backward(g_sprite_ids[13], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[13], 16, 19);
kernel_seq_depth(g_sequence_ids[13], 8);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 26);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 26);
}
if (kernel.trigger == 26) {
@@ -1705,7 +1705,7 @@ static void room_402_daemon() {
kernel_seq_range(g_sequence_ids[13], 6, 9);
kernel_seq_depth(g_sequence_ids[13], 8);
kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 83);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 83);
}
if (kernel.trigger == 83) {
@@ -1714,7 +1714,7 @@ static void room_402_daemon() {
kernel_seq_range(g_sequence_ids[13], 5, 9);
kernel_seq_depth(g_sequence_ids[13], 8);
kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 84);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 84);
}
if (kernel.trigger == 84) {
@@ -1723,7 +1723,7 @@ static void room_402_daemon() {
kernel_seq_range(g_sequence_ids[13], 1, 4);
kernel_seq_depth(g_sequence_ids[13], 8);
kernel_seq_timeout(seqIdx, g_sequence_ids[13]);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 85);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 85);
g_sequence_ids[20] = kernel_seq_stamp(g_sprite_ids[20], false, 1);
kernel_seq_depth(g_sequence_ids[20], 8);
@@ -1746,7 +1746,7 @@ static void room_402_daemon() {
g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[7], 14, 18);
kernel_seq_depth(g_sequence_ids[7], 5);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 103);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 103);
} else if (kernel.trigger == 103) {
player.clock = kernel.clock + player.frame_delay;
local._roxOnStool = false;
@@ -1835,7 +1835,7 @@ static void room_402_pre_parser() {
player.facing = FACING_SOUTH;
player.ready_to_walk = false;
player.commands_allowed = false;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 102);
}
}
@@ -1852,7 +1852,7 @@ static void room_402_pre_parser() {
static void room_402_parser() {
if (player_said_2(take, repair_list) && object_is_here(OBJ_REPAIR_LIST) && local._roxOnStool) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 77);
player.need_to_walk = false;
} else if (player_said_2(take, repair_list) && object_is_here(OBJ_REPAIR_LIST) && !local._roxOnStool) {
@@ -1862,8 +1862,8 @@ static void room_402_parser() {
g_sequence_ids[21] = kernel_seq_pingpong(g_sprite_ids[21], false, 7, 0, 0, 2);
kernel_seq_range(g_sequence_ids[21], 1, 2);
kernel_seq_player(g_sequence_ids[21], false);
- kernel_seq_trigger(g_sequence_ids[21], SEQUENCE_TRIGGER_SPRITE, 2, 165);
- kernel_seq_trigger(g_sequence_ids[21], SEQUENCE_TRIGGER_EXPIRE, 0, 166);
+ kernel_seq_trigger(g_sequence_ids[21], KERNEL_TRIGGER_SPRITE, 2, 165);
+ kernel_seq_trigger(g_sequence_ids[21], KERNEL_TRIGGER_EXPIRE, 0, 166);
} else if (kernel.trigger == 165) {
kernel_seq_delete(g_sequence_ids[14]);
inter_give_to_player(OBJ_REPAIR_LIST);
@@ -1875,7 +1875,7 @@ static void room_402_parser() {
} else if (kernel.trigger == 167) {
object_examine(OBJ_REPAIR_LIST, 40240, 0);
player.commands_allowed = true;
- } else if (inter_input_mode == kInputConversation)
+ } else if (inter_input_mode == INTER_CONVERSATION)
handleDialogs();
else if (player_said_2(walk_into, corridor_to_south))
new_room = 401;
@@ -1929,7 +1929,7 @@ static void room_402_parser() {
local._helgaTalkMode = 1;
kernel_message_add(quote_string(kernel.quotes, 0x209), 177, 33, 0xFBFA, 130, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x20A), 182, 47, 0xFBFA, 130, 0, 0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(130, 28);
break;
@@ -1937,7 +1937,7 @@ static void room_402_parser() {
player.commands_allowed = false;
local._helgaTalkMode = 2;
kernel_message_add(quote_string(kernel.quotes, 0x20B), 157, 47, 0xFBFA, 100, 0, 0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(100, 28);
break;
@@ -1945,7 +1945,7 @@ static void room_402_parser() {
player.commands_allowed = false;
local._helgaTalkMode = 3;
kernel_message_add(quote_string(kernel.quotes, 0x20C), 172, 47, 0xFBFA, 100, 0, 0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(100, 28);
break;
@@ -1963,18 +1963,18 @@ static void room_402_parser() {
}
} else if (player_said_2(talkto, woman_in_chair) && !local._firstTalkToGirlInChair) {
kernel_message_add(quote_string(kernel.quotes, 0x1D7), 0, 0, 0x1110, 120, 0, 34);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(150, 39);
player.commands_allowed = false;
local._firstTalkToGirlInChair = true;
} else if (player_said_2(talkto, woman_in_chair) && local._firstTalkToGirlInChair) {
kernel_message_add(quote_string(kernel.quotes, 0x1DB), 0, 0, 0x1110, 120, 0, 34);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(150, 42);
player.commands_allowed = false;
} else if (player_said_2(talkto, woman_in_alcove) || player_said_2(walkto, woman_in_alcove)) {
kernel_message_add(quote_string(kernel.quotes, 0x1DE), 102, 48, 0xFBFA, 120, 0, 0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(120, 44);
player.commands_allowed = false;
} else if (player_said_2(sit_on, bar_stool) && (player.target_x == 248)) {
@@ -1982,18 +1982,18 @@ static void room_402_parser() {
kernel_message_add(quote_string(kernel.quotes, 0x20E), 0, 0, 0x1110, 120, 0, 34);
} else if (player_said_2(sit_on, bar_stool) && !local._roxOnStool && (player.target_x != 248)) {
player.walker_visible = false;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[6], 1, 11);
kernel_seq_depth(g_sequence_ids[6], 5);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 76);
player.commands_allowed = false;
} else if (player_said_2(take, credit_chip) && !player_has(OBJ_CREDIT_CHIP) && local._roxOnStool) {
local._roxMode = 20;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 92);
} else if (player_said_2(take, credit_chip) && !player_has(OBJ_CREDIT_CHIP) && !local._roxOnStool) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
g_sequence_ids[22] = kernel_seq_pingpong(g_sprite_ids[22], false, 7, 0, 0, 2);
@@ -2001,8 +2001,8 @@ static void room_402_parser() {
kernel_seq_loc(g_sequence_ids[22], player.x, player.y + 1);
kernel_seq_depth(g_sequence_ids[22], 5);
kernel_seq_scale(g_sequence_ids[22], 88);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- kernel_seq_trigger(g_sequence_ids[22], SEQUENCE_TRIGGER_EXPIRE, 0, 104);
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
+ kernel_seq_trigger(g_sequence_ids[22], KERNEL_TRIGGER_EXPIRE, 0, 104);
} else if (player_said_2(talkto, bartender)) {
switch (kernel.trigger) {
case 0:
@@ -2028,7 +2028,7 @@ static void room_402_parser() {
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, quoteId), centerPos.x, centerPos.y, 0x1110, 90, 0, 32 | centerFlag);
kernel_timing_trigger(110, 29);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(90, 28);
}
break;
@@ -2038,21 +2038,21 @@ static void room_402_parser() {
if (!local._roxOnStool) {
if (object_is_here(OBJ_ALIEN_LIQUOR)) {
kernel_message_add(quote_string(kernel.quotes, 0x1DF), 177, 41, 0xFDFC, 120, 0, 0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 120;
} else if (local._rexMode == 0) {
kernel_message_add(quote_string(kernel.quotes, 0x1F9), 175, 13, 0xFDFC, 180, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x1FA), 184, 27, 0xFDFC, 180, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x1FB), 200, 41, 0xFDFC, 180, 0, 0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 180;
local._rexMode = 1;
} else if (local._rexMode == 1) {
kernel_message_add(quote_string(kernel.quotes, 0x1FC), 205, 41, 0xFDFC, 120, 0, 0);
player.commands_allowed = true;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 120;
local._rexMode = 3;
@@ -2066,7 +2066,7 @@ static void room_402_parser() {
kernel_message_add(quote_string(kernel.quotes, 0x1E2), 198, 27, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x1E3), 199, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
local._bartenderCurrentQuestion = 10;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 120;
local._conversationFl = true;
@@ -2077,7 +2077,7 @@ static void room_402_parser() {
local._dialog1.start();
} else {
kernel_message_add(quote_string(kernel.quotes, 0x1EF), 177, 41, 0xFDFC, INDEFINITE_TIMEOUT, 0, 0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 120;
local._bartenderCurrentQuestion = 3;
@@ -2094,14 +2094,14 @@ static void room_402_parser() {
kernel_message_add(quote_string(kernel.quotes, 0x1F9), 175, 13, 0xFDFC, 180, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x1FA), 184, 27, 0xFDFC, 180, 0, 0);
kernel_message_add(quote_string(kernel.quotes, 0x1FB), 200, 41, 0xFDFC, 180, 0, 0);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 180;
local._rexMode = 1;
} else if (local._rexMode == 1) {
kernel_message_add(quote_string(kernel.quotes, 0x1FC), 205, 41, 0xFDFC, 120, 0, 0);
player.commands_allowed = true;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(1, 100);
local._talkTimer = 120;
local._rexMode = 3;
diff --git a/engines/mads/nebular/rooms/room405.cpp b/engines/mads/nebular/rooms/room405.cpp
index 896a31bb0f1..ee8f11b2b9e 100644
--- a/engines/mads/nebular/rooms/room405.cpp
+++ b/engines/mads/nebular/rooms/room405.cpp
@@ -52,7 +52,7 @@ static void room_405_init() {
player.x = 284;
player.y = 109;
player.facing = FACING_SOUTH;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 23;
player.y = 123;
player.facing = FACING_EAST;
@@ -88,7 +88,7 @@ static void room_405_daemon() {
player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 71);
g_engine->_soundManager->command(19, 0);
}
@@ -136,29 +136,29 @@ static void room_405_parser() {
else if (player_said_3(put, security_card, card_slot) && !global[kArmoryDoorOpen]) {
player.commands_allowed = false;
player.walker_visible = false;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 7, 0, 0, 2);
kernel_seq_range(g_sequence_ids[3], 1, 2);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 75);
Common::Point msgPos = Common::Point(player.x, player.y + 1);
kernel_seq_loc(g_sequence_ids[3], msgPos.x, msgPos.y);
kernel_seq_scale(g_sequence_ids[3], 87);
} else if ((player_said_3(put, security_card, card_slot) || player_said_2(close, wide_door)) && global[kArmoryDoorOpen]) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 7, 0, 0, 2);
kernel_seq_range(g_sequence_ids[3], 1, 2);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 70);
kernel_seq_loc(g_sequence_ids[3], player.x, player.y);
kernel_seq_scale(g_sequence_ids[3], 87);
} else if (player_said_2(put, card_slot)) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 7, 0, 0, 2);
kernel_seq_range(g_sequence_ids[3], 1, 2);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 80);
kernel_seq_loc(g_sequence_ids[3], player.x, player.y);
kernel_seq_scale(g_sequence_ids[3], 87);
} else if (player_said_2(look, cannon_balls))
diff --git a/engines/mads/nebular/rooms/room406.cpp b/engines/mads/nebular/rooms/room406.cpp
index fba15de6ae0..a55f46a05d9 100644
--- a/engines/mads/nebular/rooms/room406.cpp
+++ b/engines/mads/nebular/rooms/room406.cpp
@@ -56,7 +56,7 @@ static void room_406_init() {
player.x = 153;
player.y = 108;
player.facing = FACING_SOUTH;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 15;
player.y = 129;
player.facing = FACING_EAST;
@@ -78,9 +78,9 @@ static void room_406_init() {
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, 1);
else {
player.commands_allowed = false;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 3, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 90);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 90);
g_engine->_soundManager->command(19, 0);
}
@@ -118,7 +118,7 @@ static void room_406_daemon() {
player.clock = kernel.clock + player.frame_delay;
player.walker_visible = true;
g_sequence_ids[1] = kernel_seq_pingpong(g_sprite_ids[1], false, 4, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 71);
g_engine->_soundManager->command(19, 0);
}
@@ -156,46 +156,46 @@ static void room_406_pre_parser() {
static void room_406_parser() {
if (player_said_2(walk_through, door) && (player.target_x > 100)) {
player.commands_allowed = false;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 3, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 80);
g_engine->_soundManager->command(19, 0);
} else if (player_said_2(walk_through, door) && global[kStorageDoorOpen] && (player.target_x < 100))
new_room = 410;
else if (player_said_2(walk_through, door) && !global[kStorageDoorOpen] && (player.target_x < 100)) {
kernel_message_add(quote_string(kernel.quotes, 0x24F), 0, 0, 0x1110, 60, 0, 34);
if (!local._hitStorageDoor) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(80, 100);
}
} else if (player_said_3(put, security_card, card_slot) && !global[kStorageDoorOpen]) {
player.commands_allowed = false;
player.walker_visible = false;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 7, 0, 0, 2);
kernel_seq_range(g_sequence_ids[2], 1, 2);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 75);
Common::Point msgPos = Common::Point(player.x, player.y + 1);
kernel_seq_loc(g_sequence_ids[2], msgPos.x, msgPos.y);
kernel_seq_scale(g_sequence_ids[2], 87);
} else if (player_said_3(put, security_card, card_slot) && global[kStorageDoorOpen]) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 7, 0, 0, 2);
kernel_seq_range(g_sequence_ids[2], 1, 2);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 70);
Common::Point msgPos = Common::Point(player.x, player.y + 1);
kernel_seq_loc(g_sequence_ids[2], msgPos.x, msgPos.y);
kernel_seq_scale(g_sequence_ids[2], 87);
} else if (player_said_2(put, card_slot)) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 7, 0, 0, 2);
kernel_seq_range(g_sequence_ids[2], 1, 2);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 110);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 110);
kernel_seq_loc(g_sequence_ids[2], player.x, player.y);
kernel_seq_scale(g_sequence_ids[2], 87);
} else if (player_said_2(look, trash))
diff --git a/engines/mads/nebular/rooms/room407.cpp b/engines/mads/nebular/rooms/room407.cpp
index 65c64f04cb3..3844060912c 100644
--- a/engines/mads/nebular/rooms/room407.cpp
+++ b/engines/mads/nebular/rooms/room407.cpp
@@ -41,7 +41,7 @@ static Scratch local;
static void room_407_init() {
- if (previous_room != RETURNING_FROM_DIALOG)
+ if (previous_room != KERNEL_RESTORING_GAME)
local._fromNorth = false;
if (previous_room == 318) {
@@ -49,7 +49,7 @@ static void room_407_init() {
player.y = 92;
player.facing = FACING_SOUTH;
local._fromNorth = true;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 172;
player.y = 132;
player.facing = FACING_NORTH;
@@ -101,7 +101,7 @@ static void room_407_pre_parser() {
static void room_407_parser() {
if (player.x == local._dest_x && player.y == local._dest_y && local._fromNorth) {
if (global[kSexOfRex] == REX_MALE) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
g_engine->_soundManager->command(21, 0);
@@ -112,7 +112,7 @@ static void room_407_parser() {
}
if (global[kSexOfRex] == REX_FEMALE) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
player.commands_allowed = false;
player.walker_visible = false;
g_engine->_soundManager->command(21, 0);
diff --git a/engines/mads/nebular/rooms/room408.cpp b/engines/mads/nebular/rooms/room408.cpp
index f7687f24156..28929fbe44c 100644
--- a/engines/mads/nebular/rooms/room408.cpp
+++ b/engines/mads/nebular/rooms/room408.cpp
@@ -69,8 +69,8 @@ static void room_408_parser() {
g_sequence_ids[1] = kernel_seq_pingpong(g_sprite_ids[1], true, 7, 0, 0, 2);
kernel_seq_range(g_sequence_ids[1], 1, 2);
kernel_seq_player(g_sequence_ids[1], false);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_SPRITE, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
diff --git a/engines/mads/nebular/rooms/room410.cpp b/engines/mads/nebular/rooms/room410.cpp
index 112bb7c76b7..ff67e9b073f 100644
--- a/engines/mads/nebular/rooms/room410.cpp
+++ b/engines/mads/nebular/rooms/room410.cpp
@@ -40,7 +40,7 @@ static void room_410_init() {
else
kernel_flip_hotspot(words_charge_cases, false);
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 155;
player.y = 150;
player.facing = FACING_NORTH;
@@ -48,7 +48,7 @@ static void room_410_init() {
section_4_music();
- kernel_run_animation(kernel_full_name(410, 'r', -1, "", EXT_AA), 0);
+ kernel_run_animation(kernel_full_name(410, 'r', -1, "", KERNEL_AA), 0);
kernel_anim[0].repeat = true;
}
@@ -108,8 +108,8 @@ static void room_410_parser() {
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 7, 0, 0, 2);
kernel_seq_range(g_sequence_ids[2], 1, 3);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 3, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 3, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
diff --git a/engines/mads/nebular/rooms/room411.cpp b/engines/mads/nebular/rooms/room411.cpp
index cf8df5a2022..eb74b223eba 100644
--- a/engines/mads/nebular/rooms/room411.cpp
+++ b/engines/mads/nebular/rooms/room411.cpp
@@ -263,9 +263,9 @@ static void handleDialog() {
} else
local._killRox = true;
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
} else if (player2.words[0] == 0x262)
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
}
static void giveToRex(int object_id) {
@@ -395,7 +395,7 @@ static void room_411_init() {
kernel_dynamic_walk(idx, 220, 121, FACING_NORTHEAST);
}
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 60;
player.y = 146;
player.facing = FACING_NORTHEAST;
@@ -519,7 +519,7 @@ static void room_411_pre_parser() {
}
static void room_411_parser() {
- if (inter_input_mode == kInputConversation) {
+ if (inter_input_mode == INTER_CONVERSATION) {
handleDialog();
player.command_ready = false;
return;
@@ -544,7 +544,7 @@ static void room_411_parser() {
g_sequence_ids[10] = kernel_seq_forward(g_sprite_ids[10], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[10], 1, 6);
kernel_seq_depth(g_sequence_ids[10], 3);
- kernel_seq_trigger(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 110);
+ kernel_seq_trigger(g_sequence_ids[10], KERNEL_TRIGGER_EXPIRE, 0, 110);
break;
case 110:
@@ -569,7 +569,7 @@ static void room_411_parser() {
g_sequence_ids[10] = kernel_seq_backward(g_sprite_ids[10], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[10], 1, 6);
kernel_seq_depth(g_sequence_ids[10], 3);
- kernel_seq_trigger(g_sequence_ids[10], SEQUENCE_TRIGGER_EXPIRE, 0, 112);
+ kernel_seq_trigger(g_sequence_ids[10], KERNEL_TRIGGER_EXPIRE, 0, 112);
// fall through
case 112:
player.clock = kernel.clock - player.frame_delay;
@@ -599,8 +599,8 @@ static void room_411_parser() {
g_sequence_ids[8] = kernel_seq_pingpong(g_sprite_ids[8], false, 7, 0, 0, 2);
kernel_seq_range(g_sequence_ids[8], 1, 2);
kernel_seq_player(g_sequence_ids[8], false);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_SPRITE, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -636,8 +636,8 @@ static void room_411_parser() {
g_sequence_ids[8] = kernel_seq_pingpong(g_sprite_ids[8], false, 7, 0, 0, 2);
kernel_seq_range(g_sequence_ids[8], 1, 2);
kernel_seq_player(g_sequence_ids[8], false);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_SPRITE, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
diff --git a/engines/mads/nebular/rooms/room413.cpp b/engines/mads/nebular/rooms/room413.cpp
index 450c4729ccc..f22609f5d15 100644
--- a/engines/mads/nebular/rooms/room413.cpp
+++ b/engines/mads/nebular/rooms/room413.cpp
@@ -48,9 +48,9 @@ static void room_413_init() {
player.y = 146;
player.facing = FACING_NORTH;
player.walker_visible = true;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
if (global[kSexOfRex] == REX_MALE) {
- kernel_run_animation(kernel_full_name(413, 'd', 1, "", EXT_AA), 78);
+ kernel_run_animation(kernel_full_name(413, 'd', 1, "", KERNEL_AA), 78);
g_engine->_soundManager->command(30, 0);
player.walker_visible = false;
player.commands_allowed = false;
@@ -72,7 +72,7 @@ static void room_413_init() {
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[1], 1, 19);
kernel_seq_depth(g_sequence_ids[1], 8);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 76);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 76);
break;
case 2:
@@ -81,7 +81,7 @@ static void room_413_init() {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[1], 1, 20);
kernel_seq_depth(g_sequence_ids[1], 8);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 77);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 77);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room501.cpp b/engines/mads/nebular/rooms/room501.cpp
index 4add35d8a15..032bb30ed7e 100644
--- a/engines/mads/nebular/rooms/room501.cpp
+++ b/engines/mads/nebular/rooms/room501.cpp
@@ -61,8 +61,8 @@ static void handleSlotActions() {
kernel_seq_range(local._mainSequenceId, 1, frameIndex);
kernel_seq_player(local._mainSequenceId, false);
g_engine->_soundManager->command(10, 0);
- kernel_seq_trigger(local._mainSequenceId, SEQUENCE_TRIGGER_SPRITE, frameIndex, 1);
- kernel_seq_trigger(local._mainSequenceId, SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(local._mainSequenceId, KERNEL_TRIGGER_SPRITE, frameIndex, 1);
+ kernel_seq_trigger(local._mainSequenceId, KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -102,7 +102,7 @@ static void room_501_init() {
int idx = kernel_add_dynamic(words_door, words_walk_through, 0, g_sequence_ids[3], 0, 0, 0, 0);
kernel_dynamic_walk(idx, 282, 110, FACING_NORTH);
local._doorHotspotid = idx;
- kernel_dynamic_cursor(local._doorHotspotid, CURSOR_GO_UP);
+ kernel_dynamic_cursor(local._doorHotspotid, CURSOR_UP);
kernel_seq_depth(g_sequence_ids[3], 7);
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, -1);
kernel_seq_depth(g_sequence_ids[2], 4);
@@ -127,7 +127,7 @@ static void room_501_init() {
player.y = 102;
player.facing = FACING_SOUTHWEST;
kernel_timing_trigger(15, 80);
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 299;
player.y = 131;
}
@@ -158,7 +158,7 @@ static void room_501_daemon() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[3], 7);
g_engine->_soundManager->command(11, 0);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 81);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 81);
break;
case 81:
@@ -173,8 +173,8 @@ static void room_501_daemon() {
g_engine->_soundManager->command(12, 0);
local._doorHotspotid = kernel_add_dynamic(words_door, words_walk_through, 0, g_sequence_ids[3], 0, 0, 0, 0);
kernel_dynamic_walk(g_sequence_ids[3], 282, 110, FACING_NORTH);
- kernel_dynamic_cursor(local._doorHotspotid, CURSOR_GO_UP);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 83);
+ kernel_dynamic_cursor(local._doorHotspotid, CURSOR_UP);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 83);
break;
case 83:
@@ -205,7 +205,7 @@ static void room_501_daemon() {
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 4);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 73);
break;
case 73:
@@ -233,7 +233,7 @@ static void room_501_parser() {
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 4);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -255,7 +255,7 @@ static void room_501_parser() {
local._mainSequenceId = kernel_seq_forward(local._mainSpriteId, false, 8, 0, 0, 1);
kernel_seq_player(local._mainSequenceId, false);
- kernel_seq_trigger(local._mainSequenceId, SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(local._mainSequenceId, KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
@@ -336,7 +336,7 @@ static void room_501_parser() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 9, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[3], 7);
g_engine->_soundManager->command(11, 0);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 6);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 6);
break;
case 6:
@@ -352,7 +352,7 @@ static void room_501_parser() {
kernel_seq_depth(g_sequence_ids[3], 7);
kernel_seq_timeout(syncIdx, g_sequence_ids[3]);
g_engine->_soundManager->command(12, 0);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 8);
}
break;
diff --git a/engines/mads/nebular/rooms/room502.cpp b/engines/mads/nebular/rooms/room502.cpp
index e3f38b1fb25..54732c46c0f 100644
--- a/engines/mads/nebular/rooms/room502.cpp
+++ b/engines/mads/nebular/rooms/room502.cpp
@@ -19,7 +19,7 @@
*
*/
-#include "math/utils.h"
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
diff --git a/engines/mads/nebular/rooms/room503.cpp b/engines/mads/nebular/rooms/room503.cpp
index 0d97298152c..8654f039ccd 100644
--- a/engines/mads/nebular/rooms/room503.cpp
+++ b/engines/mads/nebular/rooms/room503.cpp
@@ -53,7 +53,7 @@ static void room_503_init() {
kernel_dynamic_walk(local._detonatorHotspotId, 254, 135, FACING_SOUTH);
}
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 191;
player.y = 152;
player.facing = FACING_NORTHWEST;
@@ -75,14 +75,14 @@ static void room_503_parser() {
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 1, 3);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 3, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 3, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
} else {
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], true, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 1, 4);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 4, 1);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_SPRITE, 4, 1);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 2);
}
break;
diff --git a/engines/mads/nebular/rooms/room504.cpp b/engines/mads/nebular/rooms/room504.cpp
index 55e1441dd24..0c4c68652d6 100644
--- a/engines/mads/nebular/rooms/room504.cpp
+++ b/engines/mads/nebular/rooms/room504.cpp
@@ -68,7 +68,7 @@ static void room_504_init() {
g_sprite_ids[3] = kernel_load_series(kernel_name('a', 3), 0);
local._carAnimationMode = 1;
kernel_run_animation(kernel_name('A', -1), 0);
- if ((previous_room != RETURNING_FROM_DIALOG) && (previous_room != 505))
+ if ((previous_room != KERNEL_RESTORING_GAME) && (previous_room != 505))
global[kHoverCarLocation] = previous_room;
g_sequence_ids[7] = kernel_seq_stamp(g_sprite_ids[7], false, 1);
@@ -151,7 +151,7 @@ static void room_504_parser() {
g_engine->_soundManager->command(39, 0);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[3], 13);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 1);
kernel_seq_delete(g_sequence_ids[7]);
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 18, 0, 0, 0);
kernel_seq_depth(g_sequence_ids[5], 14);
@@ -163,7 +163,7 @@ static void room_504_parser() {
g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[3], 13);
kernel_seq_range(g_sequence_ids[3], 1, 6);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 2);
kernel_seq_timeout(syncIdx, g_sequence_ids[3]);
}
break;
diff --git a/engines/mads/nebular/rooms/room505.cpp b/engines/mads/nebular/rooms/room505.cpp
index c41eb6dd247..4df2a1e9046 100644
--- a/engines/mads/nebular/rooms/room505.cpp
+++ b/engines/mads/nebular/rooms/room505.cpp
@@ -54,11 +54,11 @@ static void room_505_init() {
g_sprite_ids[11] = kernel_load_series(kernel_name('t', -1), 0);
g_sprite_ids[12] = kernel_load_series(kernel_name('e', -1), 0);
- if (previous_room != RETURNING_FROM_DIALOG)
+ if (previous_room != KERNEL_RESTORING_GAME)
g_sequence_ids[12] = kernel_seq_backward(g_sprite_ids[12], false, 6, 0, 0, 1);
g_sequence_ids[13] = kernel_seq_forward(g_sprite_ids[13], false, 6, 0, 120, 1);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 60);
kernel_timing_trigger(30, 62);
local._carLocations[0] = 501;
@@ -76,7 +76,7 @@ static void room_505_init() {
for (int i = 0; i < 9; i++) {
if (global[kHoverCarLocation] == local._carLocations[i]) {
local._homeSelectedId = i;
- if (previous_room != RETURNING_FROM_DIALOG)
+ if (previous_room != KERNEL_RESTORING_GAME)
local._selectedId = i;
}
}
@@ -140,7 +140,7 @@ static void room_505_daemon() {
kernel_seq_delete(g_sequence_ids[0]);
kernel_seq_delete(g_sequence_ids[13]);
g_sequence_ids[13] = kernel_seq_backward(g_sprite_ids[13], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[13], SEQUENCE_TRIGGER_EXPIRE, 0, 63);
+ kernel_seq_trigger(g_sequence_ids[13], KERNEL_TRIGGER_EXPIRE, 0, 63);
g_engine->_soundManager->command(18, 0);
}
}
@@ -265,7 +265,7 @@ static void room_505_daemon() {
case 62:
g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 8, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[9], 8);
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 61);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_EXPIRE, 0, 61);
break;
case 63:
diff --git a/engines/mads/nebular/rooms/room506.cpp b/engines/mads/nebular/rooms/room506.cpp
index bc686bd6432..69cda9f396f 100644
--- a/engines/mads/nebular/rooms/room506.cpp
+++ b/engines/mads/nebular/rooms/room506.cpp
@@ -49,7 +49,7 @@ static Scratch local;
static void handleDoorSequences() {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
if (local._firstDoorFl) {
if (player_said_2(walk_into, software_store) || ((previous_room == 507) && !local._actionFl)) {
@@ -74,7 +74,7 @@ static void handleDoorSequences() {
local._doorSequenceIdx = kernel_seq_forward(local._doorSpriteIdx, false, 7, 0, 0, 1);
kernel_seq_depth(local._doorSequenceIdx, local._doorDepth);
kernel_load_variant(1);
- kernel_seq_trigger(local._doorSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 81);
+ kernel_seq_trigger(local._doorSequenceIdx, KERNEL_TRIGGER_EXPIRE, 0, 81);
break;
@@ -91,9 +91,9 @@ static void handleDoorSequences() {
local._doorSequenceIdx = kernel_seq_backward(local._doorSpriteIdx, false, 7, 0, 0, 1);
kernel_seq_depth(local._doorSequenceIdx, local._doorDepth);
if (local._actionFl)
- kernel_seq_trigger(local._doorSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 84);
+ kernel_seq_trigger(local._doorSequenceIdx, KERNEL_TRIGGER_EXPIRE, 0, 84);
else
- kernel_seq_trigger(local._doorSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 83);
+ kernel_seq_trigger(local._doorSequenceIdx, KERNEL_TRIGGER_EXPIRE, 0, 83);
break;
@@ -103,7 +103,7 @@ static void handleDoorSequences() {
int idx = kernel_add_dynamic(local._doorWord, words_walk_into, 0, local._doorSequenceIdx, 0, 0, 0, 0);
kernel_dynamic_walk(idx, local._doorPos_x, local._doorPos_y, FACING_NORTHWEST);
int hotspotId = idx;
- kernel_dynamic_cursor(hotspotId, CURSOR_GO_LEFT);
+ kernel_dynamic_cursor(hotspotId, CURSOR_LEFT);
kernel_seq_depth(local._doorSequenceIdx, local._doorDepth);
local._firstDoorFl = true;
if (local._labDoorFl) {
@@ -152,13 +152,13 @@ static void room_506_init() {
int idx = kernel_add_dynamic(words_laboratory, words_walk_into, 0, g_sequence_ids[1], 0, 0, 0, 0);
kernel_dynamic_walk(idx, 65, 125, FACING_NORTHWEST);
int hotspotId = idx;
- kernel_dynamic_cursor(hotspotId, CURSOR_GO_LEFT);
+ kernel_dynamic_cursor(hotspotId, CURSOR_LEFT);
kernel_seq_depth(g_sequence_ids[1], 10);
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, 1);
idx = kernel_add_dynamic(words_software_store, words_walk_into, 0, g_sequence_ids[2], 0, 0, 0, 0);
kernel_dynamic_walk(idx, 112, 102, FACING_NORTHWEST);
hotspotId = idx;
- kernel_dynamic_cursor(hotspotId, CURSOR_GO_LEFT);
+ kernel_dynamic_cursor(hotspotId, CURSOR_LEFT);
kernel_seq_depth(g_sequence_ids[2], 13);
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -1);
@@ -178,7 +178,7 @@ static void room_506_init() {
player.facing = FACING_SOUTHEAST;
kernel_timing_trigger(60, 80);
player.commands_allowed = false;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 138;
player.y = 116;
player.facing = FACING_NORTHEAST;
@@ -219,7 +219,7 @@ static void room_506_daemon() {
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[3], 5);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 72);
break;
case 72:
@@ -258,7 +258,7 @@ static void room_506_parser() {
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[3], 5);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -274,7 +274,7 @@ static void room_506_parser() {
player.walker_visible = false;
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 10, 0, 0, 1);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room507.cpp b/engines/mads/nebular/rooms/room507.cpp
index df9fe22eef0..2e63be902ff 100644
--- a/engines/mads/nebular/rooms/room507.cpp
+++ b/engines/mads/nebular/rooms/room507.cpp
@@ -19,7 +19,7 @@
*
*/
-#include "math/utils.h"
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -49,7 +49,7 @@ static void room_507_init() {
kernel_dynamic_walk(local._penlightHotspotId, 233, 152, FACING_SOUTHEAST);
}
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 121;
player.y = 147;
player.facing = FACING_NORTH;
@@ -70,8 +70,8 @@ static void room_507_parser() {
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 6, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 1, 5);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 5, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 5, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
diff --git a/engines/mads/nebular/rooms/room508.cpp b/engines/mads/nebular/rooms/room508.cpp
index 2ee71cc0bf6..9426974b8b6 100644
--- a/engines/mads/nebular/rooms/room508.cpp
+++ b/engines/mads/nebular/rooms/room508.cpp
@@ -85,7 +85,7 @@ static void room_508_init() {
player.x = 57;
player.y = 116;
player.facing = FACING_NORTHEAST;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 289;
player.y = 139;
player.facing = FACING_WEST;
@@ -120,8 +120,8 @@ static void handlePedestral() {
g_sequence_ids[6] = kernel_seq_pingpong(g_sprite_ids[6], false, 9, 0, 0, 1);
kernel_seq_range(g_sequence_ids[6], 1, 4);
kernel_seq_player(g_sequence_ids[6], false);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_SPRITE, 4, 1);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_SPRITE, 4, 1);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 1:
@@ -131,7 +131,7 @@ static void handlePedestral() {
inter_take_from_player(OBJ_REARVIEW_MIRROR, 1);
g_sequence_ids[7] = kernel_seq_forward(g_sprite_ids[7], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[7], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[7], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
@@ -174,14 +174,14 @@ static void room_508_parser() {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 10, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[1], 7);
kernel_seq_timeout(-1, g_sequence_ids[1]);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
g_engine->_soundManager->command(19, 0);
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 15, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 6);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 4);
g_sequence_ids[3] = kernel_seq_stamp(g_sprite_ids[3], false, -2);
kernel_seq_depth(g_sequence_ids[3], 8);
kernel_seq_timeout(g_sequence_ids[1], -1);
diff --git a/engines/mads/nebular/rooms/room511.cpp b/engines/mads/nebular/rooms/room511.cpp
index ad052676401..59b6f5b6a98 100644
--- a/engines/mads/nebular/rooms/room511.cpp
+++ b/engines/mads/nebular/rooms/room511.cpp
@@ -64,7 +64,7 @@ static void room_511_init() {
kernel_load_variant(2);
}
- if (previous_room != RETURNING_FROM_DIALOG)
+ if (previous_room != KERNEL_RESTORING_GAME)
local._handingLine = false;
if (global[kBoatRaised]) {
@@ -104,7 +104,7 @@ static void room_511_init() {
player.x = 60;
player.y = 112;
player.facing = FACING_SOUTHEAST;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 55;
player.y = 152;
player.facing = FACING_NORTHWEST;
@@ -161,7 +161,7 @@ static void room_511_daemon() {
kernel_seq_delete(g_sequence_ids[1]);
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[1], 1);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 72);
break;
case 72:
@@ -210,7 +210,7 @@ static void room_511_parser() {
kernel_seq_delete(g_sequence_ids[1]);
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[1], 1);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -227,7 +227,7 @@ static void room_511_parser() {
player.walker_visible = false;
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 8, 0, 0, 1);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
@@ -339,9 +339,9 @@ static void room_511_parser() {
text_show(51128);
} else if (player_said_2(look, porthole))
text_show(51122);
- else if (player_said_2(look, fishing_line) && (player.main_object_source == CAT_HOTSPOT) && (global[kLineStatus] == 2))
+ else if (player_said_2(look, fishing_line) && (player.main_object_source == STROKE_INTERFACE) && (global[kLineStatus] == 2))
text_show(51126);
- else if (player_said_2(look, fishing_line) && (player.main_object_source == CAT_HOTSPOT) && (global[kLineStatus] == 3))
+ else if (player_said_2(look, fishing_line) && (player.main_object_source == STROKE_INTERFACE) && (global[kLineStatus] == 3))
text_show(51133);
else if (player_said_2(look, statue))
text_show(51127);
diff --git a/engines/mads/nebular/rooms/room512.cpp b/engines/mads/nebular/rooms/room512.cpp
index 24341f3d6d7..d18f12596cd 100644
--- a/engines/mads/nebular/rooms/room512.cpp
+++ b/engines/mads/nebular/rooms/room512.cpp
@@ -19,7 +19,7 @@
*
*/
-#include "math/utils.h"
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -84,7 +84,7 @@ static void room_512_init() {
} else
kernel_flip_hotspot(words_padlock_key, false);
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 144;
player.y = 152;
player.facing = FACING_NORTHEAST;
@@ -104,8 +104,8 @@ static void room_512_parser() {
player.walker_visible = false;
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 8, 0, 0, 1);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 5, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 5, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -141,7 +141,7 @@ static void room_512_parser() {
g_sequence_ids[8] = kernel_seq_pingpong(g_sprite_ids[8], false, 9, 0, 0, 1);
kernel_seq_range(g_sequence_ids[8], 1, 3);
kernel_seq_player(g_sequence_ids[8], false);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
@@ -155,11 +155,11 @@ static void room_512_parser() {
if (!object_is_here(OBJ_PADLOCK_KEY) || (game.difficulty == DIFFICULTY_EASY)) {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 12, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[3], 3);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 4);
} else {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 12, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[4], 3);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 5);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 5);
}
g_engine->_soundManager->command(23, 0);
break;
@@ -195,7 +195,7 @@ static void room_512_parser() {
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 1, 2);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -205,13 +205,13 @@ static void room_512_parser() {
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 12, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[3], 3);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 2);
} else {
kernel_seq_delete(g_sequence_ids[5]);
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 12, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[4], 3);
kernel_flip_hotspot(words_padlock_key, false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -239,8 +239,8 @@ static void room_512_parser() {
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 1, endVal);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, endVal, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, endVal, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
diff --git a/engines/mads/nebular/rooms/room513.cpp b/engines/mads/nebular/rooms/room513.cpp
index c879b134b1e..5081bbf5277 100644
--- a/engines/mads/nebular/rooms/room513.cpp
+++ b/engines/mads/nebular/rooms/room513.cpp
@@ -50,7 +50,7 @@ static void room_513_init() {
player.facing = FACING_WEST;
player.commands_allowed = false;
kernel_timing_trigger(15, 80);
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 63;
player.y = 149;
player.facing = FACING_NORTHEAST;
@@ -78,7 +78,7 @@ static void room_513_daemon() {
g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 7, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 2);
g_engine->_soundManager->command(24, 0);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 81);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 81);
break;
case 81:
@@ -90,7 +90,7 @@ static void room_513_daemon() {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 7, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 2);
g_engine->_soundManager->command(25, 0);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 83);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 83);
break;
case 83:
@@ -114,7 +114,7 @@ static void room_513_daemon() {
kernel_seq_delete(g_sequence_ids[1]);
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[1], 1);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 72);
break;
case 72:
@@ -136,7 +136,7 @@ static void room_513_parser() {
kernel_seq_delete(g_sequence_ids[1]);
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[1], 1);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -153,7 +153,7 @@ static void room_513_parser() {
player.walker_visible = false;
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 10, 0, 0, 1);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
@@ -177,7 +177,7 @@ static void room_513_parser() {
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[4], 1, 2);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -189,7 +189,7 @@ static void room_513_parser() {
g_engine->_soundManager->command(24, 0);
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x278), 0, 0, 0x1110, 120, 0, 34);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 2:
@@ -201,7 +201,7 @@ static void room_513_parser() {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 7, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 2);
g_engine->_soundManager->command(25, 0);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 4);
break;
case 4:
diff --git a/engines/mads/nebular/rooms/room551.cpp b/engines/mads/nebular/rooms/room551.cpp
index 472cbae6cc9..98083da589a 100644
--- a/engines/mads/nebular/rooms/room551.cpp
+++ b/engines/mads/nebular/rooms/room551.cpp
@@ -42,7 +42,7 @@ static void room_551_init() {
player.x = 18;
player.y = 130;
}
- else if (previous_room != RETURNING_FROM_DIALOG) {
+ else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 124;
player.y = 119;
player.facing = FACING_NORTH;
diff --git a/engines/mads/nebular/rooms/room601.cpp b/engines/mads/nebular/rooms/room601.cpp
index 411df287cb4..134ae3286af 100644
--- a/engines/mads/nebular/rooms/room601.cpp
+++ b/engines/mads/nebular/rooms/room601.cpp
@@ -54,7 +54,7 @@ static void room_601_init() {
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, -2);
kernel_seq_depth(g_sequence_ids[2], 3);
kernel_run_animation(kernel_name('R', 1), 70);
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 229;
player.y = 129;
player.facing = FACING_SOUTHWEST;
@@ -75,7 +75,7 @@ static void room_601_daemon() {
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 3);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 72);
break;
case 72:
@@ -99,7 +99,7 @@ static void room_601_parser() {
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 3);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -115,7 +115,7 @@ static void room_601_parser() {
player.walker_visible = false;
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 10, 0, 0, 1);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room602.cpp b/engines/mads/nebular/rooms/room602.cpp
index f45b17b925d..3c02c7635d8 100644
--- a/engines/mads/nebular/rooms/room602.cpp
+++ b/engines/mads/nebular/rooms/room602.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -94,7 +95,7 @@ static void room_602_init() {
player.x = 228;
player.y = 126;
player.facing = FACING_WEST;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 50;
player.y = 127;
player.facing = FACING_EAST;
@@ -118,8 +119,8 @@ static void handleSafeActions() {
g_sequence_ids[5] = kernel_seq_pingpong(g_sprite_ids[5], true, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[5], 1, 3);
kernel_seq_player(g_sequence_ids[5], false);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_SPRITE, 3, 1);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_SPRITE, 3, 1);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 1:
@@ -141,7 +142,7 @@ static void handleSafeActions() {
kernel_flip_hotspot(words_door_key, true);
kernel_seq_trigger(local._lastSequenceIdx,
- SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ KERNEL_TRIGGER_EXPIRE, 0, 2);
}
} else {
kernel_seq_delete(local._lastSequenceIdx);
@@ -155,7 +156,7 @@ static void handleSafeActions() {
if (object[OBJ_DOOR_KEY].location == room_id)
kernel_flip_hotspot(words_door_key, false);
- kernel_seq_trigger(local._lastSequenceIdx, SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(local._lastSequenceIdx, KERNEL_TRIGGER_EXPIRE, 0, 2);
}
break;
@@ -267,8 +268,8 @@ static void room_602_parser() {
g_sequence_ids[5] = kernel_seq_pingpong(g_sprite_ids[5], true, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[5], 1, 3);
kernel_seq_player(g_sequence_ids[5], false);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_SPRITE, 3, 1);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_SPRITE, 3, 1);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
diff --git a/engines/mads/nebular/rooms/room603.cpp b/engines/mads/nebular/rooms/room603.cpp
index 7c5b7038b7b..924c8c134d3 100644
--- a/engines/mads/nebular/rooms/room603.cpp
+++ b/engines/mads/nebular/rooms/room603.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -58,7 +59,7 @@ static void room_603_init() {
kernel_dynamic_walk(local._noteHotspotId, 242, 118, FACING_NORTHEAST);
}
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 113;
player.y = 134;
}
@@ -78,8 +79,8 @@ static void room_603_parser() {
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[4], 1, 5);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 5, 1);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_SPRITE, 5, 1);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -159,7 +160,7 @@ static void room_603_parser() {
text_show(60327);
else
text_show(60328);
- } else if (player_said_2(look, compact_case) && (player.main_object_source == CAT_HOTSPOT))
+ } else if (player_said_2(look, compact_case) && (player.main_object_source == STROKE_INTERFACE))
text_show(60329);
// For the next two checks, the second part of the check wasn't surrounded par parenthesis, which was obviously wrong
else if (player_said_1(look) && (player_said_1(bra) || player_said_1(boa) || player_said_1(slip)))
diff --git a/engines/mads/nebular/rooms/room604.cpp b/engines/mads/nebular/rooms/room604.cpp
index 98766c2b280..bd38e2b4dfd 100644
--- a/engines/mads/nebular/rooms/room604.cpp
+++ b/engines/mads/nebular/rooms/room604.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/core/pal.h"
#include "mads/nebular/global.h"
@@ -47,7 +48,7 @@ static Scratch local;
static void room_604_init() {
g_sprite_ids[2] = kernel_load_series(kernel_name('c', 0), 0);
g_sprite_ids[4] = kernel_load_series("*RXCD_9", 0);
- g_sprite_ids[6] = kernel_load_series(kernel_full_name(620, 'b', 0, "", EXT_SS), 0);
+ g_sprite_ids[6] = kernel_load_series(kernel_full_name(620, 'b', 0, "", KERNEL_SS), 0);
g_sprite_ids[5] = kernel_load_series("*RXMRC_9", 0);
if (global[kTimebombStatus] == 1) {
@@ -63,7 +64,7 @@ static void room_604_init() {
pal_change_color(253, 45, 24, 17);
local._animationActiveFl = false;
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 72;
player.y = 149;
player.facing = FACING_NORTHEAST;
@@ -97,7 +98,7 @@ static void room_604_daemon() {
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 72);
break;
case 72:
@@ -177,11 +178,11 @@ static void handleBombActions() {
kernel_seq_range(g_sequence_ids[5], 1, 3);
kernel_seq_player(g_sequence_ids[5], false);
if (local._bombMode == 1)
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_SPRITE, 3, 1);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_SPRITE, 3, 1);
else
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_SPRITE, 3, 2);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_SPRITE, 3, 2);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 1:
@@ -225,7 +226,7 @@ static void room_604_parser() {
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -242,7 +243,7 @@ static void room_604_parser() {
player.walker_visible = false;
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 10, 0, 0, 1);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room605.cpp b/engines/mads/nebular/rooms/room605.cpp
index b2a7502e3a0..d14297af7aa 100644
--- a/engines/mads/nebular/rooms/room605.cpp
+++ b/engines/mads/nebular/rooms/room605.cpp
@@ -49,7 +49,7 @@ static void room_605_init() {
player.walker_visible = false;
player.commands_allowed = false;
kernel_timing_trigger(600, 70);
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
section_6_music();
g_engine->_soundManager->command(22, 0);
}
diff --git a/engines/mads/nebular/rooms/room607.cpp b/engines/mads/nebular/rooms/room607.cpp
index b900f6698db..7267347dd61 100644
--- a/engines/mads/nebular/rooms/room607.cpp
+++ b/engines/mads/nebular/rooms/room607.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/core/pal.h"
#include "mads/nebular/global.h"
@@ -81,7 +82,7 @@ static void room_607_init() {
player.x = 297;
player.y = 50;
player.facing = FACING_SOUTHEAST;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 40;
player.y = 104;
player.facing = FACING_SOUTHEAST;
@@ -123,7 +124,7 @@ static void room_607_daemon() {
local._dogLoop = true;
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 10, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[5], 1);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 91);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 91);
local._dogLoop = false;
local._dogTimer = 0;
}
@@ -143,8 +144,8 @@ static void room_607_daemon() {
g_sequence_ids[1] = kernel_seq_pingpong(g_sprite_ids[1], false, 5, 0, 0, 8);
kernel_seq_depth(g_sequence_ids[1], 6);
kernel_message_purge();
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_SPRITE, 2, 100);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_SPRITE, 2, 100);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 70);
local._counter = 0;
}
@@ -210,7 +211,7 @@ static void room_607_daemon() {
kernel_seq_depth(g_sequence_ids[4], 1);
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x2FA), 0, 0, 0x1110, 120, 0, 34);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 60);
kernel_timing_trigger(10, 64);
break;
@@ -221,7 +222,7 @@ static void room_607_daemon() {
kernel_seq_range(g_sequence_ids[4], 8, 45);
kernel_seq_depth(g_sequence_ids[4], 1);
kernel_seq_timeout(syncIdx, g_sequence_ids[4]);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 61);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 61);
}
break;
@@ -232,7 +233,7 @@ static void room_607_daemon() {
kernel_seq_range(g_sequence_ids[4], 46, -2);
kernel_seq_depth(g_sequence_ids[4], 1);
kernel_seq_timeout(syncIdx, g_sequence_ids[4]);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 62);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 62);
}
break;
@@ -278,7 +279,7 @@ static void room_607_daemon() {
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 4);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 82);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 82);
break;
case 82:
@@ -379,7 +380,7 @@ static void room_607_parser() {
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 4);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -395,7 +396,7 @@ static void room_607_parser() {
player.walker_visible = false;
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 10, 0, 0, 1);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room608.cpp b/engines/mads/nebular/rooms/room608.cpp
index 638e1fc7a51..a9050b96879 100644
--- a/engines/mads/nebular/rooms/room608.cpp
+++ b/engines/mads/nebular/rooms/room608.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/core/pal.h"
#include "mads/nebular/global.h"
@@ -276,7 +277,7 @@ static void room_608_init() {
pal_change_color(252, 63, 44, 30);
pal_change_color(253, 63, 20, 22);
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 46;
player.y = 132;
player.facing = FACING_EAST;
@@ -320,7 +321,7 @@ static void room_608_daemon() {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 11, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[4], 1);
g_engine->_soundManager->command(14, 0);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 70);
local._dogWindowTimer = 0;
}
@@ -337,8 +338,8 @@ static void room_608_daemon() {
int idx = kernel_add_dynamic(words_obnoxious_dog, words_walkto, 0, g_sequence_ids[5], 0, 0, 0, 0);
kernel_dynamic_walk(idx, 194, 142, FACING_EAST);
local._barkCount = 0;
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_SPRITE, 2, 100);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 60);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_SPRITE, 2, 100);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 60);
}
} else if (kernel.trigger == 60) {
int syncIdx = g_sequence_ids[5];
@@ -411,7 +412,7 @@ static void room_608_daemon() {
local._dogYelping = false;
kernel_message_purge();
g_sequence_ids[11] = kernel_seq_forward(g_sprite_ids[11], false, 6, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[11], SEQUENCE_TRIGGER_EXPIRE, 0, 92);
+ kernel_seq_trigger(g_sequence_ids[11], KERNEL_TRIGGER_EXPIRE, 0, 92);
kernel_message_add(quote_string(kernel.quotes, 0x2FF), 0, 0, 0x1110, 120, 0, 34);
}
@@ -620,7 +621,7 @@ static void room_608_daemon() {
g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[9], 1, 2);
kernel_seq_depth(g_sequence_ids[9], 5);
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_EXPIRE, 0, 80);
kernel_timing_trigger(10, 85);
break;
@@ -632,7 +633,7 @@ static void room_608_daemon() {
kernel_seq_timeout(-1, g_sequence_ids[9]);
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x2FC), 0, 0, 0x1110, 120, 0, 34);
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 81);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_EXPIRE, 0, 81);
break;
case 81:
@@ -642,7 +643,7 @@ static void room_608_daemon() {
kernel_seq_range(g_sequence_ids[9], 6, 38);
kernel_seq_depth(g_sequence_ids[9], 5);
kernel_seq_timeout(syncIdx, g_sequence_ids[9]);
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 82);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_EXPIRE, 0, 82);
}
break;
@@ -653,7 +654,7 @@ static void room_608_daemon() {
kernel_seq_range(g_sequence_ids[9], 39, 40);
kernel_seq_depth(g_sequence_ids[9], 5);
kernel_seq_timeout(syncIdx, g_sequence_ids[9]);
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 83);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_EXPIRE, 0, 83);
}
break;
@@ -689,7 +690,7 @@ static void room_608_daemon() {
}
static void room_608_pre_parser() {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
if ((player_said_3(throw, bone, rear_of_garage) || player_said_3(throw, bones, rear_of_garage)
|| player_said_3(throw, bone, front_of_garage) || player_said_3(throw, bones, front_of_garage)
@@ -724,7 +725,7 @@ static void room_608_parser() {
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], true, 6, 0, 0, 2);
kernel_seq_range(g_sequence_ids[3], 1, 2);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 1);
} else
text_show(60839);
break;
@@ -799,7 +800,7 @@ static void room_608_parser() {
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], true, 6, 0, 0, 2);
kernel_seq_range(g_sequence_ids[3], 1, 3);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 1);
} else
text_show(60840);
break;
@@ -886,8 +887,8 @@ static void room_608_parser() {
player.walker_visible = false;
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], true, 6, 0, 0, 2);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 4, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 4, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -915,8 +916,8 @@ static void room_608_parser() {
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], true, 6, 0, 0, 2);
kernel_seq_range(g_sequence_ids[2], 1, 2);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -975,7 +976,7 @@ static void room_608_parser() {
text_show(60824);
} else if (player_said_2(open, storage_box))
text_show(60826);
- else if (player_said_2(look, rearview_mirror) && (player.main_object_source == CAT_HOTSPOT))
+ else if (player_said_2(look, rearview_mirror) && (player.main_object_source == STROKE_INTERFACE))
text_show(60828);
else if (player_said_2(look, tool_box)) {
if (object[OBJ_POLYCEMENT].location == room_id)
diff --git a/engines/mads/nebular/rooms/room609.cpp b/engines/mads/nebular/rooms/room609.cpp
index 88717ee56e9..93991fff45c 100644
--- a/engines/mads/nebular/rooms/room609.cpp
+++ b/engines/mads/nebular/rooms/room609.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -63,7 +64,7 @@ static void room_609_init() {
player.facing = FACING_EAST;
kernel_timing_trigger(60, 60);
player.commands_allowed = false;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 86;
player.y = 136;
player.facing = FACING_NORTHEAST;
@@ -92,7 +93,7 @@ static void room_609_daemon() {
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 7, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 9);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 61);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 61);
break;
case 61:
@@ -106,7 +107,7 @@ static void room_609_daemon() {
g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 7, 0, 0, 1);
kernel_flip_hotspot(words_video_store_door, true);
kernel_seq_depth(g_sequence_ids[2], 9);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 63);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 63);
break;
case 63:
@@ -142,7 +143,7 @@ static void room_609_daemon() {
kernel_seq_delete(g_sequence_ids[1]);
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[1], 5);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 72);
break;
case 72:
@@ -180,7 +181,7 @@ static void enterStore() {
g_sequence_ids[5] = kernel_seq_pingpong(g_sprite_ids[5], true, 11, 0, 0, 2);
kernel_seq_range(g_sequence_ids[5], 1, 2);
kernel_seq_player(g_sequence_ids[5], false);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
@@ -204,7 +205,7 @@ static void enterStore() {
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 7, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 9);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 6);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 6);
break;
case 6:
@@ -221,7 +222,7 @@ static void enterStore() {
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 7, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 9);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 8);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 8);
break;
case 8:
@@ -297,7 +298,7 @@ static void room_609_parser() {
kernel_seq_delete(g_sequence_ids[1]);
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[1], 5);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -314,7 +315,7 @@ static void room_609_parser() {
player.walker_visible = false;
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 10, 0, 0, 1);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room610.cpp b/engines/mads/nebular/rooms/room610.cpp
index cdadf37041c..61af8ec5979 100644
--- a/engines/mads/nebular/rooms/room610.cpp
+++ b/engines/mads/nebular/rooms/room610.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -67,7 +68,7 @@ static void room_610_init() {
if (kernel.teleported_in && game.difficulty != DIFFICULTY_EASY)
inter_give_to_player(OBJ_PENLIGHT);
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 175;
player.y = 152;
player.facing = FACING_NORTHWEST;
@@ -109,8 +110,8 @@ static void room_610_parser() {
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], true, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 1, 2);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -139,8 +140,8 @@ static void room_610_parser() {
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], true, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 1, 2);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -192,7 +193,7 @@ static void room_610_parser() {
text_show(61024);
else if (player_said_2(look, spotlight))
text_show(61025);
- else if (player_said_2(look, phone_handset) && (player.main_object_source == CAT_HOTSPOT))
+ else if (player_said_2(look, phone_handset) && (player.main_object_source == STROKE_INTERFACE))
text_show(61026);
else if (player_said_2(look, phone_cradle))
text_show(61027);
diff --git a/engines/mads/nebular/rooms/room611.cpp b/engines/mads/nebular/rooms/room611.cpp
index 610e490d759..459e4bf42c2 100644
--- a/engines/mads/nebular/rooms/room611.cpp
+++ b/engines/mads/nebular/rooms/room611.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/core/pal.h"
#include "mads/nebular/global.h"
@@ -90,7 +91,7 @@ static void setDialogNode(int node) {
switch (node) {
case 0:
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
local._duringDialogFl = false;
local._hermitDialogNode = 0;
break;
@@ -133,7 +134,7 @@ static void handleTalking(int delay) {
local._alreadyTalkingFl = true;
local._hermitTalkingFl = true;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(delay, 100);
}
@@ -942,7 +943,7 @@ static void room_611_init() {
local._alreadyTalkingFl = false;
local._startTradingFl = false;
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 22;
player.y = 132;
player.facing = FACING_EAST;
@@ -950,7 +951,7 @@ static void room_611_init() {
}
if (!global[kHasTalkedToHermit]) {
- kernel_run_animation(kernel_full_name(611, 'h', -1, "", EXT_AA), 0);
+ kernel_run_animation(kernel_full_name(611, 'h', -1, "", KERNEL_AA), 0);
local._nextFrame = 47;
local._hermitMode = 1;
local._hermitTalkingFl = false;
@@ -975,7 +976,7 @@ static void room_611_init() {
switch (local._hermitDialogNode) {
case 0:
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
local._hermitDialogNode = 1;
break;
@@ -1007,7 +1008,7 @@ static void room_611_daemon() {
kernel_seq_range(g_sequence_ids[1], 1, 8);
kernel_seq_depth(g_sequence_ids[1], 1);
local._ratPresentFl = true;
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 81);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 81);
} else if (kernel.trigger == 81) {
int syncId = g_sequence_ids[1];
g_sequence_ids[1] = kernel_seq_pingpong(g_sprite_ids[1], false, 20, 0, 0, 0);
@@ -1042,7 +1043,7 @@ static void room_611_daemon() {
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], false, 12, 0, 0, 3);
kernel_seq_range(g_sequence_ids[2], 2, 4);
kernel_seq_depth(g_sequence_ids[2], 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 71);
break;
case 7:
@@ -1077,14 +1078,14 @@ static void room_611_daemon() {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 24, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 5, 8);
kernel_seq_depth(g_sequence_ids[2], 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 71);
break;
case 17:
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 20, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 9, 11);
kernel_seq_depth(g_sequence_ids[2], 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 71);
break;
case 21:
@@ -1111,7 +1112,7 @@ static void room_611_daemon() {
case 29:
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 20, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 71);
break;
default:
@@ -1240,7 +1241,7 @@ static void room_611_daemon() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 1, 2);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 111);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 111);
}
if (kernel.trigger == 111) {
@@ -1262,7 +1263,7 @@ static void room_611_daemon() {
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 1, 2);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 112);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 112);
local._check1Fl = false;
}
@@ -1292,7 +1293,7 @@ static void room_611_daemon() {
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 1, 2);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 114);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 114);
}
if (kernel.trigger == 114) {
@@ -1303,7 +1304,7 @@ static void room_611_daemon() {
kernel_seq_range(g_sequence_ids[3], 1, 2);
kernel_seq_timeout(syncIdx, g_sequence_ids[3]);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 115);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 115);
}
if ((local._nextFrame >= 0) && (local._nextFrame != kernel_anim[0].frame)) {
@@ -1342,7 +1343,7 @@ static void room_611_pre_parser() {
}
static void room_611_parser() {
- if (inter_input_mode == kInputConversation)
+ if (inter_input_mode == INTER_CONVERSATION)
handleDialog();
else if ((player_said_3(give, phone_cells, hermit)) || (player_said_3(give, durafail_cells, hermit))) {
player2.words[0] = 0x294;
diff --git a/engines/mads/nebular/rooms/room612.cpp b/engines/mads/nebular/rooms/room612.cpp
index cbd6b9a86d6..d95451f19d6 100644
--- a/engines/mads/nebular/rooms/room612.cpp
+++ b/engines/mads/nebular/rooms/room612.cpp
@@ -47,8 +47,8 @@ static void handleWinchMovement() {
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 10, 0, 0, 1);
kernel_seq_range(g_sequence_ids[4], 1, 5);
kernel_seq_player(g_sequence_ids[4], false);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_SPRITE, 5, 1);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_SPRITE, 5, 1);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -66,7 +66,7 @@ static void handleWinchMovement() {
g_engine->_soundManager->command(18, 0);
}
kernel_seq_depth(g_sequence_ids[2], 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 2:
@@ -115,7 +115,7 @@ static void room_612_init() {
g_sequence_ids[2] = kernel_seq_stamp(g_sprite_ids[2], false, local._cycleIndex);
kernel_seq_depth(g_sequence_ids[2], 1);
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 280;
player.y = 75;
player.facing = FACING_SOUTHWEST;
@@ -146,7 +146,7 @@ static void room_612_daemon() {
kernel_seq_delete(g_sequence_ids[1]);
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[1], 2);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 72);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 72);
break;
case 72:
@@ -168,7 +168,7 @@ static void room_612_parser() {
kernel_seq_delete(g_sequence_ids[1]);
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[1], 2);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -185,7 +185,7 @@ static void room_612_parser() {
player.walker_visible = false;
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], true, 10, 0, 0, 1);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room620.cpp b/engines/mads/nebular/rooms/room620.cpp
index 19a77bc3bdb..e61720ebc2d 100644
--- a/engines/mads/nebular/rooms/room620.cpp
+++ b/engines/mads/nebular/rooms/room620.cpp
@@ -37,7 +37,7 @@ static void room_620_init() {
player.commands_allowed = false;
player.walker_visible = false;
kernel_timing_trigger(30, 70);
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
section_6_music();
}
diff --git a/engines/mads/nebular/rooms/room701.cpp b/engines/mads/nebular/rooms/room701.cpp
index 2c3fea8180a..a687c6def6f 100644
--- a/engines/mads/nebular/rooms/room701.cpp
+++ b/engines/mads/nebular/rooms/room701.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -128,7 +129,7 @@ static void room_701_init() {
player.commands_allowed = false;
kernel_run_animation(kernel_name('B', 1), 80);
g_engine->_soundManager->command(28, 0);
- } else if (previous_room != RETURNING_FROM_DIALOG && previous_room != 620) {
+ } else if (previous_room != KERNEL_RESTORING_GAME && previous_room != 620) {
player.x = 22;
player.y = 131;
player.facing = FACING_EAST;
@@ -146,7 +147,7 @@ static void room_701_daemon() {
kernel_seq_delete(g_sequence_ids[5]);
g_sequence_ids[5] = kernel_seq_backward(g_sprite_ids[5], false, 6, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[5], 155, 129);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 61);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 61);
break;
case 61:
@@ -161,7 +162,7 @@ static void room_701_daemon() {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 5, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[1], 48, 136);
kernel_seq_depth(g_sequence_ids[1], 10);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 71);
break;
case 71:
@@ -174,7 +175,7 @@ static void room_701_daemon() {
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 5, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[1], 48, 136);
kernel_seq_depth(g_sequence_ids[1], 10);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 73);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 73);
break;
case 73:
@@ -223,7 +224,7 @@ static void room_701_parser() {
player.walker_visible = false;
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 6, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[5], 155, 129);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -254,7 +255,7 @@ static void room_701_parser() {
kernel_seq_depth(g_sequence_ids[1], 10);
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x30D), 0, 0, 0x310, 120, 0, 34);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -267,7 +268,7 @@ static void room_701_parser() {
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 5, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[1], 48, 136);
kernel_seq_depth(g_sequence_ids[1], 10);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 4);
break;
case 4:
diff --git a/engines/mads/nebular/rooms/room702.cpp b/engines/mads/nebular/rooms/room702.cpp
index d267fec8c9a..8af55534fcd 100644
--- a/engines/mads/nebular/rooms/room702.cpp
+++ b/engines/mads/nebular/rooms/room702.cpp
@@ -38,7 +38,7 @@ static void room_702_init() {
player.x = 13;
player.y = 145;
player.facing = FACING_EAST;
- } else if (previous_room != RETURNING_FROM_DIALOG && previous_room != 620) {
+ } else if (previous_room != KERNEL_RESTORING_GAME && previous_room != 620) {
player.x = 289;
player.y = 138;
player_walk(262, 148, FACING_WEST);
@@ -76,15 +76,15 @@ static void room_702_parser() {
player.commands_allowed = false;
player.walker_visible = false;
new_room = 711;
- } else if (player_said_2(take, bones) && (player.main_object_source == CAT_HOTSPOT) && (!player_has(OBJ_BONES) || kernel.trigger)) {
+ } else if (player_said_2(take, bones) && (player.main_object_source == STROKE_INTERFACE) && (!player_has(OBJ_BONES) || kernel.trigger)) {
switch (kernel.trigger) {
case 0:
player.commands_allowed = false;
player.walker_visible = false;
g_sequence_ids[12] = kernel_seq_pingpong(g_sprite_ids[12], false, 5, 0, 0, 2);
kernel_seq_player(g_sequence_ids[12], false);
- kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_SPRITE, 4, 1);
- kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[12], KERNEL_TRIGGER_SPRITE, 4, 1);
+ kernel_seq_trigger(g_sequence_ids[12], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
g_engine->_soundManager->command(0xF, 0);
@@ -115,9 +115,9 @@ static void room_702_parser() {
text_show(70215);
else if (player_said_2(look, teleporter))
text_show(70216);
- else if (player_said_2(look, bones) && (player.main_object_source == CAT_HOTSPOT))
+ else if (player_said_2(look, bones) && (player.main_object_source == STROKE_INTERFACE))
text_show(70217);
- else if (player_said_2(take, bones) && (player.main_object_source == CAT_HOTSPOT)) {
+ else if (player_said_2(take, bones) && (player.main_object_source == STROKE_INTERFACE)) {
if (player_has(OBJ_BONES))
text_show(70219);
} else if (player_said_2(look, submerged_city))
diff --git a/engines/mads/nebular/rooms/room703.cpp b/engines/mads/nebular/rooms/room703.cpp
index 348ad8948e8..9c75d689927 100644
--- a/engines/mads/nebular/rooms/room703.cpp
+++ b/engines/mads/nebular/rooms/room703.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -92,7 +93,7 @@ static void handleBottleInterface() {
}
static void setBottleSequence() {
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
player.commands_allowed = false;
if (local._boatDir == 2)
local._curSequence = 6;
@@ -123,7 +124,7 @@ static void handleFillBottle(int quote) {
break;
case 0x315:
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
break;
default:
@@ -158,7 +159,7 @@ static void room_703_init() {
local._monsterMode = 0;
kernel_run_animation(kernel_name('A', -1), 0);
kernel_reset_animation(0, 34);
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.commands_allowed = false;
local._boatDir = 1;
if (global[kMonsterAlive]) {
@@ -470,7 +471,7 @@ static void room_703_daemon() {
kernel_run_animation(kernel_name('A', -1), 0);
kernel_reset_animation(0, 9);
player.commands_allowed = true;
- if (config_file.naughtiness == STORYMODE_NAUGHTY)
+ if (config_file.naughtiness == NAUGHTY)
text_show(70321);
else
text_show(70322);
@@ -490,7 +491,7 @@ static void room_703_daemon() {
}
static void room_703_parser() {
- if (inter_input_mode == kInputConversation)
+ if (inter_input_mode == INTER_CONVERSATION)
handleFillBottle(player2.words[0]);
else if (player_said_2(steer_towards, dock_to_south)) {
player.commands_allowed = false;
diff --git a/engines/mads/nebular/rooms/room704.cpp b/engines/mads/nebular/rooms/room704.cpp
index 8daf58d8515..8d8f963d3d9 100644
--- a/engines/mads/nebular/rooms/room704.cpp
+++ b/engines/mads/nebular/rooms/room704.cpp
@@ -84,7 +84,7 @@ static void handleBottleInterface() {
}
static void setBottleSequence() {
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
player.commands_allowed = false;
if (local._boatDirection == 2)
local._animationMode = 6;
@@ -115,7 +115,7 @@ static void handleFillBottle(int quote) {
break;
case 0x315:
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
break;
default:
@@ -150,7 +150,7 @@ static void room_704_init() {
local._boatDirection = 2;
kernel_run_animation(kernel_name('A', -1), 0);
kernel_reset_animation(0, 36);
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.commands_allowed = false;
local._boatDirection = 1;
kernel_run_animation(kernel_name('A', -1), 0);
@@ -321,7 +321,7 @@ static void room_704_daemon() {
}
static void room_704_parser() {
- if (inter_input_mode == kInputConversation)
+ if (inter_input_mode == INTER_CONVERSATION)
handleFillBottle(player2.words[0]);
else if (player_said_2(steer_towards, open_water_to_south)) {
player.commands_allowed = false;
@@ -363,7 +363,7 @@ static void room_704_parser() {
text_show(70412);
} else if (player_said_2(look, volcano_rim))
text_show(70413);
- else if (player_said_2(look, bottle) && (player.main_object_source == CAT_HOTSPOT))
+ else if (player_said_2(look, bottle) && (player.main_object_source == STROKE_INTERFACE))
text_show(70414);
else if (player_said_2(look, open_water_to_south))
text_show(70416);
diff --git a/engines/mads/nebular/rooms/room705.cpp b/engines/mads/nebular/rooms/room705.cpp
index 5b99c758763..16c185d4382 100644
--- a/engines/mads/nebular/rooms/room705.cpp
+++ b/engines/mads/nebular/rooms/room705.cpp
@@ -79,10 +79,10 @@ static void handleBottleInterface() {
}
static void setBottleSequence() {
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
player.commands_allowed = false;
kernel_seq_delete(g_sequence_ids[3]);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_run_animation(kernel_name('F', -1), 90);
}
@@ -109,7 +109,7 @@ static void handleFillBottle(int quote) {
break;
case 0x315:
- kernel_set_interface_mode(kInputBuildingSentences);
+ kernel_set_interface_mode(INTER_BUILDING_SENTENCES);
break;
default:
@@ -128,8 +128,8 @@ static void room_705_init() {
player.commands_allowed = false;
g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 9, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 1, 4);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 71);
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.commands_allowed = false;
kernel_timing_trigger(1, 80);
g_engine->_soundManager->command(28, 0);
@@ -149,7 +149,7 @@ static void room_705_daemon() {
case 70:
g_sequence_ids[3] = kernel_seq_backward(g_sprite_ids[3], false, 9, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 1, 4);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 71);
break;
case 71:
@@ -169,7 +169,7 @@ static void room_705_daemon() {
case 80:
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 9, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[1], 2);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 81);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 81);
break;
case 81:
@@ -226,7 +226,7 @@ static void room_705_daemon() {
}
static void room_705_parser() {
- if (inter_input_mode == kInputConversation)
+ if (inter_input_mode == INTER_CONVERSATION)
handleFillBottle(player2.words[0]);
else if (player_said_2(steer_towards, open_water_to_south)) {
switch (kernel.trigger) {
@@ -235,7 +235,7 @@ static void room_705_parser() {
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 6, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[2], 2);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 1);
g_engine->_soundManager->command(18, 0);
break;
@@ -260,7 +260,7 @@ static void room_705_parser() {
kernel_seq_delete(g_sequence_ids[3]);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 6, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 1, 16);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
diff --git a/engines/mads/nebular/rooms/room706.cpp b/engines/mads/nebular/rooms/room706.cpp
index be854bebd7c..90bab481912 100644
--- a/engines/mads/nebular/rooms/room706.cpp
+++ b/engines/mads/nebular/rooms/room706.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -77,8 +78,8 @@ static void handleTakeVase() {
player.walker_visible = false;
g_sequence_ids[3] = kernel_seq_pingpong(g_sprite_ids[3], false, 4, 0, 0, 2);
kernel_seq_player(g_sequence_ids[3], false);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 7, 1);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_SPRITE, 7, 1);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -136,7 +137,7 @@ static void room_706_init() {
player.x = 277;
player.y = 103;
player.facing = FACING_SOUTHWEST;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 167;
player.y = 152;
player.facing = FACING_NORTH;
@@ -299,7 +300,7 @@ static void room_706_parser() {
text_show(70623);
else if (player_said_2(look, vase) && (object[OBJ_VASE].location == room_id))
text_show(70624);
- else if (player_said_2(look, bottle) && (player.main_object_source == CAT_HOTSPOT))
+ else if (player_said_2(look, bottle) && (player.main_object_source == STROKE_INTERFACE))
text_show(70632);
else
return;
diff --git a/engines/mads/nebular/rooms/room707.cpp b/engines/mads/nebular/rooms/room707.cpp
index 0a7364b09c3..c8706370932 100644
--- a/engines/mads/nebular/rooms/room707.cpp
+++ b/engines/mads/nebular/rooms/room707.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
diff --git a/engines/mads/nebular/rooms/room710.cpp b/engines/mads/nebular/rooms/room710.cpp
index 98d66e6f9c3..0bc48ee31e1 100644
--- a/engines/mads/nebular/rooms/room710.cpp
+++ b/engines/mads/nebular/rooms/room710.cpp
@@ -32,7 +32,7 @@ namespace RexNebular {
namespace Rooms {
static void room_710_init() {
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
if (object[OBJ_VASE].location == 706) {
g_sprite_ids[1] = kernel_load_series(kernel_name('g', -1), 0);
diff --git a/engines/mads/nebular/rooms/room711.cpp b/engines/mads/nebular/rooms/room711.cpp
index b14f77f1bc9..e23c9b00c89 100644
--- a/engines/mads/nebular/rooms/room711.cpp
+++ b/engines/mads/nebular/rooms/room711.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
diff --git a/engines/mads/nebular/rooms/room751.cpp b/engines/mads/nebular/rooms/room751.cpp
index 776324ff7ca..1424e6f2bbd 100644
--- a/engines/mads/nebular/rooms/room751.cpp
+++ b/engines/mads/nebular/rooms/room751.cpp
@@ -71,7 +71,7 @@ static void room_751_init() {
g_sequence_ids[4] = kernel_seq_stamp(g_sprite_ids[4], false, -2);
kernel_seq_loc(g_sequence_ids[4], 155, 129);
kernel_timing_trigger(15, 70);
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 22;
player.y = 131;
player.facing = FACING_EAST;
@@ -110,7 +110,7 @@ static void room_751_daemon() {
kernel_seq_delete(g_sequence_ids[4]);
g_sequence_ids[4] = kernel_seq_backward(g_sprite_ids[4], false, 6, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[4], 155, 129);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 71);
break;
case 71:
@@ -137,7 +137,7 @@ static void room_751_daemon() {
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 5, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[1], 48, 136);
kernel_seq_depth(g_sequence_ids[1], 10);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 61);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 61);
break;
case 61:
@@ -150,7 +150,7 @@ static void room_751_daemon() {
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 5, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[1], 48, 136);
kernel_seq_depth(g_sequence_ids[1], 10);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 63);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 63);
break;
case 63:
@@ -191,7 +191,7 @@ static void room_751_pre_parser() {
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 11, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], -1, 7);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -218,7 +218,7 @@ static void room_751_parser() {
player.walker_visible = false;
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 6, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[4], 155, 129);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -249,7 +249,7 @@ static void room_751_parser() {
kernel_seq_depth(g_sequence_ids[1], 10);
kernel_message_purge();
kernel_message_add(quote_string(kernel.quotes, 0x30D), 0, 0, 0x1110, 120, 0, 34);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -262,7 +262,7 @@ static void room_751_parser() {
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 5, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[1], 48, 136);
kernel_seq_depth(g_sequence_ids[1], 10);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 4);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 4);
break;
case 4:
@@ -289,7 +289,7 @@ static void room_751_parser() {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], -1, 6);
kernel_seq_timeout(-1, g_sequence_ids[2]);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 1);
break;
case 1:
@@ -306,7 +306,7 @@ static void room_751_parser() {
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 8, -2);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 3);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 3);
break;
case 3:
diff --git a/engines/mads/nebular/rooms/room752.cpp b/engines/mads/nebular/rooms/room752.cpp
index a23aa35275d..3a7de3a9aba 100644
--- a/engines/mads/nebular/rooms/room752.cpp
+++ b/engines/mads/nebular/rooms/room752.cpp
@@ -46,7 +46,7 @@ static void room_752_init() {
player.x = 13;
player.y = 145;
player.facing = FACING_EAST;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 289;
player.y = 138;
player_walk(262, 148, FACING_WEST);
@@ -125,8 +125,8 @@ static void room_752_parser() {
player.walker_visible = false;
g_sequence_ids[12] = kernel_seq_pingpong(g_sprite_ids[12], false, 5, 0, 0, 2);
kernel_seq_player(g_sequence_ids[12], false);
- kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_SPRITE, 4, 1);
- kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[12], KERNEL_TRIGGER_SPRITE, 4, 1);
+ kernel_seq_trigger(g_sequence_ids[12], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
g_engine->_soundManager->command(15, 0);
@@ -142,7 +142,7 @@ static void room_752_parser() {
default:
break;
}
- } else if (player_said_2(take, bones) && (player.main_object_source == CAT_HOTSPOT) &&
+ } else if (player_said_2(take, bones) && (player.main_object_source == STROKE_INTERFACE) &&
(!player_has(OBJ_BONES) || kernel.trigger)) {
switch (kernel.trigger) {
case 0:
@@ -150,8 +150,8 @@ static void room_752_parser() {
player.walker_visible = false;
g_sequence_ids[12] = kernel_seq_pingpong(g_sprite_ids[12], false, 5, 0, 0, 2);
kernel_seq_player(g_sequence_ids[12], false);
- kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_SPRITE, 4, 1);
- kernel_seq_trigger(g_sequence_ids[12], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[12], KERNEL_TRIGGER_SPRITE, 4, 1);
+ kernel_seq_trigger(g_sequence_ids[12], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
g_engine->_soundManager->command(15, 0);
@@ -185,12 +185,12 @@ static void room_752_parser() {
text_show(75217);
else if (player_said_2(look, teleporter))
text_show(75218);
- else if ((player_said_2(look, bones) || player_said_2(look, id_card)) && (player.main_object_source == CAT_HOTSPOT)) {
+ else if ((player_said_2(look, bones) || player_said_2(look, id_card)) && (player.main_object_source == STROKE_INTERFACE)) {
if (object[OBJ_ID_CARD].location == 752)
text_show(75219);
else
text_show(75220);
- } else if (player_said_2(take, bones) && (player.main_object_source == CAT_HOTSPOT)) {
+ } else if (player_said_2(take, bones) && (player.main_object_source == STROKE_INTERFACE)) {
if (player_has(OBJ_BONES))
text_show(75222);
} else
diff --git a/engines/mads/nebular/rooms/room801.cpp b/engines/mads/nebular/rooms/room801.cpp
index 4c6d062a49f..e7b65d3af3e 100644
--- a/engines/mads/nebular/rooms/room801.cpp
+++ b/engines/mads/nebular/rooms/room801.cpp
@@ -69,7 +69,7 @@ static void room_801_init() {
player.y = 111;
player_walk(270, 118, FACING_WEST);
player.walker_visible = true;
- } else if ((previous_room != RETURNING_FROM_DIALOG) && !global[kTeleporterCommand]) {
+ } else if ((previous_room != KERNEL_RESTORING_GAME) && !global[kTeleporterCommand]) {
player.x = 8;
player.y = 117;
player_walk(41, 115, FACING_EAST);
@@ -87,8 +87,8 @@ static void room_801_init() {
global[kTeleporterUnderstood] = true;
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[1], 1, 13);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 75);
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 75);
g_engine->_soundManager->command(30, 0);
break;
@@ -98,8 +98,8 @@ static void room_801_init() {
global[kTeleporterUnderstood] = true;
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[1], 1, 13);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 80);
g_engine->_soundManager->command(30, 0);
break;
@@ -140,7 +140,7 @@ static void room_801_daemon() {
if (global[kSexOfRex] == REX_FEMALE) {
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[5], 1, 8);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 140);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 140);
} else {
player.commands_allowed = true;
player.walker_visible = true;
@@ -174,7 +174,7 @@ static void room_801_daemon() {
kernel_seq_range(g_sequence_ids[2], 1, 5);
kernel_seq_depth(g_sequence_ids[2], 10);
local._walkThroughDoor = false;
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 120);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 120);
}
if (kernel.trigger == 120) {
@@ -195,7 +195,7 @@ static void room_801_daemon() {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 4, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], 1, 5);
kernel_seq_depth(g_sequence_ids[2], 10);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 110);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 110);
}
if (kernel.trigger == 110) {
@@ -234,10 +234,10 @@ static void room_801_parser() {
player.facing = FACING_EAST;
player_select_series();
global[kBetweenRooms] = true;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_seq_delete(g_sequence_ids[2]);
g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 4, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 90);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 90);
kernel_seq_range(g_sequence_ids[2], 1, 5);
kernel_seq_depth(g_sequence_ids[2], 13);
g_engine->_soundManager->command(11, 0);
diff --git a/engines/mads/nebular/rooms/room802.cpp b/engines/mads/nebular/rooms/room802.cpp
index fec9ae19ea2..3a50577156f 100644
--- a/engines/mads/nebular/rooms/room802.cpp
+++ b/engines/mads/nebular/rooms/room802.cpp
@@ -59,7 +59,7 @@ static void room_802_init() {
player.y = 119;
player.facing = FACING_WEST;
- } else if (previous_room != RETURNING_FROM_DIALOG) {
+ } else if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 15;
player.y = 129;
player.facing = FACING_EAST;
@@ -70,7 +70,7 @@ static void room_802_init() {
if (global[kHasWatchedAntigrav] && !global[kRemoteSequenceRan]) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(200, 70);
}
@@ -95,8 +95,8 @@ static void room_802_daemon() {
player.commands_allowed = false;
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[3], 1, 19);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_SPRITE, 4, 72);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_SPRITE, 4, 72);
}
if (kernel.trigger == 71) {
@@ -136,8 +136,8 @@ static void room_802_parser() {
g_sequence_ids[2] = kernel_seq_pingpong(g_sprite_ids[2], true, 7, 0, 0, 2);
kernel_seq_range(g_sequence_ids[2], 1, 2);
kernel_seq_player(g_sequence_ids[2], false);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_SPRITE, 2, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_SPRITE, 2, 1);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
@@ -168,8 +168,8 @@ static void room_802_parser() {
g_sequence_ids[5] = kernel_seq_pingpong(g_sprite_ids[5], true, 7, 0, 0, 2);
kernel_seq_range(g_sequence_ids[5], 1, 4);
kernel_seq_player(g_sequence_ids[5], false);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_SPRITE, 4, 1);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_SPRITE, 4, 1);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 2);
break;
case 1:
diff --git a/engines/mads/nebular/rooms/room803.cpp b/engines/mads/nebular/rooms/room803.cpp
index 86b2292867d..089e15eda7f 100644
--- a/engines/mads/nebular/rooms/room803.cpp
+++ b/engines/mads/nebular/rooms/room803.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -55,7 +56,7 @@ static void room_803_init() {
if (!global[kFromCockpit]) {
if (!global[kReturnFromCut]) {
- if (previous_room != RETURNING_FROM_DIALOG) {
+ if (previous_room != KERNEL_RESTORING_GAME) {
player.x = 15;
player.y = 130;
player.facing = FACING_EAST;
@@ -71,7 +72,7 @@ static void room_803_init() {
kernel_seq_depth(g_sequence_ids[3], 15);
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 8, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[3], 1);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 80);
g_engine->_soundManager->command(14, 0);
}
@@ -87,7 +88,7 @@ static void room_803_init() {
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[5], 1, 6);
kernel_seq_depth(g_sequence_ids[5], 1);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 100);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 100);
}
} else if (!global[kExitShip]) {
if (!global[kBeamIsUp]) {
@@ -96,7 +97,7 @@ static void room_803_init() {
player.commands_allowed = false;
g_sequence_ids[3] = kernel_seq_forward(g_sprite_ids[3], false, 8, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[3], 1);
- kernel_seq_trigger(g_sequence_ids[3], SEQUENCE_TRIGGER_EXPIRE, 0, 130);
+ kernel_seq_trigger(g_sequence_ids[3], KERNEL_TRIGGER_EXPIRE, 0, 130);
g_engine->_soundManager->command(14, 0);
} else {
g_sprite_ids[8] = kernel_load_series(kernel_name('c', 1), 0);
@@ -105,7 +106,7 @@ static void room_803_init() {
g_sequence_ids[8] = kernel_seq_stamp(g_sprite_ids[8], false, 1);
g_sequence_ids[8] = kernel_seq_forward(g_sprite_ids[8], false, 8, 0, 0, 1);
kernel_seq_depth(g_sequence_ids[8], 1);
- kernel_seq_trigger(g_sequence_ids[8], SEQUENCE_TRIGGER_EXPIRE, 0, 140);
+ kernel_seq_trigger(g_sequence_ids[8], KERNEL_TRIGGER_EXPIRE, 0, 140);
}
} else {
player.commands_allowed = false;
@@ -134,7 +135,7 @@ static void room_803_daemon() {
if (!global[kHoppyDead]) {
g_sequence_ids[5] = kernel_seq_forward(g_sprite_ids[5], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[5], 7, 12);
- kernel_seq_trigger(g_sequence_ids[5], SEQUENCE_TRIGGER_EXPIRE, 0, 101);
+ kernel_seq_trigger(g_sequence_ids[5], KERNEL_TRIGGER_EXPIRE, 0, 101);
} else {
g_sequence_ids[5] = kernel_seq_stamp(g_sprite_ids[5], false, -2);
int idx = kernel_add_dynamic(words_guts, words_walkto, 0, g_sequence_ids[5], 0, 0, 0, 0);
@@ -178,12 +179,12 @@ static void room_803_daemon() {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 12, 0, 0, 1);
kernel_seq_range(g_sequence_ids[4], 1, 3);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 90);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 90);
}
if (kernel.trigger == 70) {
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 8, 0, 0, 1);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 71);
g_engine->_soundManager->command(31, 0);
}
@@ -230,7 +231,7 @@ static void room_803_daemon() {
g_sequence_ids[6] = kernel_seq_backward(g_sprite_ids[6], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[6], 1, 19);
kernel_seq_depth(g_sequence_ids[6], 4);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 151);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 151);
}
if (kernel.trigger == 151) {
@@ -258,7 +259,7 @@ static void room_803_parser() {
g_sequence_ids[9] = kernel_seq_forward(g_sprite_ids[9], true, 6, 0, 0, 1);
kernel_seq_range(g_sequence_ids[9], 1, 4);
kernel_seq_player(g_sequence_ids[9], false);
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 160);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_EXPIRE, 0, 160);
break;
case 160:
@@ -284,7 +285,7 @@ static void room_803_parser() {
g_sequence_ids[9] = kernel_seq_backward(g_sprite_ids[9], true, 6, 0, 0, 1);
kernel_seq_range(g_sequence_ids[9], 1, 4);
kernel_seq_player(g_sequence_ids[9], false);
- kernel_seq_trigger(g_sequence_ids[9], SEQUENCE_TRIGGER_EXPIRE, 0, 163);
+ kernel_seq_trigger(g_sequence_ids[9], KERNEL_TRIGGER_EXPIRE, 0, 163);
break;
case 163:
@@ -299,11 +300,11 @@ static void room_803_parser() {
} else if (player_said_2(enter, ship)) {
g_engine->_soundManager->command(17, 0);
player.commands_allowed = false;
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
g_sequence_ids[6] = kernel_seq_forward(g_sprite_ids[6], false, 8, 0, 0, 1);
kernel_seq_range(g_sequence_ids[6], 1, 19);
kernel_seq_depth(g_sequence_ids[6], 4);
- kernel_seq_trigger(g_sequence_ids[6], SEQUENCE_TRIGGER_EXPIRE, 0, 120);
+ kernel_seq_trigger(g_sequence_ids[6], KERNEL_TRIGGER_EXPIRE, 0, 120);
global[kBeamIsUp] = false;
} else if (player_said_2(look, launch_pad))
text_show(80310);
@@ -312,7 +313,7 @@ static void room_803_parser() {
else if (player_said_2(look, pad_to_west))
text_show(80311);
else if (player_said_2(look, guts)) {
- if (config_file.naughtiness == STORYMODE_NICE)
+ if (config_file.naughtiness == NICE)
text_show(80312);
else
text_show(80313);
diff --git a/engines/mads/nebular/rooms/room804.cpp b/engines/mads/nebular/rooms/room804.cpp
index 07b707adc83..27f53fd357a 100644
--- a/engines/mads/nebular/rooms/room804.cpp
+++ b/engines/mads/nebular/rooms/room804.cpp
@@ -19,6 +19,7 @@
*
*/
+#include "mads/core/config.h"
#include "mads/core/game.h"
#include "mads/nebular/global.h"
#include "mads/nebular/nebular.h"
@@ -97,12 +98,12 @@ static void room_804_init() {
kernel_seq_depth(g_sequence_ids[1], 8);
}
- kernel_run_animation(kernel_full_name(804, 'r', 1, "", EXT_AA), 0);
+ kernel_run_animation(kernel_full_name(804, 'r', 1, "", KERNEL_AA), 0);
section_8_music();
if (global[kInSpace] && !global[kWindowFixed]) {
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
g_engine->_soundManager->command(19, 0);
}
}
@@ -130,7 +131,7 @@ static void room_804_daemon() {
kernel_seq_delete(g_sequence_ids[7]);
switch (config_file.naughtiness) {
- case STORYMODE_NAUGHTY:
+ case NAUGHTY:
default:
if (kernel_anim[0].frame == 81) {
local._resetFrame = 80;
@@ -143,7 +144,7 @@ static void room_804_daemon() {
}
break;
- case STORYMODE_NICE:
+ case NICE:
if (kernel_anim[0].frame == 68) {
local._resetFrame = 66;
global[kInSpace] = false;
@@ -329,7 +330,7 @@ static void room_804_parser() {
g_engine->_soundManager->command(15, 0);
global[kBeamIsUp] = false;
}
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
kernel_timing_trigger(2, 90);
} else if (player.look_around) {
text_show(80410);
diff --git a/engines/mads/nebular/rooms/room805.cpp b/engines/mads/nebular/rooms/room805.cpp
index 2f8e56e36e7..283c3ba575a 100644
--- a/engines/mads/nebular/rooms/room805.cpp
+++ b/engines/mads/nebular/rooms/room805.cpp
@@ -33,7 +33,7 @@ namespace Rooms {
static void room_805_init() {
player.walker_visible = false;
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
g_sprite_ids[1] = kernel_load_series(kernel_name('a', 1), 0);
g_sprite_ids[2] = kernel_load_series(kernel_name('a', 2), 0);
@@ -104,30 +104,30 @@ static void room_805_parser() {
if (player_said_2(exit, service_panel))
new_room = 804;
else if (player_said_2(install, shield_modulator) && player_has(OBJ_SHIELD_MODULATOR)) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
g_sequence_ids[1] = kernel_seq_forward(g_sprite_ids[1], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[1], -1, -2);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 70);
player.commands_allowed = false;
} else if (player_said_2(install, target_module) && player_has(OBJ_TARGET_MODULE)) {
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
g_sequence_ids[2] = kernel_seq_forward(g_sprite_ids[2], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], -1, -2);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 80);
player.commands_allowed = false;
} else if (player_said_2(remove, shield_modulator) && global[kShieldModInstalled]) {
kernel_seq_delete(g_sequence_ids[1]);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
g_sequence_ids[1] = kernel_seq_backward(g_sprite_ids[1], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[1], -1, -2);
- kernel_seq_trigger(g_sequence_ids[1], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[1], KERNEL_TRIGGER_EXPIRE, 0, 71);
player.commands_allowed = false;
} else if (player_said_2(remove, target_module) && global[kTargetModInstalled]) {
kernel_seq_delete(g_sequence_ids[2]);
- kernel.trigger_setup_mode = SEQUENCE_TRIGGER_DAEMON;
+ kernel.trigger_setup_mode = KERNEL_TRIGGER_DAEMON;
g_sequence_ids[2] = kernel_seq_backward(g_sprite_ids[2], false, 7, 0, 0, 1);
kernel_seq_range(g_sequence_ids[2], -1, -2);
- kernel_seq_trigger(g_sequence_ids[2], SEQUENCE_TRIGGER_EXPIRE, 0, 81);
+ kernel_seq_trigger(g_sequence_ids[2], KERNEL_TRIGGER_EXPIRE, 0, 81);
player.commands_allowed = false;
} else if (player_said_2(install, shield_modulator) && !player_has(OBJ_SHIELD_MODULATOR))
text_show(80511);
diff --git a/engines/mads/nebular/rooms/room808.cpp b/engines/mads/nebular/rooms/room808.cpp
index 4843fee5995..32ac1bad436 100644
--- a/engines/mads/nebular/rooms/room808.cpp
+++ b/engines/mads/nebular/rooms/room808.cpp
@@ -39,7 +39,7 @@ static Scratch local;
static void room_808_init() {
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
g_sprite_ids[4] = kernel_load_series("*REXHAND", 0);
g_sprite_ids[1] = kernel_load_series(kernel_name('b', 0), 0);
@@ -87,7 +87,7 @@ static void room_808_parser() {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 4, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[4], 248, 211);
kernel_seq_depth(g_sequence_ids[4], 2);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 70);
break;
case 70:
@@ -101,7 +101,7 @@ static void room_808_parser() {
g_sequence_ids[4] = kernel_seq_backward(g_sprite_ids[4], false, 4, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[4], 248, 211);
kernel_seq_depth(g_sequence_ids[4], 2);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 71);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 71);
break;
case 71:
@@ -123,7 +123,7 @@ static void room_808_parser() {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 4, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[4], 248, 186);
kernel_seq_depth(g_sequence_ids[4], 2);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 90);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 90);
break;
case 90:
if (global[kTopButtonPushed]) {
@@ -136,7 +136,7 @@ static void room_808_parser() {
g_sequence_ids[4] = kernel_seq_backward(g_sprite_ids[4], false, 4, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[4], 248, 186);
kernel_seq_depth(g_sequence_ids[4], 2);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 91);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 91);
break;
case 91:
@@ -153,7 +153,7 @@ static void room_808_parser() {
g_sequence_ids[4] = kernel_seq_forward(g_sprite_ids[4], false, 4, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[4], 248, 163);
kernel_seq_depth(g_sequence_ids[4], 2);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 80);
break;
case 80:
@@ -167,7 +167,7 @@ static void room_808_parser() {
g_sequence_ids[4] = kernel_seq_backward(g_sprite_ids[4], false, 4, 0, 0, 1);
kernel_seq_loc(g_sequence_ids[4], 248, 163);
kernel_seq_depth(g_sequence_ids[4], 2);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 81);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 81);
break;
case 81:
@@ -184,7 +184,7 @@ static void room_808_parser() {
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 4, 0, 0, 2);
kernel_seq_loc(g_sequence_ids[4], 168, 211);
kernel_seq_depth(g_sequence_ids[4], 2);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 70);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 70);
break;
case 70:
@@ -201,7 +201,7 @@ static void room_808_parser() {
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 4, 0, 0, 2);
kernel_seq_loc(g_sequence_ids[4], 172, 163);
kernel_seq_depth(g_sequence_ids[4], 2);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 80);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 80);
break;
case 80:
@@ -218,7 +218,7 @@ static void room_808_parser() {
g_sequence_ids[4] = kernel_seq_pingpong(g_sprite_ids[4], false, 4, 0, 0, 2);
kernel_seq_loc(g_sequence_ids[4], 172, 186);
kernel_seq_depth(g_sequence_ids[4], 2);
- kernel_seq_trigger(g_sequence_ids[4], SEQUENCE_TRIGGER_EXPIRE, 0, 90);
+ kernel_seq_trigger(g_sequence_ids[4], KERNEL_TRIGGER_EXPIRE, 0, 90);
break;
case 90:
diff --git a/engines/mads/nebular/rooms/room810.cpp b/engines/mads/nebular/rooms/room810.cpp
index d528ff1d7a4..fe730afacfb 100644
--- a/engines/mads/nebular/rooms/room810.cpp
+++ b/engines/mads/nebular/rooms/room810.cpp
@@ -39,10 +39,10 @@ static Scratch local;
static void room_810_init() {
- kernel_set_interface_mode(kInputLimitedSentences);
+ kernel_set_interface_mode(INTER_LIMITED_SENTENCES);
player.walker_visible = false;
player.commands_allowed = false;
- kernel_run_animation(kernel_full_name(810, 'a', -1, "", EXT_AA), 0);
+ kernel_run_animation(kernel_full_name(810, 'a', -1, "", KERNEL_AA), 0);
local._moveAllowed = true;
section_8_music();
diff --git a/engines/mads/nebular/rooms/section2.cpp b/engines/mads/nebular/rooms/section2.cpp
index 4bfe7c86cec..2e62c1245b3 100644
--- a/engines/mads/nebular/rooms/section2.cpp
+++ b/engines/mads/nebular/rooms/section2.cpp
@@ -20,6 +20,7 @@
*/
#include "mads/mads.h"
+#include "mads/core/config.h"
#include "mads/core/pal.h"
#include "mads/nebular/rooms/section2.h"
#include "mads/nebular/rooms/thunks.h"
diff --git a/engines/mads/nebular/rooms/teleporter.cpp b/engines/mads/nebular/rooms/teleporter.cpp
index 755416434f0..8f5efb5d8b8 100644
--- a/engines/mads/nebular/rooms/teleporter.cpp
+++ b/engines/mads/nebular/rooms/teleporter.cpp
@@ -64,7 +64,7 @@ void teleporter_init() {
_curMessageId = -1;
Common::strcpy_s(_msgText2, "_");
- if (previous_room == RETURNING_FROM_DIALOG)
+ if (previous_room == KERNEL_RESTORING_GAME)
previous_room = global[kTeleporterDestination];
if (previous_room < 101)
@@ -179,8 +179,8 @@ void teleporter_handle_key() {
_handSequenceId = kernel_seq_pingpong(g_sprite_ids[4], false, 4, 0, 0, 2);
kernel_seq_loc(_handSequenceId, msgPos.x, msgPos.y);
kernel_seq_depth(_handSequenceId, 2);
- kernel_seq_trigger(_handSequenceId, SEQUENCE_TRIGGER_LOOP, 0, 1);
- kernel_seq_trigger(_handSequenceId, SEQUENCE_TRIGGER_EXPIRE, 0, 2);
+ kernel_seq_trigger(_handSequenceId, KERNEL_TRIGGER_LOOP, 0, 1);
+ kernel_seq_trigger(_handSequenceId, KERNEL_TRIGGER_EXPIRE, 0, 2);
if (global[kMeteorologistWatch] == METEOROLOGIST_NORMAL)
mouse_hide();
@@ -188,7 +188,7 @@ void teleporter_handle_key() {
}
case 1:
- kernel_seq_trigger(_handSequenceId, SEQUENCE_TRIGGER_SPRITE, 3, 3);
+ kernel_seq_trigger(_handSequenceId, KERNEL_TRIGGER_SPRITE, 3, 3);
if (_buttonTyped <= 9) {
if (_digitCount < 4) {
_curCode *= 10;
diff --git a/engines/mads/nebular/rooms/thunks.h b/engines/mads/nebular/rooms/thunks.h
index fa6910cc207..df2f804bb36 100644
--- a/engines/mads/nebular/rooms/thunks.h
+++ b/engines/mads/nebular/rooms/thunks.h
@@ -22,107 +22,10 @@
#ifndef MADS_NEBULAR_ROOMS_THUNKS_H
#define MADS_NEBULAR_ROOMS_THUNKS_H
-#include "mads/core/config.h"
-#include "mads/core/inter.h"
-#include "mads/core/kernel.h"
-
namespace MADS {
namespace RexNebular {
namespace Rooms {
-#define CURSOR_ARROW CURSOR_NORMAL
-#define CURSOR_GO_DOWN CURSOR_DOWN
-#define CURSOR_GO_UP CURSOR_UP
-#define CURSOR_GO_LEFT CURSOR_LEFT
-#define CURSOR_GO_RIGHT CURSOR_RIGHT
-
-enum EXTTYPE {
- EXT_NONE = -1, EXT_SS = 1, EXT_AA = 2, EXT_DAT = 3, EXT_HH = 4,
- EXT_ART = 5, EXT_INT = 6
-};
-
-enum InputMode {
- kInputBuildingSentences = INTER_BUILDING_SENTENCES,
- kInputConversation = INTER_CONVERSATION,
- kInputLimitedSentences = INTER_LIMITED_SENTENCES
-};
-
-enum SequenceTrigger {
- SEQUENCE_TRIGGER_EXPIRE = KERNEL_TRIGGER_EXPIRE, // Trigger when the sequence finishes
- SEQUENCE_TRIGGER_LOOP = KERNEL_TRIGGER_LOOP, // Trigger when the sequence loops
- SEQUENCE_TRIGGER_SPRITE = KERNEL_TRIGGER_SPRITE // Trigger when sequence reaches specific sprite
-};
-
-enum TriggerMode {
- SEQUENCE_TRIGGER_NONE = -1,
- SEQUENCE_TRIGGER_PARSER = KERNEL_TRIGGER_PARSER, // Triggers parser
- SEQUENCE_TRIGGER_DAEMON = KERNEL_TRIGGER_DAEMON, // Triggers step/daemon code
- SEQUENCE_TRIGGER_PREPARE = KERNEL_TRIGGER_PREPARSE // Triggers preparser
-};
-
-enum SpriteAnimType {
- ANIMTYPE_NONE = 0,
- ANIMTYPE_CYCLED = AA_LINEAR,
- ANIMTYPE_PING_PONG = AA_PINGPONG,
- ANIMTYPE_STAMP = AA_STAMP
-};
-
-enum ScrCategory {
- CAT_NONE = 0, CAT_COMMAND = 1, CAT_INV_LIST = 2, CAT_INV_VOCAB = 3,
- CAT_HOTSPOT = 4, CAT_INV_ANIM = 5, CAT_TALK_ENTRY = 6, CAT_INV_SCROLLER = 7,
- CAT_12 = 12
-};
-
-enum ScreenTransition {
- kTransitionNone = 0,
- kTransitionFadeIn,
- kTransitionFadeOutIn,
- kTransitionBoxInBottomLeft,
- kTransitionBoxInBottomRight,
- kTransitionBoxInTopLeft,
- kTransitionBoxInTopRight,
- kTransitionPanLeftToRight,
- kTransitionPanRightToLeft,
- kTransitionCircleIn1,
- kTransitionCircleIn2,
- kTransitionCircleIn3,
- kTransitionCircleIn4,
- kVertTransition1,
- kVertTransition2,
- kVertTransition3,
- kVertTransition4,
- kVertTransition5,
- kVertTransition6,
- kVertTransition7,
- kNullPaletteCopy
-};
-
-enum StoryMode {
- STORYMODE_NAUGHTY = NAUGHTY, STORYMODE_NICE = NICE
-};
-
-// These original constants may be useful when cleaning up room logic
-#ifdef old_animation
-#define kernel_animation kernel_anim[0].anim
-#define kernel_animation_cycled kernel_anim[0].cycled
-#define kernel_repeat_animation kernel_anim[0].repeat
-#define kernel_animation_sprite_loaded kernel_anim[0].sprite_loaded
-#define kernel_animation_buffer_id kernel_anim[0].buffer_id
-#define kernel_animation_buffer kernel_anim[0].buffer
-#define kernel_animation_frame kernel_anim[0].frame
-#define kernel_animation_image kernel_anim[0].image
-#define kernel_animation_doomed kernel_anim[0].doomed
-#define kernel_animation_trigger_code kernel_anim[0].trigger_code
-#define kernel_animation_trigger_mode kernel_anim[0].trigger_mode
-#define kernel_animation_trigger_words kernel_anim[0].trigger_words
-#define kernel_animation_next_clock kernel_anim[0].next_clock
-#endif
-
-enum {
- RETURNING_FROM_DIALOG = KERNEL_RESTORING_GAME,
- RETURNING_FROM_LOADING = KERNEL_STARTING_GAME
-};
-
} // namespace Rooms
} // namespace RexNebular
} // namespace MADS
Commit: 6e82f01ee4db629aaf7a969426509ff881586824
https://github.com/scummvm/scummvm/commit/6e82f01ee4db629aaf7a969426509ff881586824
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-07-25T21:31:58+10:00
Commit Message:
MADS: NEBULAR: Remove now empty thunks.cpp
Holy Engine Bender! THEY'RE GONE!!!
Changed paths:
R engines/mads/nebular/rooms/thunks.cpp
R engines/mads/nebular/rooms/thunks.h
engines/mads/module.mk
engines/mads/nebular/rooms/forcefield.cpp
engines/mads/nebular/rooms/room101.cpp
engines/mads/nebular/rooms/room102.cpp
engines/mads/nebular/rooms/room103.cpp
engines/mads/nebular/rooms/room104.cpp
engines/mads/nebular/rooms/room105.cpp
engines/mads/nebular/rooms/room106.cpp
engines/mads/nebular/rooms/room107.cpp
engines/mads/nebular/rooms/room108.cpp
engines/mads/nebular/rooms/room109.cpp
engines/mads/nebular/rooms/room110.cpp
engines/mads/nebular/rooms/room111.cpp
engines/mads/nebular/rooms/room112.cpp
engines/mads/nebular/rooms/room201.cpp
engines/mads/nebular/rooms/room202.cpp
engines/mads/nebular/rooms/room203.cpp
engines/mads/nebular/rooms/room205.cpp
engines/mads/nebular/rooms/room207.cpp
engines/mads/nebular/rooms/room208.cpp
engines/mads/nebular/rooms/room209.cpp
engines/mads/nebular/rooms/room210.cpp
engines/mads/nebular/rooms/room211.cpp
engines/mads/nebular/rooms/room212.cpp
engines/mads/nebular/rooms/room213.cpp
engines/mads/nebular/rooms/room214.cpp
engines/mads/nebular/rooms/room215.cpp
engines/mads/nebular/rooms/room216.cpp
engines/mads/nebular/rooms/room301.cpp
engines/mads/nebular/rooms/room302.cpp
engines/mads/nebular/rooms/room303.cpp
engines/mads/nebular/rooms/room304.cpp
engines/mads/nebular/rooms/room307.cpp
engines/mads/nebular/rooms/room308.cpp
engines/mads/nebular/rooms/room309.cpp
engines/mads/nebular/rooms/room310.cpp
engines/mads/nebular/rooms/room311.cpp
engines/mads/nebular/rooms/room313.cpp
engines/mads/nebular/rooms/room316.cpp
engines/mads/nebular/rooms/room318.cpp
engines/mads/nebular/rooms/room319.cpp
engines/mads/nebular/rooms/room320.cpp
engines/mads/nebular/rooms/room321.cpp
engines/mads/nebular/rooms/room322.cpp
engines/mads/nebular/rooms/room351.cpp
engines/mads/nebular/rooms/room352.cpp
engines/mads/nebular/rooms/room353.cpp
engines/mads/nebular/rooms/room354.cpp
engines/mads/nebular/rooms/room357.cpp
engines/mads/nebular/rooms/room358.cpp
engines/mads/nebular/rooms/room359.cpp
engines/mads/nebular/rooms/room360.cpp
engines/mads/nebular/rooms/room361.cpp
engines/mads/nebular/rooms/room366.cpp
engines/mads/nebular/rooms/room387.cpp
engines/mads/nebular/rooms/room388.cpp
engines/mads/nebular/rooms/room389.cpp
engines/mads/nebular/rooms/room390.cpp
engines/mads/nebular/rooms/room391.cpp
engines/mads/nebular/rooms/room399.cpp
engines/mads/nebular/rooms/room401.cpp
engines/mads/nebular/rooms/room402.cpp
engines/mads/nebular/rooms/room405.cpp
engines/mads/nebular/rooms/room406.cpp
engines/mads/nebular/rooms/room407.cpp
engines/mads/nebular/rooms/room408.cpp
engines/mads/nebular/rooms/room409.cpp
engines/mads/nebular/rooms/room410.cpp
engines/mads/nebular/rooms/room411.cpp
engines/mads/nebular/rooms/room413.cpp
engines/mads/nebular/rooms/room501.cpp
engines/mads/nebular/rooms/room502.cpp
engines/mads/nebular/rooms/room503.cpp
engines/mads/nebular/rooms/room504.cpp
engines/mads/nebular/rooms/room505.cpp
engines/mads/nebular/rooms/room506.cpp
engines/mads/nebular/rooms/room507.cpp
engines/mads/nebular/rooms/room508.cpp
engines/mads/nebular/rooms/room511.cpp
engines/mads/nebular/rooms/room512.cpp
engines/mads/nebular/rooms/room513.cpp
engines/mads/nebular/rooms/room515.cpp
engines/mads/nebular/rooms/room551.cpp
engines/mads/nebular/rooms/room601.cpp
engines/mads/nebular/rooms/room602.cpp
engines/mads/nebular/rooms/room603.cpp
engines/mads/nebular/rooms/room604.cpp
engines/mads/nebular/rooms/room605.cpp
engines/mads/nebular/rooms/room607.cpp
engines/mads/nebular/rooms/room608.cpp
engines/mads/nebular/rooms/room609.cpp
engines/mads/nebular/rooms/room610.cpp
engines/mads/nebular/rooms/room611.cpp
engines/mads/nebular/rooms/room612.cpp
engines/mads/nebular/rooms/room620.cpp
engines/mads/nebular/rooms/room701.cpp
engines/mads/nebular/rooms/room702.cpp
engines/mads/nebular/rooms/room703.cpp
engines/mads/nebular/rooms/room704.cpp
engines/mads/nebular/rooms/room705.cpp
engines/mads/nebular/rooms/room706.cpp
engines/mads/nebular/rooms/room707.cpp
engines/mads/nebular/rooms/room710.cpp
engines/mads/nebular/rooms/room711.cpp
engines/mads/nebular/rooms/room751.cpp
engines/mads/nebular/rooms/room752.cpp
engines/mads/nebular/rooms/room801.cpp
engines/mads/nebular/rooms/room802.cpp
engines/mads/nebular/rooms/room803.cpp
engines/mads/nebular/rooms/room804.cpp
engines/mads/nebular/rooms/room805.cpp
engines/mads/nebular/rooms/room807.cpp
engines/mads/nebular/rooms/room808.cpp
engines/mads/nebular/rooms/room810.cpp
engines/mads/nebular/rooms/section1.cpp
engines/mads/nebular/rooms/section2.cpp
engines/mads/nebular/rooms/teleporter.cpp
diff --git a/engines/mads/module.mk b/engines/mads/module.mk
index f9c9f7a3803..663b1e060e9 100644
--- a/engines/mads/module.mk
+++ b/engines/mads/module.mk
@@ -77,7 +77,6 @@ MODULE_OBJS := \
nebular/popup.o \
nebular/sound_nebular.o \
nebular/mads/mads.o \
- nebular/rooms/thunks.o \
nebular/rooms/room101.o \
nebular/rooms/room102.o \
nebular/rooms/room103.o \
diff --git a/engines/mads/nebular/rooms/forcefield.cpp b/engines/mads/nebular/rooms/forcefield.cpp
index e94249df468..9b616d95acb 100644
--- a/engines/mads/nebular/rooms/forcefield.cpp
+++ b/engines/mads/nebular/rooms/forcefield.cpp
@@ -20,7 +20,6 @@
*/
#include "mads/nebular/rooms/forcefield.h"
-#include "mads/nebular/rooms/thunks.h"
#include "mads/mads.h"
namespace MADS {
diff --git a/engines/mads/nebular/rooms/room101.cpp b/engines/mads/nebular/rooms/room101.cpp
index 9e2aae64fff..5678ad1aeca 100644
--- a/engines/mads/nebular/rooms/room101.cpp
+++ b/engines/mads/nebular/rooms/room101.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section1.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room102.cpp b/engines/mads/nebular/rooms/room102.cpp
index ac277eb560d..3e6f5ae6356 100644
--- a/engines/mads/nebular/rooms/room102.cpp
+++ b/engines/mads/nebular/rooms/room102.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section1.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room103.cpp b/engines/mads/nebular/rooms/room103.cpp
index 1365a30dbe8..485850ed13d 100644
--- a/engines/mads/nebular/rooms/room103.cpp
+++ b/engines/mads/nebular/rooms/room103.cpp
@@ -28,7 +28,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section1.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room104.cpp b/engines/mads/nebular/rooms/room104.cpp
index c4ab447fb94..27449518ea8 100644
--- a/engines/mads/nebular/rooms/room104.cpp
+++ b/engines/mads/nebular/rooms/room104.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section1.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room105.cpp b/engines/mads/nebular/rooms/room105.cpp
index 0d55efd748e..7b099fb4e11 100644
--- a/engines/mads/nebular/rooms/room105.cpp
+++ b/engines/mads/nebular/rooms/room105.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section1.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room106.cpp b/engines/mads/nebular/rooms/room106.cpp
index 24d553bc7df..c519b29faeb 100644
--- a/engines/mads/nebular/rooms/room106.cpp
+++ b/engines/mads/nebular/rooms/room106.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section1.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room107.cpp b/engines/mads/nebular/rooms/room107.cpp
index 11b3da0b00c..c67333a2f59 100644
--- a/engines/mads/nebular/rooms/room107.cpp
+++ b/engines/mads/nebular/rooms/room107.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section1.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room108.cpp b/engines/mads/nebular/rooms/room108.cpp
index ccc95d69565..dd6f606b82c 100644
--- a/engines/mads/nebular/rooms/room108.cpp
+++ b/engines/mads/nebular/rooms/room108.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section1.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room109.cpp b/engines/mads/nebular/rooms/room109.cpp
index bf3e143fe1b..98b08c1a849 100644
--- a/engines/mads/nebular/rooms/room109.cpp
+++ b/engines/mads/nebular/rooms/room109.cpp
@@ -29,7 +29,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section1.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room110.cpp b/engines/mads/nebular/rooms/room110.cpp
index 96b6796b9f2..41e341433d8 100644
--- a/engines/mads/nebular/rooms/room110.cpp
+++ b/engines/mads/nebular/rooms/room110.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section1.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room111.cpp b/engines/mads/nebular/rooms/room111.cpp
index 3f4b7a2884d..b372888f0b3 100644
--- a/engines/mads/nebular/rooms/room111.cpp
+++ b/engines/mads/nebular/rooms/room111.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section1.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room112.cpp b/engines/mads/nebular/rooms/room112.cpp
index 7554cddc84e..72244c7b4ff 100644
--- a/engines/mads/nebular/rooms/room112.cpp
+++ b/engines/mads/nebular/rooms/room112.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section1.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room201.cpp b/engines/mads/nebular/rooms/room201.cpp
index f8bb356aa54..d247d56c9f9 100644
--- a/engines/mads/nebular/rooms/room201.cpp
+++ b/engines/mads/nebular/rooms/room201.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section2.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room202.cpp b/engines/mads/nebular/rooms/room202.cpp
index b6e3e830bbe..1c2d5abc462 100644
--- a/engines/mads/nebular/rooms/room202.cpp
+++ b/engines/mads/nebular/rooms/room202.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section2.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room203.cpp b/engines/mads/nebular/rooms/room203.cpp
index 73308407704..874f996ffa6 100644
--- a/engines/mads/nebular/rooms/room203.cpp
+++ b/engines/mads/nebular/rooms/room203.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section2.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room205.cpp b/engines/mads/nebular/rooms/room205.cpp
index 6d08ccdf23a..6ec8522856a 100644
--- a/engines/mads/nebular/rooms/room205.cpp
+++ b/engines/mads/nebular/rooms/room205.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section2.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room207.cpp b/engines/mads/nebular/rooms/room207.cpp
index d720d6f7991..9a956c569c1 100644
--- a/engines/mads/nebular/rooms/room207.cpp
+++ b/engines/mads/nebular/rooms/room207.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section2.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room208.cpp b/engines/mads/nebular/rooms/room208.cpp
index f17ed3af136..209cfbfd657 100644
--- a/engines/mads/nebular/rooms/room208.cpp
+++ b/engines/mads/nebular/rooms/room208.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section2.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room209.cpp b/engines/mads/nebular/rooms/room209.cpp
index 3af8b22b253..d1e87995995 100644
--- a/engines/mads/nebular/rooms/room209.cpp
+++ b/engines/mads/nebular/rooms/room209.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section2.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room210.cpp b/engines/mads/nebular/rooms/room210.cpp
index 8187ec91507..eb169d05d1a 100644
--- a/engines/mads/nebular/rooms/room210.cpp
+++ b/engines/mads/nebular/rooms/room210.cpp
@@ -28,7 +28,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section2.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room211.cpp b/engines/mads/nebular/rooms/room211.cpp
index 42326e1d787..80edfc6d54b 100644
--- a/engines/mads/nebular/rooms/room211.cpp
+++ b/engines/mads/nebular/rooms/room211.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section2.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room212.cpp b/engines/mads/nebular/rooms/room212.cpp
index fc4f32fe122..40c5da95d10 100644
--- a/engines/mads/nebular/rooms/room212.cpp
+++ b/engines/mads/nebular/rooms/room212.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section2.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room213.cpp b/engines/mads/nebular/rooms/room213.cpp
index 315b34f9b09..1f89a3e742c 100644
--- a/engines/mads/nebular/rooms/room213.cpp
+++ b/engines/mads/nebular/rooms/room213.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section2.h"
#include "mads/nebular/rooms/teleporter.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room214.cpp b/engines/mads/nebular/rooms/room214.cpp
index fed1e3376ad..4af84cf1226 100644
--- a/engines/mads/nebular/rooms/room214.cpp
+++ b/engines/mads/nebular/rooms/room214.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section2.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room215.cpp b/engines/mads/nebular/rooms/room215.cpp
index ec1cbd9b58f..63e4a14d9a3 100644
--- a/engines/mads/nebular/rooms/room215.cpp
+++ b/engines/mads/nebular/rooms/room215.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section2.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room216.cpp b/engines/mads/nebular/rooms/room216.cpp
index ab0da38b97b..f58b8ee2f87 100644
--- a/engines/mads/nebular/rooms/room216.cpp
+++ b/engines/mads/nebular/rooms/room216.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section2.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room301.cpp b/engines/mads/nebular/rooms/room301.cpp
index e3a75bf9a21..fb8b3faa46a 100644
--- a/engines/mads/nebular/rooms/room301.cpp
+++ b/engines/mads/nebular/rooms/room301.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room302.cpp b/engines/mads/nebular/rooms/room302.cpp
index a84e698d9e0..be2d713e361 100644
--- a/engines/mads/nebular/rooms/room302.cpp
+++ b/engines/mads/nebular/rooms/room302.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room303.cpp b/engines/mads/nebular/rooms/room303.cpp
index e85737dc567..36e97399bfe 100644
--- a/engines/mads/nebular/rooms/room303.cpp
+++ b/engines/mads/nebular/rooms/room303.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room304.cpp b/engines/mads/nebular/rooms/room304.cpp
index b8e79f05c67..02d1adcca90 100644
--- a/engines/mads/nebular/rooms/room304.cpp
+++ b/engines/mads/nebular/rooms/room304.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room307.cpp b/engines/mads/nebular/rooms/room307.cpp
index 466c7663306..2c5fca19612 100644
--- a/engines/mads/nebular/rooms/room307.cpp
+++ b/engines/mads/nebular/rooms/room307.cpp
@@ -29,7 +29,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
#include "mads/nebular/rooms/forcefield.h"
-#include "mads/nebular/rooms/thunks.h"
#include "mads/nebular/rooms/dialog.h"
namespace MADS {
diff --git a/engines/mads/nebular/rooms/room308.cpp b/engines/mads/nebular/rooms/room308.cpp
index 85443d8a995..ffce4a66869 100644
--- a/engines/mads/nebular/rooms/room308.cpp
+++ b/engines/mads/nebular/rooms/room308.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
#include "mads/nebular/rooms/forcefield.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room309.cpp b/engines/mads/nebular/rooms/room309.cpp
index e81cd585196..4726ddddd9c 100644
--- a/engines/mads/nebular/rooms/room309.cpp
+++ b/engines/mads/nebular/rooms/room309.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
#include "mads/nebular/rooms/forcefield.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room310.cpp b/engines/mads/nebular/rooms/room310.cpp
index a536e7fe9ed..a0a0fd95b27 100644
--- a/engines/mads/nebular/rooms/room310.cpp
+++ b/engines/mads/nebular/rooms/room310.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
#include "mads/nebular/rooms/forcefield.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room311.cpp b/engines/mads/nebular/rooms/room311.cpp
index 9bd92e85608..31d3e2297fe 100644
--- a/engines/mads/nebular/rooms/room311.cpp
+++ b/engines/mads/nebular/rooms/room311.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room313.cpp b/engines/mads/nebular/rooms/room313.cpp
index c9a5b5d0258..a0a33e557ab 100644
--- a/engines/mads/nebular/rooms/room313.cpp
+++ b/engines/mads/nebular/rooms/room313.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room316.cpp b/engines/mads/nebular/rooms/room316.cpp
index dbcdb9bcddf..2f1f6d3b32b 100644
--- a/engines/mads/nebular/rooms/room316.cpp
+++ b/engines/mads/nebular/rooms/room316.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room318.cpp b/engines/mads/nebular/rooms/room318.cpp
index 93e7f083940..349bea12608 100644
--- a/engines/mads/nebular/rooms/room318.cpp
+++ b/engines/mads/nebular/rooms/room318.cpp
@@ -28,7 +28,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
#include "mads/nebular/rooms/dialog.h"
namespace MADS {
diff --git a/engines/mads/nebular/rooms/room319.cpp b/engines/mads/nebular/rooms/room319.cpp
index f68ab805076..aac1a69ce1c 100644
--- a/engines/mads/nebular/rooms/room319.cpp
+++ b/engines/mads/nebular/rooms/room319.cpp
@@ -30,7 +30,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
#include "mads/nebular/rooms/dialog.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room320.cpp b/engines/mads/nebular/rooms/room320.cpp
index 81dd4a9753f..424dac9471e 100644
--- a/engines/mads/nebular/rooms/room320.cpp
+++ b/engines/mads/nebular/rooms/room320.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room321.cpp b/engines/mads/nebular/rooms/room321.cpp
index 7132dea5f73..b4fe8b5db54 100644
--- a/engines/mads/nebular/rooms/room321.cpp
+++ b/engines/mads/nebular/rooms/room321.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room322.cpp b/engines/mads/nebular/rooms/room322.cpp
index 470a472d194..ddefc73bd42 100644
--- a/engines/mads/nebular/rooms/room322.cpp
+++ b/engines/mads/nebular/rooms/room322.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
#include "mads/nebular/rooms/teleporter.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room351.cpp b/engines/mads/nebular/rooms/room351.cpp
index 073d27d5f29..68ffffed697 100644
--- a/engines/mads/nebular/rooms/room351.cpp
+++ b/engines/mads/nebular/rooms/room351.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room352.cpp b/engines/mads/nebular/rooms/room352.cpp
index 98480b07bc4..816eef457cc 100644
--- a/engines/mads/nebular/rooms/room352.cpp
+++ b/engines/mads/nebular/rooms/room352.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room353.cpp b/engines/mads/nebular/rooms/room353.cpp
index 10bb2a27d7f..946b444fe79 100644
--- a/engines/mads/nebular/rooms/room353.cpp
+++ b/engines/mads/nebular/rooms/room353.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room354.cpp b/engines/mads/nebular/rooms/room354.cpp
index 7d285818dea..7e4fa57c265 100644
--- a/engines/mads/nebular/rooms/room354.cpp
+++ b/engines/mads/nebular/rooms/room354.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room357.cpp b/engines/mads/nebular/rooms/room357.cpp
index 167d074eaec..a210401080f 100644
--- a/engines/mads/nebular/rooms/room357.cpp
+++ b/engines/mads/nebular/rooms/room357.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room358.cpp b/engines/mads/nebular/rooms/room358.cpp
index 39f77572888..c473563604c 100644
--- a/engines/mads/nebular/rooms/room358.cpp
+++ b/engines/mads/nebular/rooms/room358.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room359.cpp b/engines/mads/nebular/rooms/room359.cpp
index 06e3646c8a5..f5ae0860d47 100644
--- a/engines/mads/nebular/rooms/room359.cpp
+++ b/engines/mads/nebular/rooms/room359.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room360.cpp b/engines/mads/nebular/rooms/room360.cpp
index 6d6ee8a5c04..552b37a4c94 100644
--- a/engines/mads/nebular/rooms/room360.cpp
+++ b/engines/mads/nebular/rooms/room360.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room361.cpp b/engines/mads/nebular/rooms/room361.cpp
index 77c43851861..07102497f61 100644
--- a/engines/mads/nebular/rooms/room361.cpp
+++ b/engines/mads/nebular/rooms/room361.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room366.cpp b/engines/mads/nebular/rooms/room366.cpp
index c256843d79f..1fecd74fa04 100644
--- a/engines/mads/nebular/rooms/room366.cpp
+++ b/engines/mads/nebular/rooms/room366.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room387.cpp b/engines/mads/nebular/rooms/room387.cpp
index bb010d36b1f..8bc1a670f94 100644
--- a/engines/mads/nebular/rooms/room387.cpp
+++ b/engines/mads/nebular/rooms/room387.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room388.cpp b/engines/mads/nebular/rooms/room388.cpp
index 48fb506a4d5..aa9796a898d 100644
--- a/engines/mads/nebular/rooms/room388.cpp
+++ b/engines/mads/nebular/rooms/room388.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room389.cpp b/engines/mads/nebular/rooms/room389.cpp
index c9ca7ad0e8f..beaadd1655a 100644
--- a/engines/mads/nebular/rooms/room389.cpp
+++ b/engines/mads/nebular/rooms/room389.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room390.cpp b/engines/mads/nebular/rooms/room390.cpp
index 7848e1cee13..05fa07bffa0 100644
--- a/engines/mads/nebular/rooms/room390.cpp
+++ b/engines/mads/nebular/rooms/room390.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room391.cpp b/engines/mads/nebular/rooms/room391.cpp
index e36d3661565..9d893fd9a99 100644
--- a/engines/mads/nebular/rooms/room391.cpp
+++ b/engines/mads/nebular/rooms/room391.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room399.cpp b/engines/mads/nebular/rooms/room399.cpp
index d42ae488a23..58a33f11dcf 100644
--- a/engines/mads/nebular/rooms/room399.cpp
+++ b/engines/mads/nebular/rooms/room399.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section3.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room401.cpp b/engines/mads/nebular/rooms/room401.cpp
index a1c2033fff2..c411a5a4f61 100644
--- a/engines/mads/nebular/rooms/room401.cpp
+++ b/engines/mads/nebular/rooms/room401.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section4.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room402.cpp b/engines/mads/nebular/rooms/room402.cpp
index f5b8cd77486..6dd53abdcc5 100644
--- a/engines/mads/nebular/rooms/room402.cpp
+++ b/engines/mads/nebular/rooms/room402.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section4.h"
#include "mads/nebular/rooms/dialog.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room405.cpp b/engines/mads/nebular/rooms/room405.cpp
index ee8f11b2b9e..a7f343872a9 100644
--- a/engines/mads/nebular/rooms/room405.cpp
+++ b/engines/mads/nebular/rooms/room405.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section4.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room406.cpp b/engines/mads/nebular/rooms/room406.cpp
index a55f46a05d9..6d86c43584f 100644
--- a/engines/mads/nebular/rooms/room406.cpp
+++ b/engines/mads/nebular/rooms/room406.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section4.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room407.cpp b/engines/mads/nebular/rooms/room407.cpp
index 3844060912c..6af99e03e4a 100644
--- a/engines/mads/nebular/rooms/room407.cpp
+++ b/engines/mads/nebular/rooms/room407.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section4.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room408.cpp b/engines/mads/nebular/rooms/room408.cpp
index 28929fbe44c..7eafd8558bc 100644
--- a/engines/mads/nebular/rooms/room408.cpp
+++ b/engines/mads/nebular/rooms/room408.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section4.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room409.cpp b/engines/mads/nebular/rooms/room409.cpp
index 934fa278660..af578fb1952 100644
--- a/engines/mads/nebular/rooms/room409.cpp
+++ b/engines/mads/nebular/rooms/room409.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section4.h"
#include "mads/nebular/rooms/teleporter.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room410.cpp b/engines/mads/nebular/rooms/room410.cpp
index ff67e9b073f..a99030d207c 100644
--- a/engines/mads/nebular/rooms/room410.cpp
+++ b/engines/mads/nebular/rooms/room410.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section4.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room411.cpp b/engines/mads/nebular/rooms/room411.cpp
index eb74b223eba..b0599be48b2 100644
--- a/engines/mads/nebular/rooms/room411.cpp
+++ b/engines/mads/nebular/rooms/room411.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section4.h"
#include "mads/nebular/rooms/dialog.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room413.cpp b/engines/mads/nebular/rooms/room413.cpp
index f22609f5d15..5f3db5a44ef 100644
--- a/engines/mads/nebular/rooms/room413.cpp
+++ b/engines/mads/nebular/rooms/room413.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section4.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room501.cpp b/engines/mads/nebular/rooms/room501.cpp
index 032bb30ed7e..10ffee1e928 100644
--- a/engines/mads/nebular/rooms/room501.cpp
+++ b/engines/mads/nebular/rooms/room501.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section5.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room502.cpp b/engines/mads/nebular/rooms/room502.cpp
index 54732c46c0f..9d4bd504176 100644
--- a/engines/mads/nebular/rooms/room502.cpp
+++ b/engines/mads/nebular/rooms/room502.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section5.h"
#include "mads/nebular/rooms/teleporter.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room503.cpp b/engines/mads/nebular/rooms/room503.cpp
index 8654f039ccd..79349579567 100644
--- a/engines/mads/nebular/rooms/room503.cpp
+++ b/engines/mads/nebular/rooms/room503.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section5.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room504.cpp b/engines/mads/nebular/rooms/room504.cpp
index 0c4c68652d6..a012d3a5283 100644
--- a/engines/mads/nebular/rooms/room504.cpp
+++ b/engines/mads/nebular/rooms/room504.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section5.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room505.cpp b/engines/mads/nebular/rooms/room505.cpp
index 4df2a1e9046..8feb1d2683a 100644
--- a/engines/mads/nebular/rooms/room505.cpp
+++ b/engines/mads/nebular/rooms/room505.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section5.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room506.cpp b/engines/mads/nebular/rooms/room506.cpp
index 69cda9f396f..00589c0624e 100644
--- a/engines/mads/nebular/rooms/room506.cpp
+++ b/engines/mads/nebular/rooms/room506.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section5.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room507.cpp b/engines/mads/nebular/rooms/room507.cpp
index 2e63be902ff..c6f875e05b2 100644
--- a/engines/mads/nebular/rooms/room507.cpp
+++ b/engines/mads/nebular/rooms/room507.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section5.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room508.cpp b/engines/mads/nebular/rooms/room508.cpp
index 9426974b8b6..d90cc1c17a6 100644
--- a/engines/mads/nebular/rooms/room508.cpp
+++ b/engines/mads/nebular/rooms/room508.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section5.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room511.cpp b/engines/mads/nebular/rooms/room511.cpp
index 59b6f5b6a98..e8b2958abc2 100644
--- a/engines/mads/nebular/rooms/room511.cpp
+++ b/engines/mads/nebular/rooms/room511.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section5.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room512.cpp b/engines/mads/nebular/rooms/room512.cpp
index d18f12596cd..dd1c84918e8 100644
--- a/engines/mads/nebular/rooms/room512.cpp
+++ b/engines/mads/nebular/rooms/room512.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section5.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room513.cpp b/engines/mads/nebular/rooms/room513.cpp
index 5081bbf5277..479f60cc36f 100644
--- a/engines/mads/nebular/rooms/room513.cpp
+++ b/engines/mads/nebular/rooms/room513.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section5.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room515.cpp b/engines/mads/nebular/rooms/room515.cpp
index b0da3ac4ac8..b0e804cdfb9 100644
--- a/engines/mads/nebular/rooms/room515.cpp
+++ b/engines/mads/nebular/rooms/room515.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section5.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room551.cpp b/engines/mads/nebular/rooms/room551.cpp
index 98083da589a..b2fbe6d4845 100644
--- a/engines/mads/nebular/rooms/room551.cpp
+++ b/engines/mads/nebular/rooms/room551.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section5.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room601.cpp b/engines/mads/nebular/rooms/room601.cpp
index 134ae3286af..1339deea30f 100644
--- a/engines/mads/nebular/rooms/room601.cpp
+++ b/engines/mads/nebular/rooms/room601.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section6.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room602.cpp b/engines/mads/nebular/rooms/room602.cpp
index 3c02c7635d8..d63cbeb65c5 100644
--- a/engines/mads/nebular/rooms/room602.cpp
+++ b/engines/mads/nebular/rooms/room602.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section6.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room603.cpp b/engines/mads/nebular/rooms/room603.cpp
index 924c8c134d3..5393f81d395 100644
--- a/engines/mads/nebular/rooms/room603.cpp
+++ b/engines/mads/nebular/rooms/room603.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section6.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room604.cpp b/engines/mads/nebular/rooms/room604.cpp
index bd38e2b4dfd..6e241d7d414 100644
--- a/engines/mads/nebular/rooms/room604.cpp
+++ b/engines/mads/nebular/rooms/room604.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section6.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room605.cpp b/engines/mads/nebular/rooms/room605.cpp
index d14297af7aa..38377d62d76 100644
--- a/engines/mads/nebular/rooms/room605.cpp
+++ b/engines/mads/nebular/rooms/room605.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section6.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room607.cpp b/engines/mads/nebular/rooms/room607.cpp
index 7267347dd61..d74e6082430 100644
--- a/engines/mads/nebular/rooms/room607.cpp
+++ b/engines/mads/nebular/rooms/room607.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section6.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room608.cpp b/engines/mads/nebular/rooms/room608.cpp
index a9050b96879..0e1d2b2129b 100644
--- a/engines/mads/nebular/rooms/room608.cpp
+++ b/engines/mads/nebular/rooms/room608.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section6.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room609.cpp b/engines/mads/nebular/rooms/room609.cpp
index 93991fff45c..4038ddbbf65 100644
--- a/engines/mads/nebular/rooms/room609.cpp
+++ b/engines/mads/nebular/rooms/room609.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section6.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room610.cpp b/engines/mads/nebular/rooms/room610.cpp
index 61af8ec5979..8127c7863f1 100644
--- a/engines/mads/nebular/rooms/room610.cpp
+++ b/engines/mads/nebular/rooms/room610.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section6.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room611.cpp b/engines/mads/nebular/rooms/room611.cpp
index 459e4bf42c2..26c8e254b86 100644
--- a/engines/mads/nebular/rooms/room611.cpp
+++ b/engines/mads/nebular/rooms/room611.cpp
@@ -28,7 +28,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section6.h"
#include "mads/nebular/rooms/dialog.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room612.cpp b/engines/mads/nebular/rooms/room612.cpp
index d95451f19d6..7629d24d66d 100644
--- a/engines/mads/nebular/rooms/room612.cpp
+++ b/engines/mads/nebular/rooms/room612.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section6.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room620.cpp b/engines/mads/nebular/rooms/room620.cpp
index e61720ebc2d..77a3482bf83 100644
--- a/engines/mads/nebular/rooms/room620.cpp
+++ b/engines/mads/nebular/rooms/room620.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section6.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room701.cpp b/engines/mads/nebular/rooms/room701.cpp
index a687c6def6f..babd3393517 100644
--- a/engines/mads/nebular/rooms/room701.cpp
+++ b/engines/mads/nebular/rooms/room701.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section7.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room702.cpp b/engines/mads/nebular/rooms/room702.cpp
index 8af55534fcd..29b07c7a12d 100644
--- a/engines/mads/nebular/rooms/room702.cpp
+++ b/engines/mads/nebular/rooms/room702.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section7.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room703.cpp b/engines/mads/nebular/rooms/room703.cpp
index 9c75d689927..b84c32f9307 100644
--- a/engines/mads/nebular/rooms/room703.cpp
+++ b/engines/mads/nebular/rooms/room703.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section7.h"
#include "mads/nebular/rooms/dialog.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room704.cpp b/engines/mads/nebular/rooms/room704.cpp
index 8d8f963d3d9..bdfd1249f3f 100644
--- a/engines/mads/nebular/rooms/room704.cpp
+++ b/engines/mads/nebular/rooms/room704.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section7.h"
#include "mads/nebular/rooms/dialog.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room705.cpp b/engines/mads/nebular/rooms/room705.cpp
index 16c185d4382..77bc2a9d075 100644
--- a/engines/mads/nebular/rooms/room705.cpp
+++ b/engines/mads/nebular/rooms/room705.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section7.h"
#include "mads/nebular/rooms/dialog.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room706.cpp b/engines/mads/nebular/rooms/room706.cpp
index 90bab481912..0aa47a6f775 100644
--- a/engines/mads/nebular/rooms/room706.cpp
+++ b/engines/mads/nebular/rooms/room706.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section7.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room707.cpp b/engines/mads/nebular/rooms/room707.cpp
index c8706370932..c441a1dcb2c 100644
--- a/engines/mads/nebular/rooms/room707.cpp
+++ b/engines/mads/nebular/rooms/room707.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section7.h"
#include "mads/nebular/rooms/teleporter.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room710.cpp b/engines/mads/nebular/rooms/room710.cpp
index 0bc48ee31e1..a672bb75c24 100644
--- a/engines/mads/nebular/rooms/room710.cpp
+++ b/engines/mads/nebular/rooms/room710.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section7.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room711.cpp b/engines/mads/nebular/rooms/room711.cpp
index e23c9b00c89..af96dca87b7 100644
--- a/engines/mads/nebular/rooms/room711.cpp
+++ b/engines/mads/nebular/rooms/room711.cpp
@@ -27,7 +27,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section7.h"
#include "mads/nebular/rooms/teleporter.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room751.cpp b/engines/mads/nebular/rooms/room751.cpp
index 1424e6f2bbd..a8d0ed7fbe7 100644
--- a/engines/mads/nebular/rooms/room751.cpp
+++ b/engines/mads/nebular/rooms/room751.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section7.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room752.cpp b/engines/mads/nebular/rooms/room752.cpp
index 3a7de3a9aba..c29a11a19fd 100644
--- a/engines/mads/nebular/rooms/room752.cpp
+++ b/engines/mads/nebular/rooms/room752.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section7.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room801.cpp b/engines/mads/nebular/rooms/room801.cpp
index e7b65d3af3e..91ceaf063f0 100644
--- a/engines/mads/nebular/rooms/room801.cpp
+++ b/engines/mads/nebular/rooms/room801.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section8.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room802.cpp b/engines/mads/nebular/rooms/room802.cpp
index 3a50577156f..c4bc0ee63ac 100644
--- a/engines/mads/nebular/rooms/room802.cpp
+++ b/engines/mads/nebular/rooms/room802.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section8.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room803.cpp b/engines/mads/nebular/rooms/room803.cpp
index 089e15eda7f..806b81df6bf 100644
--- a/engines/mads/nebular/rooms/room803.cpp
+++ b/engines/mads/nebular/rooms/room803.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section8.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room804.cpp b/engines/mads/nebular/rooms/room804.cpp
index 27f53fd357a..ff9692c67e6 100644
--- a/engines/mads/nebular/rooms/room804.cpp
+++ b/engines/mads/nebular/rooms/room804.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section8.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room805.cpp b/engines/mads/nebular/rooms/room805.cpp
index 283c3ba575a..af4a2daea58 100644
--- a/engines/mads/nebular/rooms/room805.cpp
+++ b/engines/mads/nebular/rooms/room805.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section8.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room807.cpp b/engines/mads/nebular/rooms/room807.cpp
index 83ad20387f7..e4fc95f65d2 100644
--- a/engines/mads/nebular/rooms/room807.cpp
+++ b/engines/mads/nebular/rooms/room807.cpp
@@ -26,7 +26,6 @@
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section8.h"
#include "mads/nebular/rooms/teleporter.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room808.cpp b/engines/mads/nebular/rooms/room808.cpp
index 32ac1bad436..e393ba29640 100644
--- a/engines/mads/nebular/rooms/room808.cpp
+++ b/engines/mads/nebular/rooms/room808.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section8.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/room810.cpp b/engines/mads/nebular/rooms/room810.cpp
index fe730afacfb..04d2a2fb327 100644
--- a/engines/mads/nebular/rooms/room810.cpp
+++ b/engines/mads/nebular/rooms/room810.cpp
@@ -25,7 +25,6 @@
#include "mads/nebular/mads/inventory.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/rooms/section8.h"
-#include "mads/nebular/rooms/thunks.h"
namespace MADS {
namespace RexNebular {
diff --git a/engines/mads/nebular/rooms/section1.cpp b/engines/mads/nebular/rooms/section1.cpp
index 2f783049101..c7ea33934ae 100644
--- a/engines/mads/nebular/rooms/section1.cpp
+++ b/engines/mads/nebular/rooms/section1.cpp
@@ -24,7 +24,6 @@
#include "mads/core/pal.h"
#include "mads/nebular/nebular.h"
#include "mads/nebular/rooms/section1.h"
-#include "mads/nebular/rooms/thunks.h"
#include "mads/nebular/global.h"
namespace MADS {
diff --git a/engines/mads/nebular/rooms/section2.cpp b/engines/mads/nebular/rooms/section2.cpp
index 2e62c1245b3..00c622621aa 100644
--- a/engines/mads/nebular/rooms/section2.cpp
+++ b/engines/mads/nebular/rooms/section2.cpp
@@ -23,7 +23,6 @@
#include "mads/core/config.h"
#include "mads/core/pal.h"
#include "mads/nebular/rooms/section2.h"
-#include "mads/nebular/rooms/thunks.h"
#include "mads/nebular/global.h"
namespace MADS {
diff --git a/engines/mads/nebular/rooms/teleporter.cpp b/engines/mads/nebular/rooms/teleporter.cpp
index 8f5efb5d8b8..88638c0179e 100644
--- a/engines/mads/nebular/rooms/teleporter.cpp
+++ b/engines/mads/nebular/rooms/teleporter.cpp
@@ -23,7 +23,6 @@
#include "mads/core/mouse.h"
#include "mads/core/pal.h"
#include "mads/nebular/rooms/teleporter.h"
-#include "mads/nebular/rooms/thunks.h"
#include "mads/nebular/mads/words.h"
#include "mads/nebular/global.h"
diff --git a/engines/mads/nebular/rooms/thunks.cpp b/engines/mads/nebular/rooms/thunks.cpp
deleted file mode 100644
index 0c245a51578..00000000000
--- a/engines/mads/nebular/rooms/thunks.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "mads/nebular/rooms/thunks.h"
-
-namespace MADS {
-namespace RexNebular {
-namespace Rooms {
-
-} // namespace Rooms
-} // namespace RexNebular
-} // namespace MADS
diff --git a/engines/mads/nebular/rooms/thunks.h b/engines/mads/nebular/rooms/thunks.h
deleted file mode 100644
index df2f804bb36..00000000000
--- a/engines/mads/nebular/rooms/thunks.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef MADS_NEBULAR_ROOMS_THUNKS_H
-#define MADS_NEBULAR_ROOMS_THUNKS_H
-
-namespace MADS {
-namespace RexNebular {
-namespace Rooms {
-
-} // namespace Rooms
-} // namespace RexNebular
-} // namespace MADS
-
-#endif /* MADS_NEBULAR_SCENES8_H */
More information about the Scummvm-git-logs
mailing list