[Scummvm-git-logs] scummvm master -> 9f5721124a573c9df0aa44a355d1d222398de5bd
bluegr
noreply at scummvm.org
Sun Mar 20 11:58:52 UTC 2022
This automated email contains information about 12 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
0b428f5227 CHEWY: Remove dead code
fd63dee23a CHEWY: More work on the new text resource handling code
bdbd191848 CHEWY: Rework the text resource handling code in the cinematics screen
743f0f7239 CHEWY: Use the new text resource handling code for item look texts
caa46431d0 CHEWY: Add enums, remove dead code
364c687907 CHEWY: Use the new text loading code in more places
747ef8cb7d CHEWY: Remove superfluous method init_ats_mode()
9c7303f41f CHEWY: Clean up file name defines
475ac22d58 CHEWY: Renaming
b4ddf49c18 CHEWY: Rename spieler -> gameState
840c1d70b8 CHEWY: More work on using inventory items
9f5721124a CHEWY: Use the ScummVM config for toggling subs, speech, music and SFX
Commit: 0b428f522743df29eb014b90b057c28d78e30570
https://github.com/scummvm/scummvm/commit/0b428f522743df29eb014b90b057c28d78e30570
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-20T13:58:20+02:00
Commit Message:
CHEWY: Remove dead code
Changed paths:
engines/chewy/rooms/room01.cpp
diff --git a/engines/chewy/rooms/room01.cpp b/engines/chewy/rooms/room01.cpp
index 3bf05dc14f1..23131a7e3ea 100644
--- a/engines/chewy/rooms/room01.cpp
+++ b/engines/chewy/rooms/room01.cpp
@@ -33,8 +33,6 @@ void Room1::gottenCard() {
startSetAILWait(4, 1, ANI_FRONT);
_G(spieler)._personHide[P_CHEWY] = false;
_G(atds)->delControlBit(7, ATS_COUNT_BIT, ATS_DATA);
- int16 tmp;
- _G(atds)->ats_get_txt(7, TXT_MARK_LOOK, &tmp, ATS_DATA);
}
void Room1::gedAction(int index) {
Commit: fd63dee23a420cb075f6f93196d763b6f03c0ded
https://github.com/scummvm/scummvm/commit/fd63dee23a420cb075f6f93196d763b6f03c0ded
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-20T13:58:21+02:00
Commit Message:
CHEWY: More work on the new text resource handling code
Changed paths:
engines/chewy/atds.cpp
engines/chewy/atds.h
engines/chewy/debugger.cpp
engines/chewy/debugger.h
engines/chewy/text.cpp
engines/chewy/text.h
diff --git a/engines/chewy/atds.cpp b/engines/chewy/atds.cpp
index 46889450650..1279936ae7e 100644
--- a/engines/chewy/atds.cpp
+++ b/engines/chewy/atds.cpp
@@ -27,6 +27,7 @@
#include "chewy/globals.h"
#include "chewy/main.h"
#include "chewy/sound.h"
+#include "chewy/text.h"
namespace Chewy {
@@ -108,6 +109,7 @@ Atdsys::Atdsys() {
_invUseMem = nullptr;
_dialogResource = new DialogResource(ADS_TXT_STEUER);
+ _text = new Text();
for (int i = 0; i < 4; ++i)
_ats_st_header[i] = nullptr;
@@ -1367,4 +1369,13 @@ void Atdsys::loadAtdsStream(Common::SeekableReadStream* stream) {
uint32 Atdsys::getAtdsStreamSize() const {
return _dialogResource->getStreamSize();
}
+
+Common::StringArray Atdsys::getTextArray(uint dialogNum, uint entryNum) {
+ return _text->getTextArray(dialogNum, entryNum);
+}
+
+Common::String Atdsys::getTextEntry(uint dialogNum, uint entryNum) {
+ return _text->getTextEntry(dialogNum, entryNum);
+}
+
} // namespace Chewy
diff --git a/engines/chewy/atds.h b/engines/chewy/atds.h
index 2c315d19931..7ffa1c0db11 100644
--- a/engines/chewy/atds.h
+++ b/engines/chewy/atds.h
@@ -22,6 +22,8 @@
#ifndef CHEWY_ATDS_H
#define CHEWY_ATDS_H
+#include "common/str.h"
+#include "common/str-array.h"
#include "chewy/resource.h"
namespace Chewy {
@@ -91,6 +93,7 @@ enum DisplayMode {
#define ADS_RESTART_BIT 4
struct KbdMouseInfo;
+class Text;
struct AdsDiaHeaders {
int16 _nr;
@@ -125,6 +128,7 @@ struct AadInfo {
void load(Common::SeekableReadStream *src);
static constexpr int SIZE() { return 6; }
};
+
class AadInfoArray : public Common::Array<AadInfo> {
public:
void load(const void *data, size_t count);
@@ -309,6 +313,9 @@ public:
void loadAtdsStream(Common::SeekableReadStream *stream);
uint32 getAtdsStreamSize() const;
+ Common::StringArray getTextArray(uint dialogNum, uint entryNum);
+ Common::String getTextEntry(uint dialogNum, uint entryNum);
+
private:
int16 get_delay(int16 txt_len);
void initItemUseWith();
@@ -354,6 +361,7 @@ private:
int16 _mousePush = 0;
int _printDelayCount1 = 0;
DialogResource *_dialogResource;
+ Text *_text;
Common::HashMap<uint32, uint16> _itemUseWithDesc;
};
diff --git a/engines/chewy/debugger.cpp b/engines/chewy/debugger.cpp
index 1dc0aeb83fb..46cada5181a 100644
--- a/engines/chewy/debugger.cpp
+++ b/engines/chewy/debugger.cpp
@@ -49,6 +49,7 @@ Debugger::Debugger() : GUI::Debugger() {
registerCmd("item", WRAP_METHOD(Debugger, Cmd_Item));
registerCmd("video", WRAP_METHOD(Debugger, Cmd_PlayVideo));
registerCmd("walk", WRAP_METHOD(Debugger, Cmd_WalkAreas));
+ registerCmd("text", WRAP_METHOD(Debugger, Cmd_Text));
}
Debugger::~Debugger() {
@@ -99,4 +100,19 @@ bool Debugger::Cmd_WalkAreas(int argc, const char **argv) {
return false;
}
+bool Debugger::Cmd_Text(int argc, const char **argv) {
+ if (argc < 3) {
+ debugPrintf("Usage: text <chunk> <entry>\n");
+ return true;
+ }
+
+ int chunk = atoi(argv[1]);
+ int entry = atoi(argv[2]);
+ Common::StringArray text = _G(atds)->getTextArray(chunk, entry);
+ for (int i = 0; i < text.size(); i++) {
+ debugPrintf("%d: %s\n", i, text[i].c_str());
+ }
+ return true;
+}
+
} // namespace Chewy
diff --git a/engines/chewy/debugger.h b/engines/chewy/debugger.h
index e4a13c3f5ff..bb16d7d5565 100644
--- a/engines/chewy/debugger.h
+++ b/engines/chewy/debugger.h
@@ -32,6 +32,7 @@ protected:
bool Cmd_Item(int argc, const char **argv);
bool Cmd_PlayVideo(int argc, const char **argv);
bool Cmd_WalkAreas(int argc, const char **argv);
+ bool Cmd_Text(int argc, const char **argv);
public:
Debugger();
diff --git a/engines/chewy/text.cpp b/engines/chewy/text.cpp
index 111c5b7c04b..7b80ee51230 100644
--- a/engines/chewy/text.cpp
+++ b/engines/chewy/text.cpp
@@ -31,13 +31,13 @@ Text::Text() : Resource("atds.tap") {
Text::~Text() {
}
-TextEntryList *Text::getDialog(uint dialogNum, uint entryNum) {
- if (dialogNum >= kADSTextMax)
- error("getDialog(): Invalid entry number requested, %d (max %d)", dialogNum, kADSTextMax - 1);
+TextEntryList *Text::getDialog(uint chunk, uint entry) {
+ if (chunk >= kADSTextMax)
+ error("getDialog(): Invalid entry number requested, %d (max %d)", chunk, kADSTextMax - 1);
TextEntryList *l = new TextEntryList();
- byte *data = getChunkData(dialogNum);
+ byte *data = getChunkData(chunk);
byte *ptr = data;
ptr += 2; // entry number
@@ -46,7 +46,7 @@ TextEntryList *Text::getDialog(uint dialogNum, uint entryNum) {
ptr += 2; // cursor number
ptr += 13; // misc data
- for (uint i = 0; i <= entryNum; i++) {
+ for (uint i = 0; i <= entry; i++) {
do {
TextEntry curDialog;
ptr++; // current entry
@@ -63,7 +63,7 @@ TextEntryList *Text::getDialog(uint dialogNum, uint entryNum) {
}
} while (*ptr != kEndText);
- if (i == entryNum)
+ if (i == entry)
l->push_back(curDialog);
} while (*(ptr + 1) != kEndEntry);
@@ -79,39 +79,38 @@ TextEntryList *Text::getDialog(uint dialogNum, uint entryNum) {
return l;
}
-TextEntry *Text::getText(uint dialogNum, uint entryNum) {
- if (dialogNum < kADSTextMax)
- error("getText(): Invalid entry number requested, %d (min %d)", dialogNum, kADSTextMax);
+TextEntry *Text::getText(uint chunk, uint entry) {
+ if (chunk < kADSTextMax)
+ error("getText(): Invalid entry number requested, %d (min %d)", chunk, kADSTextMax);
TextEntry *d = new TextEntry();
- bool isText = (dialogNum >= kADSTextMax && dialogNum < kADSTextMax + kATSTextMax);
- bool isAutoDialog = (dialogNum >= kADSTextMax + kATSTextMax && dialogNum < kADSTextMax + kATSTextMax + kAADTextMax);
+ bool isText = (chunk >= kADSTextMax && chunk < kADSTextMax + kATSTextMax);
+ bool isAutoDialog = (chunk >= kADSTextMax + kATSTextMax && chunk < kADSTextMax + kATSTextMax + kAADTextMax);
- byte *data = getChunkData(dialogNum);
+ byte *data = getChunkData(chunk);
byte *ptr = data;
if (isAutoDialog)
ptr += 3;
- for (uint i = 0; i <= entryNum; i++) {
+ for (uint i = 0; i <= entry; i++) {
ptr += 13;
d->_speechId = READ_LE_UINT16(ptr) - VOICE_OFFSET;
ptr += 2;
do {
- if (i == entryNum)
+ if (i == entry)
d->_text += *ptr++;
else
ptr++;
if (*ptr == 0 && *(ptr + 1) != kEndText) {
- // TODO: Split lines
- *ptr = ' ';
+ *ptr = '|';
}
} while (*ptr);
if (*(ptr + 1) != kEndText || *(ptr + 2) != kEndChunk) {
- warning("Invalid text resource - %d, %d", dialogNum, entryNum);
+ warning("Invalid text resource - %d, %d", chunk, entry);
delete[] data;
delete d;
@@ -124,7 +123,7 @@ TextEntry *Text::getText(uint dialogNum, uint entryNum) {
if (isAutoDialog)
ptr += 3;
- if (i == entryNum) {
+ if (i == entry) {
// Found
delete[] data;
return d;
@@ -138,6 +137,29 @@ TextEntry *Text::getText(uint dialogNum, uint entryNum) {
return nullptr;
}
+Common::StringArray Text::getTextArray(uint chunk, uint entry) {
+ TextEntry *textData = getText(chunk, entry);
+ Common::StringArray res;
+ Common::String txt = textData ? textData->_text : "";
+ char *text = new char[txt.size() + 1];
+ Common::strlcpy(text, txt.c_str(), txt.size() + 1);
+ char *line = strtok(text, "|");
+
+ while (line) {
+ res.push_back(line);
+ line = strtok(nullptr, "|");
+ }
+
+ delete[] text;
+ delete textData;
+
+ return res;
+}
+
+Common::String Text::getTextEntry(uint chunk, uint entry) {
+ Common::StringArray res = getTextArray(chunk, entry);
+ return res[0];
+}
void Text::crypt(char *txt, uint32 size) {
uint8 *sp = (uint8 *)txt;
@@ -147,10 +169,10 @@ void Text::crypt(char *txt, uint32 size) {
}
}
-char *Text::strPos(char *txtAdr, int16 pos) {
- char *ptr = txtAdr;
+const char *Text::strPos(const char *txtAdr, int16 pos) {
+ const char *ptr = txtAdr;
for (int16 i = 0; i < pos;) {
- if (*ptr == 0)
+ if (*ptr == 0 || *ptr == '|')
++i;
++ptr;
}
diff --git a/engines/chewy/text.h b/engines/chewy/text.h
index f650fb9715f..78e6d3cb9ad 100644
--- a/engines/chewy/text.h
+++ b/engines/chewy/text.h
@@ -82,10 +82,12 @@ public:
* - inventory text (INV) - 700 - 799
* - use text (USE) - 800 - 899
*/
- TextEntry *getText(uint dialogNum, uint entryNum);
+ TextEntry *getText(uint chunk, uint entry);
+ Common::StringArray getTextArray(uint chunk, uint entry);
+ Common::String getTextEntry(uint chunk, uint entry);
void crypt(char *txt, uint32 size);
- char *strPos(char *txtAdr, int16 pos);
+ const char *strPos(const char *txtAdr, int16 pos);
};
} // namespace Chewy
Commit: bdbd1918485147fb99e2bdf51107f25fab34cff2
https://github.com/scummvm/scummvm/commit/bdbd1918485147fb99e2bdf51107f25fab34cff2
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-20T13:58:21+02:00
Commit Message:
CHEWY: Rework the text resource handling code in the cinematics screen
Changed paths:
engines/chewy/dialogs/cinema.cpp
engines/chewy/globals.h
engines/chewy/main.cpp
engines/chewy/r_event.cpp
diff --git a/engines/chewy/dialogs/cinema.cpp b/engines/chewy/dialogs/cinema.cpp
index 4840dd8e0ca..942d12bd37f 100644
--- a/engines/chewy/dialogs/cinema.cpp
+++ b/engines/chewy/dialogs/cinema.cpp
@@ -53,10 +53,11 @@ void Cinema::execute() {
bool flag = false;
int delay = 0;
Common::Array<int> cutscenes;
+ Common::String cutsceneName;
+
getCutscenes(cutscenes);
_G(fontMgr)->setFont(_G(font6));
- _G(atds)->load_atds(98, ATS_DATA);
_G(room)->load_tgp(4, &_G(room_blk), 1, 0, GBOOK);
showCur();
@@ -69,19 +70,19 @@ void Cinema::execute() {
if (!cutscenes.empty()) {
// Render cut-scene list
+
for (int i = 0; i < CINEMA_LINES; ++i) {
- char *csName = _G(atds)->ats_get_txt(546 + i + topIndex,
- 0, &txt_anz, 1);
+ cutsceneName = _G(atds)->getTextEntry(98 + 500, i + topIndex + 1);
int yp = i * 10 + 68;
if (i == selected)
_G(out)->boxFill(37, yp, 308, yp + 10, 42);
- _G(out)->printxy(40, yp, 14, 300, 0, csName);
+ _G(out)->printxy(40, yp, 14, 300, 0, cutsceneName.c_str());
}
} else {
// No cut-scene seen yet
- char *none = _G(atds)->ats_get_txt(545, 0, &txt_anz, 1);
- _G(out)->printxy(40, 68, 14, 300, _G(scr_width), none);
+ cutsceneName = _G(atds)->getTextEntry(98 + 500, 0);
+ _G(out)->printxy(40, 68, 14, 300, _G(scr_width), cutsceneName.c_str());
}
if (_G(minfo)._button == 1 && !flag) {
@@ -161,7 +162,6 @@ void Cinema::execute() {
_G(out)->cls();
_G(out)->setPointer(_G(screen0));
_G(fx)->blende1(_G(workptr), _G(screen0), _G(pal), 150, 0, 0);
- print_rows(546 + topIndex);
flic_cut(CINEMA_FLICS[topIndex + selected]);
_G(fontMgr)->setFont(_G(font6));
diff --git a/engines/chewy/globals.h b/engines/chewy/globals.h
index 72973f6acec..9f536d3adc8 100644
--- a/engines/chewy/globals.h
+++ b/engines/chewy/globals.h
@@ -302,7 +302,7 @@ void evaluateObj(int16 testNr, int16 txt_nr);
void swap_if_l(int16 *x1, int16 *x2);
void printShadowed(int16 x, int16 y, int16 fgCol, int16 bgCol, int16 shadowFgCol,
- int16 scrWidth, char *txtPtr);
+ int16 scrWidth, const char *txtPtr);
bool autoMove(int16 movNr, int16 playerNum);
void get_user_key(int16 mode);
@@ -407,8 +407,6 @@ void exit_room(int16 eib_nr);
void flic_cut(int16 nr);
-void print_rows(int16 id);
-
int16 sib_event_no_inv(int16 sib_nr);
void sib_event_inv(int16 sib_nr);
diff --git a/engines/chewy/main.cpp b/engines/chewy/main.cpp
index ff00290a1a1..87f90b95463 100644
--- a/engines/chewy/main.cpp
+++ b/engines/chewy/main.cpp
@@ -1171,7 +1171,7 @@ void check_shad(int16 palIdx, int16 mode) {
}
}
-void printShadowed(int16 x, int16 y, int16 fgCol, int16 bgCol, int16 shadowFgCol, int16 scrWidth, char *txtPtr) {
+void printShadowed(int16 x, int16 y, int16 fgCol, int16 bgCol, int16 shadowFgCol, int16 scrWidth, const char *txtPtr) {
_G(out)->printxy(x + 1, y + 1, shadowFgCol, bgCol, scrWidth, txtPtr);
_G(out)->printxy(x, y, fgCol, bgCol, scrWidth, txtPtr);
}
@@ -1427,6 +1427,8 @@ int16 calcMouseText(int16 x, int16 y, int16 mode) {
int16 anz;
char *str_ = _G(atds)->ats_get_txt(txtNr, TXT_MARK_NAME, &anz, ATS_DATA);
if (str_ != 0) {
+ //const uint8 roomNr = _G(room)->_roomInfo->_roomNr;
+ //Common::StringArray s = _G(atds)->getTextArray(roomNr + 500, txtNr);
ret = txtNr;
_G(fontMgr)->setFont(_G(font8));
calcTxtXy(&x, &y, str_, anz);
diff --git a/engines/chewy/r_event.cpp b/engines/chewy/r_event.cpp
index 7966689c1f5..e0901562463 100644
--- a/engines/chewy/r_event.cpp
+++ b/engines/chewy/r_event.cpp
@@ -775,20 +775,6 @@ void exit_room(int16 eib_nr) {
}
}
-void print_rows(int16 id) {
- _G(fontMgr)->setFont(_G(font8));
- int16 txt_anz;
- char *txtStr = _G(atds)->ats_get_txt(id, TXT_MARK_NAME, &txt_anz, ATS_DATA);
- _G(out)->setPointer(nullptr);
-
- for (int i = 0; i < txt_anz; ++i) {
- char *s = _G(txt)->strPos(txtStr, i);
- int16 len = (strlen(s) * _G(fontMgr)->getFont()->getDataWidth()) / 2;
-
- _G(out)->printxy(160 - len, 50 + i * 10, 14, 300, 0, s);
- }
-}
-
static void playIntroSequence() {
const int16 introVideo[] = {
FCUT_135, FCUT_145, FCUT_142, FCUT_140, FCUT_145,
Commit: 743f0f7239707b0c614b81536c6cd0e352144f7c
https://github.com/scummvm/scummvm/commit/743f0f7239707b0c614b81536c6cd0e352144f7c
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-20T13:58:21+02:00
Commit Message:
CHEWY: Use the new text resource handling code for item look texts
Changed paths:
engines/chewy/dialogs/inventory.cpp
diff --git a/engines/chewy/dialogs/inventory.cpp b/engines/chewy/dialogs/inventory.cpp
index 7163f57d08f..6d99584c82d 100644
--- a/engines/chewy/dialogs/inventory.cpp
+++ b/engines/chewy/dialogs/inventory.cpp
@@ -382,36 +382,39 @@ void Inventory::menu() {
}
int16 Inventory::look(int16 invent_nr, int16 mode, int16 ats_nr) {
- int16 txt_anz = 0;
+ int16 lineCount = 0;
int16 xoff = 0;
int16 yoff = 0;
- int16 txt_zeilen = 0;
+ int16 visibleCount = 0;
+ Common::String itemName;
+ Common::StringArray itemDesc;
char *txt_adr = nullptr;
- char *txt_name_adr = nullptr;
char c[2] = { 0 };
int16 ret = -1;
bool endLoop = false;
- int16 txt_start = 0;
+ int16 startLine = 0;
bool mouseFl = true;
if (mode == INV_ATS_MODE) {
- _G(atds)->load_atds(invent_nr, INV_ATS_DATA);
- txt_name_adr = _G(atds)->ats_get_txt(invent_nr, TXT_MARK_NAME, &txt_anz, INV_ATS_DATA);
- txt_adr = _G(atds)->ats_get_txt(invent_nr, TXT_MARK_LOOK, &txt_anz, INV_ATS_DATA);
- xoff = strlen(txt_name_adr);
+ itemName = _G(atds)->getTextEntry(invent_nr + 700, TXT_MARK_NAME);
+ itemDesc = _G(atds)->getTextArray(invent_nr + 700, TXT_MARK_LOOK);
+ lineCount = itemDesc.size();
+ xoff = itemName.size();
xoff *= _G(font8)->getDataWidth();
xoff = (254 - xoff) / 2;
- txt_zeilen = 2;
+ visibleCount = 2;
yoff = 10;
-
} else if (mode == INV_USE_ATS_MODE) {
- txt_zeilen = 3;
+ visibleCount = 3;
yoff = 0;
+ //Common::StringArray tmp;
if (ats_nr >= 15000) {
- txt_adr = _G(atds)->ats_get_txt(ats_nr - 15000, TXT_MARK_USE, &txt_anz, INV_USE_DEF);
+ txt_adr = _G(atds)->ats_get_txt(ats_nr - 15000, TXT_MARK_USE, &lineCount, INV_USE_DEF);
+ //tmp = _G(atds)->getText(ats_nr - 15000 + 800, 0);
} else {
- txt_adr = _G(atds)->ats_get_txt(ats_nr, TXT_MARK_USE, &txt_anz, INV_USE_DATA);
+ txt_adr = _G(atds)->ats_get_txt(ats_nr, TXT_MARK_USE, &lineCount, INV_USE_DATA);
+ //tmp = _G(atds)->getText(ats_nr + 800, 0);
}
if (!txt_adr) {
endLoop = true;
@@ -477,13 +480,13 @@ int16 Inventory::look(int16 invent_nr, int16 mode, int16 ats_nr) {
break;
case Common::KEYCODE_UP:
- if (txt_start > 0)
- --txt_start;
+ if (startLine > 0)
+ --startLine;
break;
case Common::KEYCODE_DOWN:
- if (txt_start < txt_anz - txt_zeilen)
- ++txt_start;
+ if (startLine < lineCount - visibleCount)
+ ++startLine;
break;
default:
@@ -493,16 +496,17 @@ int16 Inventory::look(int16 invent_nr, int16 mode, int16 ats_nr) {
g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
setupScreen(NO_SETUP);
plot_menu();
- _G(fontMgr)->setFont(_G(font8));
- if (mode == INV_ATS_MODE)
+ if (mode == INV_ATS_MODE) {
+ _G(fontMgr)->setFont(_G(font8));
_G(out)->printxy(WIN_LOOK_X + xoff, WIN_LOOK_Y, 255, 300,
- _G(scr_width), txt_name_adr);
+ _G(scr_width), itemName.c_str());
+ }
_G(fontMgr)->setFont(_G(font6));
- if (txt_anz > txt_zeilen) {
- if (txt_start > 0) {
+ if (lineCount > visibleCount) {
+ if (startLine > 0) {
if (rect == 6)
_G(out)->boxFill(WIN_INF_X + 262, WIN_INF_Y + 136, WIN_INF_X + 272,
WIN_INF_Y + 136 + 14, 41);
@@ -511,7 +515,7 @@ int16 Inventory::look(int16 invent_nr, int16 mode, int16 ats_nr) {
_G(scr_width), c);
}
- if (txt_start < txt_anz - txt_zeilen) {
+ if (startLine < lineCount - visibleCount) {
if (rect == 7)
_G(out)->boxFill(WIN_INF_X + 262, WIN_INF_Y + 156, WIN_INF_X + 272,
WIN_INF_Y + 156 + 14, 41);
@@ -521,10 +525,19 @@ int16 Inventory::look(int16 invent_nr, int16 mode, int16 ats_nr) {
}
int16 k = 0;
- for (int16 i = txt_start; i < txt_anz && i < txt_start + txt_zeilen; i++) {
- _G(out)->printxy(WIN_LOOK_X, WIN_LOOK_Y + yoff + k * 10, 14, 300,
- _G(scr_width), _G(txt)->strPos(txt_adr, i));
- ++k;
+
+ if (mode == INV_ATS_MODE) {
+ for (int16 i = startLine; i < lineCount && i < startLine + visibleCount; i++) {
+ _G(out)->printxy(WIN_LOOK_X, WIN_LOOK_Y + yoff + k * 10, 14, 300,
+ _G(scr_width), itemDesc[i].c_str());
+ ++k;
+ }
+ } else {
+ for (int16 i = startLine; i < lineCount && i < startLine + visibleCount; i++) {
+ _G(out)->printxy(WIN_LOOK_X, WIN_LOOK_Y + yoff + k * 10, 14, 300,
+ _G(scr_width), _G(txt)->strPos(txt_adr, i));
+ ++k;
+ }
}
_G(cur)->plot_cur();
Commit: caa46431d08f955e3113f5986e324e7b85ce4a2e
https://github.com/scummvm/scummvm/commit/caa46431d08f955e3113f5986e324e7b85ce4a2e
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-20T13:58:21+02:00
Commit Message:
CHEWY: Add enums, remove dead code
Changed paths:
engines/chewy/globals.h
engines/chewy/r_event.cpp
engines/chewy/t_event.cpp
diff --git a/engines/chewy/globals.h b/engines/chewy/globals.h
index 9f536d3adc8..9e92a5ba1a9 100644
--- a/engines/chewy/globals.h
+++ b/engines/chewy/globals.h
@@ -99,7 +99,6 @@ public:
bool _cur_display = false;
int16 _mouseLeftClick = 0;
Common::String _calc_inv_text_str1, _calc_inv_text_str2;
- bool _calc_inv_text_set = false;
bool _stopAutoMove[3] = { false };
bool _e_streifen = false;
int16 _r45_delay = 0;
diff --git a/engines/chewy/r_event.cpp b/engines/chewy/r_event.cpp
index e0901562463..f66b548f0ff 100644
--- a/engines/chewy/r_event.cpp
+++ b/engines/chewy/r_event.cpp
@@ -1412,7 +1412,7 @@ void sib_event_inv(int16 sib_nr) {
if (_G(spieler).R18CartTerminal) {
_G(spieler).R18CartSave = true;
- _G(atds)->set_ats_str(26, 1, INV_ATS_DATA);
+ _G(atds)->set_ats_str(CARTRIDGE_INV, 1, INV_ATS_DATA);
startAadWait(120);
} else {
startAadWait(121);
diff --git a/engines/chewy/t_event.cpp b/engines/chewy/t_event.cpp
index e4d3615fb02..c785238ae65 100644
--- a/engines/chewy/t_event.cpp
+++ b/engines/chewy/t_event.cpp
@@ -2257,13 +2257,13 @@ void calc_inv_use_txt(int16 test_nr) {
start_spz(CH_TALK6, 255, false, P_CHEWY);
startAadWait(_G(spieler)._personRoomNr[P_CHEWY] + 350);
_G(flags).InventMenu = true;
- _G(atds)->set_ats_str(88, 1, INV_ATS_DATA);
+ _G(atds)->set_ats_str(ARTE_INV, 1, INV_ATS_DATA);
break;
case 88:
_G(spieler).flags26_10 = true;
startAadWait(350);
- _G(atds)->set_ats_str(88, 1, INV_ATS_DATA);
+ _G(atds)->set_ats_str(ARTE_INV, 1, INV_ATS_DATA);
break;
case 102:
@@ -2312,7 +2312,6 @@ static void calc_inv_get_text(int16 cur_inv, int16 test_nr) {
s = _G(atds)->ats_get_txt(test_nr, TXT_MARK_NAME, &txt_anz, 6);
_G(calc_inv_text_str2) += s;
- _G(calc_inv_text_set) = true;
}
bool calc_inv_no_use(int16 test_nr, int16 mode) {
Commit: 364c687907db1d13bc7ca0623d31bc67b7037e73
https://github.com/scummvm/scummvm/commit/364c687907db1d13bc7ca0623d31bc67b7037e73
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-20T13:58:22+02:00
Commit Message:
CHEWY: Use the new text loading code in more places
Changed paths:
engines/chewy/t_event.cpp
diff --git a/engines/chewy/t_event.cpp b/engines/chewy/t_event.cpp
index c785238ae65..600890f9a01 100644
--- a/engines/chewy/t_event.cpp
+++ b/engines/chewy/t_event.cpp
@@ -2302,16 +2302,12 @@ static void calc_inv_get_text(int16 cur_inv, int16 test_nr) {
_G(atds)->load_atds(cur_inv, INV_ATS_DATA);
- s = _G(atds)->ats_get_txt(cur_inv, TXT_MARK_NAME, &txt_anz, 6);
- _G(calc_inv_text_str1) += s;
+ _G(calc_inv_text_str1) += _G(atds)->getTextEntry(cur_inv + 700, TXT_MARK_NAME);
s = _G(atds)->ats_get_txt(32, TXT_MARK_USE, &txt_anz, 16);
_G(calc_inv_text_str2) = Common::String::format("%s ", s);
- _G(atds)->load_atds(test_nr, INV_ATS_DATA);
-
- s = _G(atds)->ats_get_txt(test_nr, TXT_MARK_NAME, &txt_anz, 6);
- _G(calc_inv_text_str2) += s;
+ _G(calc_inv_text_str2) += _G(atds)->getTextEntry(test_nr + 700, TXT_MARK_NAME);
}
bool calc_inv_no_use(int16 test_nr, int16 mode) {
Commit: 747ef8cb7d8911ac5bf8133a2395801de4c033a4
https://github.com/scummvm/scummvm/commit/747ef8cb7d8911ac5bf8133a2395801de4c033a4
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-20T13:58:22+02:00
Commit Message:
CHEWY: Remove superfluous method init_ats_mode()
Changed paths:
engines/chewy/atds.cpp
engines/chewy/atds.h
engines/chewy/inits.cpp
diff --git a/engines/chewy/atds.cpp b/engines/chewy/atds.cpp
index 1279936ae7e..04aef237572 100644
--- a/engines/chewy/atds.cpp
+++ b/engines/chewy/atds.cpp
@@ -111,9 +111,6 @@ Atdsys::Atdsys() {
_dialogResource = new DialogResource(ADS_TXT_STEUER);
_text = new Text();
- for (int i = 0; i < 4; ++i)
- _ats_st_header[i] = nullptr;
-
_adsnb._blkNr = 0;
_adsnb._endNr = 0;
_adsStackPtr = 0;
@@ -463,48 +460,25 @@ void Atdsys::crypt(char *txt, uint32 size) {
}
}
-void Atdsys::init_ats_mode(int16 mode, uint8 *atsHeader) {
- switch (mode) {
- case ATS_DATA:
- _ats_st_header[0] = atsHeader;
- break;
-
- case INV_USE_DATA:
- _ats_st_header[1] = atsHeader;
- break;
-
- case INV_USE_DEF:
- _ats_st_header[2] = atsHeader;
- break;
-
- case INV_ATS_DATA:
- _ats_st_header[3] = atsHeader;
- break;
-
- default:
- break;
- }
-}
-
void Atdsys::set_ats_mem(int16 mode) {
switch (mode) {
case ATS_DATA:
- _ats_sheader = _ats_st_header[0];
+ _ats_sheader = _G(spieler).Ats;
_atsMem = _atdsMem[mode];
break;
case INV_USE_DATA:
- _ats_sheader = _ats_st_header[1];
+ _ats_sheader = _G(spieler).InvUse;
_atsMem = _atdsMem[mode];
break;
case INV_USE_DEF:
- _ats_sheader = _ats_st_header[2];
+ _ats_sheader = _G(spieler).InvUseDef;
_atsMem = _invUseMem;
break;
case INV_ATS_DATA:
- _ats_sheader = _ats_st_header[3];
+ _ats_sheader = _G(spieler).InvAts;
_atsMem = _atdsMem[mode];
break;
diff --git a/engines/chewy/atds.h b/engines/chewy/atds.h
index 7ffa1c0db11..f7d8b114fa3 100644
--- a/engines/chewy/atds.h
+++ b/engines/chewy/atds.h
@@ -265,7 +265,6 @@ public:
void open_handle(const char *fname, int16 mode);
void close_handle(int16 mode);
void crypt(char *txt, uint32 size);
- void init_ats_mode(int16 mode, uint8 *atsHeader);
DisplayMode start_ats(int16 txtNr, int16 txtMode, int16 color, int16 mode, int16 *vocNr);
void stop_ats();
DisplayMode &ats_get_status();
@@ -325,7 +324,6 @@ private:
int16 _atdsPoolOff[MAX_HANDLE] = { 0 };
char *_atsMem = nullptr;
uint8 *_ats_sheader = nullptr;
- uint8 *_ats_st_header[4];
char *_atds_id_ptr = nullptr;
AadVar _aadv;
AtsVar _atsv;
diff --git a/engines/chewy/inits.cpp b/engines/chewy/inits.cpp
index dd88801ccb6..7d1badaa0c1 100644
--- a/engines/chewy/inits.cpp
+++ b/engines/chewy/inits.cpp
@@ -179,14 +179,10 @@ void init_atds() {
// New set up
Common::Stream *handle = _G(atds)->pool_handle(ATDS_TXT);
_G(atds)->set_handle(ATDS_TXT, ATS_DATA, handle, ATS_TAP_OFF, ATS_TAP_MAX);
- _G(atds)->init_ats_mode(ATS_DATA, _G(spieler).Ats);
_G(atds)->set_handle(ATDS_TXT, INV_ATS_DATA, handle, INV_TAP_OFF, INV_TAP_MAX);
- _G(atds)->init_ats_mode(INV_ATS_DATA, _G(spieler).InvAts);
_G(atds)->set_handle(ATDS_TXT, AAD_DATA, handle, AAD_TAP_OFF, AAD_TAP_MAX);
_G(atds)->set_handle(ATDS_TXT, ADS_DATA, handle, ADS_TAP_OFF, ADS_TAP_MAX);
_G(atds)->set_handle(ATDS_TXT, INV_USE_DATA, handle, USE_TAP_OFF, USE_TAP_MAX);
- _G(atds)->init_ats_mode(INV_USE_DATA, _G(spieler).InvUse);
- _G(atds)->init_ats_mode(INV_USE_DEF, _G(spieler).InvUseDef);
_G(spieler).AadSilent = 10;
_G(spieler).DelaySpeed = 5;
_G(spieler_vector)[P_CHEWY].Delay = _G(spieler).DelaySpeed;
Commit: 9c7303f41f905917cce06d7ba5a7aac7bddbffc4
https://github.com/scummvm/scummvm/commit/9c7303f41f905917cce06d7ba5a7aac7bddbffc4
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-20T13:58:22+02:00
Commit Message:
CHEWY: Clean up file name defines
Changed paths:
engines/chewy/defines.h
engines/chewy/main.cpp
engines/chewy/room.cpp
diff --git a/engines/chewy/defines.h b/engines/chewy/defines.h
index 1085c8e6cb7..d59d0dd49fb 100644
--- a/engines/chewy/defines.h
+++ b/engines/chewy/defines.h
@@ -142,6 +142,11 @@ enum SetupScreenMode {
#define DETAIL_OBJ 5
#define SPIELER_OBJ 6
+#define EPISODE1_TGP 0
+#define GBOOK_TGP 1
+#define NOTEBOOK_START 2
+#define DIARY_START 3
+
#define CURSOR_TAF "misc/cursor.taf"
#define INVENTORY_TAF "misc/inventar.taf"
#define INVENTORY_IIB "misc/inventar.iib"
@@ -156,17 +161,12 @@ enum SetupScreenMode {
#define CHEWY_HELM_TAF "misc/ch_helm.taf"
#define MENUTAF "misc/menu.taf"
#define CH_SPZ_FILE "misc/ch_spez.taf"
-#define OPTION_TAF "MISC/OPTION.TAF"
+#define OPTION_TAF "misc/option.taf"
#define DETAILTEST "room/test.rdi"
-#define GBOOK "BACK/GBOOK.TGP"
+#define GBOOK "back/gbook.tgp"
-#define EPISODE1_TGP 0
-#define GBOOK_TGP 1
#define EPISODE1 "back/episode1.tgp"
-#define NOTEBOOK_START 2
-#define DIARY_START 3
-
#define EPISODE1_GEP "back/episode1.gep"
#define FONT6x8 "txt/6x8.tff"
diff --git a/engines/chewy/main.cpp b/engines/chewy/main.cpp
index 87f90b95463..0978c573bf2 100644
--- a/engines/chewy/main.cpp
+++ b/engines/chewy/main.cpp
@@ -44,8 +44,8 @@ static const int16 invent_display[4][2] = {
void game_main() {
_G(fontMgr) = new FontMgr();
- _G(font8) = new ChewyFont("TXT/8X8.TFF");
- _G(font6) = new ChewyFont("TXT/6X8.TFF");
+ _G(font8) = new ChewyFont(FONT8x8);
+ _G(font6) = new ChewyFont(FONT6x8);
_G(font6)->setDisplaySize(_G(font6)->getDataWidth() - 2, _G(font6)->getDataHeight());
_G(font8)->setDeltaX(10);
_G(fontMgr)->setFont(_G(font8)); // set default font
diff --git a/engines/chewy/room.cpp b/engines/chewy/room.cpp
index 5265a6fa712..91bbd74407e 100644
--- a/engines/chewy/room.cpp
+++ b/engines/chewy/room.cpp
@@ -197,7 +197,7 @@ void Room::loadRoom(RaumBlk *Rb, int16 room_nr, Spieler *player) {
Rb->DetKorrekt = Rb->Fti->_correction;
}
_G(obj)->calc_all_static_detail();
- load_tgp(_roomInfo->_imageNr, Rb, EPISODE1_TGP, GED_LOAD, "back/episode1.tgp");
+ load_tgp(_roomInfo->_imageNr, Rb, EPISODE1_TGP, GED_LOAD, EPISODE1);
set_pal(_ablagePal[Rb->AkAblage], Rb->LowPalMem);
calc_invent(Rb, player);
Commit: 475ac22d587cc3f6c2096407894f78176c804602
https://github.com/scummvm/scummvm/commit/475ac22d587cc3f6c2096407894f78176c804602
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-20T13:58:23+02:00
Commit Message:
CHEWY: Renaming
Changed paths:
engines/chewy/globals.h
engines/chewy/object.cpp
engines/chewy/object.h
engines/chewy/room.cpp
engines/chewy/room.h
engines/chewy/types.cpp
engines/chewy/types.h
diff --git a/engines/chewy/globals.h b/engines/chewy/globals.h
index 9e92a5ba1a9..18c1e615291 100644
--- a/engines/chewy/globals.h
+++ b/engines/chewy/globals.h
@@ -84,7 +84,7 @@ public:
int16 _timer_nr[MAX_TIMER_OBJ] = { 0 };
public:
CurrentScreen _currentScreen;
- Spieler _spieler;
+ GameState _spieler;
int16 _pfeil_ani = 0;
int16 _pfeil_delay = 0;
diff --git a/engines/chewy/object.cpp b/engines/chewy/object.cpp
index 342f43f74e5..57d56b49477 100644
--- a/engines/chewy/object.cpp
+++ b/engines/chewy/object.cpp
@@ -56,7 +56,7 @@ static const int16 SIB_ZUSTAND_TBL[] = {
32000
};
-Object::Object(Spieler *sp) {
+Object::Object(GameState *sp) {
_maxInventoryObj = 0;
_maxStaticInventory = 0;
_maxExit = 0;
diff --git a/engines/chewy/object.h b/engines/chewy/object.h
index 226308a35d8..2375fcbfc48 100644
--- a/engines/chewy/object.h
+++ b/engines/chewy/object.h
@@ -36,7 +36,7 @@ namespace Chewy {
class Object {
public:
- Object(Spieler *sp);
+ Object(GameState *sp);
~Object();
short load(const char *filename, RoomMovObject *rmo);
@@ -76,7 +76,7 @@ private:
int16 _maxInventoryObj;
int16 _maxStaticInventory;
int16 _maxExit;
- Spieler *_player;
+ GameState *_player;
RoomMovObject *_rmo;
RoomStaticInventory *_rsi;
RoomExit *_roomExit;
diff --git a/engines/chewy/room.cpp b/engines/chewy/room.cpp
index 91bbd74407e..b9f4e9c20dc 100644
--- a/engines/chewy/room.cpp
+++ b/engines/chewy/room.cpp
@@ -179,7 +179,7 @@ Common::Stream *Room::open_handle(const char *fname1, int16 mode) {
return _roomHandle[mode];
}
-void Room::loadRoom(RaumBlk *Rb, int16 room_nr, Spieler *player) {
+void Room::loadRoom(RaumBlk *Rb, int16 room_nr, GameState *player) {
clear_prog_ani();
_G(det)->load_rdi(Rb->DetFile, room_nr);
@@ -276,7 +276,7 @@ void Room::set_ak_pal(RaumBlk *Rb) {
set_pal(_ablagePal[Rb->AkAblage], Rb->LowPalMem);
}
-void Room::calc_invent(RaumBlk *Rb, Spieler *player) {
+void Room::calc_invent(RaumBlk *Rb, GameState *player) {
byte *tmp_inv_spr[MAX_MOV_OBJ];
_G(obj)->sort();
diff --git a/engines/chewy/room.h b/engines/chewy/room.h
index 94d822a6900..34b44c15870 100644
--- a/engines/chewy/room.h
+++ b/engines/chewy/room.h
@@ -85,7 +85,7 @@ public:
~Room();
Common::Stream *open_handle(const char *fname, int16 mode);
- void loadRoom(RaumBlk *Rb, int16 room_nr, Spieler *player);
+ void loadRoom(RaumBlk *Rb, int16 room_nr, GameState *player);
int16 load_tgp(int16 nr, RaumBlk *Rb, int16 tgp_idx, int16 mode, const char *fileName);
byte *get_ablage(int16 nr);
byte **get_ablage();
@@ -98,7 +98,7 @@ public:
void set_zoom(int16 zoom);
void set_pal(const byte *src_pal, byte *dest_pal);
void set_ak_pal(RaumBlk *Rb);
- void calc_invent(RaumBlk *Rb, Spieler *player);
+ void calc_invent(RaumBlk *Rb, GameState *player);
RaumTimer _roomTimer;
RoomInfo *_roomInfo;
diff --git a/engines/chewy/types.cpp b/engines/chewy/types.cpp
index 78e3fdea3db..17705a6eda8 100644
--- a/engines/chewy/types.cpp
+++ b/engines/chewy/types.cpp
@@ -25,13 +25,13 @@
namespace Chewy {
-void SpielerFlags::clear() {
+void GameFlags::clear() {
// TODO: Not sure how to do this any better
- Common::fill((byte *)this, (byte *)this + sizeof(SpielerFlags), 0);
+ Common::fill((byte *)this, (byte *)this + sizeof(GameFlags), 0);
}
-void Spieler::clear() {
- *this = Spieler();
+void GameState::clear() {
+ *this = GameState();
_flags = this;
_flags->clear();
}
@@ -47,8 +47,8 @@ static void syncArray(Common::Serializer &s, int16 *arr, size_t count) {
#define SPIELER_FLAGS_SIZE 38
-bool Spieler::synchronize(Common::Serializer &s) {
- if (sizeof(SpielerFlags) != SPIELER_FLAGS_SIZE)
+bool GameState::synchronize(Common::Serializer &s) {
+ if (sizeof(GameFlags) != SPIELER_FLAGS_SIZE)
error("Invalid flags structure size");
// Sync the structure's bitflags
diff --git a/engines/chewy/types.h b/engines/chewy/types.h
index 35d3a8d93dd..591e0244d21 100644
--- a/engines/chewy/types.h
+++ b/engines/chewy/types.h
@@ -30,7 +30,7 @@ namespace Chewy {
#include "common/pack-start.h" // START STRUCT PACKING
-struct SpielerFlags {
+struct GameFlags {
bool R0SlimeUsed : 1;
bool R0PillowThrow : 1;
bool R0Monocle : 1;
@@ -370,13 +370,13 @@ struct SpielerFlags {
bool flags38_2 : 1;
uint8 flags38_unused : 6;
- SpielerFlags() { clear(); }
+ GameFlags() { clear(); }
void clear();
} PACKED_STRUCT;
#include "common/pack-end.h" // END STRUCT PACKING
-struct Spieler : public SpielerFlags {
- Spieler() : SpielerFlags(), _flags(this) {
+struct GameState : public GameFlags {
+ GameState() : GameFlags(), _flags(this) {
_flags->clear();
}
@@ -390,7 +390,7 @@ struct Spieler : public SpielerFlags {
*/
bool synchronize(Common::Serializer &s);
- SpielerFlags *_flags = nullptr;
+ GameFlags *_flags = nullptr;
uint8 Ats[ROOM_ATS_MAX * 3] = { 0 };
uint8 InvAts[MAX_MOV_OBJ * 3] = { 0 };
uint8 InvUse[INV_USE_ATS_MAX * 3] = { 0 };
Commit: b4ddf49c180b508fb1c6dabc56d9ab927aa5322b
https://github.com/scummvm/scummvm/commit/b4ddf49c180b508fb1c6dabc56d9ab927aa5322b
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-20T13:58:23+02:00
Commit Message:
CHEWY: Rename spieler -> gameState
Changed paths:
engines/chewy/atds.cpp
engines/chewy/chewy.cpp
engines/chewy/debugger.cpp
engines/chewy/dialogs/credits.cpp
engines/chewy/dialogs/files.cpp
engines/chewy/dialogs/inventory.cpp
engines/chewy/dialogs/main_menu.cpp
engines/chewy/dialogs/options.cpp
engines/chewy/globals.h
engines/chewy/inits.cpp
engines/chewy/m_event.cpp
engines/chewy/main.cpp
engines/chewy/menus.cpp
engines/chewy/r_event.cpp
engines/chewy/room.cpp
engines/chewy/rooms/room00.cpp
engines/chewy/rooms/room01.cpp
engines/chewy/rooms/room02.cpp
engines/chewy/rooms/room03.cpp
engines/chewy/rooms/room04.cpp
engines/chewy/rooms/room05.cpp
engines/chewy/rooms/room06.cpp
engines/chewy/rooms/room07.cpp
engines/chewy/rooms/room08.cpp
engines/chewy/rooms/room09.cpp
engines/chewy/rooms/room10.cpp
engines/chewy/rooms/room11.cpp
engines/chewy/rooms/room12.cpp
engines/chewy/rooms/room13.cpp
engines/chewy/rooms/room14.cpp
engines/chewy/rooms/room16.cpp
engines/chewy/rooms/room17.cpp
engines/chewy/rooms/room18.cpp
engines/chewy/rooms/room19.cpp
engines/chewy/rooms/room21.cpp
engines/chewy/rooms/room22.cpp
engines/chewy/rooms/room23.cpp
engines/chewy/rooms/room24.cpp
engines/chewy/rooms/room25.cpp
engines/chewy/rooms/room26.cpp
engines/chewy/rooms/room27.cpp
engines/chewy/rooms/room28.cpp
engines/chewy/rooms/room29.cpp
engines/chewy/rooms/room31.cpp
engines/chewy/rooms/room32.cpp
engines/chewy/rooms/room33.cpp
engines/chewy/rooms/room34.cpp
engines/chewy/rooms/room35.cpp
engines/chewy/rooms/room37.cpp
engines/chewy/rooms/room39.cpp
engines/chewy/rooms/room40.cpp
engines/chewy/rooms/room41.cpp
engines/chewy/rooms/room42.cpp
engines/chewy/rooms/room43.cpp
engines/chewy/rooms/room44.cpp
engines/chewy/rooms/room45.cpp
engines/chewy/rooms/room46.cpp
engines/chewy/rooms/room47.cpp
engines/chewy/rooms/room48.cpp
engines/chewy/rooms/room49.cpp
engines/chewy/rooms/room50.cpp
engines/chewy/rooms/room51.cpp
engines/chewy/rooms/room52.cpp
engines/chewy/rooms/room53.cpp
engines/chewy/rooms/room54.cpp
engines/chewy/rooms/room55.cpp
engines/chewy/rooms/room56.cpp
engines/chewy/rooms/room57.cpp
engines/chewy/rooms/room58.cpp
engines/chewy/rooms/room59.cpp
engines/chewy/rooms/room62.cpp
engines/chewy/rooms/room63.cpp
engines/chewy/rooms/room64.cpp
engines/chewy/rooms/room65.cpp
engines/chewy/rooms/room66.cpp
engines/chewy/rooms/room67.cpp
engines/chewy/rooms/room68.cpp
engines/chewy/rooms/room69.cpp
engines/chewy/rooms/room70.cpp
engines/chewy/rooms/room71.cpp
engines/chewy/rooms/room72.cpp
engines/chewy/rooms/room73.cpp
engines/chewy/rooms/room74.cpp
engines/chewy/rooms/room75.cpp
engines/chewy/rooms/room76.cpp
engines/chewy/rooms/room77.cpp
engines/chewy/rooms/room78.cpp
engines/chewy/rooms/room79.cpp
engines/chewy/rooms/room80.cpp
engines/chewy/rooms/room81.cpp
engines/chewy/rooms/room82.cpp
engines/chewy/rooms/room84.cpp
engines/chewy/rooms/room85.cpp
engines/chewy/rooms/room86.cpp
engines/chewy/rooms/room87.cpp
engines/chewy/rooms/room88.cpp
engines/chewy/rooms/room89.cpp
engines/chewy/rooms/room90.cpp
engines/chewy/rooms/room91.cpp
engines/chewy/rooms/room92.cpp
engines/chewy/rooms/room93.cpp
engines/chewy/rooms/room94.cpp
engines/chewy/rooms/room95.cpp
engines/chewy/rooms/room96.cpp
engines/chewy/rooms/room97.cpp
engines/chewy/sound.cpp
engines/chewy/sound_player.cpp
engines/chewy/sprite.cpp
engines/chewy/t_event.cpp
engines/chewy/types.h
engines/chewy/video/video_player.cpp
diff --git a/engines/chewy/atds.cpp b/engines/chewy/atds.cpp
index 04aef237572..b019d131307 100644
--- a/engines/chewy/atds.cpp
+++ b/engines/chewy/atds.cpp
@@ -463,22 +463,22 @@ void Atdsys::crypt(char *txt, uint32 size) {
void Atdsys::set_ats_mem(int16 mode) {
switch (mode) {
case ATS_DATA:
- _ats_sheader = _G(spieler).Ats;
+ _ats_sheader = _G(gameState).Ats;
_atsMem = _atdsMem[mode];
break;
case INV_USE_DATA:
- _ats_sheader = _G(spieler).InvUse;
+ _ats_sheader = _G(gameState).InvUse;
_atsMem = _atdsMem[mode];
break;
case INV_USE_DEF:
- _ats_sheader = _G(spieler).InvUseDef;
+ _ats_sheader = _G(gameState).InvUseDef;
_atsMem = _invUseMem;
break;
case INV_ATS_DATA:
- _ats_sheader = _G(spieler).InvAts;
+ _ats_sheader = _G(gameState).InvAts;
_atsMem = _atdsMem[mode];
break;
@@ -972,7 +972,7 @@ void Atdsys::print_aad(int16 scrX, int16 scrY) {
g_engine->_sound->playSpeech(_atdsv._vocNr,
_atdsv._display == DISPLAY_VOC);
int16 vocx = _G(spieler_vector)[_aadv._strHeader->_akPerson].Xypos[0] -
- _G(spieler).scrollx + _G(spieler_mi)[_aadv._strHeader->_akPerson].HotX;
+ _G(gameState).scrollx + _G(spieler_mi)[_aadv._strHeader->_akPerson].HotX;
g_engine->_sound->setSoundChannelBalance(0, getStereoPos(vocx));
if (_atdsv._display == DISPLAY_VOC) {
diff --git a/engines/chewy/chewy.cpp b/engines/chewy/chewy.cpp
index 61c512b113a..17ed69e6d80 100644
--- a/engines/chewy/chewy.cpp
+++ b/engines/chewy/chewy.cpp
@@ -94,7 +94,7 @@ Common::Error ChewyEngine::loadGameStream(Common::SeekableReadStream *stream) {
exit_room(-1);
Common::Serializer s(stream, nullptr);
- if (!_G(spieler).synchronize(s)) {
+ if (!_G(gameState).synchronize(s)) {
error("loadGameStream error");
return Common::kReadingFailed;
@@ -106,24 +106,24 @@ Common::Error ChewyEngine::loadGameStream(Common::SeekableReadStream *stream) {
_G(flags).LoadGame = true;
- if (_G(spieler).inv_cur && _G(spieler).AkInvent != -1) {
+ if (_G(gameState).inv_cur && _G(gameState).AkInvent != -1) {
_G(menu_item) = CUR_USE;
}
- if (_G(spieler).AkInvent != -1)
- _G(spieler).room_m_obj[_G(spieler).AkInvent].RoomNr = -1;
- _G(room)->loadRoom(&_G(room_blk), _G(spieler)._personRoomNr[P_CHEWY], &_G(spieler));
- load_chewy_taf(_G(spieler).ChewyAni);
+ if (_G(gameState).AkInvent != -1)
+ _G(gameState).room_m_obj[_G(gameState).AkInvent].RoomNr = -1;
+ _G(room)->loadRoom(&_G(room_blk), _G(gameState)._personRoomNr[P_CHEWY], &_G(gameState));
+ load_chewy_taf(_G(gameState).ChewyAni);
_G(fx_blend) = BLEND1;
- _G(room)->calc_invent(&_G(room_blk), &_G(spieler));
+ _G(room)->calc_invent(&_G(room_blk), &_G(gameState));
- if (_G(spieler).AkInvent != -1)
- _G(spieler).room_m_obj[_G(spieler).AkInvent].RoomNr = 255;
+ if (_G(gameState).AkInvent != -1)
+ _G(gameState).room_m_obj[_G(gameState).AkInvent].RoomNr = 255;
_G(obj)->sort();
for (int i = 0; i < MAX_PERSON; i++) {
- setPersonPos(_G(spieler).X[i], _G(spieler).Y[i], i, _G(spieler).Phase[i]);
+ setPersonPos(_G(gameState).X[i], _G(gameState).Y[i], i, _G(gameState).Phase[i]);
}
_G(auto_obj) = 0;
@@ -139,12 +139,12 @@ Common::Error ChewyEngine::saveGameStream(Common::WriteStream *stream, bool isAu
Common::Serializer s(nullptr, stream);
for (int i = 0; i < MAX_PERSON; i++) {
- _G(spieler).X[i] = _G(spieler_vector)[i].Xypos[0];
- _G(spieler).Y[i] = _G(spieler_vector)[i].Xypos[1];
- _G(spieler).Phase[i] = _G(person_end_phase)[i];
+ _G(gameState).X[i] = _G(spieler_vector)[i].Xypos[0];
+ _G(gameState).Y[i] = _G(spieler_vector)[i].Xypos[1];
+ _G(gameState).Phase[i] = _G(person_end_phase)[i];
}
- if (!_G(spieler).synchronize(s))
+ if (!_G(gameState).synchronize(s))
return Common::kWritingFailed;
stream->writeUint32BE(SCUMMVM_TAG);
diff --git a/engines/chewy/debugger.cpp b/engines/chewy/debugger.cpp
index 46cada5181a..144bc11438e 100644
--- a/engines/chewy/debugger.cpp
+++ b/engines/chewy/debugger.cpp
@@ -62,8 +62,8 @@ bool Debugger::Cmd_GotoRoom(int argc, const char **argv) {
} else {
int roomNum = strToInt(argv[1]);
exit_room(-1);
- _G(spieler)._personRoomNr[P_CHEWY] = roomNum;
- _G(room)->loadRoom(&_G(room_blk), roomNum, &_G(spieler));
+ _G(gameState)._personRoomNr[P_CHEWY] = roomNum;
+ _G(room)->loadRoom(&_G(room_blk), roomNum, &_G(gameState));
_G(fx_blend) = BLEND1;
enter_room(-1);
diff --git a/engines/chewy/dialogs/credits.cpp b/engines/chewy/dialogs/credits.cpp
index cbe9b64ea7c..dfb289a32c8 100644
--- a/engines/chewy/dialogs/credits.cpp
+++ b/engines/chewy/dialogs/credits.cpp
@@ -195,8 +195,8 @@ void Credits::execute() {
int fontCol;
_G(room)->load_tgp(5, &_G(room_blk), 1, 0, GBOOK);
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 0;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 0;
_G(out)->setPointer(_G(screen0));
_G(room)->set_ak_pal(&_G(room_blk));
_G(fx)->blende1(_G(workptr), _G(screen0), _G(pal), 150, 0, 0);
@@ -212,7 +212,7 @@ void Credits::execute() {
_G(out)->raster_col(38 + i, color, color, color);
}
- _G(spieler).DelaySpeed = 2;
+ _G(gameState).DelaySpeed = 2;
for (;;) {
if (_G(in)->getSwitchCode() == Common::KEYCODE_ESCAPE || SHOULD_QUIT)
@@ -221,11 +221,11 @@ void Credits::execute() {
// Display the starfield background
_G(out)->setPointer(_G(workptr));
_G(out)->map_spr2screen(_G(ablage)[_G(room_blk).AkAblage],
- _G(spieler).scrollx, _G(spieler).scrolly);
+ _G(gameState).scrollx, _G(gameState).scrolly);
// Animate moving the background
- if (++_G(spieler).scrollx >= 320)
- _G(spieler).scrollx = 0;
+ if (++_G(gameState).scrollx >= 320)
+ _G(gameState).scrollx = 0;
if (_G(in)->getSwitchCode() == Common::KEYCODE_ESCAPE)
break;
diff --git a/engines/chewy/dialogs/files.cpp b/engines/chewy/dialogs/files.cpp
index 8f97a94c5e4..9c70e0851a4 100644
--- a/engines/chewy/dialogs/files.cpp
+++ b/engines/chewy/dialogs/files.cpp
@@ -295,7 +295,7 @@ enter:
free(ti);
- _G(room)->load_tgp(_G(spieler)._personRoomNr[P_CHEWY], &_G(room_blk), EPISODE1_TGP, GED_LOAD, EPISODE1);
+ _G(room)->load_tgp(_G(gameState)._personRoomNr[P_CHEWY], &_G(room_blk), EPISODE1_TGP, GED_LOAD, EPISODE1);
_G(fx_blend) = BLEND1;
_G(room)->set_ak_pal(&_G(room_blk));
diff --git a/engines/chewy/dialogs/inventory.cpp b/engines/chewy/dialogs/inventory.cpp
index 6d99584c82d..820ea51cb3d 100644
--- a/engines/chewy/dialogs/inventory.cpp
+++ b/engines/chewy/dialogs/inventory.cpp
@@ -69,8 +69,8 @@ void Inventory::plot_menu() {
int16 x = (g_events->_mousePos.x - (WIN_INF_X)) / 54;
y = (g_events->_mousePos.y - (WIN_INF_Y + 4 + 30)) / 30;
k = x + (y * 5);
- k += _G(spieler).InventY * 5;
- if (k < (_G(spieler).InventY + 3) * 5)
+ k += _G(gameState).InventY * 5;
+ if (k < (_G(gameState).InventY + 3) * 5)
_G(out)->boxFill(WIN_INF_X + 14 + x * 54, WIN_INF_Y + 6 + 30 + y * 32,
WIN_INF_X + 14 + x * 54 + 40, WIN_INF_Y + 6 + 30 + y * 32 + 24, 41);
}
@@ -109,13 +109,13 @@ void Inventory::plot_menu() {
y = WIN_INF_Y + 6 + 30;
for (int16 j = 0; j < 3; j++) {
for (int16 i = 0; i < 5; i++) {
- if (_G(spieler).InventSlot[(_G(spieler).InventY + j) * 5 + i] != -1) {
- int16 *xy = (int16 *)_G(inv_spr)[_G(spieler).InventSlot[(_G(spieler).InventY + j) * 5 + i]];
+ if (_G(gameState).InventSlot[(_G(gameState).InventY + j) * 5 + i] != -1) {
+ int16 *xy = (int16 *)_G(inv_spr)[_G(gameState).InventSlot[(_G(gameState).InventY + j) * 5 + i]];
int16 x1 = 40 - xy[0];
x1 /= 2;
int16 y1 = 24 - xy[1];
y1 /= 2;
- _G(out)->spriteSet(_G(inv_spr)[_G(spieler).InventSlot[(_G(spieler).InventY + j) * 5 + i]],
+ _G(out)->spriteSet(_G(inv_spr)[_G(gameState).InventSlot[(_G(gameState).InventY + j) * 5 + i]],
x1 + WIN_INF_X + 14 + i * 54,
y1 + y + 32 * j, _G(scr_width));
}
@@ -126,8 +126,8 @@ void Inventory::plot_menu() {
void Inventory::menu() {
keyVal = 0;
_G(flags).InventMenu = true;
- const int16 oldDispFlag = _G(spieler).DispFlag;
- _G(spieler).DispFlag = false;
+ const int16 oldDispFlag = _G(gameState).DispFlag;
+ _G(gameState).DispFlag = false;
const uint16 oldAutoAniPlay = _G(flags).AutoAniPlay;
_G(flags).AutoAniPlay = true;
_G(flags).StopAutoObj = true;
@@ -137,7 +137,7 @@ void Inventory::menu() {
g_events->_mousePos.y = 92;
_G(invent_cur_mode) = CUR_USE;
- if (_G(spieler).AkInvent != -1) {
+ if (_G(gameState).AkInvent != -1) {
cursorChoice(CUR_AK_INVENT);
} else {
@@ -181,7 +181,7 @@ void Inventory::menu() {
case 0:
_G(invent_cur_mode) = CUR_USE;
_G(menu_item) = CUR_USE;
- if (_G(spieler).AkInvent == -1) {
+ if (_G(gameState).AkInvent == -1) {
cursorChoice(CUR_USE);
} else {
cursorChoice(CUR_AK_INVENT);
@@ -189,10 +189,10 @@ void Inventory::menu() {
break;
case 1:
- if (_G(spieler).AkInvent != -1) {
+ if (_G(gameState).AkInvent != -1) {
inv_rand_x = -1;
inv_rand_y = -1;
- ret_look = look(_G(spieler).AkInvent, INV_ATS_MODE, -1);
+ ret_look = look(_G(gameState).AkInvent, INV_ATS_MODE, -1);
taste_flag = Common::KEYCODE_ESCAPE;
} else {
@@ -214,28 +214,28 @@ void Inventory::menu() {
inv_rand_x = (g_events->_mousePos.x - (WIN_INF_X)) / 54;
inv_rand_y = (g_events->_mousePos.y - (WIN_INF_Y + 4 + 30)) / 30;
k = inv_rand_x + (inv_rand_y * 5);
- k += _G(spieler).InventY * 5;
+ k += _G(gameState).InventY * 5;
if (_G(invent_cur_mode) == CUR_USE) {
- if (_G(spieler).AkInvent == -1) {
- if (_G(spieler).InventSlot[k] != -1 && calc_use_invent(_G(spieler).InventSlot[k]) == false) {
+ if (_G(gameState).AkInvent == -1) {
+ if (_G(gameState).InventSlot[k] != -1 && calc_use_invent(_G(gameState).InventSlot[k]) == false) {
_G(menu_item) = CUR_USE;
- _G(spieler).AkInvent = _G(spieler).InventSlot[k];
+ _G(gameState).AkInvent = _G(gameState).InventSlot[k];
cursorChoice(CUR_AK_INVENT);
- del_invent_slot(_G(spieler).InventSlot[k]);
+ del_invent_slot(_G(gameState).InventSlot[k]);
}
- } else if (_G(spieler).InventSlot[k] != -1)
- evaluateObj(_G(spieler).InventSlot[k], INVENTORY_NORMAL);
+ } else if (_G(gameState).InventSlot[k] != -1)
+ evaluateObj(_G(gameState).InventSlot[k], INVENTORY_NORMAL);
else {
- _G(spieler).InventSlot[k] = _G(spieler).AkInvent;
+ _G(gameState).InventSlot[k] = _G(gameState).AkInvent;
_G(obj)->sort();
- _G(spieler).AkInvent = -1;
+ _G(gameState).AkInvent = -1;
_G(menu_item) = _G(invent_cur_mode);
cursorChoice(_G(invent_cur_mode));
}
- } else if (_G(invent_cur_mode) == CUR_LOOK && _G(spieler).InventSlot[k] != -1 && calc_use_invent(_G(spieler).InventSlot[k]) == false) {
- _G(spieler).AkInvent = _G(spieler).InventSlot[k];
- ret_look = look(_G(spieler).InventSlot[k], INV_ATS_MODE, -1);
- _G(spieler).AkInvent = -1;
+ } else if (_G(invent_cur_mode) == CUR_LOOK && _G(gameState).InventSlot[k] != -1 && calc_use_invent(_G(gameState).InventSlot[k]) == false) {
+ _G(gameState).AkInvent = _G(gameState).InventSlot[k];
+ ret_look = look(_G(gameState).InventSlot[k], INV_ATS_MODE, -1);
+ _G(gameState).AkInvent = -1;
cursorChoice(_G(invent_cur_mode));
taste_flag = Common::KEYCODE_ESCAPE;
}
@@ -256,7 +256,7 @@ void Inventory::menu() {
if (ret_look == 0) {
_G(invent_cur_mode) = CUR_USE;
_G(menu_item) = CUR_USE;
- if (_G(spieler).AkInvent == -1)
+ if (_G(gameState).AkInvent == -1)
cursorChoice(CUR_USE);
else
cursorChoice(CUR_AK_INVENT);
@@ -304,7 +304,7 @@ void Inventory::menu() {
break;
case Common::KEYCODE_RIGHT:
- if (g_events->_mousePos.x < 320 - _G(spieler)._curWidth)
+ if (g_events->_mousePos.x < 320 - _G(gameState)._curWidth)
g_events->_mousePos.x += 3;
break;
@@ -319,19 +319,19 @@ void Inventory::menu() {
break;
case Common::KEYCODE_DOWN:
- if (g_events->_mousePos.y < 197 - _G(spieler)._curHeight)
+ if (g_events->_mousePos.y < 197 - _G(gameState)._curHeight)
g_events->_mousePos.y += 3;
break;
case Common::KEYCODE_PAGEUP:
- if (_G(spieler).InventY > 0)
- --_G(spieler).InventY;
+ if (_G(gameState).InventY > 0)
+ --_G(gameState).InventY;
g_events->_kbInfo._keyCode = '\0';
break;
case Common::KEYCODE_PAGEDOWN:
- if (_G(spieler).InventY < (MAX_MOV_OBJ / 5) - 3)
- ++_G(spieler).InventY;
+ if (_G(gameState).InventY < (MAX_MOV_OBJ / 5) - 3)
+ ++_G(gameState).InventY;
g_events->_kbInfo._keyCode = '\0';
break;
@@ -376,7 +376,7 @@ void Inventory::menu() {
_G(flags).InventMenu = false;
_G(flags).AutoAniPlay = oldAutoAniPlay;
- _G(spieler).DispFlag = oldDispFlag;
+ _G(gameState).DispFlag = oldDispFlag;
_G(menu_display) = _G(tmp_menu);
_G(flags).StopAutoObj = false;
}
@@ -576,7 +576,7 @@ void Inventory::look_screen(int16 txt_mode, int16 txt_nr) {
case CUR_HOWARD:
case CUR_NICHELLE:
m_mode = TXT_MARK_USE;
- if (_G(spieler).inv_cur)
+ if (_G(gameState).inv_cur)
ok = false;
break;
@@ -644,7 +644,7 @@ bool Inventory::calc_use_invent(int16 invNr) {
}
} else if (_G(menu_item) == CUR_USE && invNr == NOTEBOOK_INV) {
int16 id = del_invent_slot(NOTEBOOK_INV);
- _G(spieler).InventSlot[id] = NOTEBOOK_OPEN_INV;
+ _G(gameState).InventSlot[id] = NOTEBOOK_OPEN_INV;
_G(obj)->changeInventory(NOTEBOOK_INV, NOTEBOOK_OPEN_INV, &_G(room_blk));
retVal = true;
}
@@ -653,14 +653,14 @@ bool Inventory::calc_use_invent(int16 invNr) {
}
void Inventory::showDiary() {
- int16 scrollx = _G(spieler).scrollx,
- scrolly = _G(spieler).scrolly;
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 0;
+ int16 scrollx = _G(gameState).scrollx,
+ scrolly = _G(gameState).scrolly;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 0;
_G(room)->load_tgp(DIARY_START, &_G(room_blk), GBOOK_TGP, 0, GBOOK);
_G(out)->setPointer(_G(workptr));
- _G(out)->map_spr2screen(_G(ablage)[_G(room_blk).AkAblage], _G(spieler).scrollx, _G(spieler).scrolly);
+ _G(out)->map_spr2screen(_G(ablage)[_G(room_blk).AkAblage], _G(gameState).scrollx, _G(gameState).scrolly);
_G(out)->back2screen(_G(workpage));
_G(room)->set_ak_pal(&_G(room_blk));
_G(out)->setPointer(nullptr);
@@ -675,9 +675,9 @@ void Inventory::showDiary() {
SHOULD_QUIT_RETURN;
}
- _G(room)->load_tgp(_G(spieler)._personRoomNr[P_CHEWY], &_G(room_blk), EPISODE1_TGP, GED_LOAD, EPISODE1);
- _G(spieler).scrollx = scrollx;
- _G(spieler).scrolly = scrolly;
+ _G(room)->load_tgp(_G(gameState)._personRoomNr[P_CHEWY], &_G(room_blk), EPISODE1_TGP, GED_LOAD, EPISODE1);
+ _G(gameState).scrollx = scrollx;
+ _G(gameState).scrolly = scrolly;
setupScreen(NO_SETUP);
plot_menu();
_G(out)->setPointer(nullptr);
diff --git a/engines/chewy/dialogs/main_menu.cpp b/engines/chewy/dialogs/main_menu.cpp
index bdc37be4847..8dfd173b090 100644
--- a/engines/chewy/dialogs/main_menu.cpp
+++ b/engines/chewy/dialogs/main_menu.cpp
@@ -55,9 +55,9 @@ void MainMenu::execute() {
_G(cur)->move(152, 92);
g_events->_mousePos.x = 152;
g_events->_mousePos.y = 92;
- _G(spieler).inv_cur = false;
+ _G(gameState).inv_cur = false;
_G(menu_display) = 0;
- _G(spieler).soundLoopMode = 1;
+ _G(gameState).soundLoopMode = 1;
bool done = false;
while (!done && !SHOULD_QUIT) {
@@ -66,16 +66,16 @@ void MainMenu::execute() {
cursorChoice(CUR_ZEIGE);
_selection = -1;
- _G(spieler).scrollx = _G(spieler).scrolly = 0;
- _G(spieler)._personRoomNr[P_CHEWY] = 98;
- _G(room)->loadRoom(&_G(room_blk), 98, &_G(spieler));
+ _G(gameState).scrollx = _G(gameState).scrolly = 0;
+ _G(gameState)._personRoomNr[P_CHEWY] = 98;
+ _G(room)->loadRoom(&_G(room_blk), 98, &_G(gameState));
_G(currentSong) = -1;
load_room_music(98);
_G(fx)->border(_G(workpage), 100, 0, 0);
_G(out)->setPalette(_G(pal));
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
showCur();
// Wait for a selection to be made on the main menu
@@ -133,7 +133,7 @@ void MainMenu::execute() {
}
void MainMenu::screenFunc() {
- int vec = _G(det)->maus_vector(g_events->_mousePos.x + _G(spieler).scrollx, g_events->_mousePos.y + _G(spieler).scrolly);
+ int vec = _G(det)->maus_vector(g_events->_mousePos.x + _G(gameState).scrollx, g_events->_mousePos.y + _G(gameState).scrolly);
if (_G(in)->getSwitchCode() == 28 || _G(minfo)._button == 1) {
_selection = vec;
@@ -143,16 +143,16 @@ void MainMenu::screenFunc() {
void MainMenu::animate() {
if (_G(ani_timer)->_timeFlag) {
_G(uhr)->resetTimer(0, 0);
- _G(spieler).DelaySpeed = _G(FrameSpeed) / _G(spieler).FramesPerSecond;
- _G(spieler_vector)->Delay = _G(spieler).DelaySpeed + _G(spz_delay)[0];
+ _G(gameState).DelaySpeed = _G(FrameSpeed) / _G(gameState).FramesPerSecond;
+ _G(spieler_vector)->Delay = _G(gameState).DelaySpeed + _G(spz_delay)[0];
_G(FrameSpeed) = 0;
- _G(det)->set_global_delay(_G(spieler).DelaySpeed);
+ _G(det)->set_global_delay(_G(gameState).DelaySpeed);
}
++_G(FrameSpeed);
_G(out)->setPointer(_G(workptr));
_G(out)->map_spr2screen(_G(ablage)[_G(room_blk).AkAblage],
- _G(spieler).scrollx, _G(spieler).scrolly);
+ _G(gameState).scrollx, _G(gameState).scrolly);
if (_G(SetUpScreenFunc) && !_G(menu_display) && !_G(flags).InventMenu) {
_G(SetUpScreenFunc)();
@@ -177,34 +177,34 @@ void MainMenu::startGame() {
animate();
exit_room(-1);
- bool soundSwitch = _G(spieler).SoundSwitch;
- uint8 soundVol = _G(spieler).SoundVol;
- bool musicSwitch = _G(spieler).MusicSwitch;
- uint8 musicVol = _G(spieler).MusicVol;
- bool speechSwitch = _G(spieler).SpeechSwitch;
- uint8 framesPerSecond = _G(spieler).FramesPerSecond;
- bool displayText = _G(spieler).DisplayText;
- int sndLoopMode = _G(spieler).soundLoopMode;
+ bool soundSwitch = _G(gameState).SoundSwitch;
+ uint8 soundVol = _G(gameState).SoundVol;
+ bool musicSwitch = _G(gameState).MusicSwitch;
+ uint8 musicVol = _G(gameState).MusicVol;
+ bool speechSwitch = _G(gameState).SpeechSwitch;
+ uint8 framesPerSecond = _G(gameState).FramesPerSecond;
+ bool displayText = _G(gameState).DisplayText;
+ int sndLoopMode = _G(gameState).soundLoopMode;
var_init();
- _G(spieler).SoundSwitch = soundSwitch;
- _G(spieler).SoundVol = soundVol;
- _G(spieler).MusicSwitch = musicSwitch;
- _G(spieler).MusicVol = musicVol;
- _G(spieler).SpeechSwitch = speechSwitch;
- _G(spieler).FramesPerSecond = framesPerSecond;
- _G(spieler).DisplayText = displayText;
- _G(spieler).soundLoopMode = sndLoopMode;
+ _G(gameState).SoundSwitch = soundSwitch;
+ _G(gameState).SoundVol = soundVol;
+ _G(gameState).MusicSwitch = musicSwitch;
+ _G(gameState).MusicVol = musicVol;
+ _G(gameState).SpeechSwitch = speechSwitch;
+ _G(gameState).FramesPerSecond = framesPerSecond;
+ _G(gameState).DisplayText = displayText;
+ _G(gameState).soundLoopMode = sndLoopMode;
- _G(spieler)._personRoomNr[P_CHEWY] = 0;
- _G(room)->loadRoom(&_G(room_blk), 0, &_G(spieler));
+ _G(gameState)._personRoomNr[P_CHEWY] = 0;
+ _G(room)->loadRoom(&_G(room_blk), 0, &_G(gameState));
_G(spieler_vector)[P_CHEWY].Phase = 6;
_G(spieler_vector)[P_CHEWY].PhAnz = _G(chewy_ph_nr)[6];
setPersonPos(160, 80, P_CHEWY, P_RIGHT);
_G(fx_blend) = BLEND3;
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(menu_item) = CUR_WALK;
cursorChoice(CUR_WALK);
enter_room(-1);
@@ -223,7 +223,7 @@ bool MainMenu::loadGame() {
_G(savegameFlag) = true;
int result = Dialogs::Files::execute(false);
- cursorChoice((_G(spieler).inv_cur && _G(spieler).AkInvent != -1 &&
+ cursorChoice((_G(gameState).inv_cur && _G(gameState).AkInvent != -1 &&
_G(menu_item) == CUR_USE) ? 8 : 0);
_G(cur_display) = true;
restorePersonAni();
@@ -251,7 +251,7 @@ void MainMenu::playGame() {
_G(cur)->show_cur();
_G(spieler_vector)[P_CHEWY].Count = 0;
_G(uhr)->resetTimer(0, 0);
- _G(sndPlayer)->setLoopMode(_G(spieler).soundLoopMode);
+ _G(sndPlayer)->setLoopMode(_G(gameState).soundLoopMode);
while (!SHOULD_QUIT && !mainLoop(1)) {
}
diff --git a/engines/chewy/dialogs/options.cpp b/engines/chewy/dialogs/options.cpp
index 21387fb25d3..e5e3b3772b6 100644
--- a/engines/chewy/dialogs/options.cpp
+++ b/engines/chewy/dialogs/options.cpp
@@ -74,7 +74,7 @@ void Options::execute(TafInfo *ti) {
int16 tdisp_delay = 3;
int16 tdisp_count = tdisp_delay;
_G(FrameSpeed) = 0;
- int16 delay_count = _G(spieler).DelaySpeed;
+ int16 delay_count = _G(gameState).DelaySpeed;
warning("stop_clock = (clock() / CLK_TCK) + 1;");
while (key != Common::KEYCODE_ESCAPE) {
_G(out)->map_spr2screen(_G(ablage)[_G(room_blk).AkAblage], 0, 0);
@@ -82,7 +82,7 @@ void Options::execute(TafInfo *ti) {
warning("akt_clock = clock() / CLK_TCK;");
if (akt_clock >= stop_clock) {
//TmpFrame = _G(FrameSpeed);
- _G(spieler).DelaySpeed = (_G(FrameSpeed) >> 1) / _G(spieler).FramesPerSecond;
+ _G(gameState).DelaySpeed = (_G(FrameSpeed) >> 1) / _G(gameState).FramesPerSecond;
_G(FrameSpeed) = 0;
warning("stop_clock = (clock() / CLK_TCK) + 1;");
@@ -90,12 +90,12 @@ void Options::execute(TafInfo *ti) {
_G(out)->spriteSet(ti->_image[surimy_ani], 18 + ti->_correction[surimy_ani << 1],
8 + ti->_correction[(surimy_ani << 1) + 1], 0);
- short bar_off = (_G(spieler).FramesPerSecond - 6) * 16;
+ short bar_off = (_G(gameState).FramesPerSecond - 6) * 16;
_G(out)->boxFill(33 + bar_off, 65, 33 + 17 + bar_off, 65 + 8, 0);
- Common::String fps = Common::String::format("%d", _G(spieler).FramesPerSecond << 1);
+ Common::String fps = Common::String::format("%d", _G(gameState).FramesPerSecond << 1);
_G(out)->printxy(36 + bar_off, 65, 255, 300, 0, fps.c_str());
- if (_G(spieler).SoundSwitch) {
+ if (_G(gameState).SoundSwitch) {
_G(out)->spriteSet(ti->_image[mund_ani],
18 + ti->_correction[mund_ani << 1],
8 + ti->_correction[(mund_ani << 1) + 1], 0);
@@ -112,12 +112,12 @@ void Options::execute(TafInfo *ti) {
}
_G(out)->pop_box(32 - 2, 104 - 12, 42 + 4, 136 + 2, 192, 183, 182);
_G(out)->printxy(32 + 3, 104 - 10, 15, 300, 0, "S");
- _G(out)->boxFill(33, 136 - (_G(spieler).SoundVol >> 1), 42, 136, 15);
+ _G(out)->boxFill(33, 136 - (_G(gameState).SoundVol >> 1), 42, 136, 15);
_G(out)->pop_box(52 - 2, 104 - 12, 62 + 4, 136 + 2, 192, 183, 182);
_G(out)->printxy(52 + 3, 104 - 10, 31, 300, 0, "M");
- _G(out)->boxFill(53, 136 - (_G(spieler).MusicVol >> 1), 62, 136, 31);
- if (_G(spieler).MusicSwitch) {
+ _G(out)->boxFill(53, 136 - (_G(gameState).MusicVol >> 1), 62, 136, 31);
+ if (_G(gameState).MusicSwitch) {
_G(out)->spriteSet(ti->_image[MUSIC_ON1],
18 + ti->_correction[MUSIC_ON1 << 1],
8 + ti->_correction[(MUSIC_ON1 << 1) + 1], 0);
@@ -129,7 +129,7 @@ void Options::execute(TafInfo *ti) {
18 + ti->_correction[MUSIC_OFF << 1],
8 + ti->_correction[(MUSIC_OFF << 1) + 1], 0);
- if (_G(spieler).DisplayText) {
+ if (_G(gameState).DisplayText) {
_G(out)->spriteSet(ti->_image[tdisp_ani],
18 + ti->_correction[tdisp_ani << 1],
8 + ti->_correction[(tdisp_ani << 1) + 1], 0);
@@ -152,54 +152,54 @@ void Options::execute(TafInfo *ti) {
int16 rect = _G(in)->mouseVector(g_events->_mousePos.x, g_events->_mousePos.y, OPTION_ICONS, 9);
switch (rect) {
case 0:
- if (_G(spieler).FramesPerSecond > 6)
- --_G(spieler).FramesPerSecond;
+ if (_G(gameState).FramesPerSecond > 6)
+ --_G(gameState).FramesPerSecond;
break;
case 1:
- if (_G(spieler).FramesPerSecond < 10)
- ++_G(spieler).FramesPerSecond;
+ if (_G(gameState).FramesPerSecond < 10)
+ ++_G(gameState).FramesPerSecond;
break;
case 2:
- if (_G(spieler).SoundSwitch) {
- _G(spieler).SoundSwitch = false;
+ if (_G(gameState).SoundSwitch) {
+ _G(gameState).SoundSwitch = false;
_G(det)->disable_room_sound();
} else {
- _G(spieler).SoundSwitch = true;
+ _G(gameState).SoundSwitch = true;
_G(det)->enable_room_sound();
}
break;
case 3:
case 4:
- if (_G(spieler).DisplayText) {
- _G(spieler).DisplayText = false;
+ if (_G(gameState).DisplayText) {
+ _G(gameState).DisplayText = false;
_G(atds)->setHasSpeech(true);
- _G(spieler).SpeechSwitch = true;
+ _G(gameState).SpeechSwitch = true;
} else {
- _G(spieler).DisplayText = true;
+ _G(gameState).DisplayText = true;
_G(atds)->setHasSpeech(false);
- _G(spieler).SpeechSwitch = false;
+ _G(gameState).SpeechSwitch = false;
}
break;
case 5:
- if (_G(spieler).MusicSwitch) {
- _G(spieler).MusicSwitch = false;
+ if (_G(gameState).MusicSwitch) {
+ _G(gameState).MusicSwitch = false;
_G(sndPlayer)->stopMod();
} else {
- _G(spieler).MusicSwitch = true;
+ _G(gameState).MusicSwitch = true;
_G(currentSong) = -1;
- load_room_music(_G(spieler)._personRoomNr[P_CHEWY]);
+ load_room_music(_G(gameState)._personRoomNr[P_CHEWY]);
}
break;
case 6:
key = Common::KEYCODE_ESCAPE;
break;
case 7:
- _G(spieler).SoundVol = (136 - g_events->_mousePos.y) << 1;
- g_engine->_sound->setSoundVolume(_G(spieler).SoundVol * Audio::Mixer::kMaxChannelVolume / 120);
+ _G(gameState).SoundVol = (136 - g_events->_mousePos.y) << 1;
+ g_engine->_sound->setSoundVolume(_G(gameState).SoundVol * Audio::Mixer::kMaxChannelVolume / 120);
break;
case 8:
- _G(spieler).MusicVol = (136 - g_events->_mousePos.y) << 1;
- g_engine->_sound->setMusicVolume(_G(spieler).MusicVol * Audio::Mixer::kMaxChannelVolume / 120);
+ _G(gameState).MusicVol = (136 - g_events->_mousePos.y) << 1;
+ g_engine->_sound->setMusicVolume(_G(gameState).MusicVol * Audio::Mixer::kMaxChannelVolume / 120);
break;
default:
@@ -257,7 +257,7 @@ void Options::execute(TafInfo *ti) {
tdisp_ani = TDISP_START;
tdisp_count = tdisp_delay;
}
- delay_count = _G(spieler).DelaySpeed;
+ delay_count = _G(gameState).DelaySpeed;
} else
--delay_count;
}
diff --git a/engines/chewy/globals.h b/engines/chewy/globals.h
index 18c1e615291..a9c97d026fc 100644
--- a/engines/chewy/globals.h
+++ b/engines/chewy/globals.h
@@ -84,7 +84,7 @@ public:
int16 _timer_nr[MAX_TIMER_OBJ] = { 0 };
public:
CurrentScreen _currentScreen;
- GameState _spieler;
+ GameState _gameState;
int16 _pfeil_ani = 0;
int16 _pfeil_delay = 0;
diff --git a/engines/chewy/inits.cpp b/engines/chewy/inits.cpp
index 7d1badaa0c1..56fb6dc3bce 100644
--- a/engines/chewy/inits.cpp
+++ b/engines/chewy/inits.cpp
@@ -37,7 +37,7 @@ void standard_init() {
_G(txt) = new Text();
_G(ged) = new GedClass(&ged_user_func);
_G(room) = new Room();
- _G(obj) = new Object(&_G(spieler));
+ _G(obj) = new Object(&_G(gameState));
_G(uhr) = new Timer(MAX_TIMER_OBJ, _G(ani_timer));
_G(det) = new Detail();
_G(atds) = new Atdsys();
@@ -97,11 +97,11 @@ void var_init() {
_G(menu_item) = CUR_WALK;
_G(inventoryNr) = 0;
new_game();
- _G(spieler).MainMenuY = MENU_Y;
- _G(spieler).DispFlag = true;
- _G(spieler).AkInvent = -1;
- _G(spieler).ScrollxStep = 1;
- _G(spieler).ScrollyStep = 1;
+ _G(gameState).MainMenuY = MENU_Y;
+ _G(gameState).DispFlag = true;
+ _G(gameState).AkInvent = -1;
+ _G(gameState).ScrollxStep = 1;
+ _G(gameState).ScrollyStep = 1;
_G(spieler_mi)[P_CHEWY].HotX = CH_HOT_X;
_G(spieler_mi)[P_CHEWY].HotY = CH_HOT_Y;
@@ -133,16 +133,16 @@ void var_init() {
_G(ani_stand_flag)[i] = false;
_G(spz_delay)[i] = 0;
- _G(spieler)._personRoomNr[i] = -1;
- _G(spieler).PersonDia[i] = -1;
+ _G(gameState)._personRoomNr[i] = -1;
+ _G(gameState).PersonDia[i] = -1;
}
- _G(spieler)._personRoomNr[P_CHEWY] = _G(room_start_nr);
+ _G(gameState)._personRoomNr[P_CHEWY] = _G(room_start_nr);
_G(gpkt).Vorschub = _G(spieler_mi)[P_CHEWY].Vorschub;
init_room();
init_atds();
- _G(spieler).FramesPerSecond = 7;
- _G(spieler).DisplayText = true;
+ _G(gameState).FramesPerSecond = 7;
+ _G(gameState).DisplayText = true;
_G(currentSong) = -1;
_G(SetUpScreenFunc) = nullptr;
_G(pfeil_delay) = 0;
@@ -158,8 +158,8 @@ void init_room() {
_G(room_blk).InvFile = INVENTORY_TAF;
_G(room_blk).DetFile = DETAILTEST;
_G(room_blk).InvSprAdr = &_G(inv_spr)[0];
- _G(room_blk).Rmo = _G(spieler).room_m_obj;
- _G(room_blk).Rsi = _G(spieler).room_s_obj;
+ _G(room_blk).Rmo = _G(gameState).room_m_obj;
+ _G(room_blk).Rsi = _G(gameState).room_s_obj;
_G(room_blk).AadLoad = true;
_G(room_blk).AtsLoad = true;
strcpy(_G(room_blk).RoomDir, "room/");
@@ -183,46 +183,46 @@ void init_atds() {
_G(atds)->set_handle(ATDS_TXT, AAD_DATA, handle, AAD_TAP_OFF, AAD_TAP_MAX);
_G(atds)->set_handle(ATDS_TXT, ADS_DATA, handle, ADS_TAP_OFF, ADS_TAP_MAX);
_G(atds)->set_handle(ATDS_TXT, INV_USE_DATA, handle, USE_TAP_OFF, USE_TAP_MAX);
- _G(spieler).AadSilent = 10;
- _G(spieler).DelaySpeed = 5;
- _G(spieler_vector)[P_CHEWY].Delay = _G(spieler).DelaySpeed;
- _G(atds)->set_delay(&_G(spieler).DelaySpeed, _G(spieler).AadSilent);
+ _G(gameState).AadSilent = 10;
+ _G(gameState).DelaySpeed = 5;
+ _G(spieler_vector)[P_CHEWY].Delay = _G(gameState).DelaySpeed;
+ _G(atds)->set_delay(&_G(gameState).DelaySpeed, _G(gameState).AadSilent);
_G(atds)->set_string_end_func(&atdsStringStart);
}
void new_game() {
- _G(spieler).clear();
+ _G(gameState).clear();
for (int16 i = 0; i < MAX_MOV_OBJ; i++) {
- _G(spieler).room_m_obj[i].RoomNr = -1;
- _G(spieler).InventSlot[i] = -1;
+ _G(gameState).room_m_obj[i].RoomNr = -1;
+ _G(gameState).InventSlot[i] = -1;
}
for (int16 i = 0; i < MAX_FEST_OBJ; i++)
- _G(spieler).room_s_obj[i].RoomNr = -1;
+ _G(gameState).room_s_obj[i].RoomNr = -1;
for (int16 i = 0; i < MAX_EXIT; i++)
- _G(spieler).room_e_obj[i].RoomNr = -1;
+ _G(gameState).room_e_obj[i].RoomNr = -1;
- _G(obj)->load(INVENTORY_IIB, &_G(spieler).room_m_obj[0]);
- _G(obj)->load(INVENTORY_SIB, &_G(spieler).room_s_obj[0]);
- _G(obj)->load(EXIT_EIB, &_G(spieler).room_e_obj[0]);
+ _G(obj)->load(INVENTORY_IIB, &_G(gameState).room_m_obj[0]);
+ _G(obj)->load(INVENTORY_SIB, &_G(gameState).room_s_obj[0]);
+ _G(obj)->load(EXIT_EIB, &_G(gameState).room_e_obj[0]);
Common::File f;
if (!f.open(ROOM_ATS_STEUER))
error("Error reading file: %s", ROOM_ATS_STEUER);
for (int16 i = 0; i < ROOM_ATS_MAX; i++)
- _G(spieler).Ats[i * MAX_ATS_STATUS] = f.readByte();
+ _G(gameState).Ats[i * MAX_ATS_STATUS] = f.readByte();
f.close();
if (!f.open(INV_ATS_STEUER))
error("Error reading file: %s", INV_ATS_STEUER);
for (int16 i = 0; i < MAX_MOV_OBJ; i++)
- _G(spieler).InvAts[i * MAX_ATS_STATUS] = f.readByte();
+ _G(gameState).InvAts[i * MAX_ATS_STATUS] = f.readByte();
f.close();
_G(obj)->sort();
for (int16 i = 0; i < _G(obj)->spieler_invnr[0]; i++)
- _G(spieler).InventSlot[i] = _G(obj)->spieler_invnr[i + 1];
+ _G(gameState).InventSlot[i] = _G(obj)->spieler_invnr[i + 1];
_G(AkChewyTaf) = 0;
load_chewy_taf(CHEWY_NORMAL);
@@ -246,7 +246,7 @@ void init_load() {
f.read(_G(spblende) + sizeof(uint32), f.size());
f.close();
- _G(room)->loadRoom(&_G(room_blk), _G(room_start_nr), &_G(spieler));
+ _G(room)->loadRoom(&_G(room_blk), _G(room_start_nr), &_G(gameState));
_G(out)->setPalette(_G(pal));
}
@@ -288,14 +288,14 @@ void tidy() {
}
void sound_init() {
- _G(spieler).SoundSwitch = false;
- _G(spieler).MusicSwitch = false;
+ _G(gameState).SoundSwitch = false;
+ _G(gameState).MusicSwitch = false;
_G(sndPlayer)->initMixMode();
- _G(spieler).MusicVol = 63;
- _G(spieler).SoundVol = 63;
- g_engine->_sound->setMusicVolume(_G(spieler).MusicVol * Audio::Mixer::kMaxChannelVolume / 120);
- g_engine->_sound->setSoundVolume(_G(spieler).SoundVol * Audio::Mixer::kMaxChannelVolume / 120);
+ _G(gameState).MusicVol = 63;
+ _G(gameState).SoundVol = 63;
+ g_engine->_sound->setMusicVolume(_G(gameState).MusicVol * Audio::Mixer::kMaxChannelVolume / 120);
+ g_engine->_sound->setSoundVolume(_G(gameState).SoundVol * Audio::Mixer::kMaxChannelVolume / 120);
_G(music_handle) = _G(room)->open_handle(DETAIL_TVP, R_VOC_DATA);
@@ -312,10 +312,10 @@ void sound_init() {
}
_G(atds)->setHasSpeech(true);
- _G(spieler).DisplayText = false;
- _G(spieler).SoundSwitch = true;
- _G(spieler).MusicSwitch = true;
- _G(spieler).SpeechSwitch = true;
+ _G(gameState).DisplayText = false;
+ _G(gameState).SoundSwitch = true;
+ _G(gameState).MusicSwitch = true;
+ _G(gameState).SpeechSwitch = true;
}
void show_intro() {
diff --git a/engines/chewy/m_event.cpp b/engines/chewy/m_event.cpp
index 6b6fc98ecad..554eae6e8cc 100644
--- a/engines/chewy/m_event.cpp
+++ b/engines/chewy/m_event.cpp
@@ -34,10 +34,10 @@ void load_room_music(int16 room_nr) {
const int16 seq_end = 0;
const int16 pattern = 0;
int16 ttp_index = -1;
- int16 volume = _G(spieler).MusicVol;
+ int16 volume = _G(gameState).MusicVol;
const int16 lp_mode = 1;
const int16 play_mode = NORMAL_PLAY;
- if (_G(spieler).MusicSwitch && (_G(music_handle))) {
+ if (_G(gameState).MusicSwitch && (_G(music_handle))) {
switch (room_nr) {
case 0:
ttp_index = 0;
@@ -184,8 +184,8 @@ void load_room_music(int16 room_nr) {
if (ttp_index != -1) {
if (volume < 0)
volume = 0;
- else if (volume > _G(spieler).MusicVol)
- volume = _G(spieler).MusicVol;
+ else if (volume > _G(gameState).MusicVol)
+ volume = _G(gameState).MusicVol;
g_engine->_sound->setMusicVolume(volume * Audio::Mixer::kMaxChannelVolume / 120);
_G(sndPlayer)->setLoopMode(lp_mode);
if (ttp_index != _G(currentSong)) {
diff --git a/engines/chewy/main.cpp b/engines/chewy/main.cpp
index 0978c573bf2..bcade50d6e1 100644
--- a/engines/chewy/main.cpp
+++ b/engines/chewy/main.cpp
@@ -97,7 +97,7 @@ void cursorChoice(int16 nr) {
int16 ok = true;
if (nr != CUR_USER) {
_G(curblk).sprite = _G(curtaf)->_image;
- _G(curani)._delay = (1 + _G(spieler).DelaySpeed) * 5;
+ _G(curani)._delay = (1 + _G(gameState).DelaySpeed) * 5;
}
switch (nr) {
case CUR_WALK:
@@ -151,10 +151,10 @@ void cursorChoice(int16 nr) {
break;
case CUR_AK_INVENT:
- _G(curani)._start = _G(spieler).AkInvent;
- _G(curani)._end = _G(spieler).AkInvent;
+ _G(curani)._start = _G(gameState).AkInvent;
+ _G(curani)._end = _G(gameState).AkInvent;
_G(curblk).sprite = &_G(inv_spr)[0];
- _G(spieler).inv_cur = true;
+ _G(gameState).inv_cur = true;
break;
case CUR_SAVE:
@@ -213,8 +213,8 @@ void cursorChoice(int16 nr) {
if (ok) {
_cursorMoveFl = true;
_G(cur)->set_cur_ani(&_G(curani));
- _G(spieler)._curWidth = READ_LE_INT16(_G(curblk).sprite[_G(curani)._start]);
- _G(spieler)._curHeight = READ_LE_INT16(_G(curblk).sprite[_G(curani)._start] + 2);
+ _G(gameState)._curWidth = READ_LE_INT16(_G(curblk).sprite[_G(curani)._start]);
+ _G(gameState)._curHeight = READ_LE_INT16(_G(curblk).sprite[_G(curani)._start] + 2);
}
}
@@ -252,7 +252,7 @@ bool mainLoop(int16 mode) {
if (_G(flags).MainInput) {
switch (g_events->_kbInfo._scanCode) {
case Common::KEYCODE_F1:
- _G(spieler).inv_cur = false;
+ _G(gameState).inv_cur = false;
_G(menu_item) = CUR_WALK;
cursorChoice(_G(menu_item));
if (_G(menu_display) == MENU_DISPLAY)
@@ -260,7 +260,7 @@ bool mainLoop(int16 mode) {
break;
case Common::KEYCODE_F2:
- _G(spieler).inv_cur = false;
+ _G(gameState).inv_cur = false;
_G(menu_item) = CUR_USE;
cursorChoice(_G(menu_item));
if (_G(menu_display) == MENU_DISPLAY)
@@ -268,7 +268,7 @@ bool mainLoop(int16 mode) {
break;
case Common::KEYCODE_F3:
- _G(spieler).inv_cur = false;
+ _G(gameState).inv_cur = false;
_G(menu_item) = CUR_LOOK;
cursorChoice(_G(menu_item));
if (_G(menu_display) == MENU_DISPLAY)
@@ -276,7 +276,7 @@ bool mainLoop(int16 mode) {
break;
case Common::KEYCODE_F4:
- _G(spieler).inv_cur = false;
+ _G(gameState).inv_cur = false;
_G(menu_item) = CUR_TALK;
cursorChoice(_G(menu_item));
if (_G(menu_display) == MENU_DISPLAY)
@@ -295,15 +295,15 @@ bool mainLoop(int16 mode) {
_G(menu_flag) = MENU_HIDE;
_G(menu_display) = 0;
_G(cur_display) = true;
- if (_G(spieler).AkInvent == -1) {
+ if (_G(gameState).AkInvent == -1) {
_G(menu_item) = _G(tmp_menu_item);
cursorChoice(_G(menu_item));
- _G(spieler).inv_cur = false;
+ _G(gameState).inv_cur = false;
} else {
_G(menu_item) = CUR_USE;
cursorChoice(CUR_AK_INVENT);
- getDisplayCoord(&_G(spieler).DispZx, &_G(spieler).DispZy, _G(spieler).AkInvent);
+ getDisplayCoord(&_G(gameState).DispZx, &_G(gameState).DispZy, _G(gameState).AkInvent);
}
g_events->_kbInfo._keyCode = '\0';
@@ -319,7 +319,7 @@ bool mainLoop(int16 mode) {
retValue = true;
_G(fx_blend) = BLEND4;
}
- if (_G(spieler).inv_cur && _G(spieler).AkInvent != -1 && _G(menu_item) == CUR_USE) {
+ if (_G(gameState).inv_cur && _G(gameState).AkInvent != -1 && _G(menu_item) == CUR_USE) {
cursorChoice(CUR_AK_INVENT);
} else
cursorChoice(_G(menu_item));
@@ -342,7 +342,7 @@ bool mainLoop(int16 mode) {
menuExit();
_G(menu_item) = _G(tmp_menu_item);
_G(menu_display) = MENU_HIDE;
- if (_G(spieler).inv_cur && _G(spieler).AkInvent != -1 && _G(menu_item) == CUR_USE) {
+ if (_G(gameState).inv_cur && _G(gameState).AkInvent != -1 && _G(menu_item) == CUR_USE) {
cursorChoice(CUR_AK_INVENT);
} else
cursorChoice(_G(menu_item));
@@ -360,14 +360,14 @@ bool mainLoop(int16 mode) {
_G(menu_flag) = MENU_HIDE;
_G(menu_display) = 0;
_G(cur_display) = true;
- if (_G(spieler).AkInvent == -1) {
+ if (_G(gameState).AkInvent == -1) {
_G(menu_item) = _G(tmp_menu_item);
cursorChoice(_G(menu_item));
- _G(spieler).inv_cur = false;
+ _G(gameState).inv_cur = false;
} else {
_G(menu_item) = CUR_USE;
cursorChoice(CUR_AK_INVENT);
- getDisplayCoord(&_G(spieler).DispZx, &_G(spieler).DispZy, _G(spieler).AkInvent);
+ getDisplayCoord(&_G(gameState).DispZx, &_G(gameState).DispZy, _G(gameState).AkInvent);
}
break;
@@ -391,7 +391,7 @@ bool mainLoop(int16 mode) {
_G(menu_item) = _G(tmp_menu_item);
_G(menu_display) = MENU_HIDE;
- if (_G(spieler).inv_cur && _G(spieler).AkInvent != -1 && _G(menu_item) == CUR_USE) {
+ if (_G(gameState).inv_cur && _G(gameState).AkInvent != -1 && _G(menu_item) == CUR_USE) {
cursorChoice(CUR_AK_INVENT);
} else
cursorChoice(_G(tmp_menu_item));
@@ -411,7 +411,7 @@ bool mainLoop(int16 mode) {
_G(cur)->move(_G(maus_old_x), _G(maus_old_y));
g_events->_mousePos.x = _G(maus_old_x);
g_events->_mousePos.y = _G(maus_old_y);
- _G(spieler).inv_cur = false;
+ _G(gameState).inv_cur = false;
cursorChoice(_G(menu_item));
}
break;
@@ -426,15 +426,15 @@ bool mainLoop(int16 mode) {
break;
case 41:
- _G(spieler).DispFlag ^= 1;
+ _G(gameState).DispFlag ^= 1;
break;
case Common::KEYCODE_TAB:
- if (_G(menu_display) == 0 && _G(spieler).DispFlag) {
- if (_G(spieler).InvDisp < 3)
- ++_G(spieler).InvDisp;
+ if (_G(menu_display) == 0 && _G(gameState).DispFlag) {
+ if (_G(gameState).InvDisp < 3)
+ ++_G(gameState).InvDisp;
else
- _G(spieler).InvDisp = 0;
+ _G(gameState).InvDisp = 0;
}
break;
@@ -461,8 +461,8 @@ bool mainLoop(int16 mode) {
}
static void showWalkAreas() {
- int xs = (_G(spieler).scrollx / 8) * 8,
- ys = (_G(spieler).scrolly / 8) * 8;
+ int xs = (_G(gameState).scrollx / 8) * 8,
+ ys = (_G(gameState).scrolly / 8) * 8;
for (int y = 0, yp = ys; y < 200 / 8; ++y, yp += 8) {
for (int x = 0, xp = xs; x < 320 / 8; ++x, xp += 8) {
@@ -472,7 +472,7 @@ static void showWalkAreas() {
if (idx) {
Common::Rect r(xp, yp, xp + 8, yp + 8);
- r.translate(-_G(spieler).scrollx, -_G(spieler).scrolly);
+ r.translate(-_G(gameState).scrollx, -_G(gameState).scrolly);
r.clip(Common::Rect(0, 0, 320, 200));
g_screen->frameRect(r, 0xff);
@@ -493,14 +493,14 @@ void setupScreen(SetupScreenMode mode) {
if (_G(ani_timer)[0]._timeFlag) {
_G(uhr)->resetTimer(0, 0);
- _G(spieler).DelaySpeed = _G(FrameSpeed) / _G(spieler).FramesPerSecond;
- _G(spieler_vector)[P_CHEWY].Delay = _G(spieler).DelaySpeed + _G(spz_delay)[P_CHEWY];
+ _G(gameState).DelaySpeed = _G(FrameSpeed) / _G(gameState).FramesPerSecond;
+ _G(spieler_vector)[P_CHEWY].Delay = _G(gameState).DelaySpeed + _G(spz_delay)[P_CHEWY];
_G(FrameSpeed) = 0;
- _G(det)->set_global_delay(_G(spieler).DelaySpeed);
+ _G(det)->set_global_delay(_G(gameState).DelaySpeed);
}
++_G(FrameSpeed);
_G(out)->setPointer(_G(workptr));
- _G(out)->map_spr2screen(_G(ablage)[_G(room_blk).AkAblage], _G(spieler).scrollx, _G(spieler).scrolly);
+ _G(out)->map_spr2screen(_G(ablage)[_G(room_blk).AkAblage], _G(gameState).scrollx, _G(gameState).scrolly);
for (i = 0; i < MAX_PERSON; i++)
zoom_mov_anpass(&_G(spieler_vector)[i], &_G(spieler_mi)[i]);
@@ -517,17 +517,17 @@ void setupScreen(SetupScreenMode mode) {
} else {
kb_mov(1);
_G(det)->unfreeze_ani();
- check_mouse_ausgang(g_events->_mousePos.x + _G(spieler).scrollx, g_events->_mousePos.y + _G(spieler).scrolly);
+ check_mouse_ausgang(g_events->_mousePos.x + _G(gameState).scrollx, g_events->_mousePos.y + _G(gameState).scrolly);
if (!_G(flags).SaveMenu)
calc_ani_timer();
- if (_G(spieler).AkInvent != -1 && _G(spieler).DispFlag) {
- buildMenu(invent_display[_G(spieler).InvDisp][0],
- invent_display[_G(spieler).InvDisp][1], 3, 3, 60, 0);
- _G(out)->spriteSet(_G(inv_spr)[_G(spieler).AkInvent],
- invent_display[_G(spieler).InvDisp][0] + 1 + _G(spieler).DispZx,
- invent_display[_G(spieler).InvDisp][1] + 1 + _G(spieler).DispZy
+ if (_G(gameState).AkInvent != -1 && _G(gameState).DispFlag) {
+ buildMenu(invent_display[_G(gameState).InvDisp][0],
+ invent_display[_G(gameState).InvDisp][1], 3, 3, 60, 0);
+ _G(out)->spriteSet(_G(inv_spr)[_G(gameState).AkInvent],
+ invent_display[_G(gameState).InvDisp][0] + 1 + _G(gameState).DispZx,
+ invent_display[_G(gameState).InvDisp][1] + 1 + _G(gameState).DispZy
, _G(scr_width));
}
@@ -536,13 +536,13 @@ void setupScreen(SetupScreenMode mode) {
if (_G(mouseLeftClick)) {
if (_G(menu_item) == CUR_WALK) {
if (_G(cur_ausgang_flag)) {
- calc_ausgang(g_events->_mousePos.x + _G(spieler).scrollx, g_events->_mousePos.y + _G(spieler).scrolly);
+ calc_ausgang(g_events->_mousePos.x + _G(gameState).scrollx, g_events->_mousePos.y + _G(gameState).scrolly);
} else {
if (!_G(flags).ChewyDontGo) {
_G(gpkt).Dx = g_events->_mousePos.x - _G(spieler_mi)[P_CHEWY].HotMovX +
- _G(spieler).scrollx + _G(spieler_mi)[P_CHEWY].HotX;
+ _G(gameState).scrollx + _G(spieler_mi)[P_CHEWY].HotX;
_G(gpkt).Dy = g_events->_mousePos.y - _G(spieler_mi)[P_CHEWY].HotMovY +
- _G(spieler).scrolly + _G(spieler_mi)[P_CHEWY].HotY;
+ _G(gameState).scrolly + _G(spieler_mi)[P_CHEWY].HotY;
_G(gpkt).Sx = _G(spieler_vector)[P_CHEWY].Xypos[0] +
_G(spieler_mi)[P_CHEWY].HotX;
_G(gpkt).Sy = _G(spieler_vector)[P_CHEWY].Xypos[1] +
@@ -586,7 +586,7 @@ void setupScreen(SetupScreenMode mode) {
for (i = 0; i < _G(auto_obj) && !_G(flags).StopAutoObj; i++)
mov_objekt(&_G(auto_mov_vector)[i], &_G(auto_mov_obj)[i]);
- int16 nr = _G(obj)->is_iib_mouse(g_events->_mousePos.x + _G(spieler).scrollx, g_events->_mousePos.y + _G(spieler).scrolly);
+ int16 nr = _G(obj)->is_iib_mouse(g_events->_mousePos.x + _G(gameState).scrollx, g_events->_mousePos.y + _G(gameState).scrolly);
if (nr != -1) {
txt_nr = _G(obj)->iib_txt_nr(nr);
mous_obj_action(nr, mode, INVENTORY_NORMAL, txt_nr);
@@ -594,7 +594,7 @@ void setupScreen(SetupScreenMode mode) {
int16 tmp = calcMouseText(g_events->_mousePos.x, g_events->_mousePos.y, mode);
if (tmp == -1 || tmp == 255) {
- nr = _G(obj)->is_sib_mouse(g_events->_mousePos.x + _G(spieler).scrollx, g_events->_mousePos.y + _G(spieler).scrolly);
+ nr = _G(obj)->is_sib_mouse(g_events->_mousePos.x + _G(gameState).scrollx, g_events->_mousePos.y + _G(gameState).scrolly);
if (nr != -1) {
txt_nr = _G(obj)->sib_txt_nr(nr);
mous_obj_action(nr, mode, INVENTORY_STATIC, txt_nr);
@@ -605,11 +605,11 @@ void setupScreen(SetupScreenMode mode) {
if (_G(cur_display) == true && mode == DO_SETUP) {
_G(cur)->plot_cur();
- if ((_G(spieler).inv_cur) && (_G(flags).CursorStatus == true))
+ if ((_G(gameState).inv_cur) && (_G(flags).CursorStatus == true))
_G(out)->spriteSet(_G(curtaf)->_image[_G(pfeil_ani) + 32], g_events->_mousePos.x, g_events->_mousePos.y,
_G(scr_width));
if (_G(pfeil_delay) == 0) {
- _G(pfeil_delay) = _G(spieler).DelaySpeed;
+ _G(pfeil_delay) = _G(gameState).DelaySpeed;
if (_G(pfeil_ani) < 4)
++_G(pfeil_ani);
else
@@ -620,9 +620,9 @@ void setupScreen(SetupScreenMode mode) {
}
}
- _G(atds)->print_aad(_G(spieler).scrollx, _G(spieler).scrolly);
+ _G(atds)->print_aad(_G(gameState).scrollx, _G(gameState).scrolly);
_G(atds)->print_ats(_G(spieler_vector)[P_CHEWY].Xypos[0] + CH_HOT_X,
- _G(spieler_vector)[P_CHEWY].Xypos[1], _G(spieler).scrollx, _G(spieler).scrolly);
+ _G(spieler_vector)[P_CHEWY].Xypos[1], _G(gameState).scrollx, _G(gameState).scrolly);
_G(mouseLeftClick) = false;
_G(menu_flag) = false;
if (mode == DO_SETUP) {
@@ -664,7 +664,7 @@ void setupScreen(SetupScreenMode mode) {
calc_scroll(_G(spieler_vector)[P_CHEWY].Xypos[0] + _G(spieler_mi)[P_CHEWY].HotX,
_G(spieler_vector)[P_CHEWY].Xypos[1] + _G(spieler_mi)[P_CHEWY].HotY,
ScrXy[0], ScrXy[1],
- &_G(spieler).scrollx, &_G(spieler).scrolly);
+ &_G(gameState).scrollx, &_G(gameState).scrolly);
g_screen->update();
@@ -705,34 +705,34 @@ void mous_obj_action(int16 nr, int16 mode, int16 txt_mode, int16 txt_nr) {
if (_G(menu_item) != CUR_USE)
Dialogs::Inventory::look_screen(txt_mode, txt_nr);
else {
- if (_G(spieler).inv_cur) {
+ if (_G(gameState).inv_cur) {
evaluateObj(nr, txt_mode);
} else {
if (txt_mode == INVENTORY_NORMAL) {
if (!_G(flags).ChAutoMov) {
_G(mouseLeftClick) = false;
- autoMove(_G(spieler).room_m_obj[nr].AutoMov, P_CHEWY);
+ autoMove(_G(gameState).room_m_obj[nr].AutoMov, P_CHEWY);
Dialogs::Inventory::look_screen(txt_mode, txt_nr);
- if (_G(spieler).AkInvent != -1)
- _G(spieler).room_m_obj[_G(spieler).AkInvent].RoomNr = -1;
- if (_G(spieler).room_m_obj[nr].AniFlag == 255) {
+ if (_G(gameState).AkInvent != -1)
+ _G(gameState).room_m_obj[_G(gameState).AkInvent].RoomNr = -1;
+ if (_G(gameState).room_m_obj[nr].AniFlag == 255) {
invent_2_slot(nr);
} else {
- _G(spieler)._personHide[P_CHEWY] = _G(spieler).room_m_obj[nr].HeldHide;
- play_scene_ani(_G(spieler).room_m_obj[nr].AniFlag, ANI_FRONT);
+ _G(gameState)._personHide[P_CHEWY] = _G(gameState).room_m_obj[nr].HeldHide;
+ play_scene_ani(_G(gameState).room_m_obj[nr].AniFlag, ANI_FRONT);
invent_2_slot(nr);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
}
- _G(spieler).inv_cur = false;
+ _G(gameState).inv_cur = false;
_G(menu_item) = CUR_WALK;
cursorChoice(_G(menu_item));
_G(spieler_vector)[P_CHEWY]._delayCount = 0;
- if (_G(spieler).AkInvent != -1)
- _G(spieler).room_m_obj[_G(spieler).AkInvent].RoomNr = 255;
+ if (_G(gameState).AkInvent != -1)
+ _G(gameState).room_m_obj[_G(gameState).AkInvent].RoomNr = 255;
}
} else if (txt_mode == INVENTORY_STATIC) {
@@ -748,7 +748,7 @@ void kb_mov(int16 mode) {
while (!ende) {
switch (_G(in)->getSwitchCode()) {
case Common::KEYCODE_RIGHT:
- if (g_events->_mousePos.x < 320 - _G(spieler)._curWidth)
+ if (g_events->_mousePos.x < 320 - _G(gameState)._curWidth)
_G(cur)->move(g_events->_mousePos.x + 2, g_events->_mousePos.y);
break;
@@ -763,7 +763,7 @@ void kb_mov(int16 mode) {
break;
case Common::KEYCODE_DOWN:
- if (g_events->_mousePos.y < 210 - _G(spieler)._curHeight)
+ if (g_events->_mousePos.y < 210 - _G(gameState)._curHeight)
_G(cur)->move(g_events->_mousePos.x, g_events->_mousePos.y + 2);
break;
@@ -805,15 +805,15 @@ void kb_cur_action(int16 key, int16 mode) {
case Common::KEYCODE_UP:
if (_G(menu_display) == MENU_DISPLAY) {
- if (_G(spieler).MainMenuY > 1)
- _G(spieler).MainMenuY -= 2;
+ if (_G(gameState).MainMenuY > 1)
+ _G(gameState).MainMenuY -= 2;
}
break;
case Common::KEYCODE_DOWN:
if (_G(menu_display) == MENU_DISPLAY) {
- if (_G(spieler).MainMenuY < 163)
- _G(spieler).MainMenuY += 2;
+ if (_G(gameState).MainMenuY < 163)
+ _G(gameState).MainMenuY += 2;
}
break;
@@ -825,16 +825,16 @@ void kb_cur_action(int16 key, int16 mode) {
void mouseAction() {
int16 x = g_events->_mousePos.x;
int16 y = g_events->_mousePos.y;
- if (x > invent_display[_G(spieler).InvDisp][0] &&
- x < invent_display[_G(spieler).InvDisp][0] + 48 &&
- y > invent_display[_G(spieler).InvDisp][1] &&
- y < invent_display[_G(spieler).InvDisp][1] + 48) {
- if (!_G(spieler).inv_cur && !_G(inv_disp_ok) && _G(spieler).AkInvent != -1) {
+ if (x > invent_display[_G(gameState).InvDisp][0] &&
+ x < invent_display[_G(gameState).InvDisp][0] + 48 &&
+ y > invent_display[_G(gameState).InvDisp][1] &&
+ y < invent_display[_G(gameState).InvDisp][1] + 48) {
+ if (!_G(gameState).inv_cur && !_G(inv_disp_ok) && _G(gameState).AkInvent != -1) {
cursorChoice(CUR_USE);
}
_G(inv_disp_ok) = true;
} else {
- if (!_G(spieler).inv_cur && _G(inv_disp_ok)) {
+ if (!_G(gameState).inv_cur && _G(inv_disp_ok)) {
cursorChoice(_G(menu_item));
}
_G(inv_disp_ok) = false;
@@ -850,12 +850,12 @@ void mouseAction() {
if (!_G(flags).mainMouseFlag) {
if (_G(menu_display) == MENU_DISPLAY)
g_events->_kbInfo._scanCode = Common::KEYCODE_RETURN;
- else if (_G(spieler).AkInvent != -1) {
+ else if (_G(gameState).AkInvent != -1) {
if (_G(inv_disp_ok)) {
- if (_G(spieler).inv_cur) {
+ if (_G(gameState).inv_cur) {
_G(menu_item) = CUR_USE;
cursorChoice(_G(menu_item));
- _G(spieler).inv_cur = false;
+ _G(gameState).inv_cur = false;
} else {
_G(menu_item) = CUR_USE;
cursorChoice(CUR_AK_INVENT);
@@ -876,26 +876,26 @@ void mouseAction() {
void evaluateObj(int16 testNr, int16 mode) {
int16 ani_nr;
int16 txt_nr;
- int16 tmp = _G(spieler).AkInvent;
+ int16 tmp = _G(gameState).AkInvent;
int16 ret = NO_ACTION;
int16 action_flag = false;
switch (mode) {
case INVENTORY_NORMAL:
- ret = _G(obj)->action_iib_iib(_G(spieler).AkInvent, testNr);
+ ret = _G(obj)->action_iib_iib(_G(gameState).AkInvent, testNr);
if (ret != NO_ACTION) {
hideCur();
if (_G(flags).InventMenu == false) {
- if (_G(spieler).room_m_obj[_G(spieler).AkInvent].AutoMov != 255) {
+ if (_G(gameState).room_m_obj[_G(gameState).AkInvent].AutoMov != 255) {
_G(mouseLeftClick) = false;
- autoMove(_G(spieler).room_m_obj[testNr].AutoMov, P_CHEWY);
+ autoMove(_G(gameState).room_m_obj[testNr].AutoMov, P_CHEWY);
}
txt_nr = _G(obj)->iib_txt_nr(testNr);
Dialogs::Inventory::look_screen(INVENTORY_NORMAL, txt_nr);
- if (_G(spieler).room_m_obj[testNr].AniFlag != 255) {
- _G(spieler)._personHide[P_CHEWY] = _G(spieler).room_m_obj[testNr].HeldHide;
- play_scene_ani(_G(spieler).room_m_obj[testNr].AniFlag, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ if (_G(gameState).room_m_obj[testNr].AniFlag != 255) {
+ _G(gameState)._personHide[P_CHEWY] = _G(gameState).room_m_obj[testNr].HeldHide;
+ play_scene_ani(_G(gameState).room_m_obj[testNr].AniFlag, ANI_FRONT);
+ _G(gameState)._personHide[P_CHEWY] = false;
}
}
showCur();
@@ -903,19 +903,19 @@ void evaluateObj(int16 testNr, int16 mode) {
break;
case INVENTORY_STATIC:
- ret = _G(obj)->action_iib_sib(_G(spieler).AkInvent, testNr);
+ ret = _G(obj)->action_iib_sib(_G(gameState).AkInvent, testNr);
if (ret != NO_ACTION) {
_G(mouseLeftClick) = false;
hideCur();
- if (_G(spieler).room_m_obj[_G(spieler).AkInvent].AutoMov != 255) {
- autoMove(_G(spieler).room_s_obj[testNr].AutoMov, P_CHEWY);
+ if (_G(gameState).room_m_obj[_G(gameState).AkInvent].AutoMov != 255) {
+ autoMove(_G(gameState).room_s_obj[testNr].AutoMov, P_CHEWY);
}
txt_nr = _G(obj)->sib_txt_nr(testNr);
Dialogs::Inventory::look_screen(INVENTORY_STATIC, txt_nr);
- if (_G(spieler).room_s_obj[testNr].AniFlag != 255) {
- _G(spieler)._personHide[P_CHEWY] = _G(spieler).room_s_obj[testNr].HeldHide;
- tmp = getAniDirection((int16)_G(spieler).room_s_obj[testNr].ZustandAk);
- ani_nr = _G(spieler).room_s_obj[testNr].AniFlag;
+ if (_G(gameState).room_s_obj[testNr].AniFlag != 255) {
+ _G(gameState)._personHide[P_CHEWY] = _G(gameState).room_s_obj[testNr].HeldHide;
+ tmp = getAniDirection((int16)_G(gameState).room_s_obj[testNr].ZustandAk);
+ ani_nr = _G(gameState).room_s_obj[testNr].AniFlag;
if (ani_nr >= 150) {
start_spz_wait(ani_nr - 150, 1, false, P_CHEWY);
@@ -926,13 +926,13 @@ void evaluateObj(int16 testNr, int16 mode) {
}
if (ani_nr != -1)
play_scene_ani(ani_nr, tmp);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
}
_G(menu_item_vorwahl) = CUR_WALK;
showCur();
sib_event_inv(testNr);
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
_G(menu_item) = _G(menu_item_vorwahl);
cursorChoice(_G(menu_item));
}
@@ -945,17 +945,17 @@ void evaluateObj(int16 testNr, int16 mode) {
if (ret == OBJECT_1) {
_G(mouseLeftClick) = false;
hideCur();
- if (_G(spieler).room_s_obj[testNr].AutoMov != 255) {
+ if (_G(gameState).room_s_obj[testNr].AutoMov != 255) {
- autoMove(_G(spieler).room_s_obj[testNr].AutoMov, P_CHEWY);
+ autoMove(_G(gameState).room_s_obj[testNr].AutoMov, P_CHEWY);
}
txt_nr = _G(obj)->sib_txt_nr(testNr);
Dialogs::Inventory::look_screen(INVENTORY_STATIC, txt_nr);
- if (_G(spieler).room_s_obj[testNr].AniFlag != 255) {
- _G(spieler)._personHide[P_CHEWY] = _G(spieler).room_s_obj[testNr].HeldHide;
- tmp = getAniDirection((int16)_G(spieler).room_s_obj[testNr].ZustandAk);
+ if (_G(gameState).room_s_obj[testNr].AniFlag != 255) {
+ _G(gameState)._personHide[P_CHEWY] = _G(gameState).room_s_obj[testNr].HeldHide;
+ tmp = getAniDirection((int16)_G(gameState).room_s_obj[testNr].ZustandAk);
- ani_nr = _G(spieler).room_s_obj[testNr].AniFlag;
+ ani_nr = _G(gameState).room_s_obj[testNr].AniFlag;
if (ani_nr >= 150) {
start_spz_wait(ani_nr - 150, 1, false, P_CHEWY);
@@ -966,11 +966,11 @@ void evaluateObj(int16 testNr, int16 mode) {
}
if (ani_nr != -1)
play_scene_ani(ani_nr, tmp);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
}
- if (_G(spieler).room_s_obj[testNr].InvNr != -1) {
- invent_2_slot(_G(spieler).room_s_obj[testNr].InvNr);
+ if (_G(gameState).room_s_obj[testNr].InvNr != -1) {
+ invent_2_slot(_G(gameState).room_s_obj[testNr].InvNr);
action_flag = true;
}
_G(menu_item_vorwahl) = CUR_WALK;
@@ -979,7 +979,7 @@ void evaluateObj(int16 testNr, int16 mode) {
_G(obj)->calc_all_static_detail();
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
if (sib_ret || action_flag) {
_G(menu_item) = _G(menu_item_vorwahl);
@@ -989,16 +989,16 @@ void evaluateObj(int16 testNr, int16 mode) {
} else if (ret == SIB_GET_INV) {
_G(mouseLeftClick) = false;
hideCur();
- if (_G(spieler).room_s_obj[testNr].AutoMov != 255) {
- autoMove(_G(spieler).room_s_obj[testNr].AutoMov, P_CHEWY);
+ if (_G(gameState).room_s_obj[testNr].AutoMov != 255) {
+ autoMove(_G(gameState).room_s_obj[testNr].AutoMov, P_CHEWY);
}
txt_nr = _G(obj)->sib_txt_nr(testNr);
Dialogs::Inventory::look_screen(INVENTORY_STATIC, txt_nr);
- if (_G(spieler).room_s_obj[testNr].AniFlag != 255) {
- _G(spieler)._personHide[P_CHEWY] = _G(spieler).room_s_obj[testNr].HeldHide;
- tmp = getAniDirection((int16)_G(spieler).room_s_obj[testNr].ZustandAk);
+ if (_G(gameState).room_s_obj[testNr].AniFlag != 255) {
+ _G(gameState)._personHide[P_CHEWY] = _G(gameState).room_s_obj[testNr].HeldHide;
+ tmp = getAniDirection((int16)_G(gameState).room_s_obj[testNr].ZustandAk);
- ani_nr = _G(spieler).room_s_obj[testNr].AniFlag;
+ ani_nr = _G(gameState).room_s_obj[testNr].AniFlag;
if (ani_nr >= 150) {
start_spz_wait(ani_nr - 150, 1, false, P_CHEWY);
@@ -1010,17 +1010,17 @@ void evaluateObj(int16 testNr, int16 mode) {
if (ani_nr != -1) {
play_scene_ani(ani_nr, tmp);
}
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
}
- if (_G(spieler).room_s_obj[testNr].InvNr != -1)
- invent_2_slot(_G(spieler).room_s_obj[testNr].InvNr);
+ if (_G(gameState).room_s_obj[testNr].InvNr != -1)
+ invent_2_slot(_G(gameState).room_s_obj[testNr].InvNr);
_G(obj)->calc_rsi_flip_flop(testNr);
_G(menu_item_vorwahl) = CUR_WALK;
showCur();
sib_event_no_inv(testNr);
_G(obj)->calc_all_static_detail();
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
_G(menu_item) = _G(menu_item_vorwahl);
cursorChoice(_G(menu_item));
}
@@ -1262,7 +1262,7 @@ bool autoMove(int16 movNr, int16 playerNum) {
}
void goAutoXy(int16 x, int16 y, int16 personNum, int16 mode) {
- if (!_G(stopAutoMove)[personNum] && _G(spieler)._personRoomNr[personNum] == _G(spieler)._personRoomNr[P_CHEWY]) {
+ if (!_G(stopAutoMove)[personNum] && _G(gameState)._personRoomNr[personNum] == _G(gameState)._personRoomNr[P_CHEWY]) {
int16 move_status = true;
int16 tmp = _G(mouseLeftClick);
_G(mouseLeftClick) = false;
@@ -1325,7 +1325,7 @@ int16 calcMouseText(int16 x, int16 y, int16 mode) {
int16 txtNr = calc_mouse_mov_obj(&idx);
if (txtNr == -1) {
- idx = _G(det)->maus_vector(x + _G(spieler).scrollx, y + _G(spieler).scrolly);
+ idx = _G(det)->maus_vector(x + _G(gameState).scrollx, y + _G(gameState).scrolly);
if (idx != -1) {
txtNr = _G(Rdi)->mtxt[idx];
inv_no_use_mode = DETEDIT_REC;
@@ -1351,7 +1351,7 @@ int16 calcMouseText(int16 x, int16 y, int16 mode) {
case CUR_USER:
case CUR_USE:
txtMode = TXT_MARK_USE;
- if (_G(spieler).inv_cur)
+ if (_G(gameState).inv_cur)
ok = false;
break;
@@ -1370,7 +1370,7 @@ int16 calcMouseText(int16 x, int16 y, int16 mode) {
int16 action_ret = 0;
if (!_G(atds)->getControlBit(txtNr, ATS_ACTIVE_BIT, ATS_DATA)) {
if (_G(menu_item) != CUR_WALK && _G(menu_item) != CUR_USE) {
- if (x + _G(spieler).scrollx > _G(spieler_vector)[P_CHEWY].Xypos[0])
+ if (x + _G(gameState).scrollx > _G(spieler_vector)[P_CHEWY].Xypos[0])
setPersonSpr(P_RIGHT, P_CHEWY);
else
setPersonSpr(P_LEFT, P_CHEWY);
@@ -1397,7 +1397,7 @@ int16 calcMouseText(int16 x, int16 y, int16 mode) {
if (!ok && !action_ret) {
if (inv_no_use_mode != -1 && !_G(atds)->getControlBit(txtNr, ATS_ACTIVE_BIT, ATS_DATA)) {
- actionFl = calc_inv_no_use(idx + (_G(spieler)._personRoomNr[P_CHEWY] * 100), inv_no_use_mode);
+ actionFl = calc_inv_no_use(idx + (_G(gameState)._personRoomNr[P_CHEWY] * 100), inv_no_use_mode);
if (actionFl)
ret = txtNr;
}
@@ -1406,7 +1406,7 @@ int16 calcMouseText(int16 x, int16 y, int16 mode) {
if (ok && !action_ret && txtMode == TXT_MARK_USE && dispFl) {
if (!_G(atds)->getControlBit(txtNr, ATS_ACTIVE_BIT, ATS_DATA)) {
if (_G(menu_item) != CUR_WALK) {
- if (x + _G(spieler).scrollx > _G(spieler_vector)[P_CHEWY].Xypos[0])
+ if (x + _G(gameState).scrollx > _G(spieler_vector)[P_CHEWY].Xypos[0])
setPersonSpr(P_RIGHT, P_CHEWY);
else
setPersonSpr(P_LEFT, P_CHEWY);
@@ -1461,7 +1461,7 @@ int16 is_mouse_person(int16 x, int16 y) {
case P_HOWARD:
case P_NICHELLE:
- if (_G(spieler)._personRoomNr[i] != _G(spieler)._personRoomNr[P_CHEWY])
+ if (_G(gameState)._personRoomNr[i] != _G(gameState)._personRoomNr[P_CHEWY])
check = false;
xy = (int16 *)_G(PersonTaf)[i]->_image[_G(PersonSpr)[i][_G(spieler_vector)[i].PhNr]];
break;
@@ -1472,10 +1472,10 @@ int16 is_mouse_person(int16 x, int16 y) {
} else
xy = (int16 *)_G(spz_tinfo)->_image[_G(spz_spr_nr)[_G(spieler_vector)[i].PhNr]];
if (check) {
- if (x + _G(spieler).scrollx >= _G(spieler_vector)[i].Xypos[0] &&
- x + _G(spieler).scrollx <= _G(spieler_vector)[i].Xypos[0] + xy[0] + _G(spieler_vector)[i].Xzoom &&
- y + _G(spieler).scrolly >= _G(spieler_vector)[i].Xypos[1] &&
- y + _G(spieler).scrolly <= _G(spieler_vector)[i].Xypos[1] + xy[1] + _G(spieler_vector)[i].Yzoom) {
+ if (x + _G(gameState).scrollx >= _G(spieler_vector)[i].Xypos[0] &&
+ x + _G(gameState).scrollx <= _G(spieler_vector)[i].Xypos[0] + xy[0] + _G(spieler_vector)[i].Xzoom &&
+ y + _G(gameState).scrolly >= _G(spieler_vector)[i].Xypos[1] &&
+ y + _G(gameState).scrolly <= _G(spieler_vector)[i].Xypos[1] + xy[1] + _G(spieler_vector)[i].Yzoom) {
is_person = i;
}
}
@@ -1493,14 +1493,14 @@ void calc_mouse_person(int16 x, int16 y) {
if (_G(flags).ShowAtsInvTxt && !_G(flags).InventMenu) {
int16 p_nr = is_mouse_person(x, y);
if (p_nr != -1) {
- if (!_G(spieler)._personHide[p_nr]) {
+ if (!_G(gameState)._personHide[p_nr]) {
_G(fontMgr)->setFont(_G(font8));
char *str_ = ch_txt[p_nr];
calcTxtXy(&x, &y, str_, 1);
printShadowed(x, y, 255, 300, 0, _G(scr_width), str_);
if (_G(mouseLeftClick) == 1) {
int16 def_nr = -1;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
int16 txt_nr = calc_person_txt(p_nr);
switch (_G(menu_item)) {
case CUR_LOOK:
@@ -1568,7 +1568,7 @@ void calc_mouse_person(int16 x, int16 y) {
if (diaNr == -1) {
if (txt_nr != 30000) {
if (_G(menu_item) != CUR_WALK) {
- if (x + _G(spieler).scrollx > _G(spieler_vector)[P_CHEWY].Xypos[0])
+ if (x + _G(gameState).scrollx > _G(spieler_vector)[P_CHEWY].Xypos[0])
setPersonSpr(P_RIGHT, P_CHEWY);
else
setPersonSpr(P_LEFT, P_CHEWY);
@@ -1579,7 +1579,7 @@ void calc_mouse_person(int16 x, int16 y) {
}
} else {
if (_G(menu_item) != CUR_WALK) {
- if (x + _G(spieler).scrollx > _G(spieler_vector)[P_CHEWY].Xypos[0])
+ if (x + _G(gameState).scrollx > _G(spieler_vector)[P_CHEWY].Xypos[0])
setPersonSpr(P_RIGHT, P_CHEWY);
else
setPersonSpr(P_LEFT, P_CHEWY);
@@ -1634,15 +1634,15 @@ void get_user_key(int16 mode) {
_G(menu_flag) = MENU_HIDE;
_G(menu_display) = 0;
_G(cur_display) = true;
- if (_G(spieler).AkInvent == -1) {
+ if (_G(gameState).AkInvent == -1) {
_G(menu_item) = _G(tmp_menu_item);
cursorChoice(_G(menu_item));
- _G(spieler).inv_cur = false;
+ _G(gameState).inv_cur = false;
} else {
_G(menu_item) = CUR_USE;
cursorChoice(CUR_AK_INVENT);
- getDisplayCoord(&_G(spieler).DispZx, &_G(spieler).DispZy, _G(spieler).AkInvent);
+ getDisplayCoord(&_G(gameState).DispZx, &_G(gameState).DispZy, _G(gameState).AkInvent);
}
g_events->_kbInfo._keyCode = '\0';
@@ -1671,9 +1671,9 @@ void set_ani_screen() {
void delInventory(int16 nr) {
_G(obj)->delInventory(nr, &_G(room_blk));
- _G(spieler).inv_cur = false;
+ _G(gameState).inv_cur = false;
_G(menu_item) = CUR_WALK;
- _G(spieler).AkInvent = -1;
+ _G(gameState).AkInvent = -1;
cursorChoice(_G(menu_item));
del_invent_slot(nr);
_G(mouseLeftClick) = false;
@@ -1682,7 +1682,7 @@ void delInventory(int16 nr) {
bool isCurInventory(int16 nr) {
int16 ret = false;
- if (_G(spieler).AkInvent == nr && _G(spieler).inv_cur)
+ if (_G(gameState).AkInvent == nr && _G(gameState).inv_cur)
ret = true;
return ret;
@@ -1692,7 +1692,7 @@ void check_mouse_ausgang(int16 x, int16 y) {
if (_G(menu_item) == CUR_WALK) {
bool found = true;
int16 nr = _G(obj)->is_exit(x, y);
- int16 attr = (nr >= 0 && nr < MAX_EXIT) ? _G(spieler).room_e_obj[nr].Attribut : 0;
+ int16 attr = (nr >= 0 && nr < MAX_EXIT) ? _G(gameState).room_e_obj[nr].Attribut : 0;
switch (attr) {
case EXIT_LEFT:
@@ -1733,31 +1733,31 @@ void calc_ausgang(int16 x, int16 y) {
int16 nr = _G(obj)->is_exit(x, y);
if (nr != -1) {
_G(flags).ExitMov = true;
- if (autoMove(_G(spieler).room_e_obj[nr].AutoMov, P_CHEWY) == true) {
+ if (autoMove(_G(gameState).room_e_obj[nr].AutoMov, P_CHEWY) == true) {
_G(flags).ShowAtsInvTxt = false;
_G(menu_item) = CUR_DISK;
cursorChoice(CUR_DISK);
setupScreen(DO_SETUP);
_G(cur_hide_flag) = true;
exit_room(nr);
- _G(spieler)._personRoomNr[P_CHEWY] = _G(spieler).room_e_obj[nr].Exit;
- _G(room)->loadRoom(&_G(room_blk), _G(spieler)._personRoomNr[P_CHEWY], &_G(spieler));
- setPersonPos(_G(Rdi)->AutoMov[_G(spieler).room_e_obj[nr].ExitMov]._x -
+ _G(gameState)._personRoomNr[P_CHEWY] = _G(gameState).room_e_obj[nr].Exit;
+ _G(room)->loadRoom(&_G(room_blk), _G(gameState)._personRoomNr[P_CHEWY], &_G(gameState));
+ setPersonPos(_G(Rdi)->AutoMov[_G(gameState).room_e_obj[nr].ExitMov]._x -
_G(spieler_mi)[_G(auto_p_nr)].HotMovX,
- _G(Rdi)->AutoMov[_G(spieler).room_e_obj[nr].ExitMov]._y - _G(spieler_mi)[_G(auto_p_nr)].HotMovY
+ _G(Rdi)->AutoMov[_G(gameState).room_e_obj[nr].ExitMov]._y - _G(spieler_mi)[_G(auto_p_nr)].HotMovY
, P_CHEWY, -1);
int16 *ScrXy = (int16 *)_G(ablage)[_G(room_blk).AkAblage];
get_scroll_off(_G(spieler_vector)[P_CHEWY].Xypos[0] + _G(spieler_mi)[P_CHEWY].HotX,
_G(spieler_vector)[P_CHEWY].Xypos[1] + _G(spieler_mi)[P_CHEWY].HotY,
ScrXy[0], ScrXy[1],
- &_G(spieler).scrollx, &_G(spieler).scrolly);
+ &_G(gameState).scrollx, &_G(gameState).scrolly);
int16 u_idx = _G(ged)->ged_idx(_G(spieler_vector)[P_CHEWY].Xypos[0] + _G(spieler_mi)[P_CHEWY].HotX,
_G(spieler_vector)[P_CHEWY].Xypos[1] + _G(spieler_mi)[P_CHEWY].HotY,
_G(room)->_gedXNr[_G(room_blk).AkAblage],
_G(ged_mem)[_G(room_blk).AkAblage]);
check_shad(u_idx, 0);
- setPersonSpr(_G(Rdi)->AutoMov[_G(spieler).room_e_obj[nr].ExitMov]._sprNr, P_CHEWY);
+ setPersonSpr(_G(Rdi)->AutoMov[_G(gameState).room_e_obj[nr].ExitMov]._sprNr, P_CHEWY);
_G(spieler_vector)[P_CHEWY]._delayCount = 0;
_G(fx_blend) = BLEND1;
_G(auto_obj) = 0;
@@ -1808,26 +1808,26 @@ void calc_scroll(int16 x, int16 y, int16 pic_x, int16 pic_y, int16 *sc_x, int16
if (!_G(flags).NoScroll) {
if (!_G(scroll_delay)) {
- if ((_G(spieler).ScrollxStep * _G(spieler).DelaySpeed) > CH_X_PIX)
- _G(scroll_delay) = CH_X_PIX / _G(spieler).ScrollxStep;
+ if ((_G(gameState).ScrollxStep * _G(gameState).DelaySpeed) > CH_X_PIX)
+ _G(scroll_delay) = CH_X_PIX / _G(gameState).ScrollxStep;
if (x - *sc_x < SCROLL_LEFT) {
- if ((*sc_x - _G(spieler).ScrollxStep) > 0) {
- *sc_x -= _G(spieler).ScrollxStep;
+ if ((*sc_x - _G(gameState).ScrollxStep) > 0) {
+ *sc_x -= _G(gameState).ScrollxStep;
}
} else if (x - *sc_x > SCROLL_RIGHT) {
- if ((*sc_x + _G(spieler).ScrollxStep) < pic_x - SCREEN_WIDTH) {
- *sc_x += _G(spieler).ScrollxStep;
+ if ((*sc_x + _G(gameState).ScrollxStep) < pic_x - SCREEN_WIDTH) {
+ *sc_x += _G(gameState).ScrollxStep;
}
}
if (y - *sc_y < SCROLL_UP) {
- if ((*sc_y - _G(spieler).ScrollyStep) > 0) {
- *sc_y -= _G(spieler).ScrollyStep;
+ if ((*sc_y - _G(gameState).ScrollyStep) > 0) {
+ *sc_y -= _G(gameState).ScrollyStep;
}
} else if (y - *sc_y > SCROLL_DOWN) {
- if ((*sc_y + _G(spieler).ScrollyStep) < pic_y - SCREEN_HEIGHT) {
- *sc_y += _G(spieler).ScrollyStep;
+ if ((*sc_y + _G(gameState).ScrollyStep) < pic_y - SCREEN_HEIGHT) {
+ *sc_y += _G(gameState).ScrollyStep;
}
}
} else
@@ -1838,21 +1838,21 @@ void calc_scroll(int16 x, int16 y, int16 pic_x, int16 pic_y, int16 *sc_x, int16
void auto_scroll(int16 scrx, int16 scry) {
int16 tmpMouseClick = _G(mouseLeftClick);
_G(mouseLeftClick) = false;
- _G(spieler).scrollx >>= 1;
- _G(spieler).scrollx <<= 1;
- _G(spieler).scrolly >>= 1;
- _G(spieler).scrolly <<= 1;
+ _G(gameState).scrollx >>= 1;
+ _G(gameState).scrollx <<= 1;
+ _G(gameState).scrolly >>= 1;
+ _G(gameState).scrolly <<= 1;
bool endLoopFl = false;
while (!endLoopFl) {
- if (scrx < _G(spieler).scrollx)
- _G(spieler).scrollx -= _G(spieler).ScrollxStep;
- else if (scrx > _G(spieler).scrollx)
- _G(spieler).scrollx += _G(spieler).ScrollxStep;
- if (scry < _G(spieler).scrolly)
- _G(spieler).scrolly -= _G(spieler).ScrollyStep;
- else if (scry > _G(spieler).scrolly)
- _G(spieler).scrolly += _G(spieler).ScrollyStep;
- if (scrx == _G(spieler).scrollx && scry == _G(spieler).scrolly)
+ if (scrx < _G(gameState).scrollx)
+ _G(gameState).scrollx -= _G(gameState).ScrollxStep;
+ else if (scrx > _G(gameState).scrollx)
+ _G(gameState).scrollx += _G(gameState).ScrollxStep;
+ if (scry < _G(gameState).scrolly)
+ _G(gameState).scrolly -= _G(gameState).ScrollyStep;
+ else if (scry > _G(gameState).scrolly)
+ _G(gameState).scrolly += _G(gameState).ScrollyStep;
+ if (scrx == _G(gameState).scrollx && scry == _G(gameState).scrolly)
endLoopFl = true;
setupScreen(DO_SETUP);
SHOULD_QUIT_RETURN;
@@ -1891,8 +1891,8 @@ void calc_auto_go() {
void hide_person() {
for (int16 i = 0; i < MAX_PERSON; i++) {
- if (!_G(spieler)._personHide[i]) {
- _G(spieler)._personHide[i] = true;
+ if (!_G(gameState)._personHide[i]) {
+ _G(gameState)._personHide[i] = true;
_G(person_tmp_hide)[i] = true;
} else
_G(person_tmp_hide)[i] = false;
@@ -1903,20 +1903,20 @@ void show_person() {
for (int16 i = 0; i < MAX_PERSON; i++) {
if (_G(person_tmp_hide)[i])
- _G(spieler)._personHide[i] = false;
+ _G(gameState)._personHide[i] = false;
}
}
void save_person_rnr() {
for (int16 i = 0; i < MAX_PERSON; i++)
- _G(person_tmp_room)[i] = _G(spieler)._personRoomNr[i];
+ _G(person_tmp_room)[i] = _G(gameState)._personRoomNr[i];
_G(flags).SavePersonRnr = true;
}
void set_person_rnr() {
if (_G(flags).SavePersonRnr) {
for (int16 i = 0; i < MAX_PERSON; i++)
- _G(spieler)._personRoomNr[i] = _G(person_tmp_room)[i];
+ _G(gameState)._personRoomNr[i] = _G(person_tmp_room)[i];
_G(flags).SavePersonRnr = false;
}
}
diff --git a/engines/chewy/menus.cpp b/engines/chewy/menus.cpp
index f69418e3b44..3d0f1457046 100644
--- a/engines/chewy/menus.cpp
+++ b/engines/chewy/menus.cpp
@@ -66,14 +66,14 @@ void plotMainMenu() {
_G(out)->scale_set(_G(menutaf)->_image[i],
MENU_X + deltaX + correction[i * 2],
- _G(spieler).MainMenuY + correction[i * 2 + 1],
+ _G(gameState).MainMenuY + correction[i * 2 + 1],
zoomX, zoomY, 0);
}
zoomX = 16;
zoomY = 16;
++_G(m_flip);
- if (_G(m_flip) < 12 * (_G(spieler).DelaySpeed + 1)) {
+ if (_G(m_flip) < 12 * (_G(gameState).DelaySpeed + 1)) {
int deltaX = 0;
if (_G(menu_item) == CUR_SAVE)
deltaX = -40;
@@ -83,10 +83,10 @@ void plotMainMenu() {
int img = IMAGES[_G(menu_item)];
_G(out)->scale_set(_G(menutaf)->_image[img],
MENU_X + deltaX + correction[img * 2] - 5,
- _G(spieler).MainMenuY + correction[img * 2 + 1] - 10,
+ _G(gameState).MainMenuY + correction[img * 2 + 1] - 10,
zoomX, zoomY, 0);
} else {
- if (_G(m_flip) > 15 * (_G(spieler).DelaySpeed + 1))
+ if (_G(m_flip) > 15 * (_G(gameState).DelaySpeed + 1))
_G(m_flip) = 0;
}
}
@@ -298,7 +298,7 @@ void adsMenu() {
void stop_ads_dialog() {
aadWait(-1);
- _G(spieler).DispFlag = _G(ads_tmp_dsp);
+ _G(gameState).DispFlag = _G(ads_tmp_dsp);
_G(cur_display) = true;
_G(flags).ShowAtsInvTxt = true;
_G(flags).MainInput = true;
@@ -310,22 +310,22 @@ void stop_ads_dialog() {
}
void cur_2_inventory() {
- if (_G(spieler).AkInvent != -1) {
- invent_2_slot(_G(spieler).AkInvent);
- _G(spieler).AkInvent = -1;
+ if (_G(gameState).AkInvent != -1) {
+ invent_2_slot(_G(gameState).AkInvent);
+ _G(gameState).AkInvent = -1;
_G(menu_item) = CUR_WALK;
cursorChoice(_G(menu_item));
}
- _G(spieler).inv_cur = false;
+ _G(gameState).inv_cur = false;
}
void inventory_2_cur(int16 nr) {
- if (_G(spieler).AkInvent == -1 && _G(obj)->checkInventory(nr)) {
+ if (_G(gameState).AkInvent == -1 && _G(obj)->checkInventory(nr)) {
del_invent_slot(nr);
_G(menu_item) = CUR_USE;
- _G(spieler).AkInvent = nr;
+ _G(gameState).AkInvent = nr;
cursorChoice(CUR_AK_INVENT);
- getDisplayCoord(&_G(spieler).DispZx, &_G(spieler).DispZy, _G(spieler).AkInvent);
+ getDisplayCoord(&_G(gameState).DispZx, &_G(gameState).DispZy, _G(gameState).AkInvent);
}
}
@@ -338,8 +338,8 @@ void new_invent_2_cur(int16 inv_nr) {
void invent_2_slot(int16 nr) {
int16 ok = 0;
for (int16 i = 0; i < MAX_MOV_OBJ && !ok; i++) {
- if (_G(spieler).InventSlot[i] == -1) {
- _G(spieler).InventSlot[i] = nr;
+ if (_G(gameState).InventSlot[i] == -1) {
+ _G(gameState).InventSlot[i] = nr;
ok = true;
}
}
@@ -349,8 +349,8 @@ void invent_2_slot(int16 nr) {
int16 del_invent_slot(int16 nr) {
int16 ok = -1;
for (int16 i = 0; i < MAX_MOV_OBJ; i++) {
- if (_G(spieler).InventSlot[i] == nr) {
- _G(spieler).InventSlot[i] = -1;
+ if (_G(gameState).InventSlot[i] == nr) {
+ _G(gameState).InventSlot[i] = -1;
if (ok == -1)
ok = i;
}
@@ -360,7 +360,7 @@ int16 del_invent_slot(int16 nr) {
}
void remove_inventory(int16 nr) {
- if (nr == _G(spieler).AkInvent) {
+ if (nr == _G(gameState).AkInvent) {
delInventory(nr);
} else {
_G(obj)->delInventory(nr, &_G(room_blk));
diff --git a/engines/chewy/r_event.cpp b/engines/chewy/r_event.cpp
index f66b548f0ff..b61b0b1d8da 100644
--- a/engines/chewy/r_event.cpp
+++ b/engines/chewy/r_event.cpp
@@ -47,7 +47,7 @@ void play_scene_ani(int16 nr, int16 mode) {
#define ROOM_8_17 817
#define ROOM_9_4 904
#define ROOM_18_20 1820
- int16 r_nr = _G(spieler)._personRoomNr[P_CHEWY] * 100 + nr;
+ int16 r_nr = _G(gameState)._personRoomNr[P_CHEWY] * 100 + nr;
switch (r_nr) {
case ROOM_2_3:
@@ -60,7 +60,7 @@ void play_scene_ani(int16 nr, int16 mode) {
break;
case ROOM_18_20:
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
break;
default:
@@ -101,7 +101,7 @@ void timer_action(int16 t_nr) {
return;
#define TIMER(NUM) case NUM: Room##NUM::timer(t_nr, ani_nr); break;
- switch (_G(spieler)._personRoomNr[P_CHEWY]) {
+ switch (_G(gameState)._personRoomNr[P_CHEWY]) {
TIMER(0);
TIMER(11);
TIMER(12);
@@ -141,7 +141,7 @@ void check_ged_action(int16 index) {
_G(flags).GedAction = true;
#define GED_ACTION(NUM) case NUM: Room##NUM::gedAction(index); break;
- switch (_G(spieler)._personRoomNr[P_CHEWY]) {
+ switch (_G(gameState)._personRoomNr[P_CHEWY]) {
GED_ACTION(1);
GED_ACTION(2);
GED_ACTION(7);
@@ -180,74 +180,74 @@ void check_ged_action(int16 index) {
int16 ged_user_func(int16 idx_nr) {
switch (idx_nr) {
case 40:
- switch (_G(spieler)._personRoomNr[P_CHEWY]) {
+ switch (_G(gameState)._personRoomNr[P_CHEWY]) {
case 8:
- if (_G(spieler).R8GTuer)
+ if (_G(gameState).R8GTuer)
idx_nr = 0;
break;
case 9:
- if (!_G(spieler).R9Gitter)
+ if (!_G(gameState).R9Gitter)
idx_nr = 0;
break;
case 16:
- if (!_G(spieler).R16F5Exit)
+ if (!_G(gameState).R16F5Exit)
idx_nr = 0;
break;
case 17:
- if (_G(spieler).R17Location != 1)
+ if (_G(gameState).R17Location != 1)
idx_nr = 0;
break;
case 21:
- if (!_G(spieler).R21Laser2Weg)
+ if (!_G(gameState).R21Laser2Weg)
idx_nr = 0;
break;
case 31:
- if (!_G(spieler).R31KlappeZu)
+ if (!_G(gameState).R31KlappeZu)
idx_nr = 0;
break;
case 41:
- if (!_G(spieler).R41LolaOk)
+ if (!_G(gameState).R41LolaOk)
idx_nr = 0;
break;
case 52:
- if (!_G(spieler).R52LichtAn)
+ if (!_G(gameState).R52LichtAn)
idx_nr = 2;
else
idx_nr = 4;
break;
case 71:
- idx_nr = _G(spieler).R71LeopardVined ? 1 : 0;
+ idx_nr = _G(gameState).R71LeopardVined ? 1 : 0;
break;
case 76:
- idx_nr = _G(spieler).flags29_4 ? 4 : 0;
+ idx_nr = _G(gameState).flags29_4 ? 4 : 0;
break;
case 84:
- if (!_G(spieler).R88UsedMonkey)
- _G(spieler).R84GoonsPresent = true;
+ if (!_G(gameState).R88UsedMonkey)
+ _G(gameState).R84GoonsPresent = true;
break;
case 86:
- if (!_G(spieler).flags32_2)
+ if (!_G(gameState).flags32_2)
idx_nr = 0;
break;
case 94:
- if (!_G(spieler).flags35_10)
+ if (!_G(gameState).flags35_10)
idx_nr = 0;
break;
case 97:
- if (_G(spieler).flags35_80)
+ if (_G(gameState).flags35_80)
idx_nr = 0;
break;
@@ -257,33 +257,33 @@ int16 ged_user_func(int16 idx_nr) {
break;
case 41:
- switch (_G(spieler)._personRoomNr[P_CHEWY]) {
+ switch (_G(gameState)._personRoomNr[P_CHEWY]) {
case 17:
- if (_G(spieler).R17Location != 2)
+ if (_G(gameState).R17Location != 2)
idx_nr = 0;
break;
case 21:
- if (!_G(spieler).R21Laser1Weg) {
+ if (!_G(gameState).R21Laser1Weg) {
idx_nr = 0;
} else
idx_nr = 3;
break;
case 37:
- if (!_G(spieler).R37Kloppe)
+ if (!_G(gameState).R37Kloppe)
idx_nr = 0;
break;
case 52:
- if (!_G(spieler).R52TuerAuf)
+ if (!_G(gameState).R52TuerAuf)
idx_nr = 2;
else
idx_nr = 4;
break;
case 97:
- if (_G(spieler).flags36_20)
+ if (_G(gameState).flags36_20)
idx_nr = 0;
break;
@@ -293,8 +293,8 @@ int16 ged_user_func(int16 idx_nr) {
break;
case 42:
- if (_G(spieler)._personRoomNr[P_CHEWY] == 97) {
- if (!_G(spieler).flags37_1)
+ if (_G(gameState)._personRoomNr[P_CHEWY] == 97) {
+ if (!_G(gameState).flags37_1)
idx_nr = 0;
}
break;
@@ -307,23 +307,23 @@ int16 ged_user_func(int16 idx_nr) {
}
void enter_room(int16 eib_nr) {
- load_room_music(_G(spieler)._personRoomNr[P_CHEWY]);
- load_chewy_taf(_G(spieler).ChewyAni);
+ load_room_music(_G(gameState)._personRoomNr[P_CHEWY]);
+ load_chewy_taf(_G(gameState).ChewyAni);
_G(atds)->stopAad();
_G(atds)->stop_ats();
- _G(spieler).DiaAMov = -1;
+ _G(gameState).DiaAMov = -1;
_G(zoom_mov_fak) = 1;
for (int16 i = 0; i < MAX_PERSON; i++) {
_G(spieler_mi)[i].Vorschub = 8;
- _G(spieler).ZoomXy[i][0] = 0;
- _G(spieler).ZoomXy[i][1] = 0;
+ _G(gameState).ZoomXy[i][0] = 0;
+ _G(gameState).ZoomXy[i][1] = 0;
}
_G(flags).ZoomMov = false;
- _G(spieler).ScrollxStep = 1;
- _G(spieler).ZoomXy[P_CHEWY][0] = (int16)_G(room)->_roomInfo->_zoomFactor;
- _G(spieler).ZoomXy[P_CHEWY][1] = (int16)_G(room)->_roomInfo->_zoomFactor;
+ _G(gameState).ScrollxStep = 1;
+ _G(gameState).ZoomXy[P_CHEWY][0] = (int16)_G(room)->_roomInfo->_zoomFactor;
+ _G(gameState).ZoomXy[P_CHEWY][1] = (int16)_G(room)->_roomInfo->_zoomFactor;
_G(uhr)->resetTimer(0, 0);
_G(flags).AutoAniPlay = false;
@@ -334,7 +334,7 @@ void enter_room(int16 eib_nr) {
#define ENTRY(NUM) case NUM: Room##NUM::entry(); break
#define ENTRY_NR(NUM) case NUM: Room##NUM::entry(eib_nr); break
- switch (_G(spieler)._personRoomNr[P_CHEWY]) {
+ switch (_G(gameState)._personRoomNr[P_CHEWY]) {
ENTRY(0);
ENTRY(2);
ENTRY(3);
@@ -352,8 +352,8 @@ void enter_room(int16 eib_nr) {
case 17:
Room17::entry();
- if (_G(spieler).SoundSwitch) {
- if (!_G(spieler).R17EnergieOut)
+ if (_G(gameState).SoundSwitch) {
+ if (!_G(gameState).R17EnergieOut)
g_engine->_sound->playSound(15);
}
break;
@@ -366,7 +366,7 @@ void enter_room(int16 eib_nr) {
case 24:
Room24::entry();
- if (_G(spieler).SoundSwitch)
+ if (_G(gameState).SoundSwitch)
g_engine->_sound->playSound(17);
break;
@@ -455,10 +455,10 @@ void exit_room(int16 eib_nr) {
bool no_exit = false;
_G(det)->disable_room_sound();
- switch (_G(spieler)._personRoomNr[P_CHEWY]) {
+ switch (_G(gameState)._personRoomNr[P_CHEWY]) {
case 6:
if (eib_nr == 8)
- _G(spieler).R17Location = 2;
+ _G(gameState).R17Location = 2;
break;
case 11:
@@ -471,14 +471,14 @@ void exit_room(int16 eib_nr) {
case 18:
if (eib_nr == 40)
- _G(spieler).R17Location = 2;
+ _G(gameState).R17Location = 2;
else if (eib_nr == 41)
- _G(spieler).R17Location = 3;
- _G(spieler).ScrollxStep = 1;
+ _G(gameState).R17Location = 3;
+ _G(gameState).ScrollxStep = 1;
_G(flags).NoScroll = false;
- _G(spieler).R18Gitter = false;
- _G(spieler).room_e_obj[50].Attribut = 255;
- _G(spieler).room_e_obj[41].Attribut = EXIT_BOTTOM;
+ _G(gameState).R18Gitter = false;
+ _G(gameState).room_e_obj[50].Attribut = 255;
+ _G(gameState).room_e_obj[41].Attribut = EXIT_BOTTOM;
break;
case 19:
@@ -487,7 +487,7 @@ void exit_room(int16 eib_nr) {
case 21:
if (eib_nr == 47)
- _G(spieler).R17Location = 1;
+ _G(gameState).R17Location = 1;
_G(flags).NoEndPosMovObj = false;
_G(SetUpScreenFunc) = nullptr;
load_chewy_taf(CHEWY_NORMAL);
@@ -498,14 +498,14 @@ void exit_room(int16 eib_nr) {
break;
case 23:
- _G(spieler)._personHide[P_CHEWY] = false;
- switch (_G(spieler).R23GleiterExit) {
+ _G(gameState)._personHide[P_CHEWY] = false;
+ switch (_G(gameState).R23GleiterExit) {
case 16:
setPersonPos(126, 110, P_CHEWY, P_RIGHT);
break;
case 25:
- _G(spieler).R25GleiterExit = true;
+ _G(gameState).R25GleiterExit = true;
break;
default:
@@ -537,8 +537,8 @@ void exit_room(int16 eib_nr) {
case 57: Room57::xit(eib_nr); break;
case 64:
- if (_G(spieler).R64Moni1Ani == 5)
- _G(spieler).R64Moni1Ani = 3;
+ if (_G(gameState).R64Moni1Ani == 5)
+ _G(gameState).R64Moni1Ani = 3;
break;
case 65: Room65::xit(); break;
@@ -733,14 +733,14 @@ void exit_room(int16 eib_nr) {
}
if (no_exit) {
- switch (_G(spieler)._personRoomNr[P_CHEWY]) {
+ switch (_G(gameState)._personRoomNr[P_CHEWY]) {
case 40:
Room40::xit(eib_nr);
break;
case 42:
- if (_G(spieler)._personRoomNr[P_HOWARD] == 42)
- _G(spieler)._personRoomNr[P_HOWARD] = 40;
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 42)
+ _G(gameState)._personRoomNr[P_HOWARD] = 40;
break;
case 50: Room50::xit(eib_nr); break;
@@ -822,7 +822,7 @@ static void playIntroSequence() {
start_aad(595);
_G(atds)->print_aad(254, 0);
- if (_G(spieler).SpeechSwitch) {
+ if (_G(gameState).SpeechSwitch) {
g_engine->_sound->waitForSpeechToFinish();
} else {
delay(6000);
@@ -860,7 +860,7 @@ void flic_cut(int16 nr) {
_G(out)->ausblenden(1);
_G(out)->cls();
while (_G(sndPlayer)->musicPlaying());
- _G(sndPlayer)->setLoopMode(_G(spieler).soundLoopMode);
+ _G(sndPlayer)->setLoopMode(_G(gameState).soundLoopMode);
break;
case FCUT_058:
@@ -868,7 +868,7 @@ void flic_cut(int16 nr) {
g_engine->_video->playVideo(FCUT_058);
g_engine->_video->playVideo(FCUT_059);
- if (!_G(spieler).R43GetPgLady) {
+ if (!_G(gameState).R43GetPgLady) {
g_engine->_video->playVideo(FCUT_060);
} else {
start_aad(623, -1);
@@ -888,7 +888,7 @@ void flic_cut(int16 nr) {
load_room_music(256);
_G(sndPlayer)->setLoopMode(1);
Room46::kloppe();
- _G(sndPlayer)->setLoopMode(_G(spieler).soundLoopMode);
+ _G(sndPlayer)->setLoopMode(_G(gameState).soundLoopMode);
_G(currentSong) = -1;
break;
@@ -921,13 +921,13 @@ void flic_cut(int16 nr) {
SHOULD_QUIT_RETURN;
g_events->delay(50);
- g_engine->_sound->setSoundVolume(_G(spieler).SoundVol * Audio::Mixer::kMaxChannelVolume / 120);
- g_engine->_sound->setMusicVolume(_G(spieler).MusicVol * Audio::Mixer::kMaxChannelVolume / 120);
+ g_engine->_sound->setSoundVolume(_G(gameState).SoundVol * Audio::Mixer::kMaxChannelVolume / 120);
+ g_engine->_sound->setMusicVolume(_G(gameState).MusicVol * Audio::Mixer::kMaxChannelVolume / 120);
if (nr != FCUT_135) {
- load_room_music(_G(spieler)._personRoomNr[0]);
+ load_room_music(_G(gameState)._personRoomNr[0]);
- if (_G(spieler).SpeechSwitch)
+ if (_G(gameState).SpeechSwitch)
_G(det)->enable_room_sound();
_G(uhr)->resetTimer(0, 0);
@@ -954,14 +954,14 @@ uint16 exit_flip_flop(int16 ani_nr, int16 eib_nr1, int16 eib_nr2,
_G(atds)->set_ats_str(ats_nr2, flag, ATS_DATA);
if (flag) {
if (eib_nr1 != -1)
- _G(spieler).room_e_obj[eib_nr1].Attribut = spr_nr1;
+ _G(gameState).room_e_obj[eib_nr1].Attribut = spr_nr1;
if (eib_nr2 != -1)
- _G(spieler).room_e_obj[eib_nr2].Attribut = spr_nr2;
+ _G(gameState).room_e_obj[eib_nr2].Attribut = spr_nr2;
} else {
if (eib_nr1 != -1)
- _G(spieler).room_e_obj[eib_nr1].Attribut = 255;
+ _G(gameState).room_e_obj[eib_nr1].Attribut = 255;
if (eib_nr2 != -1)
- _G(spieler).room_e_obj[eib_nr2].Attribut = 255;
+ _G(gameState).room_e_obj[eib_nr2].Attribut = 255;
}
if (sib_nr != -1)
_G(obj)->calc_rsi_flip_flop(sib_nr);
@@ -978,22 +978,22 @@ int16 sib_event_no_inv(int16 sib_nr) {
break;
case SIB_MONOCLE:
- _G(spieler).R0Monocle = true;
+ _G(gameState).R0Monocle = true;
_G(obj)->hide_sib(SIB_MONOCLE);
- if (_G(spieler).R0Noteboook)
+ if (_G(gameState).R0Noteboook)
_G(atds)->delControlBit(12, ATS_ACTIVE_BIT, ATS_DATA);
break;
case SIB_NOTEBOOK:
- _G(spieler).R0Noteboook = true;
+ _G(gameState).R0Noteboook = true;
_G(obj)->hide_sib(SIB_NOTEBOOK);
- if (_G(spieler).R0Monocle)
+ if (_G(gameState).R0Monocle)
_G(atds)->delControlBit(12, ATS_ACTIVE_BIT, ATS_DATA);
break;
case SIB_TERMINAL_R5:
- if (_G(spieler).R5Terminal) {
- _G(spieler).R5Terminal = 0;
+ if (_G(gameState).R5Terminal) {
+ _G(gameState).R5Terminal = 0;
_G(det)->stop_detail(6);
_G(atds)->set_ats_str(27, TXT_MARK_LOOK, 0, ATS_DATA);
_G(atds)->set_ats_str(30, TXT_MARK_LOOK, 0, ATS_DATA);
@@ -1017,17 +1017,17 @@ int16 sib_event_no_inv(int16 sib_nr) {
break;
case SIB_TBUTTON1_R7:
- _G(spieler).R6DoorLeftB = exit_flip_flop(3, 12, 9, 49, 35, SIB_TBUTTON2_R6,
+ _G(gameState).R6DoorLeftB = exit_flip_flop(3, 12, 9, 49, 35, SIB_TBUTTON2_R6,
EXIT_TOP, EXIT_LEFT,
- (int16)_G(spieler).R6DoorLeftB);
+ (int16)_G(gameState).R6DoorLeftB);
break;
case SIB_HEBEL_R7:
- _G(spieler).R7Hebel ^= 1;
+ _G(gameState).R7Hebel ^= 1;
- if (!_G(spieler).R7Hebel)
+ if (!_G(gameState).R7Hebel)
_G(atds)->set_ats_str(50, 0, ATS_DATA);
- else if (!_G(spieler).R7BorkFlug)
+ else if (!_G(gameState).R7BorkFlug)
_G(atds)->set_ats_str(50, 1, ATS_DATA);
else
_G(atds)->set_ats_str(50, 2, ATS_DATA);
@@ -1038,15 +1038,15 @@ int16 sib_event_no_inv(int16 sib_nr) {
break;
case SIB_GIPS_R7:
- _G(spieler).R7RHaken = true;
+ _G(gameState).R7RHaken = true;
_G(obj)->show_sib(SIB_RHAKEN_R7);
_G(obj)->hide_sib(SIB_GIPS_R7);
break;
case SIB_TBUTTON2_R7:
- _G(spieler).R7DoorRight = exit_flip_flop(4, 13, 14, 53, 68, SIB_TUER_R8,
+ _G(gameState).R7DoorRight = exit_flip_flop(4, 13, 14, 53, 68, SIB_TUER_R8,
EXIT_RIGHT, EXIT_RIGHT,
- (int16)_G(spieler).R7DoorRight);
+ (int16)_G(gameState).R7DoorRight);
break;
case SIB_SCHLOTT_R7:
@@ -1054,9 +1054,9 @@ int16 sib_event_no_inv(int16 sib_nr) {
break;
case SIB_LHAKEN_R7:
- if (_G(spieler).R7SeilLeft) {
- if (_G(spieler).R7RHaken) {
- _G(spieler).R7SeilOk = true;
+ if (_G(gameState).R7SeilLeft) {
+ if (_G(gameState).R7RHaken) {
+ _G(gameState).R7SeilOk = true;
autoMove(4, P_CHEWY);
_G(obj)->calc_rsi_flip_flop(SIB_LHAKEN_R7);
_G(obj)->calc_rsi_flip_flop(SIB_RHAKEN_R7);
@@ -1076,9 +1076,9 @@ int16 sib_event_no_inv(int16 sib_nr) {
break;
case SIB_TUER_R8:
- _G(spieler).R7DoorRight = exit_flip_flop(-1, 14, 13, 68, 53, SIB_TBUTTON2_R7,
+ _G(gameState).R7DoorRight = exit_flip_flop(-1, 14, 13, 68, 53, SIB_TBUTTON2_R7,
EXIT_RIGHT, EXIT_RIGHT,
- (int16)_G(spieler).R7DoorRight);
+ (int16)_G(gameState).R7DoorRight);
break;
case SIB_DEE_PAINT_R9:
@@ -1090,9 +1090,9 @@ int16 sib_event_no_inv(int16 sib_nr) {
break;
case SIB_BANDBUTTON_R13:
- _G(spieler).R13Bandlauf ^= 1;
+ _G(gameState).R13Bandlauf ^= 1;
- if (_G(spieler).R13Bandlauf) {
+ if (_G(gameState).R13Bandlauf) {
for (int i = 0; i < 5; ++i)
_G(det)->startDetail(i, 255, ANI_FRONT);
} else {
@@ -1100,9 +1100,9 @@ int16 sib_event_no_inv(int16 sib_nr) {
_G(det)->stop_detail(i);
}
- _G(atds)->set_ats_str(94, TXT_MARK_LOOK, _G(spieler).R13Bandlauf, ATS_DATA);
- _G(atds)->set_ats_str(97, TXT_MARK_LOOK, _G(spieler).R13Bandlauf, ATS_DATA);
- _G(atds)->set_ats_str(93, TXT_MARK_LOOK, _G(spieler).R13Bandlauf, ATS_DATA);
+ _G(atds)->set_ats_str(94, TXT_MARK_LOOK, _G(gameState).R13Bandlauf, ATS_DATA);
+ _G(atds)->set_ats_str(97, TXT_MARK_LOOK, _G(gameState).R13Bandlauf, ATS_DATA);
+ _G(atds)->set_ats_str(93, TXT_MARK_LOOK, _G(gameState).R13Bandlauf, ATS_DATA);
break;
case SIB_CARTRIDGE_R23:
@@ -1110,7 +1110,7 @@ int16 sib_event_no_inv(int16 sib_nr) {
break;
case SIB_FLUXO_R23:
- _G(spieler).R23FluxoFlex = false;
+ _G(gameState).R23FluxoFlex = false;
_G(atds)->set_ats_str(112, 0, ATS_DATA);
_G(menu_item_vorwahl) = CUR_USE;
break;
@@ -1121,35 +1121,35 @@ int16 sib_event_no_inv(int16 sib_nr) {
break;
case SIB_TALISMAN_R12:
- _G(spieler).R12Talisman = true;
+ _G(gameState).R12Talisman = true;
_G(obj)->hide_sib(SIB_TALISMAN_R12);
_G(timer_nr)[0] = _G(room)->set_timer(255, 20);
break;
case SIB_GITTER_R16:
_G(atds)->set_ats_str(125, 1, ATS_DATA);
- _G(spieler).room_e_obj[33].Attribut = EXIT_TOP;
+ _G(gameState).room_e_obj[33].Attribut = EXIT_TOP;
break;
case SIB_SCHALTER1_R21:
- _G(det)->startDetail(0, 1, _G(spieler).R21Hebel1);
- _G(spieler).R21Hebel1 ^= 1;
+ _G(det)->startDetail(0, 1, _G(gameState).R21Hebel1);
+ _G(gameState).R21Hebel1 ^= 1;
Room21::calc_laser();
- _G(atds)->set_ats_str(126, TXT_MARK_LOOK, _G(spieler).R21Hebel1, ATS_DATA);
+ _G(atds)->set_ats_str(126, TXT_MARK_LOOK, _G(gameState).R21Hebel1, ATS_DATA);
break;
case SIB_SCHALTER2_R21:
- _G(det)->startDetail(1, 1, _G(spieler).R21Hebel2);
- _G(spieler).R21Hebel2 ^= 1;
+ _G(det)->startDetail(1, 1, _G(gameState).R21Hebel2);
+ _G(gameState).R21Hebel2 ^= 1;
Room21::calc_laser();
- _G(atds)->set_ats_str(127, TXT_MARK_LOOK, _G(spieler).R21Hebel2, ATS_DATA);
+ _G(atds)->set_ats_str(127, TXT_MARK_LOOK, _G(gameState).R21Hebel2, ATS_DATA);
break;
case SIB_SCHALTER3_R21:
- _G(det)->startDetail(2, 1, _G(spieler).R21Hebel3);
- _G(spieler).R21Hebel3 ^= 1;
+ _G(det)->startDetail(2, 1, _G(gameState).R21Hebel3);
+ _G(gameState).R21Hebel3 ^= 1;
Room21::calc_laser();
- _G(atds)->set_ats_str(128, TXT_MARK_LOOK, _G(spieler).R21Hebel3, ATS_DATA);
+ _G(atds)->set_ats_str(128, TXT_MARK_LOOK, _G(gameState).R21Hebel3, ATS_DATA);
break;
case SIB_SEIL_R21:
@@ -1165,7 +1165,7 @@ int16 sib_event_no_inv(int16 sib_nr) {
break;
case SIB_DOORKNOB_R18:
- if (_G(spieler).R18DoorBruecke) {
+ if (_G(gameState).R18DoorBruecke) {
g_engine->_sound->stopSound(0);
g_engine->_sound->playSound(19, 1);
} else {
@@ -1173,19 +1173,19 @@ int16 sib_event_no_inv(int16 sib_nr) {
g_engine->_sound->stopSound(1);
}
- if (!_G(spieler).R6DoorLeftF) {
- _G(spieler).R6DoorLeftF = exit_flip_flop(-1, 8, -1, 33, -1, SIB_TBUTTON1_R6,
+ if (!_G(gameState).R6DoorLeftF) {
+ _G(gameState).R6DoorLeftF = exit_flip_flop(-1, 8, -1, 33, -1, SIB_TBUTTON1_R6,
EXIT_LEFT, -1,
- (int16)_G(spieler).R6DoorLeftF);
+ (int16)_G(gameState).R6DoorLeftF);
}
- _G(spieler).R18DoorBruecke = exit_flip_flop(19, 40, 35, 148, -1, -1,
+ _G(gameState).R18DoorBruecke = exit_flip_flop(19, 40, 35, 148, -1, -1,
EXIT_TOP, EXIT_LEFT,
- (int16)_G(spieler).R18DoorBruecke);
+ (int16)_G(gameState).R18DoorBruecke);
break;
case SIB_CART_FACH_R18:
start_spz_wait(CH_LGET_O, 1, false, P_CHEWY);
- _G(spieler).R18CartFach = 0;
+ _G(gameState).R18CartFach = 0;
cur_2_inventory();
_G(atds)->set_ats_str(157, 1, AAD_DATA);
break;
@@ -1216,7 +1216,7 @@ int16 sib_event_no_inv(int16 sib_nr) {
case SIB_TOPF_R31:
_G(obj)->hide_sib(SIB_TOPF_R31);
_G(atds)->set_ats_str(242, 1, ATS_DATA);
- _G(spieler).R31PflanzeWeg = true;
+ _G(gameState).R31PflanzeWeg = true;
break;
case SIB_HFUTTER1_R37:
@@ -1233,14 +1233,14 @@ int16 sib_event_no_inv(int16 sib_nr) {
_G(obj)->hide_sib(sib_nr);
_G(det)->del_static_ani(6);
_G(room)->set_timer_status(6, TIMER_STOP);
- _G(spieler).R40Geld = true;
+ _G(gameState).R40Geld = true;
start_spz(CH_PUMP_TALK, 255, ANI_FRONT, P_CHEWY);
startAadWait(201);
break;
case SIB_VISIT_R53:
_G(obj)->hide_sib(sib_nr);
- _G(spieler).R53Visit = true;
+ _G(gameState).R53Visit = true;
break;
case SIB_CIGAR_R50:
@@ -1249,13 +1249,13 @@ int16 sib_event_no_inv(int16 sib_nr) {
case SIB_LAMPE_R52:
_G(atds)->delControlBit(338, ATS_ACTIVE_BIT, ATS_DATA);
- _G(spieler).R52LichtAn ^= 1;
- check_shad(2 * (_G(spieler).R52LichtAn + 1), 1);
+ _G(gameState).R52LichtAn ^= 1;
+ check_shad(2 * (_G(gameState).R52LichtAn + 1), 1);
break;
case SIB_KAUTABAK_R56:
_G(obj)->hide_sib(sib_nr);
- _G(spieler).R56GetTabak = true;
+ _G(gameState).R56GetTabak = true;
break;
case SIB_ASCHE_R64:
@@ -1269,13 +1269,13 @@ int16 sib_event_no_inv(int16 sib_nr) {
_G(cur_hide_flag) = false;
hideCur();
startAadWait(406);
- if (_G(spieler)._personRoomNr[P_HOWARD] == 66)
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 66)
startAadWait(613);
showCur();
break;
case 100:
- _G(spieler).flags33_1 = true;
+ _G(gameState).flags33_1 = true;
break;
default:
@@ -1290,8 +1290,8 @@ int16 sib_event_no_inv(int16 sib_nr) {
void sib_event_inv(int16 sib_nr) {
switch (sib_nr) {
case SIB_TERMINAL_R5:
- if (!_G(spieler).R5Terminal) {
- _G(spieler).R5Terminal = true;
+ if (!_G(gameState).R5Terminal) {
+ _G(gameState).R5Terminal = true;
cur_2_inventory();
delInventory(RED_CARD_INV);
start_aad(103, -1);
@@ -1302,23 +1302,23 @@ void sib_event_inv(int16 sib_nr) {
break;
case SIB_TBUTTON1_R6:
- _G(spieler).R6DoorLeftF = exit_flip_flop(4, 8, -1, 33, -1, -1,
- EXIT_LEFT, -1, _G(spieler).R6DoorLeftF);
+ _G(gameState).R6DoorLeftF = exit_flip_flop(4, 8, -1, 33, -1, -1,
+ EXIT_LEFT, -1, _G(gameState).R6DoorLeftF);
break;
case SIB_TBUTTON2_R6:
- _G(spieler).R6DoorLeftB = exit_flip_flop(5, 9, 12, 35, 49, SIB_TBUTTON1_R7,
- EXIT_LEFT, EXIT_TOP, _G(spieler).R6DoorLeftB);
+ _G(gameState).R6DoorLeftB = exit_flip_flop(5, 9, 12, 35, 49, SIB_TBUTTON1_R7,
+ EXIT_LEFT, EXIT_TOP, _G(gameState).R6DoorLeftB);
break;
case SIB_TBUTTON3_R6:
- _G(spieler).R6DoorRightB = exit_flip_flop(6, 11, 20, 37, 99, SIB_TBUTTON3_R11,
- EXIT_RIGHT, EXIT_LEFT, _G(spieler).R6DoorRightB);
+ _G(gameState).R6DoorRightB = exit_flip_flop(6, 11, 20, 37, 99, SIB_TBUTTON3_R11,
+ EXIT_RIGHT, EXIT_LEFT, _G(gameState).R6DoorRightB);
break;
case SIB_BOLA_BUTTON_R6:
- delInventory(_G(spieler).AkInvent);
- _G(spieler).R6BolaSchild = true;
+ delInventory(_G(gameState).AkInvent);
+ _G(gameState).R6BolaSchild = true;
_G(det)->showStaticSpr(2);
_G(obj)->calc_rsi_flip_flop(SIB_BOLA_BUTTON_R6);
_G(obj)->hide_sib(SIB_BOLA_BUTTON_R6);
@@ -1349,18 +1349,18 @@ void sib_event_inv(int16 sib_nr) {
break;
case SIB_TBUTTON1_R11:
- _G(spieler).R11DoorRightF = exit_flip_flop(1, 23, -1, 87, -1, -1,
- EXIT_TOP, -1, _G(spieler).R11DoorRightF);
+ _G(gameState).R11DoorRightF = exit_flip_flop(1, 23, -1, 87, -1, -1,
+ EXIT_TOP, -1, _G(gameState).R11DoorRightF);
break;
case SIB_TBUTTON2_R11:
- _G(spieler).R11DoorRightB = exit_flip_flop(5, 22, -1, 98, -1, -1,
- EXIT_TOP, -1, _G(spieler).R11DoorRightB);
+ _G(gameState).R11DoorRightB = exit_flip_flop(5, 22, -1, 98, -1, -1,
+ EXIT_TOP, -1, _G(gameState).R11DoorRightB);
break;
case SIB_TBUTTON3_R11:
- _G(spieler).R6DoorRightB = exit_flip_flop(6, 20, 11, 99, 37, SIB_TBUTTON3_R6,
- EXIT_LEFT, EXIT_RIGHT, _G(spieler).R6DoorRightB);
+ _G(gameState).R6DoorRightB = exit_flip_flop(6, 20, 11, 99, 37, SIB_TBUTTON3_R6,
+ EXIT_LEFT, EXIT_RIGHT, _G(gameState).R6DoorRightB);
break;
case SIB_CARTRIDGE_R23:
@@ -1369,14 +1369,14 @@ void sib_event_inv(int16 sib_nr) {
break;
case SIB_FLUXO_R23:
- _G(spieler).R23FluxoFlex = true;
- delInventory(_G(spieler).AkInvent);
+ _G(gameState).R23FluxoFlex = true;
+ delInventory(_G(gameState).AkInvent);
_G(atds)->set_ats_str(112, 1, ATS_DATA);
_G(menu_item_vorwahl) = CUR_USE;
break;
case SIB_TRANSLATOR_23:
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
_G(atds)->set_ats_str(113, 0, ATS_DATA);
_G(menu_item_vorwahl) = CUR_USE;
break;
@@ -1386,32 +1386,32 @@ void sib_event_inv(int16 sib_nr) {
break;
case SIB_ROEHRE_R12:
- _G(spieler).R12TalismanOk = true;
- delInventory(_G(spieler).AkInvent);
+ _G(gameState).R12TalismanOk = true;
+ delInventory(_G(gameState).AkInvent);
_G(atds)->set_ats_str(118, TXT_MARK_LOOK, 1, ATS_DATA);
start_spz(CH_TALK6, 255, false, P_CHEWY);
startAadWait(115);
- if (_G(spieler).R12TransOn)
+ if (_G(gameState).R12TransOn)
Room12::use_linke_rohr();
break;
case SIB_GITTER2_R21:
- _G(spieler).R21GitterMuell = exit_flip_flop(-1, 46, 27, 132, 90, -1,
- EXIT_RIGHT, EXIT_RIGHT, _G(spieler).R21GitterMuell);
+ _G(gameState).R21GitterMuell = exit_flip_flop(-1, 46, 27, 132, 90, -1,
+ EXIT_RIGHT, EXIT_RIGHT, _G(gameState).R21GitterMuell);
_G(atds)->set_ats_str(90, TXT_MARK_USE, 2, ATS_DATA);
break;
case SIB_CART_FACH_R18:
_G(cur_hide_flag) = false;
start_spz_wait(CH_LGET_O, 1, false, P_CHEWY);
- _G(spieler).R18CartFach = true;
- delInventory(_G(spieler).AkInvent);
+ _G(gameState).R18CartFach = true;
+ delInventory(_G(gameState).AkInvent);
_G(det)->showStaticSpr(7);
_G(atds)->set_ats_str(157, TXT_MARK_LOOK, 1, ATS_DATA);
- if (_G(spieler).R18CartTerminal) {
- _G(spieler).R18CartSave = true;
+ if (_G(gameState).R18CartTerminal) {
+ _G(gameState).R18CartSave = true;
_G(atds)->set_ats_str(CARTRIDGE_INV, 1, INV_ATS_DATA);
startAadWait(120);
} else {
diff --git a/engines/chewy/room.cpp b/engines/chewy/room.cpp
index b9f4e9c20dc..8f49d4e5d10 100644
--- a/engines/chewy/room.cpp
+++ b/engines/chewy/room.cpp
@@ -542,7 +542,7 @@ void load_chewy_taf(int16 taf_nr) {
}
if (filename != nullptr) {
- _G(spieler).ChewyAni = taf_nr;
+ _G(gameState).ChewyAni = taf_nr;
_G(AkChewyTaf) = taf_nr;
_G(chewy) = _G(mem)->taf_adr(filename);
_G(chewy_kor) = _G(chewy)->_correction;
@@ -553,8 +553,8 @@ void load_chewy_taf(int16 taf_nr) {
void switchRoom(int16 nr) {
_G(fx_blend) = BLEND1;
exit_room(-1);
- _G(spieler)._personRoomNr[P_CHEWY] = nr;
- _G(room)->loadRoom(&_G(room_blk), _G(spieler)._personRoomNr[P_CHEWY], &_G(spieler));
+ _G(gameState)._personRoomNr[P_CHEWY] = nr;
+ _G(room)->loadRoom(&_G(room_blk), _G(gameState)._personRoomNr[P_CHEWY], &_G(gameState));
enter_room(-1);
setupScreen(DO_SETUP);
}
diff --git a/engines/chewy/rooms/room00.cpp b/engines/chewy/rooms/room00.cpp
index 60c71c30d6f..f2c363198b5 100644
--- a/engines/chewy/rooms/room00.cpp
+++ b/engines/chewy/rooms/room00.cpp
@@ -50,7 +50,7 @@ namespace Rooms {
#define KOPF3 48
void Room0::entry() {
- if (isCurInventory(0) || _G(spieler).R0PillowThrow || _G(obj)->checkInventory(0))
+ if (isCurInventory(0) || _G(gameState).R0PillowThrow || _G(obj)->checkInventory(0))
_G(det)->hideStaticSpr(6);
if (!_G(flags).LoadGame) {
@@ -77,40 +77,40 @@ bool Room0::timer(int16 timerNr, int16 aniNr) {
_G(uhr)->resetTimer(timerNr, 0);
--_G(timer_action_ctr);
} else if (!is_chewy_busy()) {
- if (!_G(spieler).R0FueterLab)
+ if (!_G(gameState).R0FueterLab)
_G(timer_action_ctr) = 2;
_G(flags).AutoAniPlay = true;
- if (!_G(spieler).R0SlimeUsed) {
+ if (!_G(gameState).R0SlimeUsed) {
startAadWait(42);
autoMove(5, P_CHEWY);
setPersonSpr(P_LEFT, P_CHEWY);
- if (_G(spieler).R0FueterLab < 3) {
+ if (_G(gameState).R0FueterLab < 3) {
start_spz(CH_TALK3, 255, false, P_CHEWY);
- if (_G(spieler).R0FueterLab)
+ if (_G(gameState).R0FueterLab)
startAadWait(618);
else
startAadWait(43);
- ++_G(spieler).R0FueterLab;
+ ++_G(gameState).R0FueterLab;
}
eyeAnim();
- } else if (!_G(spieler).R0PillowThrow) {
+ } else if (!_G(gameState).R0PillowThrow) {
startAadWait(42);
start_spz(CH_TALK3, 255, false, P_CHEWY);
- if (_G(spieler).R0FueterLab < 3) {
+ if (_G(gameState).R0FueterLab < 3) {
startAadWait(43);
- ++_G(spieler).R0FueterLab;
+ ++_G(gameState).R0FueterLab;
}
autoMove(3, P_CHEWY);
setPersonPos(191, 120, P_CHEWY, P_LEFT);
}
- if (!_G(spieler).R0PillowThrow)
+ if (!_G(gameState).R0PillowThrow)
feederAni();
_G(uhr)->resetTimer(timerNr, 0);
@@ -125,7 +125,7 @@ bool Room0::timer(int16 timerNr, int16 aniNr) {
bool Room0::getPillow() {
bool retval = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
hideCur();
_G(flags).AutoAniPlay = true;
autoMove(1, P_CHEWY);
@@ -146,16 +146,16 @@ bool Room0::getPillow() {
bool Room0::pullSlime() {
bool retval = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
hideCur();
_G(flags).AutoAniPlay = true;
autoMove(2, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(3, 1, ANI_FRONT);
startSetAILWait(17, 2, ANI_FRONT);
setPersonPos(222, 106, P_CHEWY, P_LEFT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
invent_2_slot(1);
_G(menu_item) = CUR_WALK;
cursorChoice(CUR_WALK);
@@ -170,13 +170,13 @@ bool Room0::pullSlime() {
}
void Room0::eyeAnim() {
- if (!_G(spieler).R0SlimeUsed) {
+ if (!_G(gameState).R0SlimeUsed) {
// Start the eye animation
eyeStart(EYE_START);
- if (!_G(spieler).R0SlimeUsed)
+ if (!_G(gameState).R0SlimeUsed)
eyeWait();
- if (_G(spieler).R0SlimeUsed) {
+ if (_G(gameState).R0SlimeUsed) {
start_aad(124);
checkSlimeEye();
eyeSlimeBack();
@@ -243,7 +243,7 @@ void Room0::eyeStart(EyeMode mode) {
if (adi->delay_count > 0)
--adi->delay_count;
else {
- adi->delay_count = adi->delay + _G(spieler).DelaySpeed;
+ adi->delay_count = adi->delay + _G(gameState).DelaySpeed;
if (mode == EYE_START) {
++adi->ani_count;
if (adi->ani_count > 38)
@@ -288,7 +288,7 @@ void Room0::eyeWait() {
if (adi->delay_count > 0) {
--adi->delay_count;
} else {
- adi->delay_count = adi->delay + _G(spieler).DelaySpeed;
+ adi->delay_count = adi->delay + _G(gameState).DelaySpeed;
++adi->ani_count;
}
@@ -315,8 +315,8 @@ void Room0::calcEyeClick(int16 aniNr) {
}
} else if (_G(minfo)._button == 1 || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN) {
if (isCurInventory(SLIME_INV)) {
- delInventory(_G(spieler).AkInvent);
- _G(spieler).R0SlimeUsed = true;
+ delInventory(_G(gameState).AkInvent);
+ _G(gameState).R0SlimeUsed = true;
} else if (isCurInventory(PILLOW_INV)) {
startAtsWait(172, TXT_MARK_WALK, 14, ATS_DATA);
}
@@ -333,7 +333,7 @@ void Room0::eyeShoot() {
while (!ende) {
clear_prog_ani();
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(spr_info)[0] = _G(det)->plot_detail_sprite(0, 0, FLAP_DETAIL, FLAP_SPRITE, ANI_HIDE);
_G(spr_info)[0]._zLevel = 190;
_G(spr_info)[1] = _G(det)->plot_detail_sprite(0, 0, SCHLAUCH_DETAIL, SCHLAUCH2, ANI_HIDE);
@@ -355,7 +355,7 @@ void Room0::eyeShoot() {
if (adi->delay_count > 0)
--adi->delay_count;
else {
- adi->delay_count = adi->delay + _G(spieler).DelaySpeed;
+ adi->delay_count = adi->delay + _G(gameState).DelaySpeed;
++adi->ani_count;
}
}
@@ -372,7 +372,7 @@ void Room0::eyeShoot() {
waitShowScreen(30);
clear_prog_ani();
setPersonPos(199 - CH_HOT_MOV_X, 145 - CH_HOT_MOV_Y, P_CHEWY, P_LEFT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
}
void Room0::eyeSlimeBack() {
@@ -404,7 +404,7 @@ void Room0::eyeSlimeBack() {
if (adi->delay_count > 0)
--adi->delay_count;
else {
- adi->delay_count = adi->delay + _G(spieler).DelaySpeed;
+ adi->delay_count = adi->delay + _G(gameState).DelaySpeed;
++adi->ani_count;
if (adi->ani_count == 77)
ende = true;
@@ -424,7 +424,7 @@ void Room0::checkSlimeEye() {
while (adi->ani_count < adi->end_ani && !SHOULD_QUIT) {
clear_prog_ani();
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(spr_info)[0] = _G(det)->plot_detail_sprite(0, 0, FLAP_DETAIL, FLAP_SPRITE, ANI_HIDE);
_G(spr_info)[0]._zLevel = 190;
_G(spr_info)[1] = _G(det)->plot_detail_sprite(0, 0, SCHLAUCH_DETAIL, SCHLAUCH2, ANI_HIDE);
@@ -438,7 +438,7 @@ void Room0::checkSlimeEye() {
if (adi->delay_count > 0)
--adi->delay_count;
else {
- adi->delay_count = adi->delay + _G(spieler).DelaySpeed;
+ adi->delay_count = adi->delay + _G(gameState).DelaySpeed;
++adi->ani_count;
}
}
@@ -448,7 +448,7 @@ void Room0::checkSlimeEye() {
}
clear_prog_ani();
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
}
void Room0::feederStart(int16 mode) {
@@ -472,7 +472,7 @@ void Room0::feederStart(int16 mode) {
}
bool ende = false;
- if (_G(spieler).R0SlimeUsed)
+ if (_G(gameState).R0SlimeUsed)
_G(flags).AniUserAction = true;
while (!ende) {
@@ -497,7 +497,7 @@ void Room0::feederStart(int16 mode) {
if (adi->delay_count > 0)
--adi->delay_count;
else {
- adi->delay_count = adi->delay + _G(spieler).DelaySpeed;
+ adi->delay_count = adi->delay + _G(gameState).DelaySpeed;
if (!mode) {
++adi->ani_count;
if (adi->ani_count > 135)
@@ -522,7 +522,7 @@ void Room0::feederStart(int16 mode) {
}
void Room0::feederExtend() {
- for (int16 i = 0; i < 30 && !_G(spieler).R0PillowThrow; i++) {
+ for (int16 i = 0; i < 30 && !_G(gameState).R0PillowThrow; i++) {
clear_prog_ani();
_G(spr_info)[0] = _G(det)->plot_detail_sprite(0, 0, FLAP_DETAIL, FLAP_SPRITE, ANI_HIDE);
_G(spr_info)[0]._zLevel = 190;
@@ -552,9 +552,9 @@ void Room0::calcPillowClick(int16 aniNr) {
printShadowed(x, y + i * 10, 255, 300, 0, _G(scr_width), _G(txt)->strPos((char *)str_, i));
}
} else if (_G(minfo)._button == 1 || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN) {
- if (isCurInventory(PILLOW_INV) && _G(spieler).R0SlimeUsed) {
- delInventory(_G(spieler).AkInvent);
- _G(spieler).R0PillowThrow = true;
+ if (isCurInventory(PILLOW_INV) && _G(gameState).R0SlimeUsed) {
+ delInventory(_G(gameState).AkInvent);
+ _G(gameState).R0PillowThrow = true;
} else if (isCurInventory(SLIME_INV)) {
startAtsWait(173, TXT_MARK_WALK, 14, ATS_DATA);
}
@@ -569,7 +569,7 @@ void Room0::checkFeed() {
int16 i = 152;
bool ende = false;
- if (_G(spieler).R0SlimeUsed)
+ if (_G(gameState).R0SlimeUsed)
_G(flags).AniUserAction = true;
while (!ende) {
@@ -578,8 +578,8 @@ void Room0::checkFeed() {
_G(spr_info)[0]._zLevel = 190;
if (adi->ani_count == 136) {
- _G(spieler)._personHide[P_CHEWY] = true;
- if (!_G(spieler).R0SlimeUsed)
+ _G(gameState)._personHide[P_CHEWY] = true;
+ if (!_G(gameState).R0SlimeUsed)
_G(det)->stop_detail(16);
}
@@ -606,7 +606,7 @@ void Room0::checkFeed() {
if (adi->delay_count > 0)
--adi->delay_count;
else {
- adi->delay_count = adi->delay + _G(spieler).DelaySpeed;
+ adi->delay_count = adi->delay + _G(gameState).DelaySpeed;
if (adi->ani_count > 141)
++i;
++adi->ani_count;
@@ -645,13 +645,13 @@ void Room0::checkFeed() {
if (adi->delay_count > 0)
--adi->delay_count;
else {
- adi->delay_count = adi->delay + _G(spieler).DelaySpeed;
+ adi->delay_count = adi->delay + _G(gameState).DelaySpeed;
if (adi->ani_count > 135)
--adi->ani_count;
}
}
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(flags).AniUserAction = false;
clear_prog_ani();
}
@@ -661,7 +661,7 @@ void Room0::checkPillow() {
adi->ani_count = 161;
bool ende = false;
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(det)->startDetail(CH_WIRFT_KISSEN, 1, ANI_FRONT);
bool mode = false;
@@ -669,7 +669,7 @@ void Room0::checkPillow() {
clear_prog_ani();
if (!_G(det)->get_ani_status(CH_WIRFT_KISSEN)) {
mode = true;
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
setPersonPos(228 - CH_HOT_MOV_X, 143 - CH_HOT_MOV_Y, P_CHEWY, P_LEFT);
}
@@ -690,7 +690,7 @@ void Room0::checkPillow() {
if (adi->delay_count > 0)
--adi->delay_count;
else {
- adi->delay_count = adi->delay + _G(spieler).DelaySpeed;
+ adi->delay_count = adi->delay + _G(gameState).DelaySpeed;
--adi->ani_count;
if (adi->ani_count == 151)
ende = true;
@@ -736,9 +736,9 @@ void Room0::feederAni() {
int16 action = false;
feederStart(0);
- if (_G(spieler).R0SlimeUsed) {
+ if (_G(gameState).R0SlimeUsed) {
feederExtend();
- if (_G(spieler).R0PillowThrow) {
+ if (_G(gameState).R0PillowThrow) {
checkPillow();
feederStart(1);
autoMove(VERSTECK_POS, P_CHEWY);
@@ -748,8 +748,8 @@ void Room0::feederAni() {
register_cutscene(1);
- _G(spieler)._personRoomNr[P_CHEWY] = 1;
- _G(room)->loadRoom(&_G(room_blk), _G(spieler)._personRoomNr[P_CHEWY], &_G(spieler));
+ _G(gameState)._personRoomNr[P_CHEWY] = 1;
+ _G(room)->loadRoom(&_G(room_blk), _G(gameState)._personRoomNr[P_CHEWY], &_G(gameState));
setPersonPos(_G(Rdi)->AutoMov[4]._x - CH_HOT_MOV_X,
_G(Rdi)->AutoMov[4]._y - CH_HOT_MOV_Y, P_CHEWY, P_RIGHT);
_G(spieler_vector)[P_CHEWY]._delayCount = 0;
diff --git a/engines/chewy/rooms/room01.cpp b/engines/chewy/rooms/room01.cpp
index 23131a7e3ea..e91340a6ef7 100644
--- a/engines/chewy/rooms/room01.cpp
+++ b/engines/chewy/rooms/room01.cpp
@@ -31,18 +31,18 @@ namespace Rooms {
void Room1::gottenCard() {
_G(det)->hideStaticSpr(2);
startSetAILWait(4, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(atds)->delControlBit(7, ATS_COUNT_BIT, ATS_DATA);
}
void Room1::gedAction(int index) {
#define KABELABDECKUNG 1
- if (index == 0 && !_G(spieler).R2ElectrocutedBork) {
+ if (index == 0 && !_G(gameState).R2ElectrocutedBork) {
bool flag = false;
- if (_G(spieler).AkInvent == KABEL_INV) {
+ if (_G(gameState).AkInvent == KABEL_INV) {
flag = true;
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
} else if (_G(obj)->checkInventory(KABEL_INV)) {
flag = true;
_G(obj)->del_obj_use(KABEL_INV);
@@ -52,7 +52,7 @@ void Room1::gedAction(int index) {
if (flag) {
startAadWait(54);
_G(atds)->set_ats_str(8, TXT_MARK_LOOK, 0, ATS_DATA);
- _G(spieler).room_s_obj[KABELABDECKUNG].ZustandFlipFlop = 2;
+ _G(gameState).room_s_obj[KABELABDECKUNG].ZustandFlipFlop = 2;
_G(obj)->calc_rsi_flip_flop(KABELABDECKUNG);
_G(obj)->calc_all_static_detail();
}
diff --git a/engines/chewy/rooms/room02.cpp b/engines/chewy/rooms/room02.cpp
index 3051387ec72..43febf086db 100644
--- a/engines/chewy/rooms/room02.cpp
+++ b/engines/chewy/rooms/room02.cpp
@@ -38,17 +38,17 @@ static const AniBlock ABLOCK4[2] = {
void Room2::entry() {
- if (!_G(spieler).R2ElectrocutedBork)
+ if (!_G(gameState).R2ElectrocutedBork)
_G(det)->startDetail(5, 255, ANI_FRONT);
}
void Room2::jump_out_r1(int16 nr) {
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(nr, 1, ANI_FRONT);
setupScreen(DO_SETUP);
_G(det)->stop_detail(6);
setPersonPos(32, 127, P_CHEWY, P_LEFT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
clear_prog_ani();
switchRoom(1);
check_shad(2, 1);
@@ -61,8 +61,8 @@ void Room2::electrifyWalkway1() {
_G(det)->stop_detail(ANI_5);
_G(det)->startDetail(GRID_FLASHING, 12, ANI_FRONT);
- _G(spieler).R2ElectrocutedBork = true;
- delInventory(_G(spieler).AkInvent);
+ _G(gameState).R2ElectrocutedBork = true;
+ delInventory(_G(gameState).AkInvent);
_G(atds)->delControlBit(11, ATS_COUNT_BIT, ATS_DATA);
_G(atds)->delControlBit(11, ATS_ACTION_BIT, ATS_DATA);
@@ -80,7 +80,7 @@ void Room2::electrifyWalkway2() {
void Room2::gedAction(int index) {
if (index == 0) {
_G(det)->stop_detail(5);
- if (!_G(spieler).R2ElectrocutedBork)
+ if (!_G(gameState).R2ElectrocutedBork)
_G(det)->startDetail(6, 2, ANI_FRONT);
else
startAniBlock(2, ABLOCK4);
diff --git a/engines/chewy/rooms/room03.cpp b/engines/chewy/rooms/room03.cpp
index a292fdffb80..bd98e369d62 100644
--- a/engines/chewy/rooms/room03.cpp
+++ b/engines/chewy/rooms/room03.cpp
@@ -104,14 +104,14 @@ void Room3::terminal() {
_G(spr_info)[0]._y = 2;
_G(spr_info)[0]._zLevel = 0;
- if (!_G(spieler).R2ElectrocutedBork) {
+ if (!_G(gameState).R2ElectrocutedBork) {
_G(det)->stop_detail(5);
startAniBlock(2, ABLOCK3);
- if (_G(spieler).R2FussSchleim) {
- _G(spieler).R2FussSchleim = false;
- _G(spieler).room_s_obj[SIB_SLIME].ZustandFlipFlop = 1;
+ if (_G(gameState).R2FussSchleim) {
+ _G(gameState).R2FussSchleim = false;
+ _G(gameState).room_s_obj[SIB_SLIME].ZustandFlipFlop = 1;
}
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(8, 1, ANI_FRONT);
setupScreen(DO_SETUP);
_G(det)->stop_detail(6);
@@ -119,22 +119,22 @@ void Room3::terminal() {
switchRoom(1);
startAniBlock(2, ABLOCK0);
setPersonPos(92, 131, P_CHEWY, P_LEFT);
- _G(spieler)._personHide[P_CHEWY] = false;
- } else if (!_G(spieler).R2FussSchleim) {
+ _G(gameState)._personHide[P_CHEWY] = false;
+ } else if (!_G(gameState).R2FussSchleim) {
startAniBlock(2, ABLOCK2);
Room2::jump_out_r1(9);
startAadWait(45);
} else {
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startAniBlock(2, ABLOCK1);
- _G(spieler)._personRoomNr[P_CHEWY] = 5;
+ _G(gameState)._personRoomNr[P_CHEWY] = 5;
clear_prog_ani();
_G(auto_obj) = 0;
- _G(room)->loadRoom(&_G(room_blk), _G(spieler)._personRoomNr[P_CHEWY], &_G(spieler));
+ _G(room)->loadRoom(&_G(room_blk), _G(gameState)._personRoomNr[P_CHEWY], &_G(gameState));
_G(fx_blend) = BLEND1;
startAniBlock(3, ablock5);
setPersonPos(91, 107, P_CHEWY, P_LEFT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
}
clear_prog_ani();
break;
@@ -165,7 +165,7 @@ void Room3::probeInit() {
_G(mov_phasen)[SONDE_OBJ].Repeat = 255;
_G(mov_phasen)[SONDE_OBJ].ZoomFak = 20;
_G(auto_mov_obj)[SONDE_OBJ].Id = AUTO_OBJ0;
- _G(auto_mov_vector)[SONDE_OBJ].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[SONDE_OBJ].Delay = _G(gameState).DelaySpeed;
_G(auto_mov_obj)[SONDE_OBJ].Mode = true;
init_auto_obj(SONDE_OBJ, &SONDE_PHASEN[0][0], 3, (const MovLine *)SONDE_MPKT);
}
@@ -191,7 +191,7 @@ void Room3::probeCreak() {
_G(mov_phasen)[SONDE_OBJ].Repeat = 1;
_G(mov_phasen)[SONDE_OBJ].ZoomFak = 20;
_G(auto_mov_obj)[SONDE_OBJ].Id = AUTO_OBJ0;
- _G(auto_mov_vector)[SONDE_OBJ].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[SONDE_OBJ].Delay = _G(gameState).DelaySpeed;
_G(auto_mov_obj)[SONDE_OBJ].Mode = true;
init_auto_obj(SONDE_OBJ, &SONDE_PHASEN[0][0], 3, (MovLine*)sonde_mpkt1);
_G(flags).AniUserAction = false;
@@ -203,7 +203,7 @@ void Room3::probeCreak() {
while (!ende) {
clear_prog_ani();
if (rdi->Ainfo[SONDE_SHOOT].ani_count == 170) {
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(det)->startDetail(HEADSHOT, 1, ANI_FRONT);
}
_G(spr_info)[0] = _G(det)->plot_detail_sprite(0, 0, SONDE_ANI, SONDE_SPR_R, ANI_HIDE);
@@ -238,7 +238,7 @@ void Room3::probeCreak() {
_G(spr_info)[1]._zLevel = 190;
++ende;
if (ende == 3)
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
set_ani_screen();
SHOULD_QUIT_RETURN;
}
@@ -302,7 +302,7 @@ void Room3::probeTransfer() {
_G(mov_phasen)[SONDE_OBJ].Repeat = 1;
_G(mov_phasen)[SONDE_OBJ].ZoomFak = 20;
_G(auto_mov_obj)[SONDE_OBJ].Id = AUTO_OBJ0;
- _G(auto_mov_vector)[SONDE_OBJ].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[SONDE_OBJ].Delay = _G(gameState).DelaySpeed;
_G(auto_mov_obj)[SONDE_OBJ].Mode = true;
init_auto_obj(SONDE_OBJ, &SONDE_PHASEN[0][0], 2, (const MovLine *)SONDE_MPKT1);
_G(atds)->set_ats_str(24, ATS_ACTIVE_BIT, ATS_DATA);
@@ -332,14 +332,14 @@ void Room3::probeTransfer() {
_G(mov_phasen)[SONDE_OBJ].ZoomFak = 0;
_G(auto_mov_obj)[SONDE_OBJ].Id = AUTO_OBJ0;
_G(auto_mov_obj)[SONDE_OBJ].Mode = true;
- _G(auto_mov_vector)[SONDE_OBJ].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[SONDE_OBJ].Delay = _G(gameState).DelaySpeed;
init_auto_obj(SONDE_OBJ, &SONDE_PHASEN[0][0], 2, SONDE_MPKT_[i]);
_G(mov_phasen)[SONDE_OBJ1].Lines = 2;
_G(mov_phasen)[SONDE_OBJ1].Repeat = 1;
_G(mov_phasen)[SONDE_OBJ1].ZoomFak = 0;
_G(auto_mov_obj)[SONDE_OBJ1].Id = AUTO_OBJ1;
_G(auto_mov_obj)[SONDE_OBJ1].Mode = true;
- _G(auto_mov_vector)[SONDE_OBJ1].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[SONDE_OBJ1].Delay = _G(gameState).DelaySpeed;
init_auto_obj(SONDE_OBJ1, &SONDE_PHASEN[0][0], 2, SONDE_MPKT_[i]);
_G(mov_phasen)[SONDE_OBJ1].Phase[0][0] = spr_nr;
_G(mov_phasen)[SONDE_OBJ1].Phase[0][1] = spr_nr;
@@ -351,13 +351,13 @@ void Room3::probeTransfer() {
if (_G(minfo)._button == 1 || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN) {
if (isCurInventory(SPINAT_INV)) {
_G(atds)->set_split_win(0, 120, 100);
- if (_G(spieler)._personRoomNr[P_CHEWY] == 3)
+ if (_G(gameState)._personRoomNr[P_CHEWY] == 3)
start_aad(50);
else
start_aad(44);
- delInventory(_G(spieler).AkInvent);
- _G(spieler).R2FussSchleim = true;
+ delInventory(_G(gameState).AkInvent);
+ _G(gameState).R2FussSchleim = true;
_G(mov_phasen)[SONDE_OBJ1].Phase[0][0] = 142;
_G(mov_phasen)[SONDE_OBJ1].Phase[0][1] = 149;
_G(auto_mov_vector)[SONDE_OBJ1].PhAnz = 8;
@@ -386,7 +386,7 @@ void Room3::probeTransfer() {
start_aad(52);
_G(flags).AniUserAction = true;
spr_nr = 141;
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(det)->load_taf_seq(142, 8, nullptr);
break;
diff --git a/engines/chewy/rooms/room04.cpp b/engines/chewy/rooms/room04.cpp
index 50673cddac0..efed1e07f8c 100644
--- a/engines/chewy/rooms/room04.cpp
+++ b/engines/chewy/rooms/room04.cpp
@@ -47,7 +47,7 @@ int16 Room4::comp_probe() {
};
cur_2_inventory();
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(cur_display) = false;
switchRoom(4);
_G(cur_display) = true;
@@ -102,7 +102,7 @@ int16 Room4::comp_probe() {
_G(curani)._end = HAND_NORMAL;
}
cursorChoice(CUR_USER);
- _G(spieler)._curHeight = 16;
+ _G(gameState)._curHeight = 16;
if (g_events->_mousePos.y < 124)
g_events->_mousePos.y = 123;
@@ -113,15 +113,15 @@ int16 Room4::comp_probe() {
g_events->delay(500);
clear_prog_ani();
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(menu_item) = CUR_WALK;
cursorChoice(_G(menu_item));
_G(spieler_vector)[P_CHEWY]._delayCount = 0;
_G(mouseLeftClick) = false;
_G(minfo)._button = 0;
- _G(spieler)._personRoomNr[P_CHEWY] = 3;
- _G(room)->loadRoom(&_G(room_blk), 3, &_G(spieler));
+ _G(gameState)._personRoomNr[P_CHEWY] = 3;
+ _G(room)->loadRoom(&_G(room_blk), 3, &_G(gameState));
setPersonPos(110, 139, P_CHEWY, P_LEFT);
_G(fx_blend) = BLEND1;
diff --git a/engines/chewy/rooms/room05.cpp b/engines/chewy/rooms/room05.cpp
index 4bd7d47ae8d..4c7b44a31c8 100644
--- a/engines/chewy/rooms/room05.cpp
+++ b/engines/chewy/rooms/room05.cpp
@@ -30,24 +30,24 @@ namespace Chewy {
namespace Rooms {
void Room5::entry() {
- if (_G(spieler).R5Terminal)
+ if (_G(gameState).R5Terminal)
_G(det)->startDetail(6, 255, ANI_FRONT);
}
void Room5::pushButton() {
- if (_G(spieler).R5Terminal) {
+ if (_G(gameState).R5Terminal) {
int16 strNr;
- if (_G(spieler).R5Door == false) {
+ if (_G(gameState).R5Door == false) {
startSetAILWait(9, 1, ANI_FRONT);
- _G(spieler).room_e_obj[6].Attribut = EXIT_TOP;
+ _G(gameState).room_e_obj[6].Attribut = EXIT_TOP;
strNr = 1;
} else {
startSetAILWait(9, 1, ANI_BACK);
- _G(spieler).room_e_obj[6].Attribut = 255;
+ _G(gameState).room_e_obj[6].Attribut = 255;
strNr = 0;
}
_G(atds)->set_ats_str(29, strNr, ATS_DATA);
- _G(spieler).R5Door ^= 1;
+ _G(gameState).R5Door ^= 1;
_G(obj)->calc_rsi_flip_flop(SIB_DOOR_R5);
} else {
startAadWait(1);
diff --git a/engines/chewy/rooms/room06.cpp b/engines/chewy/rooms/room06.cpp
index a5c2ffb1efa..57cda6f7ead 100644
--- a/engines/chewy/rooms/room06.cpp
+++ b/engines/chewy/rooms/room06.cpp
@@ -58,18 +58,18 @@ void Room6::entry() {
_G(flags).ZoomMov = true;
_G(zoom_mov_fak) = 2;
- if (_G(spieler).R6BolaSchild && _G(spieler).R6RaumBetreten < 2) {
+ if (_G(gameState).R6BolaSchild && _G(gameState).R6RaumBetreten < 2) {
_G(det)->startDetail(7, 255, ANI_FRONT);
_G(atds)->delControlBit(44, ATS_ACTIVE_BIT, ATS_DATA);
if (!_G(flags).LoadGame)
- ++_G(spieler).R6RaumBetreten;
+ ++_G(gameState).R6RaumBetreten;
- if (_G(spieler).R6RaumBetreten == 2) {
+ if (_G(gameState).R6RaumBetreten == 2) {
hideCur();
_G(det)->stop_detail(7);
init_robo();
wait_auto_obj(0);
- _G(spieler).R6BolaOk = true;
+ _G(gameState).R6BolaOk = true;
_G(obj)->show_sib(SIB_BOLA_BUTTON_R6);
_G(obj)->hide_sib(SIB_BOLA_R6);
_G(atds)->setControlBit(44, ATS_ACTIVE_BIT, ATS_DATA);
@@ -86,17 +86,17 @@ void Room6::init_robo() {
_G(mov_phasen)[ROBO_OBJ].Repeat = 1;
_G(mov_phasen)[ROBO_OBJ].ZoomFak = 0;
_G(auto_mov_obj)[ROBO_OBJ].Id = AUTO_OBJ0;
- _G(auto_mov_vector)[ROBO_OBJ].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[ROBO_OBJ].Delay = _G(gameState).DelaySpeed;
_G(auto_mov_obj)[ROBO_OBJ].Mode = true;
init_auto_obj(ROBO_OBJ, &ROBO_PHASEN[0][0], 3, (const MovLine *)ROBO_MPKT);
}
void Room6::bola_button() {
- if (!_G(spieler).R6BolaBecher) {
+ if (!_G(gameState).R6BolaBecher) {
_G(det)->hideStaticSpr(0);
startSetAILWait(0, 1, ANI_FRONT);
- if (_G(spieler).R6BolaOk) {
- _G(spieler).R6BolaBecher = true;
+ if (_G(gameState).R6BolaOk) {
+ _G(gameState).R6BolaBecher = true;
_G(det)->showStaticSpr(0);
startAniBlock(2, ABLOCK7);
_G(obj)->calc_rsi_flip_flop(SIB_BOLA_FLECK_R6);
@@ -107,18 +107,18 @@ void Room6::bola_button() {
_G(obj)->calc_rsi_flip_flop(SIB_BOLA_BUTTON_R6);
_G(obj)->hide_sib(SIB_BOLA_BUTTON_R6);
} else {
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startAniBlock(3, ABLOCK6);
while (_G(det)->get_ani_status(3) && !SHOULD_QUIT) {
if (!_G(det)->get_ani_status(14)) {
setPersonPos(220, 89, P_CHEWY, P_LEFT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
}
setupScreen(DO_SETUP);
}
_G(det)->showStaticSpr(0);
- ++_G(spieler).R6BolaJoke;
- int16 diaNr = (_G(spieler).R6BolaJoke < 3) ? 3 : 4;
+ ++_G(gameState).R6BolaJoke;
+ int16 diaNr = (_G(gameState).R6BolaJoke < 3) ? 3 : 4;
start_spz(CH_TALK5, 244, false, 0);
startAadWait(diaNr);
}
diff --git a/engines/chewy/rooms/room07.cpp b/engines/chewy/rooms/room07.cpp
index 2a5bf645498..e756c0cddbd 100644
--- a/engines/chewy/rooms/room07.cpp
+++ b/engines/chewy/rooms/room07.cpp
@@ -43,19 +43,19 @@ static const AniBlock ABLOCK25[3] = {
void Room7::entry() {
- _G(spieler).ScrollxStep = 2;
+ _G(gameState).ScrollxStep = 2;
}
void Room7::hook(int16 sibNr) {
int16 diaNr;
delInventory(8);
- _G(spieler).AkInvent = -1;
+ _G(gameState).AkInvent = -1;
_G(menu_item) = CUR_WALK;
cursorChoice(_G(menu_item));
- if (_G(spieler).R7RHaken) {
- _G(spieler).R7SeilOk = true;
+ if (_G(gameState).R7RHaken) {
+ _G(gameState).R7SeilOk = true;
if (sibNr == SIB_LHAKEN_R7) {
_G(obj)->calc_rsi_flip_flop(SIB_LHAKEN_R7);
_G(obj)->calc_rsi_flip_flop(SIB_RHAKEN_R7);
@@ -64,7 +64,7 @@ void Room7::hook(int16 sibNr) {
_G(atds)->set_ats_str(55, TXT_MARK_LOOK, 1, ATS_DATA);
diaNr = 9;
} else {
- _G(spieler).R7SeilLeft = true;
+ _G(gameState).R7SeilLeft = true;
diaNr = 48;
}
@@ -76,9 +76,9 @@ void Room7::hook(int16 sibNr) {
void Room7::bell() {
hideCur();
- if ((!_G(spieler).R7BellCount) ||
- (_G(spieler).R7BellCount >= 2 && _G(spieler).R7SeilLeft && !_G(spieler).R7SeilOk)) {
- _G(spieler)._personHide[P_CHEWY] = true;
+ if ((!_G(gameState).R7BellCount) ||
+ (_G(gameState).R7BellCount >= 2 && _G(gameState).R7SeilLeft && !_G(gameState).R7SeilOk)) {
+ _G(gameState)._personHide[P_CHEWY] = true;
start_aad(5, 0);
startAniBlock(3, ABLOCK25);
@@ -88,9 +88,9 @@ void Room7::bell() {
_G(det)->hideStaticSpr(7);
_G(det)->stop_detail(5);
setPersonPos(95, 94, P_CHEWY, P_RIGHT);
- _G(spieler)._personHide[P_CHEWY] = false;
- } else if (_G(spieler).R7BellCount == 1) {
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = false;
+ } else if (_G(gameState).R7BellCount == 1) {
+ _G(gameState)._personHide[P_CHEWY] = true;
start_aad(6, 0);
startAniBlock(3, ABLOCK25);
_G(det)->showStaticSpr(7);
@@ -99,17 +99,17 @@ void Room7::bell() {
setPersonPos(95, 94, P_CHEWY, P_RIGHT);
_G(det)->stop_detail(5);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(flags).NoScroll = true;
autoMove(6, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(det)->startDetail(0, 255, ANI_FRONT);
startSetAILWait(13, 1, ANI_FRONT);
flic_cut(FCUT_001);
_G(det)->stop_detail(0);
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 0;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 0;
setPersonPos(114, 138, P_CHEWY, -1);
startDetailFrame(19, 1, ANI_FRONT, 6);
@@ -120,12 +120,12 @@ void Room7::bell() {
_G(obj)->show_sib(SIB_SCHLOTT_R7);
_G(obj)->calc_rsi_flip_flop(SIB_SCHLOTT_R7);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(flags).NoScroll = false;
_G(det)->hideStaticSpr(7);
- } else if (!_G(spieler).R7SeilOk) {
- _G(spieler)._personHide[P_CHEWY] = true;
+ } else if (!_G(gameState).R7SeilOk) {
+ _G(gameState)._personHide[P_CHEWY] = true;
start_aad(7, 0);
startAniBlock(3, ABLOCK25);
_G(det)->showStaticSpr(7);
@@ -133,24 +133,24 @@ void Room7::bell() {
_G(det)->startDetail(14, 1, ANI_FRONT);
setPersonPos(95, 94, P_CHEWY, P_RIGHT);
_G(det)->stop_detail(5);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(flags).NoScroll = true;
autoMove(6, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(det)->startDetail(0, 255, ANI_FRONT);
waitDetail(14);
startAniBlock(4, ABLOCK10);
_G(det)->hideStaticSpr(7);
_G(det)->stop_detail(0);
setPersonPos(181, 130, P_CHEWY, P_RIGHT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(flags).NoScroll = false;
_G(det)->del_taf_tbl(192, 74, nullptr);
- } else if (_G(spieler).R7SeilOk && !_G(spieler).R7BorkFlug) {
- _G(spieler).R7BorkFlug = true;
- _G(spieler)._personHide[P_CHEWY] = true;
+ } else if (_G(gameState).R7SeilOk && !_G(gameState).R7BorkFlug) {
+ _G(gameState).R7BorkFlug = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
start_aad(8, 0);
startSetAILWait(1, 1, ANI_FRONT);
_G(obj)->set_rsi_flip_flop(SIB_TBUTTON2_R7, 255);
@@ -159,26 +159,26 @@ void Room7::bell() {
register_cutscene(2);
flic_cut(FCUT_002);
setPersonPos(201, 117, P_CHEWY, P_LEFT);
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 0;
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 0;
+ _G(gameState)._personHide[P_CHEWY] = false;
}
- ++_G(spieler).R7BellCount;
+ ++_G(gameState).R7BellCount;
showCur();
}
void Room7::gedAction(int index) {
- if (index == 0 && _G(spieler).R7BorkFlug && _G(spieler).R7ChewyFlug) {
- _G(spieler)._personHide[P_CHEWY] = true;
+ if (index == 0 && _G(gameState).R7BorkFlug && _G(gameState).R7ChewyFlug) {
+ _G(gameState)._personHide[P_CHEWY] = true;
setPersonPos(180, 124, P_CHEWY, P_LEFT);
startSetAILWait(20, 1, ANI_FRONT);
_G(det)->showStaticSpr(10);
- waitShowScreen(10 * _G(spieler).DelaySpeed);
+ waitShowScreen(10 * _G(gameState).DelaySpeed);
_G(det)->hideStaticSpr(10);
- _G(spieler)._personHide[P_CHEWY] = false;
- _G(spieler).R7ChewyFlug = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
+ _G(gameState).R7ChewyFlug = false;
}
}
diff --git a/engines/chewy/rooms/room08.cpp b/engines/chewy/rooms/room08.cpp
index 6349c06e365..2bb388b744c 100644
--- a/engines/chewy/rooms/room08.cpp
+++ b/engines/chewy/rooms/room08.cpp
@@ -41,8 +41,8 @@ static const AniBlock ABLOCK13[2] = {
};
void Room8::entry() {
- _G(spieler).R7ChewyFlug = true;
- if (!_G(spieler).R8Folter)
+ _G(gameState).R7ChewyFlug = true;
+ if (!_G(gameState).R8Folter)
start_folter();
else
stop_folter();
@@ -61,22 +61,22 @@ void Room8::stop_folter() {
_G(det)->stop_detail(13);
- _G(spieler).R8Folter = true;
+ _G(gameState).R8Folter = true;
_G(obj)->hide_sib(SIB_FOLTER_R8);
}
void Room8::hole_kohle() {
- if (_G(spieler).R8Kohle) {
+ if (_G(gameState).R8Kohle) {
startAadWait(604);
} else {
hideCur();
- _G(spieler).R8Kohle = true;
+ _G(gameState).R8Kohle = true;
autoMove(4, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(12, 1, ANI_FRONT);
cur_2_inventory();
invent_2_slot(KOHLE_HEISS_INV);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
showCur();
}
}
@@ -84,10 +84,10 @@ void Room8::hole_kohle() {
void Room8::start_verbrennen() {
hideCur();
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
autoMove(3, P_CHEWY);
start_aad(102, 0);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startAniBlock(2, ABLOCK12);
while (_G(det)->get_ani_status(9)) {
@@ -105,7 +105,7 @@ void Room8::start_verbrennen() {
setPersonPos(129, 246, P_CHEWY, P_RIGHT);
startAniBlock(2, ABLOCK13);
_G(atds)->set_ats_str(60, TXT_MARK_LOOK, 1, ATS_DATA);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
}
showCur();
@@ -121,18 +121,18 @@ bool Room8::gips_wurf() {
autoMove(2, P_CHEWY);
_G(mouseLeftClick) = false;
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
delInventory(GIPS_EIMER_INV);
startSetAILWait(4, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
startDetailFrame(5, 1, ANI_FRONT, 16);
startSetAILWait(6, 1, ANI_FRONT);
_G(obj)->show_sib(33);
_G(det)->showStaticSpr(14);
waitDetail(5);
- _G(spieler).R8GipsWurf = true;
- _G(spieler).room_m_obj[MASKE_INV].ZEbene = 0;
+ _G(gameState).R8GipsWurf = true;
+ _G(gameState).room_m_obj[MASKE_INV].ZEbene = 0;
_G(obj)->setInventory(MASKE_INV, 181, 251, 8, &_G(room_blk));
_G(det)->del_taf_tbl(116, 30, nullptr);
autoMove(8, P_CHEWY);
@@ -140,9 +140,9 @@ bool Room8::gips_wurf() {
_G(menu_item) = CUR_USE;
Dialogs::Inventory::look_screen(INVENTORY_NORMAL, 178);
_G(flags).AtsAction = true;
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(20, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
invent_2_slot(MASKE_INV);
cursorChoice(_G(menu_item));
showCur();
@@ -152,28 +152,28 @@ bool Room8::gips_wurf() {
}
void Room8::open_gdoor() {
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(det)->showStaticSpr(17);
setupScreen(DO_SETUP);
startSetAILWait(7, 1, ANI_FRONT);
_G(det)->showStaticSpr(15);
_G(det)->hideStaticSpr(17);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
setPersonPos(204, 274, P_CHEWY, P_LEFT);
_G(atds)->delControlBit(69, ATS_ACTIVE_BIT, ATS_DATA);
_G(obj)->hide_sib(31);
- _G(spieler).R8GTuer = true;
- _G(spieler).room_e_obj[15].Attribut = EXIT_BOTTOM;
+ _G(gameState).R8GTuer = true;
+ _G(gameState).room_e_obj[15].Attribut = EXIT_BOTTOM;
}
void Room8::talk_nimoy() {
autoMove(9, P_CHEWY);
_G(flags).NoScroll = true;
auto_scroll(0, 120);
- if (_G(spieler).R8Folter) {
- int16 diaNr = _G(spieler).R8GipsWurf ? 2 : 1;
+ if (_G(gameState).R8Folter) {
+ int16 diaNr = _G(gameState).R8GipsWurf ? 2 : 1;
- if (!_G(spieler).R8GTuer)
+ if (!_G(gameState).R8GTuer)
loadAdsDia(diaNr);
else
startAadWait(61);
diff --git a/engines/chewy/rooms/room09.cpp b/engines/chewy/rooms/room09.cpp
index c3a2618cdc2..9f024aa454d 100644
--- a/engines/chewy/rooms/room09.cpp
+++ b/engines/chewy/rooms/room09.cpp
@@ -46,21 +46,21 @@ static const MovLine SURIMY_MPKT1[2] = {
};
void Room9::entry() {
- _G(spieler).R7ChewyFlug = false;
+ _G(gameState).R7ChewyFlug = false;
- if (!_G(spieler).R9Gitter)
+ if (!_G(gameState).R9Gitter)
setPersonPos(138, 91, P_CHEWY, P_LEFT);
else
_G(det)->showStaticSpr(5);
- if (_G(spieler).R9Surimy) {
+ if (_G(gameState).R9Surimy) {
_G(det)->hideStaticSpr(4);
_G(room)->set_timer_status(7, TIMER_STOP);
}
}
void Room9::gtuer() {
- _G(spieler).R9Gitter = true;
+ _G(gameState).R9Gitter = true;
_G(det)->showStaticSpr(5);
startSetAILWait(6, 1, ANI_FRONT);
setPersonPos(74, 93, P_CHEWY, P_LEFT);
@@ -73,7 +73,7 @@ void Room9::gtuer() {
void Room9::surimy() {
hideCur();
- _G(spieler).R9Surimy = true;
+ _G(gameState).R9Surimy = true;
const int16 tmp = _G(spieler_vector)[P_CHEWY].Count;
stopPerson(P_CHEWY);
_G(atds)->setControlBit(75, ATS_ACTIVE_BIT, ATS_DATA);
@@ -82,7 +82,7 @@ void Room9::surimy() {
surimy_ani();
start_spz(CH_TALK11, 255, false, P_CHEWY);
startAadWait(56);
- _G(spieler).room_e_obj[17].Attribut = EXIT_RIGHT;
+ _G(gameState).room_e_obj[17].Attribut = EXIT_RIGHT;
_G(spieler_vector)[P_CHEWY].Count = tmp;
get_phase(&_G(spieler_vector)[P_CHEWY], &_G(spieler_mi)[P_CHEWY]);
_G(mov)->continue_auto_go();
@@ -97,7 +97,7 @@ void Room9::surimy_ani() {
_G(mov_phasen)[SURIMY_OBJ].Repeat = 1;
_G(mov_phasen)[SURIMY_OBJ].ZoomFak = 0;
_G(auto_mov_obj)[SURIMY_OBJ].Id = AUTO_OBJ0;
- _G(auto_mov_vector)[SURIMY_OBJ].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[SURIMY_OBJ].Delay = _G(gameState).DelaySpeed;
_G(auto_mov_obj)[SURIMY_OBJ].Mode = true;
init_auto_obj(SURIMY_OBJ, &SURIMY_PHASEN[0][0], 2, (const MovLine *)SURIMY_MPKT);
wait_auto_obj(SURIMY_OBJ);
@@ -114,7 +114,7 @@ void Room9::surimy_ani() {
}
void Room9::gedAction(int index) {
- if (index == 0 && !_G(spieler).R9Surimy)
+ if (index == 0 && !_G(gameState).R9Surimy)
surimy();
}
diff --git a/engines/chewy/rooms/room10.cpp b/engines/chewy/rooms/room10.cpp
index 8a8b1f51bab..6d49a2f9c12 100644
--- a/engines/chewy/rooms/room10.cpp
+++ b/engines/chewy/rooms/room10.cpp
@@ -29,12 +29,12 @@ namespace Chewy {
namespace Rooms {
void Room10::entry() {
- if (!_G(spieler).R10Surimy) {
+ if (!_G(gameState).R10Surimy) {
_G(out)->setPointer(_G(workptr));
- _G(out)->map_spr2screen(_G(ablage)[_G(room_blk).AkAblage], _G(spieler).scrollx, _G(spieler).scrolly);
+ _G(out)->map_spr2screen(_G(ablage)[_G(room_blk).AkAblage], _G(gameState).scrollx, _G(gameState).scrolly);
_G(out)->setPointer(nullptr);
_G(fx)->blende1(_G(workptr), _G(screen0), _G(pal), 150, 0, 0);
- _G(spieler).R10Surimy = true;
+ _G(gameState).R10Surimy = true;
_G(fx_blend) = BLEND_NONE;
flic_cut(FCUT_003);
setPersonPos(0, 130, P_CHEWY, P_RIGHT);
@@ -44,7 +44,7 @@ void Room10::entry() {
startAadWait(101);
showCur();
- } else if (_G(spieler).R10SurimyOk) {
+ } else if (_G(gameState).R10SurimyOk) {
_G(room)->set_timer_status(3, TIMER_STOP);
}
}
@@ -54,12 +54,12 @@ void Room10::get_surimy() {
autoMove(4, P_CHEWY);
start_aad(104, 0);
flic_cut(FCUT_005);
- _G(spieler).R10SurimyOk = true;
+ _G(gameState).R10SurimyOk = true;
_G(room)->set_timer_status(3, TIMER_STOP);
_G(atds)->set_ats_str(77, TXT_MARK_LOOK, 1, ATS_DATA);
invent_2_slot(18);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
showCur();
}
diff --git a/engines/chewy/rooms/room11.cpp b/engines/chewy/rooms/room11.cpp
index b89394d170e..54af8b027c6 100644
--- a/engines/chewy/rooms/room11.cpp
+++ b/engines/chewy/rooms/room11.cpp
@@ -45,11 +45,11 @@ void Room11::entry() {
_G(flags).ZoomMov = true;
_G(zoom_mov_fak) = 2;
- if (_G(spieler).R12ChewyBork) {
- if (!_G(spieler).R11DoorRightB) {
+ if (_G(gameState).R12ChewyBork) {
+ if (!_G(gameState).R11DoorRightB) {
_G(obj)->calc_rsi_flip_flop(SIB_TBUTTON2_R11);
- _G(spieler).R11DoorRightB = exit_flip_flop(5, 22, -1, 98, -1, -1,
- EXIT_TOP, -1, (int16)_G(spieler).R11DoorRightB);
+ _G(gameState).R11DoorRightB = exit_flip_flop(5, 22, -1, 98, -1, -1,
+ EXIT_TOP, -1, (int16)_G(gameState).R11DoorRightB);
_G(obj)->calc_all_static_detail();
}
@@ -57,8 +57,8 @@ void Room11::entry() {
_G(obj)->hide_sib(SIB_SCHLITZ_R11);
_G(obj)->hide_sib(SIB_TBUTTON2_R11);
_G(obj)->hide_sib(SIB_TBUTTON3_R11);
- _G(spieler).room_e_obj[20].Attribut = 255;
- _G(spieler).room_e_obj[21].Attribut = 255;
+ _G(gameState).room_e_obj[20].Attribut = 255;
+ _G(gameState).room_e_obj[21].Attribut = 255;
_G(atds)->delControlBit(121, ATS_ACTIVE_BIT, ATS_DATA);
if (!_G(flags).LoadGame) {
@@ -104,7 +104,7 @@ void Room11::bork_zwinkert() {
}
void Room11::talk_debug() {
- if (_G(spieler).R12ChewyBork) {
+ if (_G(gameState).R12ChewyBork) {
_G(flags).AutoAniPlay = true;
autoMove(8, P_CHEWY);
startAdsWait(5);
@@ -116,7 +116,7 @@ void Room11::talk_debug() {
}
void Room11::chewy_bo_use() {
- if (_G(spieler).R12ChewyBork) {
+ if (_G(gameState).R12ChewyBork) {
hideCur();
_G(flags).AutoAniPlay = true;
@@ -136,10 +136,10 @@ void Room11::chewy_bo_use() {
int16 Room11::scanner() {
int16 actionFl = false;
- if (!_G(spieler).R12ChewyBork) {
+ if (!_G(gameState).R12ChewyBork) {
autoMove(7, P_CHEWY);
- if (!_G(spieler).R11CardOk) {
+ if (!_G(gameState).R11CardOk) {
actionFl = true;
startAadWait(13);
} else if (isCurInventory(BORK_INV)) {
@@ -150,15 +150,15 @@ int16 Room11::scanner() {
start_aad(105, 0);
flic_cut(FCUT_010);
register_cutscene(4);
- _G(spieler).R11TerminalOk = true;
+ _G(gameState).R11TerminalOk = true;
cur_2_inventory();
_G(menu_item) = CUR_TALK;
cursorChoice(_G(menu_item));
startAadWait(12);
showCur();
loadAdsDia(3);
- } else if (!_G(spieler).inv_cur) {
- if (!_G(spieler).R11TerminalOk) {
+ } else if (!_G(gameState).inv_cur) {
+ if (!_G(gameState).R11TerminalOk) {
actionFl = true;
flic_cut(FCUT_009);
startAadWait(20);
@@ -176,12 +176,12 @@ int16 Room11::scanner() {
}
void Room11::get_card() {
- if (_G(spieler).R11CardOk) {
+ if (_G(gameState).R11CardOk) {
cur_2_inventory();
- _G(spieler).R11CardOk = false;
- _G(obj)->addInventory(_G(spieler).R11IdCardNr, &_G(room_blk));
+ _G(gameState).R11CardOk = false;
+ _G(obj)->addInventory(_G(gameState).R11IdCardNr, &_G(room_blk));
- _G(spieler).AkInvent = _G(spieler).R11IdCardNr;
+ _G(gameState).AkInvent = _G(gameState).R11IdCardNr;
cursorChoice(CUR_AK_INVENT);
cursorChoice(CUR_AK_INVENT);
_G(det)->stop_detail(0);
@@ -192,14 +192,14 @@ void Room11::get_card() {
void Room11::put_card() {
if (isCurInventory(RED_CARD_INV) || isCurInventory(YEL_CARD_INV)) {
- _G(spieler).R11IdCardNr = _G(spieler).AkInvent;
- delInventory(_G(spieler).R11IdCardNr);
+ _G(gameState).R11IdCardNr = _G(gameState).AkInvent;
+ delInventory(_G(gameState).R11IdCardNr);
_G(det)->startDetail(0, 255, ANI_FRONT);
_G(atds)->set_ats_str(83, TXT_MARK_LOOK, 1, ATS_DATA);
_G(atds)->set_ats_str(84, TXT_MARK_LOOK, 1, ATS_DATA);
- _G(spieler).R11CardOk = true;
+ _G(gameState).R11CardOk = true;
- if (!_G(spieler).R11TerminalOk)
+ if (!_G(gameState).R11TerminalOk)
startAadWait(16);
}
}
diff --git a/engines/chewy/rooms/room12.cpp b/engines/chewy/rooms/room12.cpp
index 947fe7d038a..d19c487ce59 100644
--- a/engines/chewy/rooms/room12.cpp
+++ b/engines/chewy/rooms/room12.cpp
@@ -67,8 +67,8 @@ void Room12::entry() {
_G(zoom_horizont) = 150;
_G(timer_nr)[1] = _G(room)->set_timer(254, 20);
- if (!_G(spieler).R12Betreten) {
- _G(spieler).R12Betreten = true;
+ if (!_G(gameState).R12Betreten) {
+ _G(gameState).R12Betreten = true;
hideCur();
for (int16 i = 7; i < 10; i++)
@@ -90,9 +90,9 @@ void Room12::entry() {
startAadWait(109);
showCur();
- } else if (_G(spieler).R12Talisman && !_G(spieler).R12BorkInRohr)
+ } else if (_G(gameState).R12Talisman && !_G(gameState).R12BorkInRohr)
_G(timer_nr)[0] = _G(room)->set_timer(255, 20);
- else if (_G(spieler).R12BorkInRohr && !_G(spieler).R12RaumOk)
+ else if (_G(gameState).R12BorkInRohr && !_G(gameState).R12RaumOk)
_G(det)->showStaticSpr(12);
}
@@ -100,8 +100,8 @@ bool Room12::timer(int16 t_nr, int16 ani_nr) {
if (t_nr == _G(timer_nr)[0]) {
if (!is_chewy_busy())
init_bork();
- } else if (t_nr == _G(timer_nr)[1] && _G(spieler).R12TransOn) {
- _G(spieler).R12TransOn = false;
+ } else if (t_nr == _G(timer_nr)[1] && _G(gameState).R12TransOn) {
+ _G(gameState).R12TransOn = false;
startAadWait(30);
}
@@ -109,7 +109,7 @@ bool Room12::timer(int16 t_nr, int16 ani_nr) {
}
void Room12::init_bork() {
- if (!auto_obj_status(R12_BORK_OBJ) && !_G(spieler).R12BorkTalk) {
+ if (!auto_obj_status(R12_BORK_OBJ) && !_G(gameState).R12BorkTalk) {
if (!_G(auto_obj))
_G(det)->load_taf_seq(62, 24, nullptr);
@@ -120,18 +120,18 @@ void Room12::init_bork() {
_G(mov_phasen)[R12_BORK_OBJ].Repeat = 1;
_G(mov_phasen)[R12_BORK_OBJ].ZoomFak = (int16)_G(room)->_roomInfo->_zoomFactor + 20;
_G(auto_mov_obj)[R12_BORK_OBJ].Id = AUTO_OBJ0;
- _G(auto_mov_vector)[R12_BORK_OBJ].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[R12_BORK_OBJ].Delay = _G(gameState).DelaySpeed;
_G(auto_mov_obj)[R12_BORK_OBJ].Mode = true;
init_auto_obj(R12_BORK_OBJ, &R12_BORK_PHASEN[0][0], 5, (const MovLine *)R12_BORK_MPKT);
- if (!_G(spieler).R12TalismanOk) {
+ if (!_G(gameState).R12TalismanOk) {
hideCur();
_G(auto_mov_vector)[R12_BORK_OBJ]._delayCount = 1000;
autoMove(5, P_CHEWY);
_G(auto_mov_vector)[R12_BORK_OBJ]._delayCount = 0;
- if (_G(spieler).R12BorkCount < 3) {
- ++_G(spieler).R12BorkCount;
+ if (_G(gameState).R12BorkCount < 3) {
+ ++_G(gameState).R12BorkCount;
_G(uhr)->resetTimer(_G(timer_nr)[0], 0);
waitShowScreen(10);
start_spz(CH_TALK3, 255, ANI_FRONT, P_CHEWY);
@@ -150,7 +150,7 @@ void Room12::init_bork() {
}
void Room12::talk_bork() {
- if (!_G(spieler).R12TalismanOk) {
+ if (!_G(gameState).R12TalismanOk) {
startAadWait(28);
}
}
@@ -161,14 +161,14 @@ void Room12::bork_ok() {
_G(auto_mov_vector)[R12_BORK_OBJ]._delayCount = 1000;
autoMove(5, P_CHEWY);
_G(auto_mov_vector)[R12_BORK_OBJ]._delayCount = 0;
- _G(spieler).R12BorkTalk = true;
+ _G(gameState).R12BorkTalk = true;
_G(mov_phasen)[R12_BORK_OBJ].Repeat = 1;
_G(mov_phasen)[R12_BORK_OBJ].Lines = 2;
init_auto_obj(R12_BORK_OBJ, &R12_BORK_PHASEN[0][0], 2, (const MovLine *)R12_BORK_MPKT1);
wait_auto_obj(R12_BORK_OBJ);
- _G(spieler).R12BorkInRohr = true;
+ _G(gameState).R12BorkInRohr = true;
_G(det)->setSetailPos(3, 170, 145);
_G(det)->startDetail(3, 255, ANI_FRONT);
startAadWait(57);
@@ -191,14 +191,14 @@ void Room12::bork_ok() {
int16 Room12::use_terminal() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
action_flag = true;
- if (!_G(spieler).R12ChewyBork) {
+ if (!_G(gameState).R12ChewyBork) {
autoMove(6, P_CHEWY);
startAadWait(110);
- if (_G(spieler).R12BorkInRohr && !_G(spieler).R12RaumOk) {
+ if (_G(gameState).R12BorkInRohr && !_G(gameState).R12RaumOk) {
start_spz(CH_TALK5, 255, false, P_CHEWY);
startAadWait(112);
_G(flags).NoScroll = true;
@@ -213,17 +213,17 @@ int16 Room12::use_terminal() {
_G(menu_item) = CUR_WALK;
cursorChoice(_G(menu_item));
setPersonPos(108, 90, P_CHEWY, -1);
- _G(spieler).R12ChewyBork = true;
- _G(spieler).R12RaumOk = true;
+ _G(gameState).R12ChewyBork = true;
+ _G(gameState).R12RaumOk = true;
autoMove(4, P_CHEWY);
start_spz(68, 255, false, P_CHEWY);
startAadWait(113);
- } else if (_G(spieler).R12TalismanOk && !_G(spieler).R12RaumOk) {
+ } else if (_G(gameState).R12TalismanOk && !_G(gameState).R12RaumOk) {
use_linke_rohr();
} else {
- _G(spieler).R12TransOn = true;
+ _G(gameState).R12TransOn = true;
_G(uhr)->resetTimer(_G(timer_nr)[1], 0);
}
} else {
@@ -235,8 +235,8 @@ int16 Room12::use_terminal() {
}
void Room12::use_linke_rohr() {
- _G(spieler).R12TalismanOk = false;
- _G(spieler).R12ChainLeft = true;
+ _G(gameState).R12TalismanOk = false;
+ _G(gameState).R12ChainLeft = true;
_G(uhr)->disableTimer();
_G(obj)->calc_rsi_flip_flop(SIB_L_ROEHRE_R12);
_G(obj)->calc_rsi_flip_flop(SIB_ROEHRE_R12);
@@ -248,15 +248,15 @@ void Room12::use_linke_rohr() {
int16 Room12::chewy_trans() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur && _G(spieler).R12TransOn) {
+ if (!_G(gameState).inv_cur && _G(gameState).R12TransOn) {
action_flag = true;
_G(flags).AutoAniPlay = true;
autoMove(9, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startAniBlock(2, ABLOCK16);
setPersonPos(108, 82, P_CHEWY, P_RIGHT);
- _G(spieler)._personHide[P_CHEWY] = false;
- _G(spieler).R12TransOn = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
+ _G(gameState).R12TransOn = false;
_G(flags).AutoAniPlay = false;
}
return action_flag;
@@ -265,11 +265,11 @@ int16 Room12::chewy_trans() {
int16 Room12::useTransformerTube() {
bool result = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
result = true;
- if (_G(spieler).R12ChainLeft) {
- _G(spieler).R12ChainLeft = false;
+ if (_G(gameState).R12ChainLeft) {
+ _G(gameState).R12ChainLeft = false;
_G(uhr)->enableTimer();
_G(atds)->set_ats_str(117, 1, AAD_DATA);
} else {
diff --git a/engines/chewy/rooms/room13.cpp b/engines/chewy/rooms/room13.cpp
index 6d19451d6c0..37642ff708d 100644
--- a/engines/chewy/rooms/room13.cpp
+++ b/engines/chewy/rooms/room13.cpp
@@ -45,7 +45,7 @@ static const MovLine R13_BORK_MPKT[3] = {
};
void Room13::entry() {
- if (!_G(spieler).R12ChewyBork && !_G(spieler).R13BorkOk) {
+ if (!_G(gameState).R12ChewyBork && !_G(gameState).R13BorkOk) {
_G(out)->cls();
flic_cut(FCUT_012);
setPersonPos(106, 65, P_CHEWY, P_RIGHT);
@@ -53,62 +53,62 @@ void Room13::entry() {
start_spz(CH_TALK12, 255, false, P_CHEWY);
startAadWait(27);
} else {
- if (_G(spieler).R13MonitorStatus)
- _G(det)->showStaticSpr(11 - _G(spieler).R13MonitorStatus);
+ if (_G(gameState).R13MonitorStatus)
+ _G(det)->showStaticSpr(11 - _G(gameState).R13MonitorStatus);
- if (!_G(spieler).R13BorkOk) {
+ if (!_G(gameState).R13BorkOk) {
_G(det)->showStaticSpr(12);
_G(obj)->hide_sib(SIB_BANDBUTTON_R13);
- _G(spieler).R13Bandlauf = true;
+ _G(gameState).R13Bandlauf = true;
- _G(atds)->set_ats_str(94, TXT_MARK_LOOK, _G(spieler).R13Bandlauf, ATS_DATA);
+ _G(atds)->set_ats_str(94, TXT_MARK_LOOK, _G(gameState).R13Bandlauf, ATS_DATA);
- _G(atds)->set_ats_str(97, TXT_MARK_LOOK, _G(spieler).R13Bandlauf, ATS_DATA);
+ _G(atds)->set_ats_str(97, TXT_MARK_LOOK, _G(gameState).R13Bandlauf, ATS_DATA);
- _G(atds)->set_ats_str(93, TXT_MARK_LOOK, _G(spieler).R13Bandlauf, ATS_DATA);
+ _G(atds)->set_ats_str(93, TXT_MARK_LOOK, _G(gameState).R13Bandlauf, ATS_DATA);
}
- if (_G(spieler).R13Bandlauf) {
+ if (_G(gameState).R13Bandlauf) {
for (int i = 0; i < 5; ++i)
_G(det)->startDetail(i, 255, false);
}
- if (!_G(flags).LoadGame && _G(spieler).R13Band) {
- _G(spieler).room_e_obj[25].Attribut = EXIT_TOP;
+ if (!_G(flags).LoadGame && _G(gameState).R13Band) {
+ _G(gameState).room_e_obj[25].Attribut = EXIT_TOP;
_G(atds)->setControlBit(100, ATS_ACTIVE_BIT, ATS_DATA);
- _G(spieler).R13Band = false;
+ _G(gameState).R13Band = false;
}
- if (_G(spieler).R21GitterMuell)
+ if (_G(gameState).R21GitterMuell)
_G(det)->hideStaticSpr(6);
}
}
void Room13::xit() {
- _G(spieler).room_e_obj[25].Attribut = EXIT_TOP;
+ _G(gameState).room_e_obj[25].Attribut = EXIT_TOP;
_G(atds)->setControlBit(100, ATS_ACTIVE_BIT, ATS_DATA);
- _G(spieler).R13Band = false;
+ _G(gameState).R13Band = false;
}
void Room13::gedAction(int index) {
- if (index == 2 && _G(spieler).R12ChewyBork) {
+ if (index == 2 && _G(gameState).R12ChewyBork) {
stopPerson(P_CHEWY);
talk_bork();
}
}
void Room13::talk_bork() {
- if (!_G(spieler).R13BorkOk) {
- _G(spieler).R13BorkOk = true;
- _G(spieler).R12ChewyBork = false;
+ if (!_G(gameState).R13BorkOk) {
+ _G(gameState).R13BorkOk = true;
+ _G(gameState).R12ChewyBork = false;
_G(det)->showStaticSpr(13);
_G(det)->setSetailPos(10, _G(spieler_vector)[P_CHEWY].Xypos[0], _G(spieler_vector)[P_CHEWY].Xypos[1]);
_G(det)->setStaticPos(12, _G(spieler_vector)[P_CHEWY].Xypos[0], _G(spieler_vector)[P_CHEWY].Xypos[1], false, true);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startAadWait(33);
_G(det)->stop_detail(9);
_G(det)->load_taf_seq(86, 12, nullptr);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(det)->hideStaticSpr(12);
_G(auto_obj) = 1;
@@ -117,7 +117,7 @@ void Room13::talk_bork() {
_G(mov_phasen)[R13_BORK_OBJ].Repeat = 1;
_G(mov_phasen)[R13_BORK_OBJ].ZoomFak = 0;
_G(auto_mov_obj)[R13_BORK_OBJ].Id = AUTO_OBJ0;
- _G(auto_mov_vector)[R13_BORK_OBJ].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[R13_BORK_OBJ].Delay = _G(gameState).DelaySpeed;
_G(auto_mov_obj)[R13_BORK_OBJ].Mode = true;
init_auto_obj(R13_BORK_OBJ, &R13_BORK_PHASEN[0][0], 3, (const MovLine *)R13_BORK_MPKT);
autoMove(9, P_CHEWY);
@@ -146,27 +146,27 @@ void Room13::talk_bork() {
_G(obj)->show_sib(SIB_TBUTTON2_R11);
_G(obj)->show_sib(SIB_TBUTTON3_R11);
- if (_G(spieler).R6DoorRightB)
- _G(spieler).room_e_obj[20].Attribut = EXIT_LEFT;
- _G(spieler).room_e_obj[21].Attribut = EXIT_TOP;
+ if (_G(gameState).R6DoorRightB)
+ _G(gameState).room_e_obj[20].Attribut = EXIT_LEFT;
+ _G(gameState).room_e_obj[21].Attribut = EXIT_TOP;
}
}
void Room13::jmp_band() {
- if (!_G(spieler).R13Band && !_G(spieler).R12ChewyBork) {
- if (!_G(spieler).R13Bandlauf) {
+ if (!_G(gameState).R13Band && !_G(gameState).R12ChewyBork) {
+ if (!_G(gameState).R13Bandlauf) {
_G(obj)->hide_sib(SIB_BANDBUTTON_R13);
- _G(spieler).room_e_obj[25].Attribut = 255;
+ _G(gameState).room_e_obj[25].Attribut = 255;
_G(atds)->delControlBit(100, ATS_ACTIVE_BIT, ATS_DATA);
- _G(spieler).R13Band = true;
+ _G(gameState).R13Band = true;
autoMove(3, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(8, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
setPersonPos(292, 98, P_CHEWY, P_RIGHT);
} else {
- _G(spieler).R13Surf = true;
+ _G(gameState).R13Surf = true;
_G(mouseLeftClick) = false;
autoMove(12, P_CHEWY);
startAadWait(117);
@@ -176,37 +176,37 @@ void Room13::jmp_band() {
_G(flags).NoScroll = false;
setPersonPos(195, 226, P_CHEWY, P_LEFT);
- _G(spieler).R13Bandlauf = false;
- _G(atds)->set_ats_str(94, TXT_MARK_LOOK, _G(spieler).R13Bandlauf, ATS_DATA);
- _G(atds)->set_ats_str(97, TXT_MARK_LOOK, _G(spieler).R13Bandlauf, ATS_DATA);
- _G(atds)->set_ats_str(93, TXT_MARK_LOOK, _G(spieler).R13Bandlauf, ATS_DATA);
+ _G(gameState).R13Bandlauf = false;
+ _G(atds)->set_ats_str(94, TXT_MARK_LOOK, _G(gameState).R13Bandlauf, ATS_DATA);
+ _G(atds)->set_ats_str(97, TXT_MARK_LOOK, _G(gameState).R13Bandlauf, ATS_DATA);
+ _G(atds)->set_ats_str(93, TXT_MARK_LOOK, _G(gameState).R13Bandlauf, ATS_DATA);
_G(obj)->calc_rsi_flip_flop(SIB_BANDBUTTON_R13);
_G(obj)->hide_sib(SIB_BANDBUTTON_R13);
switchRoom(14);
flic_cut(FCUT_017);
register_cutscene(6);
- _G(spieler).scrollx = 92;
- _G(spieler).scrolly = 120;
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState).scrollx = 92;
+ _G(gameState).scrolly = 120;
+ _G(gameState)._personHide[P_CHEWY] = true;
waitShowScreen(20);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
}
}
}
void Room13::jmp_floor() {
- if (_G(spieler).R13Band) {
- if (!_G(spieler).R13Surf)
+ if (_G(gameState).R13Band) {
+ if (!_G(gameState).R13Surf)
_G(obj)->show_sib(SIB_BANDBUTTON_R13);
- _G(spieler).room_e_obj[25].Attribut = EXIT_TOP;
+ _G(gameState).room_e_obj[25].Attribut = EXIT_TOP;
_G(atds)->setControlBit(100, ATS_ACTIVE_BIT, ATS_DATA);
- _G(spieler).R13Band = false;
+ _G(gameState).R13Band = false;
autoMove(5, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(7, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
setPersonPos(176, 138, P_CHEWY, P_LEFT);
}
}
@@ -214,28 +214,28 @@ void Room13::jmp_floor() {
int16 Room13::monitor_button() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur) {
- if (_G(spieler).R13Band) {
+ if (!_G(gameState).inv_cur) {
+ if (_G(gameState).R13Band) {
action_flag = true;
startAadWait(620);
- } else if (!_G(spieler).R12ChewyBork) {
+ } else if (!_G(gameState).R12ChewyBork) {
action_flag = true;
autoMove(8, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(6, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
- if (_G(spieler).R13MonitorStatus)
- _G(det)->hideStaticSpr(11 - _G(spieler).R13MonitorStatus);
+ if (_G(gameState).R13MonitorStatus)
+ _G(det)->hideStaticSpr(11 - _G(gameState).R13MonitorStatus);
- ++_G(spieler).R13MonitorStatus;
- if (_G(spieler).R13MonitorStatus > 4)
- _G(spieler).R13MonitorStatus = 0;
+ ++_G(gameState).R13MonitorStatus;
+ if (_G(gameState).R13MonitorStatus > 4)
+ _G(gameState).R13MonitorStatus = 0;
else
- _G(det)->showStaticSpr(11 - _G(spieler).R13MonitorStatus);
+ _G(det)->showStaticSpr(11 - _G(gameState).R13MonitorStatus);
- _G(atds)->set_ats_str(96, TXT_MARK_LOOK, _G(spieler).R13MonitorStatus, ATS_DATA);
+ _G(atds)->set_ats_str(96, TXT_MARK_LOOK, _G(gameState).R13MonitorStatus, ATS_DATA);
}
}
diff --git a/engines/chewy/rooms/room14.cpp b/engines/chewy/rooms/room14.cpp
index 584bbaec08d..f6c7b5d9a18 100644
--- a/engines/chewy/rooms/room14.cpp
+++ b/engines/chewy/rooms/room14.cpp
@@ -30,22 +30,22 @@ namespace Chewy {
namespace Rooms {
void Room14::entry() {
- _G(spieler).R23GleiterExit = 14;
+ _G(gameState).R23GleiterExit = 14;
_G(zoom_horizont) = 310;
- _G(spieler).ScrollxStep = 2;
+ _G(gameState).ScrollxStep = 2;
- if (!_G(spieler).R14Feuer)
+ if (!_G(gameState).R14Feuer)
_G(obj)->hide_sib(46);
if (!_G(flags).LoadGame) {
- if (_G(spieler).R14GleiterAuf) {
+ if (_G(gameState).R14GleiterAuf) {
setPersonPos(381, 264, P_CHEWY, P_LEFT);
_G(det)->showStaticSpr(6);
- _G(spieler).scrollx = 160;
- _G(spieler).scrolly = 120;
+ _G(gameState).scrollx = 160;
+ _G(gameState).scrolly = 120;
} else {
- _G(spieler).scrollx = 92;
- _G(spieler).scrolly = 17;
+ _G(gameState).scrollx = 92;
+ _G(gameState).scrolly = 17;
}
}
}
@@ -58,7 +58,7 @@ bool Room14::timer(int16 t_nr, int16 ani_nr) {
}
void Room14::eremit_feuer(int16 t_nr, int16 ani_nr) {
- if (!_G(flags).AutoAniPlay && !_G(spieler).R14Feuer) {
+ if (!_G(flags).AutoAniPlay && !_G(gameState).R14Feuer) {
_G(flags).AutoAniPlay = true;
_G(det)->hideStaticSpr(9);
startSetAILWait(_G(room)->_roomTimer._objNr[ani_nr], 1, ANI_FRONT);
@@ -72,15 +72,15 @@ void Room14::eremit_feuer(int16 t_nr, int16 ani_nr) {
int16 Room14::use_schrott() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
autoMove(3, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(12, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
- if (!_G(spieler).R14Waffe) {
+ if (!_G(gameState).R14Waffe) {
action_flag = true;
- _G(spieler).R14Waffe = true;
+ _G(gameState).R14Waffe = true;
startAadWait(21);
invent_2_slot(BWAFFE_INV);
}
@@ -91,19 +91,19 @@ int16 Room14::use_schrott() {
int16 Room14::use_gleiter() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
action_flag = true;
autoMove(4, P_CHEWY);
- if (!_G(spieler).R14GleiterAuf) {
- _G(spieler).R14GleiterAuf = true;
- _G(spieler)._personHide[P_CHEWY] = true;
+ if (!_G(gameState).R14GleiterAuf) {
+ _G(gameState).R14GleiterAuf = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(10, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(det)->showStaticSpr(6);
_G(atds)->set_ats_str(107, TXT_MARK_LOOK, 1, ATS_DATA);
} else {
- _G(spieler).R23GleiterExit = 14;
+ _G(gameState).R23GleiterExit = 14;
Room23::cockpit();
}
}
@@ -112,11 +112,11 @@ int16 Room14::use_gleiter() {
}
void Room14::talk_eremit() {
- if (!_G(spieler).R14Feuer) {
+ if (!_G(gameState).R14Feuer) {
autoMove(6, P_CHEWY);
_G(flags).AutoAniPlay = true;
- if (_G(spieler).R14Translator) {
+ if (_G(gameState).R14Translator) {
loadAdsDia(0);
_G(obj)->show_sib(46);
} else {
@@ -131,15 +131,15 @@ void Room14::talk_eremit() {
int16 Room14::use_schleim() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
autoMove(2, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(11, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
- if (!_G(spieler).R14Sicherung) {
+ if (!_G(gameState).R14Sicherung) {
action_flag = true;
- _G(spieler).R14Sicherung = true;
+ _G(gameState).R14Sicherung = true;
startAadWait(22);
invent_2_slot(SICHERUNG_INV);
}
@@ -150,8 +150,8 @@ int16 Room14::use_schleim() {
void Room14::feuer() {
int16 waffe = false;
- int16 tmp = _G(spieler).AkInvent;
- _G(spieler).R14Feuer = true;
+ int16 tmp = _G(gameState).AkInvent;
+ _G(gameState).R14Feuer = true;
_G(cur_hide_flag) = false;
_G(flags).AutoAniPlay = true;
hideCur();
@@ -159,18 +159,18 @@ void Room14::feuer() {
if (isCurInventory(BWAFFE_INV)) {
autoMove(5, P_CHEWY);
waffe = true;
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startDetailFrame(8, 1, ANI_FRONT, 11);
startSetAILWait(9, 1, ANI_FRONT);
waitDetail(8);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
} else {
autoMove(7, P_CHEWY);
_G(det)->hideStaticSpr(9);
startDetailFrame(2, 1, ANI_FRONT, 9);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(13, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
waitDetail(2);
startSetAILWait(5, 1, ANI_FRONT);
_G(det)->showStaticSpr(9);
@@ -189,7 +189,7 @@ void Room14::feuer() {
_G(det)->showStaticSpr(9);
invent_2_slot(FLUXO_INV);
_G(atds)->set_ats_str(105, TXT_MARK_LOOK, 1, ATS_DATA);
- _G(spieler).R14FluxoFlex = true;
+ _G(gameState).R14FluxoFlex = true;
_G(flags).AutoAniPlay = false;
showCur();
}
diff --git a/engines/chewy/rooms/room16.cpp b/engines/chewy/rooms/room16.cpp
index 1ee24ccdf55..2cae87ed214 100644
--- a/engines/chewy/rooms/room16.cpp
+++ b/engines/chewy/rooms/room16.cpp
@@ -32,13 +32,13 @@ namespace Rooms {
void Room16::entry() {
_G(zoom_horizont) = 140;
- if (!_G(spieler).R16F5Exit) {
+ if (!_G(gameState).R16F5Exit) {
_G(det)->showStaticSpr(4);
- _G(spieler).room_e_obj[32].Attribut = 255;
+ _G(gameState).room_e_obj[32].Attribut = 255;
_G(atds)->delControlBit(124, ATS_ACTIVE_BIT, ATS_DATA);
} else {
_G(det)->hideStaticSpr(4);
- _G(spieler).room_e_obj[32].Attribut = EXIT_LEFT;
+ _G(gameState).room_e_obj[32].Attribut = EXIT_LEFT;
_G(atds)->setControlBit(124, ATS_ACTIVE_BIT, ATS_DATA);
}
}
@@ -46,10 +46,10 @@ void Room16::entry() {
int16 Room16::use_gleiter() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
action_flag = true;
autoMove(6, P_CHEWY);
- _G(spieler).R23GleiterExit = 16;
+ _G(gameState).R23GleiterExit = 16;
Room23::cockpit();
}
diff --git a/engines/chewy/rooms/room17.cpp b/engines/chewy/rooms/room17.cpp
index 997226a8ed9..87a650cf6f7 100644
--- a/engines/chewy/rooms/room17.cpp
+++ b/engines/chewy/rooms/room17.cpp
@@ -51,7 +51,7 @@ static const MovLine CHEWY_MPKT1[2] = {
};
void Room17::entry() {
- if (!_G(spieler).R17EnergieOut) {
+ if (!_G(gameState).R17EnergieOut) {
_G(det)->startDetail(1, 255, ANI_FRONT);
for (int i = 0; i < 3; ++i)
_G(det)->startDetail(6 + i, 255, ANI_FRONT);
@@ -59,58 +59,58 @@ void Room17::entry() {
plot_seil();
- if (_G(spieler).R17GitterWeg)
+ if (_G(gameState).R17GitterWeg)
_G(det)->hideStaticSpr(5);
- if (_G(spieler).R17DoorKommand)
+ if (_G(gameState).R17DoorKommand)
_G(det)->showStaticSpr(7);
- if (_G(spieler).R17Location == 1) {
+ if (_G(gameState).R17Location == 1) {
_G(flags).ZoomMov = true;
_G(zoom_mov_fak) = 3;
_G(room)->set_zoom(25);
_G(zoom_horizont) = 0;
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 60;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 60;
setPersonPos(242, 146, P_CHEWY, P_LEFT);
xit();
- } else if (_G(spieler).R17Location == 3) {
+ } else if (_G(gameState).R17Location == 3) {
_G(room)->set_zoom(32);
_G(zoom_horizont) = 399;
xit();
} else {
_G(room)->set_zoom(15);
_G(zoom_horizont) = 0;
- _G(spieler).room_e_obj[36].Attribut = 255;
- _G(spieler).room_e_obj[38].Attribut = 255;
+ _G(gameState).room_e_obj[36].Attribut = 255;
+ _G(gameState).room_e_obj[38].Attribut = 255;
- if (_G(spieler).R6DoorLeftF)
- _G(spieler).room_e_obj[39].Attribut = EXIT_RIGHT;
+ if (_G(gameState).R6DoorLeftF)
+ _G(gameState).room_e_obj[39].Attribut = EXIT_RIGHT;
else
- _G(spieler).room_e_obj[39].Attribut = 255;
+ _G(gameState).room_e_obj[39].Attribut = 255;
- if (_G(spieler).R18DoorBruecke)
- _G(spieler).room_e_obj[35].Attribut = EXIT_LEFT;
+ if (_G(gameState).R18DoorBruecke)
+ _G(gameState).room_e_obj[35].Attribut = EXIT_LEFT;
else
- _G(spieler).room_e_obj[35].Attribut = 255;
+ _G(gameState).room_e_obj[35].Attribut = 255;
}
}
void Room17::xit() {
- if (_G(spieler).R17DoorKommand)
- _G(spieler).room_e_obj[36].Attribut = EXIT_TOP;
+ if (_G(gameState).R17DoorKommand)
+ _G(gameState).room_e_obj[36].Attribut = EXIT_TOP;
else
- _G(spieler).room_e_obj[36].Attribut = 255;
+ _G(gameState).room_e_obj[36].Attribut = 255;
- _G(spieler).room_e_obj[35].Attribut = 255;
- _G(spieler).room_e_obj[39].Attribut = 255;
- _G(spieler).room_e_obj[38].Attribut = EXIT_TOP;
+ _G(gameState).room_e_obj[35].Attribut = 255;
+ _G(gameState).room_e_obj[39].Attribut = 255;
+ _G(gameState).room_e_obj[38].Attribut = EXIT_TOP;
}
bool Room17::timer(int16 t_nr, int16 ani_nr) {
if (_G(room)->_roomTimer._objNr[ani_nr] == 2 ||
_G(room)->_roomTimer._objNr[ani_nr] == 3) {
- if (_G(spieler).R17EnergieOut)
+ if (_G(gameState).R17EnergieOut)
_G(uhr)->resetTimer(t_nr, 0);
else
return true;
@@ -137,19 +137,19 @@ void Room17::gedAction(int index) {
int16 Room17::use_seil() {
int16 action_flag = false;
- if (!_G(flags).AutoAniPlay && _G(spieler).R17Location == 1 && isCurInventory(SEIL_INV)) {
+ if (!_G(flags).AutoAniPlay && _G(gameState).R17Location == 1 && isCurInventory(SEIL_INV)) {
action_flag = true;
hideCur();
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
_G(flags).AutoAniPlay = true;
autoMove(5, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(10, 1, ANI_FRONT);
- _G(spieler).R17Seil = true;
+ _G(gameState).R17Seil = true;
_G(atds)->delControlBit(139, ATS_ACTIVE_BIT, ATS_DATA);
plot_seil();
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(flags).AutoAniPlay = false;
start_spz(CH_TALK6, 255, false, P_CHEWY);
startAadWait(119);
@@ -161,7 +161,7 @@ int16 Room17::use_seil() {
}
void Room17::plot_seil() {
- if (_G(spieler).R17Seil) {
+ if (_G(gameState).R17Seil) {
for (int16 i = 0; i < 3; i++)
_G(det)->showStaticSpr(8 + i);
}
@@ -170,11 +170,11 @@ void Room17::plot_seil() {
void Room17::kletter_down() {
autoMove(5, P_CHEWY);
_G(det)->load_taf_seq(177, 1, nullptr);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(14, 1, ANI_FRONT);
_G(flags).ZoomMov = false;
_G(zoom_mov_fak) = 1;
- _G(spieler).ScrollyStep = 2;
+ _G(gameState).ScrollyStep = 2;
_G(room)->set_zoom(32);
_G(spieler_mi)->Vorschub = 8;
_G(zoom_horizont) = 399;
@@ -186,11 +186,11 @@ void Room17::kletter_down() {
void Room17::kletter_up() {
autoMove(6, P_CHEWY);
_G(det)->load_taf_seq(141, 4, nullptr);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(11, 1, ANI_FRONT);
_G(flags).ZoomMov = true;
_G(zoom_mov_fak) = 3;
- _G(spieler).ScrollyStep = 1;
+ _G(gameState).ScrollyStep = 1;
_G(room)->set_zoom(25);
_G(zoom_horizont) = 0;
_G(auto_obj) = 1;
@@ -199,10 +199,10 @@ void Room17::kletter_up() {
}
void Room17::calc_seil() {
- if (_G(spieler).R17Seil) {
- if (_G(spieler).R17Location == 2) {
+ if (_G(gameState).R17Seil) {
+ if (_G(gameState).R17Location == 2) {
startAadWait(619);
- } else if (!_G(flags).AutoAniPlay && !_G(spieler).inv_cur) {
+ } else if (!_G(flags).AutoAniPlay && !_G(gameState).inv_cur) {
close_door();
_G(flags).AutoAniPlay = true;
_G(mov_phasen)[CHEWY_OBJ].AtsText = 0;
@@ -210,16 +210,16 @@ void Room17::calc_seil() {
_G(mov_phasen)[CHEWY_OBJ].Repeat = 1;
_G(mov_phasen)[CHEWY_OBJ].ZoomFak = 0;
_G(auto_mov_obj)[CHEWY_OBJ].Id = AUTO_OBJ0;
- _G(auto_mov_vector)[CHEWY_OBJ].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[CHEWY_OBJ].Delay = _G(gameState).DelaySpeed;
_G(auto_mov_obj)[CHEWY_OBJ].Mode = true;
hideCur();
- if (_G(spieler).R17Location == 1) {
+ if (_G(gameState).R17Location == 1) {
kletter_down();
- _G(spieler).R17Location = 3;
- } else if (_G(spieler).R17Location == 3) {
+ _G(gameState).R17Location = 3;
+ } else if (_G(gameState).R17Location == 3) {
kletter_up();
- _G(spieler).R17Location = 1;
+ _G(gameState).R17Location = 1;
}
_G(menu_item) = CUR_WALK;
@@ -227,8 +227,8 @@ void Room17::calc_seil() {
wait_auto_obj(CHEWY_OBJ);
showCur();
setPersonSpr(P_LEFT, P_CHEWY);
- _G(spieler).ScrollyStep = 1;
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState).ScrollyStep = 1;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(flags).AutoAniPlay = false;
_G(auto_obj) = 0;
xit();
@@ -241,9 +241,9 @@ void Room17::door_kommando(int16 mode) {
_G(flags).AutoAniPlay = true;
if (!mode) {
- if (!_G(spieler).R17DoorKommand) {
- _G(spieler).room_e_obj[36].Attribut = EXIT_TOP;
- _G(spieler).R17DoorKommand = true;
+ if (!_G(gameState).R17DoorKommand) {
+ _G(gameState).room_e_obj[36].Attribut = EXIT_TOP;
+ _G(gameState).R17DoorKommand = true;
startSetAILWait(4, 1, ANI_FRONT);
stopPerson(P_CHEWY);
_G(det)->showStaticSpr(7);
@@ -253,15 +253,15 @@ void Room17::door_kommando(int16 mode) {
}
_G(flags).AutoAniPlay = false;
- _G(atds)->set_ats_str(144, _G(spieler).R17DoorKommand, ATS_DATA);
+ _G(atds)->set_ats_str(144, _G(gameState).R17DoorKommand, ATS_DATA);
}
}
void Room17::close_door() {
- if (_G(spieler).R17DoorKommand) {
- _G(spieler).room_e_obj[36].Attribut = 255;
- _G(spieler).R17DoorKommand = false;
- _G(atds)->set_ats_str(144, _G(spieler).R17DoorKommand ? 1 : 0, ATS_DATA);
+ if (_G(gameState).R17DoorKommand) {
+ _G(gameState).room_e_obj[36].Attribut = 255;
+ _G(gameState).R17DoorKommand = false;
+ _G(atds)->set_ats_str(144, _G(gameState).R17DoorKommand ? 1 : 0, ATS_DATA);
_G(det)->hideStaticSpr(7);
_G(det)->startDetail(4, 1, ANI_BACK);
}
@@ -273,35 +273,35 @@ int16 Room17::energie_hebel() {
hideCur();
autoMove(7, P_CHEWY);
- if (!_G(spieler).R17HebelOk) {
+ if (!_G(gameState).R17HebelOk) {
if (isCurInventory(BECHER_VOLL_INV)) {
- delInventory(_G(spieler).AkInvent);
- _G(spieler).R17HebelOk = true;
+ delInventory(_G(gameState).AkInvent);
+ _G(gameState).R17HebelOk = true;
startAadWait(38);
action_flag = true;
- } else if (!_G(spieler).inv_cur) {
+ } else if (!_G(gameState).inv_cur) {
startAadWait(37);
action_flag = true;
}
- } else if (!_G(spieler).inv_cur) {
+ } else if (!_G(gameState).inv_cur) {
action_flag = true;
_G(obj)->calc_rsi_flip_flop(SIB_HEBEL_R17);
- _G(spieler).R17EnergieOut ^= 1;
+ _G(gameState).R17EnergieOut ^= 1;
- if (!_G(spieler).R17EnergieOut) {
+ if (!_G(gameState).R17EnergieOut) {
_G(det)->startDetail(1, 255, ANI_FRONT);
for (int i = 0; i < 3; ++i)
_G(det)->startDetail(i + 6, 255, ANI_FRONT);
}
- _G(atds)->set_ats_str(142, _G(spieler).R17EnergieOut ? 1 : 0, ATS_DATA);
- _G(atds)->set_ats_str(140, _G(spieler).R17EnergieOut ? 1 : 0, ATS_DATA);
+ _G(atds)->set_ats_str(142, _G(gameState).R17EnergieOut ? 1 : 0, ATS_DATA);
+ _G(atds)->set_ats_str(140, _G(gameState).R17EnergieOut ? 1 : 0, ATS_DATA);
g_engine->_sound->playSound(12);
- if (_G(spieler).R17EnergieOut) {
+ if (_G(gameState).R17EnergieOut) {
g_engine->_sound->stopSound(0);
} else {
g_engine->_sound->playSound(15, 0);
@@ -316,7 +316,7 @@ int16 Room17::get_oel() {
int16 action_flag = false;
hideCur();
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
action_flag = true;
autoMove(4, P_CHEWY);
start_spz_wait(CH_EKEL, 3, false, P_CHEWY);
@@ -325,10 +325,10 @@ int16 Room17::get_oel() {
action_flag = true;
close_door();
autoMove(4, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(13, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
- delInventory(_G(spieler).AkInvent);
+ _G(gameState)._personHide[P_CHEWY] = false;
+ delInventory(_G(gameState).AkInvent);
_G(obj)->addInventory(BECHER_VOLL_INV, &_G(room_blk));
inventory_2_cur(BECHER_VOLL_INV);
}
diff --git a/engines/chewy/rooms/room18.cpp b/engines/chewy/rooms/room18.cpp
index 29174ee6c1c..944226c3648 100644
--- a/engines/chewy/rooms/room18.cpp
+++ b/engines/chewy/rooms/room18.cpp
@@ -87,44 +87,44 @@ static const AniBlock ABLOCK24[2] = {
void Room18::entry() {
- _G(spieler).R18MoniSwitch = false;
+ _G(gameState).R18MoniSwitch = false;
_G(atds)->set_ats_str(151, TXT_MARK_LOOK, 0, ATS_DATA);
- _G(spieler).ScrollxStep = 2;
+ _G(gameState).ScrollxStep = 2;
- if (_G(spieler).R18CartTerminal)
+ if (_G(gameState).R18CartTerminal)
_G(det)->showStaticSpr(23);
- if (!_G(spieler).R18SurimyWurf) {
+ if (!_G(gameState).R18SurimyWurf) {
init_borks();
} else {
for (int16 i = 0; i < 5; i++)
_G(det)->hideStaticSpr(BORK_SPR[i]);
- for (int16 i = 0; i < (4 - (_G(spieler).R18Krone ? 1 : 0)); i++)
+ for (int16 i = 0; i < (4 - (_G(gameState).R18Krone ? 1 : 0)); i++)
_G(det)->showStaticSpr(BORK_SPR1[i]);
}
- if (_G(spieler).R16F5Exit)
+ if (_G(gameState).R16F5Exit)
_G(det)->hideStaticSpr(19);
- if (_G(spieler).R17EnergieOut) {
+ if (_G(gameState).R17EnergieOut) {
_G(det)->stop_detail(0);
_G(atds)->set_ats_str(150, TXT_MARK_LOOK, 1, ATS_DATA);
} else {
_G(atds)->set_ats_str(150, TXT_MARK_LOOK, 0, ATS_DATA);
}
- if (!_G(spieler).R18FirstEntry && !_G(spieler).R18Gitter) {
+ if (!_G(gameState).R18FirstEntry && !_G(gameState).R18Gitter) {
startAadWait(39);
- _G(spieler).R18FirstEntry = true;
+ _G(gameState).R18FirstEntry = true;
}
- if (_G(spieler).R18Gitter)
- _G(spieler).scrolly = 0;
+ if (_G(gameState).R18Gitter)
+ _G(gameState).scrolly = 0;
}
bool Room18::timer(int16 t_nr, int16 ani_nr) {
- if (!_G(spieler).R18SurimyWurf && !_G(flags).AutoAniPlay) {
+ if (!_G(gameState).R18SurimyWurf && !_G(flags).AutoAniPlay) {
_G(flags).AutoAniPlay = true;
if (t_nr == _G(timer_nr)[0]) {
@@ -138,8 +138,8 @@ bool Room18::timer(int16 t_nr, int16 ani_nr) {
startSetAILWait(9, 1, ANI_FRONT);
_G(det)->showStaticSpr(17);
- if (!_G(spieler).R18SondeMoni) {
- _G(spieler).R18SondeMoni = true;
+ if (!_G(gameState).R18SondeMoni) {
+ _G(gameState).R18SondeMoni = true;
startSetAILWait(2, 1, ANI_FRONT);
_G(det)->showStaticSpr(9);
startSetAILWait(4, 1, ANI_FRONT);
@@ -162,7 +162,7 @@ bool Room18::timer(int16 t_nr, int16 ani_nr) {
}
void Room18::gedAction(int index) {
- if (!index && !_G(spieler).R18SurimyWurf) {
+ if (!index && !_G(gameState).R18SurimyWurf) {
stopPerson(P_CHEWY);
autoMove(1, P_CHEWY);
start_aad(40, 0);
@@ -178,18 +178,18 @@ void Room18::init_borks() {
_G(timer_nr)[0] = _G(room)->set_timer(255, 10);
_G(timer_nr)[1] = _G(room)->set_timer(255, 15);
- _G(spieler).scrollx = 276;
- _G(spieler).scrolly = 0;
+ _G(gameState).scrollx = 276;
+ _G(gameState).scrolly = 0;
_G(flags).NoScroll = true;
}
void Room18::monitor() {
- _G(spieler).R18MoniSwitch ^= 1;
+ _G(gameState).R18MoniSwitch ^= 1;
int16 nr = 0;
- if (_G(spieler).R18MoniSwitch) {
+ if (_G(gameState).R18MoniSwitch) {
startAniBlock(2, ABLOCK21);
- nr = (_G(spieler).R17EnergieOut) ? 2 : 1;
+ nr = (_G(gameState).R17EnergieOut) ? 2 : 1;
} else {
_G(det)->stop_detail(23);
_G(atds)->set_ats_str(41, TXT_MARK_LOOK, 1, ATS_DATA);
@@ -201,7 +201,7 @@ void Room18::monitor() {
int16 Room18::sonden_moni() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur && !_G(spieler).R18Gitter) {
+ if (!_G(gameState).inv_cur && !_G(gameState).R18Gitter) {
action_flag = true;
hideCur();
@@ -230,8 +230,8 @@ int16 Room18::calc_surimy() {
action_flag = true;
hideCur();
- delInventory(_G(spieler).AkInvent);
- _G(spieler).R18SurimyWurf = true;
+ delInventory(_G(gameState).AkInvent);
+ _G(gameState).R18SurimyWurf = true;
_G(det)->load_taf_seq(245, 50, nullptr);
_G(det)->load_taf_seq(116, 55, nullptr);
_G(auto_obj) = 1;
@@ -240,7 +240,7 @@ int16 Room18::calc_surimy() {
_G(mov_phasen)[SURIMY_OBJ].Repeat = 1;
_G(mov_phasen)[SURIMY_OBJ].ZoomFak = 0;
_G(auto_mov_obj)[SURIMY_OBJ].Id = AUTO_OBJ0;
- _G(auto_mov_vector)[SURIMY_OBJ].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[SURIMY_OBJ].Delay = _G(gameState).DelaySpeed;
_G(auto_mov_obj)[SURIMY_OBJ].Mode = true;
if (_G(spieler_vector)[P_CHEWY].Xypos[1] < 150) {
@@ -251,7 +251,7 @@ int16 Room18::calc_surimy() {
} else {
autoMove(1, P_CHEWY);
stopPerson(P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startDetailFrame(17, 1, ANI_FRONT, 12);
_G(mouseLeftClick) = false;
@@ -259,7 +259,7 @@ int16 Room18::calc_surimy() {
waitDetail(17);
}
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
wait_auto_obj(SURIMY_OBJ);
_G(det)->setSetailPos(21, 392, 170);
@@ -305,10 +305,10 @@ int16 Room18::calc_surimy() {
init_auto_obj(SURIMY_OBJ, &SURIMY_PHASEN[0][0], _G(mov_phasen)[SURIMY_OBJ].Lines, (const MovLine *)SURIMY_MPKT2);
auto_scroll(0, 0);
wait_auto_obj(SURIMY_OBJ);
- _G(spieler).ScrollxStep = 6;
+ _G(gameState).ScrollxStep = 6;
_G(flags).NoScroll = false;
auto_scroll(318, 0);
- _G(spieler).ScrollxStep = 2;
+ _G(gameState).ScrollxStep = 2;
_G(auto_obj) = 0;
_G(atds)->set_ats_str(153, 1, ATS_DATA);
@@ -328,7 +328,7 @@ int16 Room18::calc_surimy() {
int16 Room18::calc_schalter() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur && !_G(spieler).R18Gitter) {
+ if (!_G(gameState).inv_cur && !_G(gameState).R18Gitter) {
action_flag = true;
hideCur();
@@ -343,16 +343,16 @@ int16 Room18::calc_schalter() {
short Room18::use_cart_moni() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
action_flag = true;
hideCur();
autoMove(9, P_CHEWY);
setPersonSpr(P_LEFT, P_CHEWY);
start_spz_wait(CH_LGET_O, 1, false, P_CHEWY);
- _G(spieler).R18CartTerminal ^= 1;
+ _G(gameState).R18CartTerminal ^= 1;
- if (!_G(spieler).R18CartTerminal) {
+ if (!_G(gameState).R18CartTerminal) {
_G(atds)->set_ats_str(147, TXT_MARK_LOOK, 0, ATS_DATA);
_G(det)->hideStaticSpr(23);
startSetAILWait(20, 1, ANI_BACK);
@@ -361,8 +361,8 @@ short Room18::use_cart_moni() {
startSetAILWait(20, 1, ANI_FRONT);
_G(det)->showStaticSpr(23);
- if (_G(spieler).R18CartFach) {
- _G(spieler).R18CartSave = true;
+ if (_G(gameState).R18CartFach) {
+ _G(gameState).R18CartSave = true;
_G(atds)->set_ats_str(CARTRIDGE_INV, TXT_MARK_LOOK, 1, INV_ATS_DATA);
startAadWait(120);
}
@@ -377,7 +377,7 @@ short Room18::use_cart_moni() {
int16 Room18::go_cyberspace() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur && !_G(spieler).R18Gitter) {
+ if (!_G(gameState).inv_cur && !_G(gameState).R18Gitter) {
action_flag = true;
hideCur();
diff --git a/engines/chewy/rooms/room19.cpp b/engines/chewy/rooms/room19.cpp
index f208c4eabf5..d70e130dc94 100644
--- a/engines/chewy/rooms/room19.cpp
+++ b/engines/chewy/rooms/room19.cpp
@@ -30,8 +30,8 @@ namespace Rooms {
void Room19::entry() {
_G(zoom_horizont) = 250;
_G(flags).NoScroll = true;
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 24;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 24;
}
} // namespace Rooms
diff --git a/engines/chewy/rooms/room21.cpp b/engines/chewy/rooms/room21.cpp
index e0e4f5ad05d..4a92f20d022 100644
--- a/engines/chewy/rooms/room21.cpp
+++ b/engines/chewy/rooms/room21.cpp
@@ -63,8 +63,8 @@ static const AniBlock ABLOCK19[3] = {
};
void Room21::entry() {
- _G(spieler).ScrollxStep = 2;
- _G(spieler).ScrollyStep = 2;
+ _G(gameState).ScrollxStep = 2;
+ _G(gameState).ScrollyStep = 2;
load_chewy_taf(CHEWY_MINI);
calc_laser();
init_spinne();
@@ -83,32 +83,32 @@ bool Room21::timer(int16 t_nr, int16 ani_nr) {
}
void Room21::calc_laser() {
- if (_G(spieler).R21Hebel1 && !_G(spieler).R21Hebel2 && _G(spieler).R21Hebel3) {
- _G(spieler).R21Laser1Weg = true;
+ if (_G(gameState).R21Hebel1 && !_G(gameState).R21Hebel2 && _G(gameState).R21Hebel3) {
+ _G(gameState).R21Laser1Weg = true;
_G(det)->stop_detail(3);
_G(atds)->setControlBit(134, ATS_ACTIVE_BIT, ATS_DATA);
_G(atds)->delControlBit(133, ATS_ACTIVE_BIT, ATS_DATA);
} else {
- _G(spieler).R21Laser1Weg = false;
+ _G(gameState).R21Laser1Weg = false;
_G(det)->startDetail(3, 255, ANI_FRONT);
_G(atds)->delControlBit(134, ATS_ACTIVE_BIT, ATS_DATA);
_G(atds)->setControlBit(133, ATS_ACTIVE_BIT, ATS_DATA);
}
- if (!_G(spieler).R21Hebel1 && _G(spieler).R21Hebel2 && !_G(spieler).R21Hebel3) {
- if (!_G(obj)->checkInventory(SEIL_INV) && !_G(spieler).R17Seil) {
+ if (!_G(gameState).R21Hebel1 && _G(gameState).R21Hebel2 && !_G(gameState).R21Hebel3) {
+ if (!_G(obj)->checkInventory(SEIL_INV) && !_G(gameState).R17Seil) {
_G(obj)->show_sib(SIB_SEIL_R21);
_G(atds)->delControlBit(129, ATS_ACTIVE_BIT, ATS_DATA);
}
- _G(spieler).R21Laser2Weg = true;
+ _G(gameState).R21Laser2Weg = true;
_G(det)->stop_detail(4);
_G(atds)->setControlBit(135, ATS_ACTIVE_BIT, ATS_DATA);
} else {
_G(obj)->hide_sib(SIB_SEIL_R21);
_G(atds)->setControlBit(129, ATS_ACTIVE_BIT, ATS_DATA);
- _G(spieler).R21Laser2Weg = false;
+ _G(gameState).R21Laser2Weg = false;
_G(det)->startDetail(4, 255, ANI_FRONT);
_G(atds)->delControlBit(135, ATS_ACTIVE_BIT, ATS_DATA);
}
@@ -123,7 +123,7 @@ void Room21::init_spinne() {
_G(mov_phasen)[SPINNE1_OBJ].Repeat = 255;
_G(mov_phasen)[SPINNE1_OBJ].ZoomFak = 0;
_G(auto_mov_obj)[SPINNE1_OBJ].Id = AUTO_OBJ0;
- _G(auto_mov_vector)[SPINNE1_OBJ].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[SPINNE1_OBJ].Delay = _G(gameState).DelaySpeed;
_G(auto_mov_obj)[SPINNE1_OBJ].Mode = true;
init_auto_obj(SPINNE1_OBJ, &SPINNE_PHASEN[0][0], 3, (const MovLine *)SPINNE_MPKT);
@@ -132,7 +132,7 @@ void Room21::init_spinne() {
_G(mov_phasen)[SPINNE2_OBJ].Repeat = 1;
_G(mov_phasen)[SPINNE2_OBJ].ZoomFak = 0;
_G(auto_mov_obj)[SPINNE2_OBJ].Id = AUTO_OBJ1;
- _G(auto_mov_vector)[SPINNE2_OBJ].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[SPINNE2_OBJ].Delay = _G(gameState).DelaySpeed;
_G(auto_mov_obj)[SPINNE2_OBJ].Mode = true;
init_auto_obj(SPINNE2_OBJ, &SPINNE_PHASEN[0][0], 2, (const MovLine *)SPINNE_MPKT1);
_G(timer_nr)[0] = _G(room)->set_timer(255, 21);
@@ -156,7 +156,7 @@ void Room21::setup_func() {
_G(mov_phasen)[ENERGIE_OBJ].Repeat = 1;
_G(mov_phasen)[ENERGIE_OBJ].ZoomFak = 0;
_G(auto_mov_obj)[ENERGIE_OBJ].Id = AUTO_OBJ2;
- _G(auto_mov_vector)[ENERGIE_OBJ].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[ENERGIE_OBJ].Delay = _G(gameState).DelaySpeed;
_G(auto_mov_obj)[ENERGIE_OBJ].Mode = true;
init_auto_obj(ENERGIE_OBJ, &SPINNE_PHASEN[0][0], 2, (const MovLine *)SPINNE_MPKT2);
}
@@ -192,11 +192,11 @@ void Room21::chewy_kolli() {
const int16 tmp = _G(spieler_vector)[P_CHEWY].Count;
stopPerson(P_CHEWY);
_G(flags).AutoAniPlay = true;
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
int16 ani_nr = (_G(spieler_vector)[P_CHEWY].Xyvo[0] < 0) ? 10 : 11;
_G(det)->setSetailPos(ani_nr, _G(spieler_vector)[P_CHEWY].Xypos[0], _G(spieler_vector)[P_CHEWY].Xypos[1]);
startSetAILWait(ani_nr, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(flags).AutoAniPlay = false;
_G(spieler_vector)[P_CHEWY].Count = tmp;
get_phase(&_G(spieler_vector)[P_CHEWY], &_G(spieler_mi)[P_CHEWY]);
@@ -205,11 +205,11 @@ void Room21::chewy_kolli() {
}
void Room21::salto() {
- if (!_G(spieler).inv_cur && _G(atds)->get_ats_str(134, TXT_MARK_USE, ATS_DATA) == 8
- && !_G(spieler).R21Salto && !_G(flags).AutoAniPlay) {
- _G(spieler).R21Salto = true;
+ if (!_G(gameState).inv_cur && _G(atds)->get_ats_str(134, TXT_MARK_USE, ATS_DATA) == 8
+ && !_G(gameState).R21Salto && !_G(flags).AutoAniPlay) {
+ _G(gameState).R21Salto = true;
_G(flags).AutoAniPlay = true;
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
for (int16 i = 0; i < 3; i++) {
_G(det)->setSetailPos(12 + i, _G(spieler_vector)[P_CHEWY].Xypos[0],
@@ -217,44 +217,44 @@ void Room21::salto() {
}
startAniBlock(3, ABLOCK19);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
startAadWait(36);
_G(flags).AutoAniPlay = false;
}
}
void Room21::use_gitter_energie() {
- _G(spieler).R21GitterEnergie = exit_flip_flop(-1, 47, -1, 131, 138, -1,
- EXIT_BOTTOM, EXIT_TOP, (int16)_G(spieler).R21GitterEnergie);
+ _G(gameState).R21GitterEnergie = exit_flip_flop(-1, 47, -1, 131, 138, -1,
+ EXIT_BOTTOM, EXIT_TOP, (int16)_G(gameState).R21GitterEnergie);
_G(auto_obj) = 0;
- _G(spieler).R17Location = 1;
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState).R17Location = 1;
+ _G(gameState)._personHide[P_CHEWY] = true;
switchRoom(17);
_G(det)->hideStaticSpr(5);
startSetAILWait(9, 1, ANI_FRONT);
- _G(spieler).R17GitterWeg = true;
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState).R17GitterWeg = true;
+ _G(gameState)._personHide[P_CHEWY] = false;
}
int16 Room21::use_fenster() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur && !_G(flags).AutoAniPlay && _G(spieler).R21Laser1Weg) {
+ if (!_G(gameState).inv_cur && !_G(flags).AutoAniPlay && _G(gameState).R21Laser1Weg) {
action_flag = true;
_G(flags).AutoAniPlay = true;
- _G(spieler).R18Gitter = true;
+ _G(gameState).R18Gitter = true;
autoMove(13, P_CHEWY);
setPersonPos(541, 66, P_CHEWY, P_LEFT);
switchRoom(18);
- if (!_G(spieler).R18FirstEntry) {
+ if (!_G(gameState).R18FirstEntry) {
startAadWait(39);
- _G(spieler).R18FirstEntry = true;
+ _G(gameState).R18FirstEntry = true;
}
- _G(spieler).room_e_obj[50].Attribut = EXIT_TOP;
- _G(spieler).room_e_obj[41].Attribut = 255;
+ _G(gameState).room_e_obj[50].Attribut = EXIT_TOP;
+ _G(gameState).room_e_obj[41].Attribut = 255;
_G(flags).AutoAniPlay = false;
}
diff --git a/engines/chewy/rooms/room22.cpp b/engines/chewy/rooms/room22.cpp
index 9757b8e7552..59e3064e1ce 100644
--- a/engines/chewy/rooms/room22.cpp
+++ b/engines/chewy/rooms/room22.cpp
@@ -60,10 +60,10 @@ AniBlock ABLOCK14[2] = {
void Room22::entry() {
- if (!_G(spieler).R22BorkPlatt) {
+ if (!_G(gameState).R22BorkPlatt) {
_G(det)->load_taf_seq(36, 21, nullptr);
_G(room)->set_timer(255, 15);
- } else if (!_G(spieler).R22GetBork) {
+ } else if (!_G(gameState).R22GetBork) {
_G(det)->showStaticSpr(4);
}
}
@@ -78,19 +78,19 @@ bool Room22::timer(int16 t_nr, int16 ani_nr) {
int16 Room22::chewy_amboss() {
int16 action_flag = false;
- if (!_G(spieler).R22ChewyPlatt && !_G(spieler).inv_cur && !_G(flags).AutoAniPlay) {
+ if (!_G(gameState).R22ChewyPlatt && !_G(gameState).inv_cur && !_G(flags).AutoAniPlay) {
action_flag = true;
_G(flags).AutoAniPlay = true;
hideCur();
autoMove(5, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(1, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
autoMove(2, P_CHEWY);
_G(flags).NoPalAfterFlc = false;
flic_cut(FCUT_006);
- _G(spieler).R22ChewyPlatt = true;
+ _G(gameState).R22ChewyPlatt = true;
_G(atds)->set_ats_str(79, 1, ATS_DATA);
_G(flags).AutoAniPlay = false;
@@ -103,7 +103,7 @@ void Room22::bork(int16 t_nr) {
if (!_G(flags).AutoAniPlay && !is_chewy_busy()) {
_G(flags).AutoAniPlay = true;
- if (!_G(spieler).R22BorkPlatt) {
+ if (!_G(gameState).R22BorkPlatt) {
hideCur();
start_spz(CH_TALK2, 255, ANI_FRONT, P_CHEWY);
startAadWait(10);
@@ -114,15 +114,15 @@ void Room22::bork(int16 t_nr) {
_G(mov_phasen)[BORK_OBJ].Repeat = 1;
_G(mov_phasen)[BORK_OBJ].ZoomFak = 0;
_G(auto_mov_obj)[BORK_OBJ].Id = AUTO_OBJ0;
- _G(auto_mov_vector)[BORK_OBJ].Delay = _G(spieler).DelaySpeed;
+ _G(auto_mov_vector)[BORK_OBJ].Delay = _G(gameState).DelaySpeed;
_G(auto_mov_obj)[BORK_OBJ].Mode = true;
- if (!_G(spieler).R22Paint) {
+ if (!_G(gameState).R22Paint) {
bork_walk1();
} else {
- if (!_G(spieler).R22ChewyPlatt) {
+ if (!_G(gameState).R22ChewyPlatt) {
_G(atds)->setControlBit(79, ATS_ACTIVE_BIT, ATS_DATA);
- _G(spieler).R22ChewyPlatt = true;
+ _G(gameState).R22ChewyPlatt = true;
}
bork_walk2();
@@ -155,24 +155,24 @@ void Room22::bork_walk2() {
register_cutscene(3);
_G(det)->showStaticSpr(4);
_G(atds)->delControlBit(81, ATS_ACTIVE_BIT, ATS_DATA);
- _G(spieler).R22BorkPlatt = true;
+ _G(gameState).R22BorkPlatt = true;
_G(atds)->setControlBit(79, ATS_ACTIVE_BIT, ATS_DATA);
}
void Room22::get_bork() {
- if (!_G(spieler).R22GetBork && _G(spieler).R22BorkPlatt) {
+ if (!_G(gameState).R22GetBork && _G(gameState).R22BorkPlatt) {
autoMove(4, P_CHEWY);
_G(det)->hideStaticSpr(4);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startAniBlock(2, ABLOCK14);
setPersonPos(171, 120, P_CHEWY, P_LEFT);
startAadWait(11);
_G(det)->stop_detail(3);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(atds)->setControlBit(81, ATS_ACTIVE_BIT, ATS_DATA);
invent_2_slot(BORK_INV);
- _G(spieler).R22GetBork = true;
+ _G(gameState).R22GetBork = true;
_G(menu_item) = CUR_WALK;
cursorChoice(_G(menu_item));
}
@@ -187,15 +187,15 @@ int16 Room22::malen() {
autoMove(8, P_CHEWY);
flic_cut(FCUT_007);
_G(atds)->set_ats_str(82, TXT_MARK_LOOK, 1, ATS_DATA);
- _G(spieler).R22Paint = true;
+ _G(gameState).R22Paint = true;
_G(obj)->calc_rsi_flip_flop(SIB_PAINT_R22);
_G(obj)->hide_sib(SIB_PAINT_R22);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
_G(obj)->calc_all_static_detail();
_G(flags).AutoAniPlay = false;
- if (!_G(spieler).R22ChewyPlatt) {
- _G(spieler).R22ChewyPlatt = true;
+ if (!_G(gameState).R22ChewyPlatt) {
+ _G(gameState).R22ChewyPlatt = true;
_G(atds)->setControlBit(79, ATS_ACTIVE_BIT, ATS_DATA);
}
}
diff --git a/engines/chewy/rooms/room23.cpp b/engines/chewy/rooms/room23.cpp
index a0055ae6884..86c1e60575d 100644
--- a/engines/chewy/rooms/room23.cpp
+++ b/engines/chewy/rooms/room23.cpp
@@ -37,17 +37,17 @@ static const AniBlock ABLOCK15[4] = {
void Room23::entry() {
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
setPersonPos(135, 69, P_CHEWY, -1);
}
void Room23::cockpit() {
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 0;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 0;
_G(mouseLeftClick) = false;
switchRoom(23);
- if (!_G(spieler).R23Cartridge || !_G(spieler).R25GleiteLoesch)
+ if (!_G(gameState).R23Cartridge || !_G(gameState).R25GleiteLoesch)
_G(det)->hideStaticSpr(3);
else
_G(det)->showStaticSpr(3);
@@ -56,21 +56,21 @@ void Room23::cockpit() {
int16 Room23::start_gleiter() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
action_flag = true;
- if (!_G(spieler).R23FluxoFlex)
+ if (!_G(gameState).R23FluxoFlex)
startAadWait(23);
else {
bool start_ok = true;
- if (_G(spieler).R23GleiterExit == 16) {
- if (!_G(spieler).R16F5Exit) {
+ if (_G(gameState).R23GleiterExit == 16) {
+ if (!_G(gameState).R16F5Exit) {
start_ok = false;
startAadWait(35);
- } else if (!_G(spieler).R23Cartridge || !_G(spieler).R18CartSave) {
+ } else if (!_G(gameState).R23Cartridge || !_G(gameState).R18CartSave) {
start_ok = false;
startAadWait(41);
- } else if (!_G(spieler).R17EnergieOut) {
+ } else if (!_G(gameState).R17EnergieOut) {
start_ok = false;
startAadWait(300);
}
@@ -84,30 +84,30 @@ int16 Room23::start_gleiter() {
for (int16 i = 0; i < 4; i++)
_G(det)->stop_detail(i);
- if (_G(spieler).R23GleiterExit == 14) {
+ if (_G(gameState).R23GleiterExit == 14) {
_G(out)->setPointer(nullptr);
_G(out)->cls();
_G(flags).NoPalAfterFlc = true;
flic_cut(FCUT_011);
register_cutscene(7);
_G(out)->cls();
- _G(spieler).R23GleiterExit = 16;
+ _G(gameState).R23GleiterExit = 16;
setPersonPos(126, 110, P_CHEWY, P_RIGHT);
- switchRoom(_G(spieler).R23GleiterExit);
+ switchRoom(_G(gameState).R23GleiterExit);
start_spz_wait(CH_WONDER1, 2, false, P_CHEWY);
start_spz(CH_TALK2, 255, ANI_FRONT, P_CHEWY);
- _G(spieler).DelaySpeed = 10;
+ _G(gameState).DelaySpeed = 10;
startAadWait(59);
stopPerson(P_CHEWY);
_G(mouseLeftClick) = false;
- } else if (_G(spieler).R23GleiterExit == 16) {
+ } else if (_G(gameState).R23GleiterExit == 16) {
_G(out)->setPointer(nullptr);
_G(out)->cls();
flic_cut(FCUT_SPACECHASE_18);
- _G(spieler).R23GleiterExit = 25;
+ _G(gameState).R23GleiterExit = 25;
register_cutscene(9);
cur_2_inventory();
@@ -116,7 +116,7 @@ int16 Room23::start_gleiter() {
remove_inventory(4);
remove_inventory(15);
remove_inventory(16);
- switchRoom(_G(spieler).R23GleiterExit);
+ switchRoom(_G(gameState).R23GleiterExit);
}
showCur();
@@ -128,10 +128,10 @@ int16 Room23::start_gleiter() {
}
void Room23::use_cartridge() {
- delInventory(_G(spieler).AkInvent);
- _G(spieler).R23Cartridge = true;
+ delInventory(_G(gameState).AkInvent);
+ _G(gameState).R23Cartridge = true;
- if (_G(spieler).R18CartSave) {
+ if (_G(gameState).R18CartSave) {
_G(atds)->delControlBit(171, ATS_ACTIVE_BIT, ATS_DATA);
_G(atds)->set_ats_str(111, 2, ATS_DATA);
startSetAILWait(4, 1, ANI_FRONT);
@@ -147,7 +147,7 @@ void Room23::get_cartridge() {
_G(atds)->set_ats_str(111, 0, ATS_DATA);
_G(atds)->setControlBit(171, ATS_ACTIVE_BIT, ATS_DATA);
- _G(spieler).R23Cartridge = false;
+ _G(gameState).R23Cartridge = false;
_G(det)->hideStaticSpr(3);
}
diff --git a/engines/chewy/rooms/room24.cpp b/engines/chewy/rooms/room24.cpp
index 5f506913442..c1134a631de 100644
--- a/engines/chewy/rooms/room24.cpp
+++ b/engines/chewy/rooms/room24.cpp
@@ -37,17 +37,17 @@ static const uint8 KRISTALL_SPR[3][3] = {
void Room24::entry() {
_G(flags).MainInput = false;
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
setPersonPos(0, 0, P_CHEWY, -1);
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 0;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 0;
_G(curblk).sprite = _G(room_blk)._detImage;
_G(curani)._start = 7;
_G(curani)._end = 10;
_G(menu_item) = CUR_USER;
cursorChoice(CUR_USER);
- if (_G(spieler).R16F5Exit)
+ if (_G(gameState).R16F5Exit)
_G(det)->showStaticSpr(10);
else
_G(det)->hideStaticSpr(10);
@@ -56,70 +56,70 @@ void Room24::entry() {
calc_animation(255);
for (int16 i = 0; i < 3; i++) {
- if (KRISTALL_SPR[i][_G(spieler).R24Hebel[i]] == 20)
+ if (KRISTALL_SPR[i][_G(gameState).R24Hebel[i]] == 20)
_G(det)->startDetail(5 + i * 4, 255, ANI_BACK);
}
}
void Room24::xit() {
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(menu_item) = CUR_WALK;
cursorChoice(_G(menu_item));
setPersonPos(263, 144, P_CHEWY, -1);
- _G(spieler).scrollx = 88;
+ _G(gameState).scrollx = 88;
_G(mouseLeftClick) = false;
_G(flags).MainInput = true;
}
void Room24::use_hebel(int16 txt_nr) {
- if (!_G(spieler).R24Hebel[txt_nr - 161] ||
- _G(spieler).R24Hebel[txt_nr - 161] == 2) {
- _G(spieler).R24Hebel[txt_nr - 161] = 1;
- _G(spieler).R24HebelDir[txt_nr - 161] ^= 1;
+ if (!_G(gameState).R24Hebel[txt_nr - 161] ||
+ _G(gameState).R24Hebel[txt_nr - 161] == 2) {
+ _G(gameState).R24Hebel[txt_nr - 161] = 1;
+ _G(gameState).R24HebelDir[txt_nr - 161] ^= 1;
} else {
- if (_G(spieler).R24HebelDir[txt_nr - 161])
- _G(spieler).R24Hebel[txt_nr - 161] = 0;
+ if (_G(gameState).R24HebelDir[txt_nr - 161])
+ _G(gameState).R24Hebel[txt_nr - 161] = 0;
else
- _G(spieler).R24Hebel[txt_nr - 161] = 2;
+ _G(gameState).R24Hebel[txt_nr - 161] = 2;
}
calc_hebel_spr();
calc_animation(txt_nr - 161);
- if (_G(spieler).R24Hebel[0] == 1 && _G(spieler).R24Hebel[1] == 0 && _G(spieler).R24Hebel[2] == 2) {
- _G(spieler).R16F5Exit = true;
+ if (_G(gameState).R24Hebel[0] == 1 && _G(gameState).R24Hebel[1] == 0 && _G(gameState).R24Hebel[2] == 2) {
+ _G(gameState).R16F5Exit = true;
g_engine->_sound->playSound(1, 0);
g_engine->_sound->stopSound(1);
_G(det)->startDetail(1, 1, ANI_FRONT);
_G(det)->showStaticSpr(10);
_G(atds)->set_ats_str(164, TXT_MARK_NAME, 1, ATS_DATA);
- } else if (_G(spieler).R16F5Exit) {
+ } else if (_G(gameState).R16F5Exit) {
_G(det)->hideStaticSpr(10);
g_engine->_sound->playSound(1, 1);
g_engine->_sound->stopSound(0);
_G(det)->startDetail(1, 1, ANI_BACK);
- _G(spieler).R16F5Exit = false;
+ _G(gameState).R16F5Exit = false;
_G(atds)->set_ats_str(164, TXT_MARK_NAME, 0, ATS_DATA);
}
}
void Room24::calc_hebel_spr() {
- if (!_G(spieler).R24FirstEntry) {
- _G(spieler).R24FirstEntry = true;
- _G(spieler).R24Hebel[0] = 2;
- _G(spieler).R24HebelDir[0] = 0;
- _G(spieler).R24Hebel[1] = 1;
- _G(spieler).R24HebelDir[1] = 0;
- _G(spieler).R24Hebel[2] = 0;
- _G(spieler).R24HebelDir[2] = 1;
+ if (!_G(gameState).R24FirstEntry) {
+ _G(gameState).R24FirstEntry = true;
+ _G(gameState).R24Hebel[0] = 2;
+ _G(gameState).R24HebelDir[0] = 0;
+ _G(gameState).R24Hebel[1] = 1;
+ _G(gameState).R24HebelDir[1] = 0;
+ _G(gameState).R24Hebel[2] = 0;
+ _G(gameState).R24HebelDir[2] = 1;
}
for (int16 i = 0; i < 3; i++) {
for (int16 j = 0; j < 3; j++)
_G(det)->hideStaticSpr(1 + j + i * 3);
- _G(det)->showStaticSpr(1 + _G(spieler).R24Hebel[i] + i * 3);
- _G(atds)->set_ats_str(166 + i, TXT_MARK_NAME, _G(spieler).R24Hebel[i], ATS_DATA);
+ _G(det)->showStaticSpr(1 + _G(gameState).R24Hebel[i] + i * 3);
+ _G(atds)->set_ats_str(166 + i, TXT_MARK_NAME, _G(gameState).R24Hebel[i], ATS_DATA);
}
}
@@ -127,17 +127,17 @@ void Room24::calc_animation(int16 kristall_nr) {
if (kristall_nr != 255) {
hideCur();
- if (KRISTALL_SPR[kristall_nr][_G(spieler).R24Hebel[kristall_nr]] == 20) {
- int16 ani_nr = _G(spieler).R24KristallLast[kristall_nr] == 13 ? 7 : 8;
+ if (KRISTALL_SPR[kristall_nr][_G(gameState).R24Hebel[kristall_nr]] == 20) {
+ int16 ani_nr = _G(gameState).R24KristallLast[kristall_nr] == 13 ? 7 : 8;
g_engine->_sound->playSound(ani_nr + kristall_nr * 4, 0);
g_engine->_sound->stopSound(0);
- _G(det)->hideStaticSpr(_G(spieler).R24KristallLast[kristall_nr] + kristall_nr * 2);
+ _G(det)->hideStaticSpr(_G(gameState).R24KristallLast[kristall_nr] + kristall_nr * 2);
startSetAILWait(ani_nr + kristall_nr * 4, 1, ANI_BACK);
startSetAILWait(6 + kristall_nr * 4, 1, ANI_BACK);
_G(det)->startDetail(5 + kristall_nr * 4, 255, ANI_BACK);
- } else if (_G(spieler).R24KristallLast[kristall_nr] == 20) {
- int16 ani_nr = KRISTALL_SPR[kristall_nr][_G(spieler).R24Hebel[kristall_nr]] == 13 ? 7 : 8;
+ } else if (_G(gameState).R24KristallLast[kristall_nr] == 20) {
+ int16 ani_nr = KRISTALL_SPR[kristall_nr][_G(gameState).R24Hebel[kristall_nr]] == 13 ? 7 : 8;
g_engine->_sound->stopSound(0);
g_engine->_sound->playSound(5 + ani_nr + kristall_nr * 4, 0);
_G(det)->stop_detail(5 + kristall_nr * 4);
@@ -152,8 +152,8 @@ void Room24::calc_animation(int16 kristall_nr) {
_G(det)->hideStaticSpr(13 + i);
for (int16 i = 0; i < 3; i++) {
- _G(det)->showStaticSpr(KRISTALL_SPR[i][_G(spieler).R24Hebel[i]] + i * 2);
- _G(spieler).R24KristallLast[i] = KRISTALL_SPR[i][_G(spieler).R24Hebel[i]];
+ _G(det)->showStaticSpr(KRISTALL_SPR[i][_G(gameState).R24Hebel[i]] + i * 2);
+ _G(gameState).R24KristallLast[i] = KRISTALL_SPR[i][_G(gameState).R24Hebel[i]];
}
}
diff --git a/engines/chewy/rooms/room25.cpp b/engines/chewy/rooms/room25.cpp
index 4e441f066f4..59aab38c367 100644
--- a/engines/chewy/rooms/room25.cpp
+++ b/engines/chewy/rooms/room25.cpp
@@ -44,19 +44,19 @@ static const MovLine SURIMY_MPKT[2] = {
void Room25::entry() {
- if (!_G(spieler).R25GleiteLoesch) {
+ if (!_G(gameState).R25GleiteLoesch) {
g_engine->_sound->playSound(0, 0);
for (int i = 0; i < 9; ++i)
_G(det)->startDetail(i, 255, ANI_FRONT);
}
- if (!_G(spieler).R29Schlauch2) {
+ if (!_G(gameState).R29Schlauch2) {
_G(det)->hideStaticSpr(0);
_G(det)->hideStaticSpr(1);
}
- if (!_G(spieler).R25FirstEntry) {
+ if (!_G(gameState).R25FirstEntry) {
hideCur();
if (_G(obj)->checkInventory(TRANSLATOR_INV)) {
@@ -64,43 +64,43 @@ void Room25::entry() {
_G(atds)->set_ats_str(113, 0, ATS_DATA);
remove_inventory(TRANSLATOR_INV);
- _G(spieler).inv_cur = false;
+ _G(gameState).inv_cur = false;
_G(menu_item) = CUR_WALK;
- _G(spieler).AkInvent = -1;
+ _G(gameState).AkInvent = -1;
cursorChoice(_G(menu_item));
}
- _G(spieler).R25FirstEntry = true;
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState).R25FirstEntry = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
flic_cut(FCUT_029);
g_engine->_sound->playSound(0, 0);
_G(fx_blend) = BLEND_NONE;
setPersonPos(219, 141, P_CHEWY, P_RIGHT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
start_spz(CH_TALK11, 255, ANI_FRONT, P_CHEWY);
startAadWait(64);
showCur();
- } else if (_G(spieler).R25GleiterExit && !_G(flags).LoadGame) {
+ } else if (_G(gameState).R25GleiterExit && !_G(flags).LoadGame) {
setPersonPos(127, 122, P_CHEWY, P_LEFT);
- if (!_G(spieler).R25SurimyGo) {
- _G(spieler).R25SurimyGo = 1;
+ if (!_G(gameState).R25SurimyGo) {
+ _G(gameState).R25SurimyGo = 1;
xit_gleiter();
}
}
- _G(spieler).R25GleiterExit = false;
+ _G(gameState).R25GleiterExit = false;
}
int16 Room25::gleiter_loesch() {
int16 action_flag = false;
hideCur();
- if (!_G(spieler).R25GleiteLoesch && _G(spieler).R29Schlauch2) {
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).R25GleiteLoesch && _G(gameState).R29Schlauch2) {
+ if (!_G(gameState).inv_cur) {
action_flag = true;
- _G(spieler).R25GleiteLoesch = true;
+ _G(gameState).R25GleiteLoesch = true;
autoMove(2, P_CHEWY);
flic_cut(FCUT_030);
_G(obj)->calc_rsi_flip_flop(SIB_SCHLAUCH_R25);
@@ -112,13 +112,13 @@ int16 Room25::gleiter_loesch() {
_G(det)->stop_detail(i);
}
- } else if (_G(spieler).R25GleiteLoesch) {
+ } else if (_G(gameState).R25GleiteLoesch) {
if (isCurInventory(MILCH_LEER_INV)) {
action_flag = true;
autoMove(2, P_CHEWY);
- start_spz_wait((_G(spieler).ChewyAni == CHEWY_ROCKER) ? 28 : 14, 1, false, P_CHEWY);
+ start_spz_wait((_G(gameState).ChewyAni == CHEWY_ROCKER) ? 28 : 14, 1, false, P_CHEWY);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
_G(obj)->addInventory(MILCH_WAS_INV, &_G(room_blk));
inventory_2_cur(MILCH_WAS_INV);
startAadWait(253);
@@ -132,22 +132,22 @@ int16 Room25::gleiter_loesch() {
int16 Room25::use_gleiter() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur && _G(spieler).R25GleiteLoesch) {
+ if (!_G(gameState).inv_cur && _G(gameState).R25GleiteLoesch) {
action_flag = true;
hideCur();
autoMove(3, P_CHEWY);
showCur();
- _G(spieler).R23GleiterExit = 25;
+ _G(gameState).R23GleiterExit = 25;
Room23::cockpit();
}
return action_flag;
}
void Room25::xit_gleiter() {
- if (!_G(spieler).R25SurimyLauf) {
+ if (!_G(gameState).R25SurimyLauf) {
hideCur();
- _G(spieler).R25SurimyLauf = true;
+ _G(gameState).R25SurimyLauf = true;
_G(det)->load_taf_seq(56, 8, nullptr);
_G(auto_obj) = 1;
_G(mov_phasen)[SURIMY_OBJ].AtsText = 0;
@@ -155,7 +155,7 @@ void Room25::xit_gleiter() {
_G(mov_phasen)[SURIMY_OBJ].Repeat = 1;
_G(mov_phasen)[SURIMY_OBJ].ZoomFak = 0;
_G(auto_mov_obj)[SURIMY_OBJ].Id = AUTO_OBJ0;
- _G(auto_mov_vector)[SURIMY_OBJ].Delay = _G(spieler).DelaySpeed + 2;
+ _G(auto_mov_vector)[SURIMY_OBJ].Delay = _G(gameState).DelaySpeed + 2;
_G(auto_mov_obj)[SURIMY_OBJ].Mode = true;
init_auto_obj(SURIMY_OBJ, &SURIMY_PHASEN[0][0], 2, (const MovLine *)SURIMY_MPKT);
_G(fx_blend) = BLEND1;
diff --git a/engines/chewy/rooms/room26.cpp b/engines/chewy/rooms/room26.cpp
index a8213526429..b7192ef5442 100644
--- a/engines/chewy/rooms/room26.cpp
+++ b/engines/chewy/rooms/room26.cpp
@@ -29,7 +29,7 @@ namespace Chewy {
namespace Rooms {
void Room26::entry() {
- if (_G(spieler).R25GleiteLoesch)
+ if (_G(gameState).R25GleiteLoesch)
g_engine->_sound->stopSound(0);
else
g_engine->_sound->playSound(0, 0);
diff --git a/engines/chewy/rooms/room27.cpp b/engines/chewy/rooms/room27.cpp
index 7a65309208b..3b34049d081 100644
--- a/engines/chewy/rooms/room27.cpp
+++ b/engines/chewy/rooms/room27.cpp
@@ -29,7 +29,7 @@ namespace Chewy {
namespace Rooms {
void Room27::entry() {
- if (_G(spieler)._personRoomNr[P_HOWARD] == 27) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 27) {
_G(timer_nr)[0] = _G(room)->set_timer(0, 5);
_G(det)->set_static_ani(0, -1);
_G(atds)->delControlBit(274, ATS_ACTIVE_BIT, ATS_DATA);
@@ -37,24 +37,24 @@ void Room27::entry() {
_G(atds)->setControlBit(274, ATS_ACTIVE_BIT, ATS_DATA);
}
- _G(spieler)._personHide[P_HOWARD] = true;
- _G(spieler).ScrollxStep = 2;
+ _G(gameState)._personHide[P_HOWARD] = true;
+ _G(gameState).ScrollxStep = 2;
}
void Room27::xit(int16 eib_nr) {
- _G(spieler).ScrollxStep = 1;
+ _G(gameState).ScrollxStep = 1;
hideCur();
- if (_G(spieler)._personRoomNr[P_HOWARD] == 27) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 27) {
if (eib_nr == 55) {
startAadWait(175);
_G(room)->set_timer_status(0, TIMER_STOP);
_G(det)->del_static_ani(0);
startSetAILWait(2, 1, ANI_FRONT);
- _G(spieler)._personRoomNr[P_HOWARD] = 28;
+ _G(gameState)._personRoomNr[P_HOWARD] = 28;
_G(spieler_mi)[P_HOWARD].Id = HOWARD_OBJ;
- } else if (_G(spieler).R27HowardGed < 3 && eib_nr != -1) {
- ++_G(spieler).R27HowardGed;
+ } else if (_G(gameState).R27HowardGed < 3 && eib_nr != -1) {
+ ++_G(gameState).R27HowardGed;
startAadWait(174);
}
}
@@ -67,7 +67,7 @@ void Room27::get_surimy() {
hideCur();
autoMove(4, P_CHEWY);
- if (_G(spieler)._personRoomNr[P_HOWARD] == 27) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 27) {
startAadWait(171);
}
@@ -83,8 +83,8 @@ void Room27::talk_howard() {
}
void Room27::howard_ged() {
- if (_G(spieler).R27HowardGed < 3) {
- ++_G(spieler).R27HowardGed;
+ if (_G(gameState).R27HowardGed < 3) {
+ ++_G(gameState).R27HowardGed;
}
}
diff --git a/engines/chewy/rooms/room28.cpp b/engines/chewy/rooms/room28.cpp
index a458d736f04..33a3e06681f 100644
--- a/engines/chewy/rooms/room28.cpp
+++ b/engines/chewy/rooms/room28.cpp
@@ -33,46 +33,46 @@ void Room28::entry(int16 eib_nr) {
_G(zoom_horizont) = 140;
_G(flags).ZoomMov = true;
_G(zoom_mov_fak) = 3;
- _G(spieler).ScrollxStep = 2;
+ _G(gameState).ScrollxStep = 2;
- if (_G(spieler).R28RKuerbis)
+ if (_G(gameState).R28RKuerbis)
_G(det)->showStaticSpr(6);
- if (_G(spieler).R28Briefkasten) {
+ if (_G(gameState).R28Briefkasten) {
_G(det)->showStaticSpr(8);
_G(det)->showStaticSpr(9);
} else {
_G(det)->showStaticSpr(7);
}
- if (_G(spieler)._personRoomNr[P_HOWARD] == 28) {
- _G(spieler).ZoomXy[P_HOWARD][0] = 40;
- _G(spieler).ZoomXy[P_HOWARD][1] = 40;
- _G(spieler)._personHide[P_HOWARD] = false;
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 28) {
+ _G(gameState).ZoomXy[P_HOWARD][0] = 40;
+ _G(gameState).ZoomXy[P_HOWARD][1] = 40;
+ _G(gameState)._personHide[P_HOWARD] = false;
hideCur();
_G(SetUpScreenFunc) = setup_func;
- if (_G(spieler).R40Wettbewerb) {
- _G(spieler).scrollx = 320;
- _G(spieler)._personHide[P_CHEWY] = false;
+ if (_G(gameState).R40Wettbewerb) {
+ _G(gameState).scrollx = 320;
+ _G(gameState)._personHide[P_CHEWY] = false;
haendler();
- _G(spieler).R40Wettbewerb = false;
+ _G(gameState).R40Wettbewerb = false;
} else {
switch (eib_nr) {
case 55:
- if (!_G(spieler).R28EntryHaus) {
- _G(spieler).R28EntryHaus = true;
+ if (!_G(gameState).R28EntryHaus) {
+ _G(gameState).R28EntryHaus = true;
setPersonPos(232, 100, P_HOWARD, P_RIGHT);
autoMove(3, P_HOWARD);
goAutoXy(320, _G(spieler_vector)[P_HOWARD].Xypos[1], P_HOWARD, ANI_WAIT);
startAadWait(176);
- } else if (_G(spieler).R31SurFurz && !_G(spieler).R28RKuerbis) {
- _G(spieler).R28RKuerbis = true;
- _G(spieler).ScrollxStep = 2;
+ } else if (_G(gameState).R31SurFurz && !_G(gameState).R28RKuerbis) {
+ _G(gameState).R28RKuerbis = true;
+ _G(gameState).ScrollxStep = 2;
autoMove(6, P_CHEWY);
waitShowScreen(10);
startAadWait(194);
- _G(spieler).room_e_obj[62].Attribut = 255;
+ _G(gameState).room_e_obj[62].Attribut = 255;
_G(atds)->set_ats_str(208, 1, ATS_DATA);
_G(flags).NoScroll = true;
@@ -80,7 +80,7 @@ void Room28::entry(int16 eib_nr) {
flic_cut(FCUT_064);
_G(det)->showStaticSpr(6);
- if (!_G(spieler).R40TeilKarte) {
+ if (!_G(gameState).R40TeilKarte) {
_G(out)->ausblenden(0);
_G(out)->set_partialpalette(_G(pal), 255, 1);
startAadWait(607);
@@ -89,28 +89,28 @@ void Room28::entry(int16 eib_nr) {
_G(flags).NoScroll = false;
- if (_G(spieler).R40TeilKarte) {
+ if (_G(gameState).R40TeilKarte) {
haendler();
} else {
waitShowScreen(60);
startAadWait(195);
}
- _G(spieler).ScrollxStep = 2;
+ _G(gameState).ScrollxStep = 2;
}
break;
case 70:
case 77:
- if (_G(spieler).R28PostCar) {
- _G(spieler).R28PostCar = false;
+ if (_G(gameState).R28PostCar) {
+ _G(gameState).R28PostCar = false;
_G(out)->setPointer(nullptr);
_G(out)->cls();
flic_cut(FCUT_063);
- _G(spieler).R28ChewyPump = false;
+ _G(gameState).R28ChewyPump = false;
invent_2_slot(K_MASKE_INV);
_G(atds)->set_ats_str(209, 0, ATS_DATA);
- _G(spieler).room_e_obj[69].Attribut = 255;
+ _G(gameState).room_e_obj[69].Attribut = 255;
load_chewy_taf(CHEWY_NORMAL);
setPersonPos(480, 118, P_HOWARD, P_LEFT);
@@ -140,20 +140,20 @@ void Room28::entry(int16 eib_nr) {
}
void Room28::xit(int16 eib_nr) {
- _G(spieler).R28PostCar = false;
- _G(spieler).ScrollxStep = 1;
+ _G(gameState).R28PostCar = false;
+ _G(gameState).ScrollxStep = 1;
hideCur();
- if (_G(spieler)._personRoomNr[P_HOWARD] == 28 && eib_nr == 69) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 28 && eib_nr == 69) {
_G(SetUpScreenFunc) = nullptr;
- if (!_G(spieler).R28ExitTown) {
+ if (!_G(gameState).R28ExitTown) {
startAadWait(178);
- _G(spieler).R28ExitTown = true;
+ _G(gameState).R28ExitTown = true;
}
_G(flags).ExitMov = false;
autoMove(6, P_HOWARD);
- _G(spieler)._personRoomNr[P_HOWARD] = 40;
+ _G(gameState)._personRoomNr[P_HOWARD] = 40;
}
showCur();
@@ -167,17 +167,17 @@ void Room28::gedAction(int index) {
void Room28::haendler() {
hideCur();
_G(SetUpScreenFunc) = nullptr;
- _G(spieler).R28ChewyPump = true;
+ _G(gameState).R28ChewyPump = true;
delInventory(K_MASKE_INV);
_G(atds)->set_ats_str(209, 1, ATS_DATA);
- _G(spieler).room_e_obj[69].Attribut = EXIT_TOP;
+ _G(gameState).room_e_obj[69].Attribut = EXIT_TOP;
load_chewy_taf(CHEWY_PUMPKIN);
setPersonPos(480, 113, P_HOWARD, P_RIGHT);
setPersonPos(490, 146, P_CHEWY, P_RIGHT);
_G(det)->set_static_ani(2, -1);
- while (_G(spieler).scrollx < 300) {
+ while (_G(gameState).scrollx < 300) {
SHOULD_QUIT_RETURN;
setupScreen(DO_SETUP);
}
@@ -211,11 +211,11 @@ void Room28::use_surimy() {
int16 dia_nr;
int16 ani_nr;
- if (!_G(spieler).R28SurimyCar) {
+ if (!_G(gameState).R28SurimyCar) {
hideCur();
_G(flags).NoScroll = true;
auto_scroll(0, 0);
- _G(spieler).R28SurimyCar = true;
+ _G(gameState).R28SurimyCar = true;
start_spz_wait(CH_LGET_U, 1, false, P_CHEWY);
flic_cut(FCUT_055);
flic_cut(FCUT_056);
@@ -240,42 +240,42 @@ void Room28::use_surimy() {
void Room28::set_pump() {
hideCur();
- if (_G(spieler)._personRoomNr[P_CHEWY] == 28) {
+ if (_G(gameState)._personRoomNr[P_CHEWY] == 28) {
if (!_G(flags).AutoAniPlay) {
_G(flags).AutoAniPlay = true;
if (_G(spieler_vector)[P_CHEWY].Xypos[0] < 380)
autoMove(5, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
int16 tmp = (_G(person_end_phase)[P_CHEWY] == P_RIGHT) ? 1 : 0;
delInventory(K_MASKE_INV);
_G(det)->setSetailPos(tmp, _G(spieler_vector)[P_CHEWY].Xypos[0], _G(spieler_vector)[P_CHEWY].Xypos[1]);
- if (_G(spieler).R28PumpTxt1 < 3) {
+ if (_G(gameState).R28PumpTxt1 < 3) {
start_aad(137);
- ++_G(spieler).R28PumpTxt1;
+ ++_G(gameState).R28PumpTxt1;
}
startSetAILWait(tmp, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
load_chewy_taf(CHEWY_PUMPKIN);
- _G(spieler).R28ChewyPump = true;
+ _G(gameState).R28ChewyPump = true;
- if (_G(spieler).R39TranslatorUsed) {
- _G(spieler).room_e_obj[69].Attribut = EXIT_TOP;
+ if (_G(gameState).R39TranslatorUsed) {
+ _G(gameState).room_e_obj[69].Attribut = EXIT_TOP;
} else {
_G(atds)->set_ats_str(209, 1, ATS_DATA);
}
- if (_G(spieler)._personRoomNr[P_HOWARD] == 28 && _G(spieler).R28PumpTxt < 3) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 28 && _G(gameState).R28PumpTxt < 3) {
stopPerson(P_HOWARD);
_G(SetUpScreenFunc) = nullptr;
g_engine->_sound->waitForSpeechToFinish();
startAadWait(177);
_G(SetUpScreenFunc) = setup_func;
- ++_G(spieler).R28PumpTxt;
+ ++_G(gameState).R28PumpTxt;
}
_G(flags).AutoAniPlay = false;
@@ -289,23 +289,23 @@ void Room28::set_pump() {
void Room28::get_pump() {
- if (_G(spieler).R28ChewyPump) {
+ if (_G(gameState).R28ChewyPump) {
hideCur();
stopPerson(P_CHEWY);
- _G(spieler).R28ChewyPump = false;
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState).R28ChewyPump = false;
+ _G(gameState)._personHide[P_CHEWY] = true;
int16 tmp = (_G(person_end_phase)[P_CHEWY] == P_RIGHT) ? 1 : 0;
_G(det)->setSetailPos(tmp, _G(spieler_vector)[P_CHEWY].Xypos[0], _G(spieler_vector)[P_CHEWY].Xypos[1]);
startSetAILWait(tmp, 1, ANI_BACK);
invent_2_slot(K_MASKE_INV);
_G(atds)->set_ats_str(209, 0, ATS_DATA);
- _G(spieler).room_e_obj[69].Attribut = 255;
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState).room_e_obj[69].Attribut = 255;
+ _G(gameState)._personHide[P_CHEWY] = false;
load_chewy_taf(CHEWY_NORMAL);
- if (_G(spieler).R28PumpTxt1 < 3) {
+ if (_G(gameState).R28PumpTxt1 < 3) {
start_spz(CH_TALK3, 255, ANI_FRONT, P_CHEWY);
startAadWait(138);
}
@@ -317,10 +317,10 @@ void Room28::get_pump() {
int16 Room28::use_breifkasten() {
int16 action_flag = false;
- if (_G(spieler).R28Briefkasten && !_G(spieler).inv_cur) {
+ if (_G(gameState).R28Briefkasten && !_G(gameState).inv_cur) {
action_flag = true;
hideCur();
- _G(spieler).R28Briefkasten = false;
+ _G(gameState).R28Briefkasten = false;
autoMove(7, P_CHEWY);
start_spz_wait(CH_LGET_O, 1, false, P_CHEWY);
_G(det)->hideStaticSpr(8);
@@ -332,7 +332,7 @@ int16 Room28::use_breifkasten() {
_G(atds)->set_ats_str(206, 0, ATS_DATA);
showCur();
invent_2_slot(MANUSKRIPT_INV);
- _G(spieler).R28Manuskript = true;
+ _G(gameState).R28Manuskript = true;
}
return action_flag;
diff --git a/engines/chewy/rooms/room29.cpp b/engines/chewy/rooms/room29.cpp
index 15d24909bf6..53301449559 100644
--- a/engines/chewy/rooms/room29.cpp
+++ b/engines/chewy/rooms/room29.cpp
@@ -43,21 +43,21 @@ static const AniBlock ABLOCK27[5] = {
void Room29::entry() {
- if (_G(spieler).R29Schlauch1) {
+ if (_G(gameState).R29Schlauch1) {
_G(det)->showStaticSpr(7);
- } else if (_G(spieler).R29Schlauch2) {
+ } else if (_G(gameState).R29Schlauch2) {
_G(det)->showStaticSpr(8);
_G(det)->showStaticSpr(10);
}
- if (_G(spieler).R29AutoSitz) {
- if (_G(spieler).ChewyAni == CHEWY_ROCKER)
+ if (_G(gameState).R29AutoSitz) {
+ if (_G(gameState).ChewyAni == CHEWY_ROCKER)
_G(atds)->setControlBit(212, ATS_ACTIVE_BIT, ATS_DATA);
else
_G(det)->showStaticSpr(9);
}
- _G(spieler).ScrollxStep = 2;
+ _G(gameState).ScrollxStep = 2;
}
void Room29::xit() {
@@ -68,19 +68,19 @@ void Room29::xit() {
int16 Room29::use_pumpe() {
int16 action_flag = false;
- if (!_G(spieler).R29Pumpe) {
+ if (!_G(gameState).R29Pumpe) {
hideCur();
if (isCurInventory(SCHLAUCH_INV)) {
action_flag = true;
- _G(spieler).R29Pumpe = true;
- _G(spieler).R29Schlauch1 = true;
+ _G(gameState).R29Pumpe = true;
+ _G(gameState).R29Schlauch1 = true;
autoMove(1, P_CHEWY);
start_spz_wait(CH_LGET_O, 1, false, P_CHEWY);
_G(det)->showStaticSpr(7);
_G(atds)->delControlBit(218, ATS_ACTIVE_BIT, ATS_DATA);
delInventory(SCHLAUCH_INV);
- } else if (!_G(spieler).inv_cur) {
+ } else if (!_G(gameState).inv_cur) {
action_flag = true;
startAadWait(62);
}
@@ -93,7 +93,7 @@ int16 Room29::use_pumpe() {
int16 Room29::get_schlauch() {
int16 action_flag = false;
- if (_G(spieler).R29Schlauch1 && !_G(spieler).inv_cur) {
+ if (_G(gameState).R29Schlauch1 && !_G(gameState).inv_cur) {
action_flag = true;
hideCur();
@@ -116,18 +116,18 @@ bool Room29::use_schlauch() {
autoMove(2, P_CHEWY);
start_spz_wait(CH_LGET_U, 1, false, P_CHEWY);
_G(det)->hideStaticSpr(7);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(4, 1, ANI_FRONT);
_G(det)->showStaticSpr(8);
_G(det)->showStaticSpr(10);
_G(atds)->delControlBit(219, ATS_ACTIVE_BIT, ATS_DATA);
_G(atds)->set_ats_str(218, 1, ATS_DATA);
- _G(spieler).R29Schlauch1 = false;
- _G(spieler).R29Schlauch2 = true;
+ _G(gameState).R29Schlauch1 = false;
+ _G(gameState).R29Schlauch2 = true;
delInventory(PUMPE_INV);
setPersonPos(308, 105, P_CHEWY, P_RIGHT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
showCur();
}
@@ -135,10 +135,10 @@ bool Room29::use_schlauch() {
}
void Room29::schlitz_sitz() {
- if (!_G(spieler).R29AutoSitz) {
+ if (!_G(gameState).R29AutoSitz) {
hideCur();
- _G(spieler).R29AutoSitz = true;
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState).R29AutoSitz = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(det)->hideStaticSpr(4);
_G(det)->showStaticSpr(11);
startAniBlock(3, ABLOCK26);
@@ -149,7 +149,7 @@ void Room29::schlitz_sitz() {
_G(det)->stop_detail(2);
_G(atds)->delControlBit(212, ATS_ACTIVE_BIT, ATS_DATA);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(mouseLeftClick) = false;
g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
@@ -160,12 +160,12 @@ void Room29::schlitz_sitz() {
int16 Room29::zaun_sprung() {
int16 action_flag = false;
- if (_G(spieler).R29AutoSitz && !_G(spieler).inv_cur) {
+ if (_G(gameState).R29AutoSitz && !_G(gameState).inv_cur) {
hideCur();
action_flag = true;
autoMove(3, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startDetailFrame(3, 1, ANI_FRONT, 7);
_G(det)->hideStaticSpr(9);
startAniBlock(5, ABLOCK27);
@@ -173,7 +173,7 @@ int16 Room29::zaun_sprung() {
showCur();
switchRoom(37);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
}
diff --git a/engines/chewy/rooms/room31.cpp b/engines/chewy/rooms/room31.cpp
index 321af90df21..22d0b0a584a 100644
--- a/engines/chewy/rooms/room31.cpp
+++ b/engines/chewy/rooms/room31.cpp
@@ -47,10 +47,10 @@ void Room31::entry() {
}
void Room31::surimy_go() {
- if (!_G(spieler).R39ScriptOk && _G(spieler).R25SurimyLauf) {
- if (_G(spieler).R31SurimyGo >= 3) {
+ if (!_G(gameState).R39ScriptOk && _G(gameState).R25SurimyLauf) {
+ if (_G(gameState).R31SurimyGo >= 3) {
hideCur();
- _G(spieler).R31SurimyGo = 0;
+ _G(gameState).R31SurimyGo = 0;
_G(det)->load_taf_seq(39, 8, nullptr);
_G(auto_obj) = 1;
_G(mov_phasen)[SURIMY_OBJ].AtsText = 0;
@@ -58,7 +58,7 @@ void Room31::surimy_go() {
_G(mov_phasen)[SURIMY_OBJ].Repeat = 1;
_G(mov_phasen)[SURIMY_OBJ].ZoomFak = 0;
_G(auto_mov_obj)[SURIMY_OBJ].Id = AUTO_OBJ0;
- _G(auto_mov_vector)[SURIMY_OBJ].Delay = _G(spieler).DelaySpeed + 2;
+ _G(auto_mov_vector)[SURIMY_OBJ].Delay = _G(gameState).DelaySpeed + 2;
_G(auto_mov_obj)[SURIMY_OBJ].Mode = true;
init_auto_obj(SURIMY_OBJ, &SURIMY_TAF19_PHASES[0][0], 2, (const MovLine *)SURIMY_MPKT);
start_spz(CH_TALK5, 255, ANI_FRONT, P_CHEWY);
@@ -67,19 +67,19 @@ void Room31::surimy_go() {
_G(auto_obj) = 0;
showCur();
} else {
- ++_G(spieler).R31SurimyGo;
+ ++_G(gameState).R31SurimyGo;
}
}
}
void Room31::calc_luke() {
- if (!_G(spieler).R31KlappeZu) {
+ if (!_G(gameState).R31KlappeZu) {
for (int16 i = 0; i < 3; i++)
_G(det)->showStaticSpr(5 + i);
_G(atds)->set_ats_str(244, 1, ATS_DATA);
_G(atds)->delControlBit(245, ATS_ACTIVE_BIT, ATS_DATA);
- _G(spieler).room_e_obj[75].Attribut = EXIT_BOTTOM;
+ _G(gameState).room_e_obj[75].Attribut = EXIT_BOTTOM;
} else {
for (int16 i = 0; i < 3; i++)
@@ -87,19 +87,19 @@ void Room31::calc_luke() {
_G(atds)->set_ats_str(244, 0, ATS_DATA);
_G(atds)->setControlBit(245, ATS_ACTIVE_BIT, ATS_DATA);
- _G(spieler).room_e_obj[75].Attribut = 255;
+ _G(gameState).room_e_obj[75].Attribut = 255;
}
}
int16 Room31::open_luke() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur && _G(spieler).R31KlappeZu) {
+ if (!_G(gameState).inv_cur && _G(gameState).R31KlappeZu) {
action_flag = true;
hideCur();
autoMove(2, P_CHEWY);
start_spz_wait(CH_LGET_U, 1, false, P_CHEWY);
- _G(spieler).R31KlappeZu = false;
+ _G(gameState).R31KlappeZu = false;
g_engine->_sound->playSound(3);
calc_luke();
showCur();
@@ -111,12 +111,12 @@ int16 Room31::open_luke() {
int16 Room31::close_luke_proc1() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur && !_G(spieler).R31KlappeZu) {
+ if (!_G(gameState).inv_cur && !_G(gameState).R31KlappeZu) {
action_flag = true;
hideCur();
autoMove(2, P_CHEWY);
start_spz_wait(CH_LGET_O, 1, false, P_CHEWY);
- _G(spieler).R31KlappeZu = true;
+ _G(gameState).R31KlappeZu = true;
g_engine->_sound->playSound(3);
calc_luke();
showCur();
@@ -126,11 +126,11 @@ int16 Room31::close_luke_proc1() {
}
void Room31::close_luke_proc3() {
- if (!_G(spieler).R31KlappeZu) {
+ if (!_G(gameState).R31KlappeZu) {
hideCur();
autoMove(2, P_CHEWY);
start_spz_wait(13, 1, false, P_CHEWY);
- _G(spieler).R31KlappeZu = true;
+ _G(gameState).R31KlappeZu = true;
g_engine->_sound->playSound(3);
g_engine->_sound->playSound(3, 1, false);
calc_luke();
@@ -144,25 +144,25 @@ int16 Room31::use_topf() {
int16 action_flag = false;
hideCur();
- if (_G(spieler).inv_cur) {
- if (_G(spieler).R31PflanzeWeg) {
+ if (_G(gameState).inv_cur) {
+ if (_G(gameState).R31PflanzeWeg) {
if (isCurInventory(K_KERNE_INV)) {
- _G(spieler).R31KoernerDa = true;
+ _G(gameState).R31KoernerDa = true;
autoMove(1, P_CHEWY);
start_spz_wait(CH_LGET_O, 1, false, P_CHEWY);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
ani_nr = CH_TALK3;
dia_nr = 150;
_G(atds)->set_ats_str(242, 2, ATS_DATA);
} else if (isCurInventory(MILCH_WAS_INV)) {
- if (_G(spieler).R31KoernerDa) {
- _G(spieler).R31Wasser = true;
+ if (_G(gameState).R31KoernerDa) {
+ _G(gameState).R31Wasser = true;
autoMove(1, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startAniBlock(3, ABLOCK30);
- _G(spieler)._personHide[P_CHEWY] = false;
- delInventory(_G(spieler).AkInvent);
+ _G(gameState)._personHide[P_CHEWY] = false;
+ delInventory(_G(gameState).AkInvent);
_G(obj)->addInventory(MILCH_LEER_INV, &_G(room_blk));
inventory_2_cur(MILCH_LEER_INV);
ani_nr = CH_TALK6;
@@ -173,9 +173,9 @@ int16 Room31::use_topf() {
dia_nr = 152;
}
} else if (isCurInventory(SURIMY_INV)) {
- if (!_G(spieler).R31SurFurz) {
- if (_G(spieler).R31Wasser) {
- if (!_G(spieler).R28SurimyCar) {
+ if (!_G(gameState).R31SurFurz) {
+ if (_G(gameState).R31Wasser) {
+ if (!_G(gameState).R28SurimyCar) {
ani_nr = CH_TALK5;
dia_nr = 180;
} else {
@@ -183,7 +183,7 @@ int16 Room31::use_topf() {
autoMove(3, P_CHEWY);
flic_cut(FCUT_046);
register_cutscene(13);
- _G(spieler).R31SurFurz = true;
+ _G(gameState).R31SurFurz = true;
ani_nr = CH_TALK6;
dia_nr = 156;
_G(atds)->set_ats_str(242, 4, ATS_DATA);
diff --git a/engines/chewy/rooms/room32.cpp b/engines/chewy/rooms/room32.cpp
index c57c394f55f..6e12337983f 100644
--- a/engines/chewy/rooms/room32.cpp
+++ b/engines/chewy/rooms/room32.cpp
@@ -28,9 +28,9 @@ namespace Chewy {
namespace Rooms {
void Room32::entry() {
- if (_G(spieler).R32HowardWeg)
+ if (_G(gameState).R32HowardWeg)
_G(det)->hideStaticSpr(0);
- if (!_G(spieler).R32Script && _G(spieler).R32UseSchreib)
+ if (!_G(gameState).R32Script && _G(gameState).R32UseSchreib)
_G(det)->showStaticSpr(5);
}
@@ -41,7 +41,7 @@ int16 Room32::use_howard() {
hideCur();
if (isCurInventory(TRICHTER_INV)) {
- if (_G(spieler).R33MunterGet) {
+ if (_G(gameState).R33MunterGet) {
autoMove(1, P_CHEWY);
cur_2_inventory();
remove_inventory(MUNTER_INV);
@@ -68,8 +68,8 @@ int16 Room32::use_howard() {
start_spz(CH_TALK3, 255, ANI_FRONT, P_CHEWY);
ani_nr = CH_TALK3;
dia_nr = 164;
- _G(spieler).R32HowardWeg = true;
- _G(spieler).R39HowardDa = true;
+ _G(gameState).R32HowardWeg = true;
+ _G(gameState).R39HowardDa = true;
remove_inventory(TRICHTER_INV);
} else {
ani_nr = CH_TALK12;
@@ -95,17 +95,17 @@ void Room32::use_schreibmaschine() {
int16 ani_nr = -1;
hideCur();
- if (_G(spieler).R32HowardWeg) {
- if (_G(spieler).inv_cur) {
- switch (_G(spieler).AkInvent) {
+ if (_G(gameState).R32HowardWeg) {
+ if (_G(gameState).inv_cur) {
+ switch (_G(gameState).AkInvent) {
case CYB_KRONE_INV:
- if (!_G(spieler).R32UseSchreib) {
- if (!_G(spieler).R32PapierOk) {
+ if (!_G(gameState).R32UseSchreib) {
+ if (!_G(gameState).R32PapierOk) {
ani_nr = CH_TALK12;
dia_nr = 87;
} else {
autoMove(3, P_CHEWY);
- _G(spieler).R32UseSchreib = true;
+ _G(gameState).R32UseSchreib = true;
cur_2_inventory();
flic_cut(FCUT_044);
register_cutscene(12);
@@ -120,9 +120,9 @@ void Room32::use_schreibmaschine() {
case PAPIER_INV:
autoMove(2, P_CHEWY);
- _G(spieler).R32PapierOk = true;
+ _G(gameState).R32PapierOk = true;
start_spz_wait(CH_LGET_O, 1, false, P_CHEWY);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
_G(atds)->set_ats_str(231, TXT_MARK_LOOK, 1, ATS_DATA);
ani_nr = CH_TALK3;
dia_nr = 86;
@@ -151,9 +151,9 @@ void Room32::use_schreibmaschine() {
int16 Room32::get_script() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur && !_G(spieler).R32Script && _G(spieler).R32UseSchreib) {
+ if (!_G(gameState).inv_cur && !_G(gameState).R32Script && _G(gameState).R32UseSchreib) {
action_flag = true;
- _G(spieler).R32Script = true;
+ _G(gameState).R32Script = true;
autoMove(4, P_CHEWY);
invent_2_slot(MANUSKRIPT_INV);
start_spz_wait(CH_LGET_U, 1, false, P_CHEWY);
diff --git a/engines/chewy/rooms/room33.cpp b/engines/chewy/rooms/room33.cpp
index c11c7ad817a..447ff1c7beb 100644
--- a/engines/chewy/rooms/room33.cpp
+++ b/engines/chewy/rooms/room33.cpp
@@ -35,16 +35,16 @@ static const MovLine SURIMY_MPKT[2] = {
void Room33::entry() {
- if (_G(spieler).R33MunterGet)
+ if (_G(gameState).R33MunterGet)
_G(det)->hideStaticSpr(3);
surimy_go();
}
void Room33::surimy_go() {
- if (!_G(spieler).R39ScriptOk && _G(spieler).R25SurimyLauf) {
- if (_G(spieler).R33SurimyGo >= 4) {
+ if (!_G(gameState).R39ScriptOk && _G(gameState).R25SurimyLauf) {
+ if (_G(gameState).R33SurimyGo >= 4) {
hideCur();
- _G(spieler).R33SurimyGo = 0;
+ _G(gameState).R33SurimyGo = 0;
_G(det)->load_taf_seq(39, 8, nullptr);
_G(auto_obj) = 1;
_G(mov_phasen)[SURIMY_OBJ].AtsText = 0;
@@ -52,7 +52,7 @@ void Room33::surimy_go() {
_G(mov_phasen)[SURIMY_OBJ].Repeat = 1;
_G(mov_phasen)[SURIMY_OBJ].ZoomFak = 0;
_G(auto_mov_obj)[SURIMY_OBJ].Id = AUTO_OBJ0;
- _G(auto_mov_vector)[SURIMY_OBJ].Delay = _G(spieler).DelaySpeed + 2;
+ _G(auto_mov_vector)[SURIMY_OBJ].Delay = _G(gameState).DelaySpeed + 2;
_G(auto_mov_obj)[SURIMY_OBJ].Mode = true;
init_auto_obj(SURIMY_OBJ, &SURIMY_TAF19_PHASES[0][0], 2, (const MovLine *)SURIMY_MPKT);
start_spz(CH_TALK5, 255, ANI_FRONT, P_CHEWY);
@@ -61,14 +61,14 @@ void Room33::surimy_go() {
_G(auto_obj) = 0;
showCur();
} else {
- ++_G(spieler).R33SurimyGo;
+ ++_G(gameState).R33SurimyGo;
}
}
}
void Room33::look_schublade() {
- if (!_G(spieler).R33SchubFirst) {
- _G(spieler).R33SchubFirst = true;
+ if (!_G(gameState).R33SchubFirst) {
+ _G(gameState).R33SchubFirst = true;
hideCur();
autoMove(1, P_CHEWY);
_G(atds)->set_ats_str(210, TXT_MARK_NAME, 1, ATS_DATA);
@@ -80,10 +80,10 @@ void Room33::look_schublade() {
int16 Room33::use_schublade() {
int16 action_flag = false;
- if (_G(spieler).R33SchubFirst && !_G(spieler).inv_cur && !_G(spieler).R33Messer) {
+ if (_G(gameState).R33SchubFirst && !_G(gameState).inv_cur && !_G(gameState).R33Messer) {
hideCur();
action_flag = true;
- _G(spieler).R33Messer = true;
+ _G(gameState).R33Messer = true;
_G(atds)->set_ats_str(210, TXT_MARK_NAME, 0, ATS_DATA);
_G(atds)->set_ats_str(210, TXT_MARK_LOOK, 1, ATS_DATA);
@@ -101,29 +101,29 @@ void Room33::use_maschine() {
int16 ani_nr;
hideCur();
- if (!_G(spieler).R33MunterOk) {
+ if (!_G(gameState).R33MunterOk) {
autoMove(4, P_CHEWY);
bool hocker = false;
- if (_G(spieler).inv_cur) {
+ if (_G(gameState).inv_cur) {
bool action = true;
- switch (_G(spieler).AkInvent) {
+ switch (_G(gameState).AkInvent) {
case MILCH_INV:
- _G(spieler).R33Munter[3] = true;
+ _G(gameState).R33Munter[3] = true;
invent_2_slot(MILCH_LEER_INV);
break;
case K_FLEISCH_INV:
- _G(spieler).R33Munter[1] = true;
+ _G(gameState).R33Munter[1] = true;
break;
case EIER_INV:
- _G(spieler).R33Munter[2] = true;
+ _G(gameState).R33Munter[2] = true;
break;
case KAFFEE_INV:
- _G(spieler).R33Munter[0] = true;
+ _G(gameState).R33Munter[0] = true;
break;
default:
@@ -133,17 +133,17 @@ void Room33::use_maschine() {
}
if (action) {
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(0, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
setPersonPos(128, 65, P_CHEWY, P_LEFT);
start_spz_wait(CH_LGET_O, 1, false, P_CHEWY);
hocker = true;
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
ani_nr = CH_TALK12;
if (calc_muntermacher()) {
- _G(spieler).R33MunterOk = true;
+ _G(gameState).R33MunterOk = true;
dia_nr = 69;
} else {
dia_nr = 67;
@@ -160,23 +160,23 @@ void Room33::use_maschine() {
start_spz(ani_nr, 255, ANI_FRONT, P_CHEWY);
startAadWait(dia_nr);
- if (_G(spieler).R33MunterOk) {
- _G(spieler)._personHide[P_CHEWY] = true;
+ if (_G(gameState).R33MunterOk) {
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(2, 1, ANI_FRONT);
flic_cut(FCUT_031);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
start_spz(CH_TALK3, 255, ANI_FRONT, P_CHEWY);
startAadWait(71);
_G(atds)->delControlBit(225, ATS_ACTIVE_BIT, ATS_DATA);
}
if (hocker) {
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(1, 1, ANI_FRONT);
setPersonPos(64, 100, P_CHEWY, P_LEFT);
}
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
} else {
startAadWait(70);
}
@@ -188,7 +188,7 @@ bool Room33::calc_muntermacher() {
bool ret = true;
for (int16 i = 0; i < 4; i++) {
- if (_G(spieler).R33Munter[i] == false)
+ if (_G(gameState).R33Munter[i] == false)
ret = false;
}
@@ -198,10 +198,10 @@ bool Room33::calc_muntermacher() {
int16 Room33::get_munter() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur && !_G(spieler).R33MunterGet && _G(spieler).R33MunterOk) {
+ if (!_G(gameState).inv_cur && !_G(gameState).R33MunterGet && _G(gameState).R33MunterOk) {
action_flag = true;
hideCur();
- _G(spieler).R33MunterGet = true;
+ _G(gameState).R33MunterGet = true;
autoMove(4, P_CHEWY);
start_spz_wait(CH_LGET_O, 1, false, P_CHEWY);
invent_2_slot(MUNTER_INV);
diff --git a/engines/chewy/rooms/room34.cpp b/engines/chewy/rooms/room34.cpp
index a76d6e03863..6ecde131b56 100644
--- a/engines/chewy/rooms/room34.cpp
+++ b/engines/chewy/rooms/room34.cpp
@@ -36,18 +36,18 @@ void Room34::entry() {
bool Room34::use_kuehlschrank() {
bool result = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
result = true;
if (!_G(flags).LoadGame) {
hideCur();
autoMove(3, P_CHEWY);
_G(mouseLeftClick) = false;
- start_spz_wait((_G(spieler).ChewyAni == CHEWY_ROCKER) ? CH_ROCK_GET2 : CH_LGET_O, 1, false, P_CHEWY);
+ start_spz_wait((_G(gameState).ChewyAni == CHEWY_ROCKER) ? CH_ROCK_GET2 : CH_LGET_O, 1, false, P_CHEWY);
showCur();
}
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(flags).ChewyDontGo = true;
if (!_G(flags).LoadGame) {
@@ -61,7 +61,7 @@ bool Room34::use_kuehlschrank() {
}
void Room34::xit_kuehlschrank() {
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
setPersonPos(54, 111, P_CHEWY, -1);
switchRoom(33);
_G(flags).ChewyDontGo = false;
diff --git a/engines/chewy/rooms/room35.cpp b/engines/chewy/rooms/room35.cpp
index fdf85df4894..6e578b4d1e0 100644
--- a/engines/chewy/rooms/room35.cpp
+++ b/engines/chewy/rooms/room35.cpp
@@ -36,7 +36,7 @@ static const AniBlock ABLOCK28[2] = {
void Room35::entry() {
- if (_G(spieler).R35Schublade)
+ if (_G(gameState).R35Schublade)
_G(det)->showStaticSpr(1);
}
@@ -44,25 +44,25 @@ int16 Room35::schublade() {
int16 action_flag = false;
hideCur();
- if (_G(spieler).ChewyAni != CHEWY_ROCKER && !_G(spieler).inv_cur) {
- if (!_G(spieler).R35Schublade) {
+ if (_G(gameState).ChewyAni != CHEWY_ROCKER && !_G(gameState).inv_cur) {
+ if (!_G(gameState).R35Schublade) {
action_flag = true;
autoMove(3, P_CHEWY);
start_spz_wait(CH_LGET_O, 1, false, P_CHEWY);
_G(det)->showStaticSpr(1);
- _G(spieler).R35Schublade = true;
+ _G(gameState).R35Schublade = true;
_G(atds)->set_ats_str(234, 1, ATS_DATA);
- } else if (!_G(spieler).R35Falle) {
+ } else if (!_G(gameState).R35Falle) {
action_flag = true;
autoMove(3, P_CHEWY);
- _G(spieler).R35Falle = true;
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState).R35Falle = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startAniBlock(2, ABLOCK28);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
setPersonPos(33, 90, P_CHEWY, P_LEFT);
start_spz(CH_TALK5, 255, ANI_FRONT, P_CHEWY);
startAadWait(93);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(atds)->set_ats_str(234, 2, ATS_DATA);
}
}
@@ -75,11 +75,11 @@ int16 Room35::use_cat() {
int16 action_flag = false;
hideCur();
- if (_G(spieler).ChewyAni != CHEWY_ROCKER) {
+ if (_G(gameState).ChewyAni != CHEWY_ROCKER) {
if (isCurInventory(TRANSLATOR_INV)) {
action_flag = true;
autoMove(4, P_CHEWY);
- _G(spieler).R35TransCat = true;
+ _G(gameState).R35TransCat = true;
start_spz_wait(CH_TRANS, 1, false, P_CHEWY);
flic_cut(FCUT_045);
start_spz(CH_TRANS, 1, ANI_FRONT, P_CHEWY);
@@ -88,9 +88,9 @@ int16 Room35::use_cat() {
action_flag = true;
disable_timer();
autoMove(4, P_CHEWY);
- _G(spieler).R35CatEat = true;
+ _G(gameState).R35CatEat = true;
start_spz_wait(CH_LGET_O, 1, false, P_CHEWY);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
_G(det)->stop_detail(0);
_G(det)->del_static_ani(0);
startSetAILWait(1, 1, ANI_FRONT);
@@ -120,19 +120,19 @@ void Room35::talk_cat() {
hideCur();
autoMove(4, P_CHEWY);
- if (_G(spieler).R35TransCat) {
+ if (_G(gameState).R35TransCat) {
int16 dia_nr;
- if (!_G(spieler).R35CatEat) {
+ if (!_G(gameState).R35CatEat) {
dia_nr = 7;
} else {
dia_nr = 8;
}
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
switchRoom(36);
showCur();
startAdsWait(dia_nr);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
switchRoom(35);
} else {
diff --git a/engines/chewy/rooms/room37.cpp b/engines/chewy/rooms/room37.cpp
index fd77593dbaf..0cdb5461830 100644
--- a/engines/chewy/rooms/room37.cpp
+++ b/engines/chewy/rooms/room37.cpp
@@ -46,27 +46,27 @@ void Room37::entry() {
_G(obj)->show_sib(75);
if (!_G(flags).LoadGame) {
- _G(spieler).scrollx = 124;
+ _G(gameState).scrollx = 124;
setPersonPos(219, 66, P_CHEWY, P_RIGHT);
}
- if (!_G(spieler).R37Kloppe) {
+ if (!_G(gameState).R37Kloppe) {
_G(timer_nr)[1] = _G(room)->set_timer(7, 5);
_G(det)->set_static_ani(7, -1);
- if (!_G(spieler).R37HundScham) {
+ if (!_G(gameState).R37HundScham) {
_G(timer_nr)[0] = _G(room)->set_timer(3, 4);
_G(det)->set_static_ani(3, -1);
g_engine->_sound->playSound(3, 0);
}
}
- if (_G(spieler).R37Gebiss) {
+ if (_G(gameState).R37Gebiss) {
_G(det)->hideStaticSpr(9);
- if (_G(spieler).R37Kloppe) {
+ if (_G(gameState).R37Kloppe) {
_G(det)->hideStaticSpr(8);
- } else if (_G(spieler).R37HundScham) {
+ } else if (_G(gameState).R37HundScham) {
_G(det)->showStaticSpr(0);
}
}
@@ -77,9 +77,9 @@ void Room37::gedAction(int index) {
dog_bell();
} else if (index == 1) {
- if (_G(spieler).R37Kloppe && !_G(spieler).R37Mes) {
+ if (_G(gameState).R37Kloppe && !_G(gameState).R37Mes) {
stopPerson(P_CHEWY);
- _G(spieler).R37Mes = true;
+ _G(gameState).R37Mes = true;
start_spz(CH_TALK6, 255, ANI_FRONT, P_CHEWY);
startAadWait(142);
}
@@ -87,10 +87,10 @@ void Room37::gedAction(int index) {
}
void Room37::setup_func() {
- if (_G(mouseLeftClick) && !_G(spieler).R37Kloppe &&
+ if (_G(mouseLeftClick) && !_G(gameState).R37Kloppe &&
_G(menu_item) == CUR_WALK) {
- if ((g_events->_mousePos.x + _G(spieler).scrollx > 380 && g_events->_mousePos.y > 120) ||
- (g_events->_mousePos.x + _G(spieler).scrollx > 482)) {
+ if ((g_events->_mousePos.x + _G(gameState).scrollx > 380 && g_events->_mousePos.y > 120) ||
+ (g_events->_mousePos.x + _G(gameState).scrollx > 482)) {
// Don't allow moving into chicken coop area
// until the rooster has left
autoMove(7, P_CHEWY);
@@ -102,7 +102,7 @@ void Room37::setup_func() {
short Room37::use_wippe() {
int16 action_flag = false;
- if (_G(spieler).inv_cur) {
+ if (_G(gameState).inv_cur) {
action_flag = true;
if (isCurInventory(H_FUTTER_INV)) {
@@ -112,11 +112,11 @@ short Room37::use_wippe() {
auto_scroll(129, 0);
start_spz(CH_TALK6, 255, ANI_FRONT, P_CHEWY);
startAadWait(159);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
flic_cut(FCUT_047);
_G(flags).NoScroll = false;
showCur();
- _G(spieler).scrollx = 269;
+ _G(gameState).scrollx = 269;
setPersonPos(388, 119, P_CHEWY, P_RIGHT);
switchRoom(29);
_G(mouseLeftClick) = false;
@@ -133,7 +133,7 @@ short Room37::use_wippe() {
int16 Room37::use_glas() {
int16 action_flag = false;
- if (!_G(spieler).R37Gebiss) {
+ if (!_G(gameState).R37Gebiss) {
action_flag = true;
if (isCurInventory(ANGEL2_INV)) {
_G(flags).NoScroll = true;
@@ -143,7 +143,7 @@ int16 Room37::use_glas() {
auto_scroll(146, 0);
start_spz(CH_TALK6, 255, ANI_FRONT, P_CHEWY);
startAadWait(147);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
flic_cut(FCUT_048);
flic_cut(FCUT_049);
invent_2_slot(GEBISS_INV);
@@ -152,7 +152,7 @@ int16 Room37::use_glas() {
_G(atds)->set_ats_str(256, 1, ATS_DATA);
_G(atds)->delControlBit(251, ATS_ACTIVE_BIT, ATS_DATA);
_G(obj)->show_sib(SIB_HFUTTER2_R37);
- _G(spieler).R37Gebiss = true;
+ _G(gameState).R37Gebiss = true;
start_spz(CH_TALK3, 255, ANI_FRONT, P_CHEWY);
startAadWait(146);
showCur();
@@ -175,7 +175,7 @@ void Room37::dog_bell() {
_G(flags).AutoAniPlay = true;
g_engine->_sound->stopSound(0); // nr 3, sslot 0
- if (!_G(spieler).R37Gebiss) {
+ if (!_G(gameState).R37Gebiss) {
stopPerson(P_CHEWY);
_G(flags).ChAutoMov = false;
setPersonSpr(P_LEFT, P_CHEWY);
@@ -187,13 +187,13 @@ void Room37::dog_bell() {
startSetAILWait(5, 1, ANI_FRONT);
_G(det)->hideStaticSpr(9);
startSetAILWait(6, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(det)->startDetail(11, 255, ANI_FRONT);
flic_cut(FCUT_050);
startSetAILWait(6, 1, ANI_BACK);
_G(det)->stop_detail(11);
setPersonPos(326, 85, P_CHEWY, P_LEFT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(det)->showStaticSpr(9);
startAniBlock(3, ABLOCK31);
_G(det)->set_static_ani(3, -1);
@@ -203,7 +203,7 @@ void Room37::dog_bell() {
dia_nr = 149;
ani_nr = CH_TALK12;
- } else if (!_G(spieler).R37HundScham) {
+ } else if (!_G(gameState).R37HundScham) {
stopPerson(P_CHEWY);
setPersonSpr(P_LEFT, P_CHEWY);
_G(flags).NoScroll = true;
@@ -213,12 +213,12 @@ void Room37::dog_bell() {
_G(det)->stop_detail(3);
startSetAILWait(4, 1, ANI_FRONT);
flic_cut(FCUT_051);
- _G(spieler).scrollx = 104;
+ _G(gameState).scrollx = 104;
flic_cut(FCUT_054);
register_cutscene(10);
_G(det)->showStaticSpr(0);
- _G(spieler).R37HundScham = true;
+ _G(gameState).R37HundScham = true;
dia_nr = 148;
ani_nr = CH_TALK6;
}
@@ -240,7 +240,7 @@ void Room37::talk_hahn() {
autoMove(7, P_CHEWY);
showCur();
- if (!_G(spieler).R37TransHahn) {
+ if (!_G(gameState).R37TransHahn) {
_G(cur_hide_flag) = 0;
hideCur();
startAadWait(145);
@@ -254,7 +254,7 @@ void Room37::use_hahn() {
if (isCurInventory(TRANSLATOR_INV)) {
hideCur();
autoMove(7, P_CHEWY);
- _G(spieler).R37TransHahn = true;
+ _G(gameState).R37TransHahn = true;
start_spz_wait(CH_TRANS, 1, false, P_CHEWY);
flic_cut(FCUT_052);
cur_2_inventory();
@@ -263,9 +263,9 @@ void Room37::use_hahn() {
showCur();
hahn_dia();
- } else if (_G(spieler).R37TransHahn) {
+ } else if (_G(gameState).R37TransHahn) {
if (isCurInventory(GEBISS_INV)) {
- _G(spieler).R37Kloppe = true;
+ _G(gameState).R37Kloppe = true;
hideCur();
autoMove(6, P_CHEWY);
load_room_music(256);
@@ -290,7 +290,7 @@ void Room37::use_hahn() {
flic_cut(FCUT_053);
_G(det)->stop_detail(10);
- _G(spieler).scrollx = 320;
+ _G(gameState).scrollx = 320;
_G(flags).NoScroll = false;
_G(atds)->setControlBit(251, ATS_ACTIVE_BIT, ATS_DATA);
_G(atds)->setControlBit(250, ATS_ACTIVE_BIT, ATS_DATA);
@@ -302,23 +302,23 @@ void Room37::use_hahn() {
inventory_2_cur(EIER_INV);
showCur();
}
- } else if (_G(spieler).inv_cur) {
+ } else if (_G(gameState).inv_cur) {
startAadWait(143);
}
}
void Room37::hahn_dia() {
- _G(spieler)._personHide[P_CHEWY] = true;
- int16 tmp_scrollx = _G(spieler).scrollx;
- int16 tmp_scrolly = _G(spieler).scrolly;
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 0;
+ _G(gameState)._personHide[P_CHEWY] = true;
+ int16 tmp_scrollx = _G(gameState).scrollx;
+ int16 tmp_scrolly = _G(gameState).scrolly;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 0;
switchRoom(38);
startAdsWait(9);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(flags).LoadGame = true;
- _G(spieler).scrollx = tmp_scrollx;
- _G(spieler).scrolly = tmp_scrolly;
+ _G(gameState).scrollx = tmp_scrollx;
+ _G(gameState).scrolly = tmp_scrolly;
switchRoom(37);
_G(flags).LoadGame = false;
}
diff --git a/engines/chewy/rooms/room39.cpp b/engines/chewy/rooms/room39.cpp
index 6b110867325..9255d6af6b2 100644
--- a/engines/chewy/rooms/room39.cpp
+++ b/engines/chewy/rooms/room39.cpp
@@ -51,10 +51,10 @@ static const AniBlock ABLOCK29[2] = {
};
void Room39::entry() {
- if (!_G(spieler).R41Einbruch) {
- if (_G(spieler).R39HowardDa) {
+ if (!_G(gameState).R41Einbruch) {
+ if (_G(gameState).R39HowardDa) {
_G(det)->showStaticSpr(10);
- if (!_G(spieler).R39HowardWach)
+ if (!_G(gameState).R39HowardWach)
_G(det)->startDetail(1, 255, ANI_FRONT);
else
_G(det)->set_static_ani(5, -1);
@@ -72,22 +72,22 @@ short Room39::use_howard() {
int16 ani_nr = 0;
int16 action_flag = false;
- if (!_G(spieler).R39HowardWach) {
+ if (!_G(gameState).R39HowardWach) {
int16 dia_nr;
- if (_G(spieler).inv_cur) {
+ if (_G(gameState).inv_cur) {
if (isCurInventory(MANUSKRIPT_INV)) {
hideCur();
- _G(spieler).R39HowardWach = true;
- _G(spieler).R39ScriptOk = true;
+ _G(gameState).R39HowardWach = true;
+ _G(gameState).R39ScriptOk = true;
autoMove(3, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(det)->startDetail(6, 255, ANI_FRONT);
startAadWait(170);
_G(det)->stop_detail(6);
startSetAILWait(7, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
_G(det)->stop_detail(1);
startAniBlock(2, ABLOCK33);
start_spz(CH_TALK6, 255, ANI_FRONT, P_CHEWY);
@@ -99,11 +99,11 @@ short Room39::use_howard() {
startAadWait(169);
showCur();
- _G(spieler).PersonGlobalDia[P_HOWARD] = 10012;
- _G(spieler).PersonDiaRoom[P_HOWARD] = true;;
+ _G(gameState).PersonGlobalDia[P_HOWARD] = 10012;
+ _G(gameState).PersonDiaRoom[P_HOWARD] = true;;
calc_person_dia(P_HOWARD);
- if (_G(spieler).R41HowardDiaOK) {
+ if (_G(gameState).R41HowardDiaOK) {
ok();
}
@@ -131,13 +131,13 @@ short Room39::use_howard() {
}
void Room39::talk_howard() {
- if (_G(spieler).R39HowardWach) {
+ if (_G(gameState).R39HowardWach) {
autoMove(3, P_CHEWY);
- _G(spieler).PersonGlobalDia[P_HOWARD] = 10012;
- _G(spieler).PersonDiaRoom[P_HOWARD] = true;
+ _G(gameState).PersonGlobalDia[P_HOWARD] = 10012;
+ _G(gameState).PersonDiaRoom[P_HOWARD] = true;
calc_person_dia(P_HOWARD);
- if (_G(spieler).R41HowardDiaOK) {
+ if (_G(gameState).R41HowardDiaOK) {
ok();
}
} else {
@@ -147,10 +147,10 @@ void Room39::talk_howard() {
}
void Room39::ok() {
- _G(spieler).R41Einbruch = true;
+ _G(gameState).R41Einbruch = true;
Room43::night_small();
- _G(spieler)._personRoomNr[P_HOWARD] = 27;
+ _G(gameState)._personRoomNr[P_HOWARD] = 27;
_G(obj)->show_sib(SIB_SURIMY_R27);
_G(obj)->show_sib(SIB_ZEITUNG_R27);
_G(obj)->calc_rsi_flip_flop(SIB_SURIMY_R27);
@@ -175,34 +175,34 @@ int16 Room39::use_tv() {
if (isCurInventory(ZAPPER_INV)) {
_G(mouseLeftClick) = false;
- _G(spieler).R39TvOn = true;
- if (_G(spieler).R39TvKanal >= 5)
- _G(spieler).R39TvKanal = -1;
+ _G(gameState).R39TvOn = true;
+ if (_G(gameState).R39TvKanal >= 5)
+ _G(gameState).R39TvKanal = -1;
_G(flags).NoPalAfterFlc = true;
_G(out)->setPointer(nullptr);
_G(out)->cls();
flic_cut(FCUT_042);
- ++_G(spieler).R39TvKanal;
+ ++_G(gameState).R39TvKanal;
_G(flags).NoPalAfterFlc = true;
- if (_G(spieler).R39TvKanal == 2)
+ if (_G(gameState).R39TvKanal == 2)
flic_cut(FCUT_036);
- else if (_G(spieler).R39TvKanal == 5)
+ else if (_G(gameState).R39TvKanal == 5)
flic_cut(FCUT_033);
look_tv(false);
set_tv();
cls_flag = true;
- if (!_G(spieler).R39TranslatorUsed) {
+ if (!_G(gameState).R39TranslatorUsed) {
ani_nr = CH_TALK11;
dia_nr = 78;
- } else if (!_G(spieler).R39TvKanal && _G(spieler).R39ClintNews < 3) {
+ } else if (!_G(gameState).R39TvKanal && _G(gameState).R39ClintNews < 3) {
dia_nr = -1;
ani_nr = -1;
} else {
- if (80 + _G(spieler).R39TvKanal != 85)
+ if (80 + _G(gameState).R39TvKanal != 85)
dia_nr = -1;
else
dia_nr = 85;
@@ -211,15 +211,15 @@ int16 Room39::use_tv() {
}
action_flag = true;
- } else if (isCurInventory(TRANSLATOR_INV) && _G(spieler).ChewyAni != CHEWY_ROCKER) {
+ } else if (isCurInventory(TRANSLATOR_INV) && _G(gameState).ChewyAni != CHEWY_ROCKER) {
action_flag = true;
- if (_G(spieler).R39TvOn) {
+ if (_G(gameState).R39TvOn) {
start_spz_wait(CH_TRANS, 1, false, P_CHEWY);
- _G(spieler).R39TranslatorUsed = true;
+ _G(gameState).R39TranslatorUsed = true;
_G(flags).NoPalAfterFlc = true;
flic_cut(FCUT_041);
- _G(spieler).R39TvKanal = 0;
- _G(spieler).R39ClintNews = 0;
+ _G(gameState).R39TvKanal = 0;
+ _G(gameState).R39ClintNews = 0;
_G(out)->setPointer(nullptr);
_G(out)->cls();
_G(out)->setPalette(_G(pal));
@@ -243,19 +243,19 @@ int16 Room39::use_tv() {
set_tv();
- } else if (isCurInventory(RECORDER_INV) && _G(spieler).ChewyAni != CHEWY_ROCKER) {
+ } else if (isCurInventory(RECORDER_INV) && _G(gameState).ChewyAni != CHEWY_ROCKER) {
action_flag = true;
- if (_G(spieler).R39TvOn) {
- if (_G(spieler).R39TranslatorUsed) {
+ if (_G(gameState).R39TvOn) {
+ if (_G(gameState).R39TranslatorUsed) {
start_spz(CH_TALK3, 255, ANI_FRONT, P_CHEWY);
startAadWait(98);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startAniBlock(2, ABLOCK29);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
ani_nr = CH_TALK5;
dia_nr = 99;
- _G(atds)->set_ats_str(RECORDER_INV, _G(spieler).R39TvKanal + 1, INV_ATS_DATA);
- _G(spieler).R39TvRecord = _G(spieler).R39TvKanal + 1;
+ _G(atds)->set_ats_str(RECORDER_INV, _G(gameState).R39TvKanal + 1, INV_ATS_DATA);
+ _G(gameState).R39TvRecord = _G(gameState).R39TvKanal + 1;
} else {
ani_nr = CH_TALK12;
dia_nr = 97;
@@ -286,20 +286,20 @@ int16 Room39::use_tv() {
}
void Room39::look_tv(bool cls_mode) {
- if (_G(spieler).R39TvOn) {
+ if (_G(gameState).R39TvOn) {
if (!_G(flags).AutoAniPlay) {
_G(flags).AutoAniPlay = true;
int16 flic_nr;
int16 dia_nr;
- if (!_G(spieler).R39TvKanal && _G(spieler).R39ClintNews < 3) {
+ if (!_G(gameState).R39TvKanal && _G(gameState).R39ClintNews < 3) {
flic_nr = FCUT_038;
- ++_G(spieler).R39ClintNews;
+ ++_G(gameState).R39ClintNews;
dia_nr = 79;
} else {
- flic_nr = TV_FLIC[_G(spieler).R39TvKanal];
- if (!_G(spieler).R39TvKanal)
- _G(spieler).R39ClintNews = 0;
- dia_nr = 80 + _G(spieler).R39TvKanal;
+ flic_nr = TV_FLIC[_G(gameState).R39TvKanal];
+ if (!_G(gameState).R39TvKanal)
+ _G(gameState).R39ClintNews = 0;
+ dia_nr = 80 + _G(gameState).R39TvKanal;
}
if (cls_mode) {
@@ -309,7 +309,7 @@ void Room39::look_tv(bool cls_mode) {
_G(flags).NoPalAfterFlc = true;
}
- if (_G(spieler).R39TranslatorUsed) {
+ if (_G(gameState).R39TranslatorUsed) {
if (dia_nr != 85)
start_aad(dia_nr, -1);
}
@@ -323,7 +323,7 @@ void Room39::look_tv(bool cls_mode) {
_G(out)->setPalette(_G(pal));
_G(flags).NoPalAfterFlc = false;
- if (_G(spieler).R39TranslatorUsed && dia_nr == 85)
+ if (_G(gameState).R39TranslatorUsed && dia_nr == 85)
startAadWait(dia_nr);
}
}
@@ -337,16 +337,16 @@ void Room39::set_tv() {
for (int16 i = 0; i < 6; i++)
_G(det)->hideStaticSpr(i + 4);
- if (_G(spieler).R39TvOn) {
- if (_G(spieler).R39TvKanal == 2) {
+ if (_G(gameState).R39TvOn) {
+ if (_G(gameState).R39TvKanal == 2) {
_G(det)->startDetail(0, 255, ANI_FRONT);
} else {
_G(det)->stop_detail(0);
- _G(det)->showStaticSpr(_G(spieler).R39TvKanal + 4);
+ _G(det)->showStaticSpr(_G(gameState).R39TvKanal + 4);
}
- if (_G(spieler).R39TranslatorUsed) {
- _G(atds)->set_ats_str(229, TXT_MARK_LOOK, 2 + _G(spieler).R39TvKanal, ATS_DATA);
+ if (_G(gameState).R39TranslatorUsed) {
+ _G(atds)->set_ats_str(229, TXT_MARK_LOOK, 2 + _G(gameState).R39TvKanal, ATS_DATA);
} else {
_G(atds)->set_ats_str(229, TXT_MARK_LOOK, 1, ATS_DATA);
}
diff --git a/engines/chewy/rooms/room40.cpp b/engines/chewy/rooms/room40.cpp
index fac8f255cd8..4777f94cdec 100644
--- a/engines/chewy/rooms/room40.cpp
+++ b/engines/chewy/rooms/room40.cpp
@@ -39,37 +39,37 @@ namespace Rooms {
#define POLICE_FLASCHE 16
void Room40::entry(int16 eib_nr) {
- _G(spieler).R40HoUse = false;
+ _G(gameState).R40HoUse = false;
_G(zoom_horizont) = 130;
- _G(spieler).ScrollxStep = 2;
+ _G(gameState).ScrollxStep = 2;
- if (_G(spieler).R40Geld) {
+ if (_G(gameState).R40Geld) {
_G(det)->del_static_ani(6);
_G(room)->set_timer_status(6, TIMER_STOP);
}
- if (_G(spieler).R40HaendlerOk) {
+ if (_G(gameState).R40HaendlerOk) {
_G(det)->del_static_ani(4);
_G(room)->set_timer_status(4, TIMER_STOP);
}
- if (_G(spieler).R40PoliceWeg == false) {
+ if (_G(gameState).R40PoliceWeg == false) {
_G(timer_nr)[0] = _G(room)->set_timer(255, 10);
_G(atds)->delControlBit(275, ATS_ACTIVE_BIT, ATS_DATA);
} else {
_G(det)->hideStaticSpr(15);
}
- _G(spieler).R40PoliceAniStatus = 255;
- _G(spieler).R40PoliceStart = false;
+ _G(gameState).R40PoliceAniStatus = 255;
+ _G(gameState).R40PoliceStart = false;
_G(spieler_mi)[P_HOWARD].Mode = true;
- if (_G(spieler)._personRoomNr[P_HOWARD] == 41)
- _G(spieler)._personRoomNr[P_HOWARD] = 40;
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 41)
+ _G(gameState)._personRoomNr[P_HOWARD] = 40;
- if (_G(spieler)._personRoomNr[P_HOWARD] == 40) {
- _G(spieler).ZoomXy[P_HOWARD][0] = 40;
- _G(spieler).ZoomXy[P_HOWARD][1] = 40;
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 40) {
+ _G(gameState).ZoomXy[P_HOWARD][0] = 40;
+ _G(gameState).ZoomXy[P_HOWARD][1] = 40;
if (!_G(flags).LoadGame) {
switch (eib_nr) {
@@ -90,28 +90,28 @@ void Room40::entry(int16 eib_nr) {
}
_G(SetUpScreenFunc) = setup_func;
- if (_G(spieler).R40TrainMove)
+ if (_G(gameState).R40TrainMove)
move_train(0);
}
void Room40::xit(int16 eib_nr) {
hideCur();
- _G(spieler).ScrollxStep = 1;
- _G(spieler).R40PoliceAb = false;
- _G(spieler).R40HoUse = false;
+ _G(gameState).ScrollxStep = 1;
+ _G(gameState).R40PoliceAb = false;
+ _G(gameState).R40HoUse = false;
stop_spz();
_G(SetUpScreenFunc) = nullptr;
- if (_G(spieler)._personRoomNr[P_HOWARD] == 40) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 40) {
if (eib_nr == 70 || eib_nr == 77) {
- _G(spieler)._personRoomNr[P_HOWARD] = 28;
+ _G(gameState)._personRoomNr[P_HOWARD] = 28;
} else if (eib_nr == 72) {
- if ((_G(obj)->checkInventory(HOTEL_INV) && _G(obj)->checkInventory(TICKET_INV) && _G(spieler).R42BriefOk && _G(spieler).R28Manuskript)
- || _G(spieler).R40TrainOk) {
- _G(spieler).R40TrainOk = true;
- _G(spieler)._personRoomNr[P_HOWARD] = 45;
- _G(spieler).room_e_obj[72].Exit = 45;
+ if ((_G(obj)->checkInventory(HOTEL_INV) && _G(obj)->checkInventory(TICKET_INV) && _G(gameState).R42BriefOk && _G(gameState).R28Manuskript)
+ || _G(gameState).R40TrainOk) {
+ _G(gameState).R40TrainOk = true;
+ _G(gameState)._personRoomNr[P_HOWARD] = 45;
+ _G(gameState).room_e_obj[72].Exit = 45;
_G(obj)->hide_sib(SIB_MUENZE_R40);
_G(uhr)->disableTimer();
@@ -129,19 +129,19 @@ void Room40::xit(int16 eib_nr) {
_G(flags).NoPalAfterFlc = true;
flic_cut(FCUT_073);
- if (_G(spieler).ChewyAni != CHEWY_ROCKER)
- _G(spieler).PersonGlobalDia[1] = 10023;
+ if (_G(gameState).ChewyAni != CHEWY_ROCKER)
+ _G(gameState).PersonGlobalDia[1] = 10023;
cur_2_inventory();
remove_inventory(57);
- _G(spieler).PersonDiaRoom[P_HOWARD] = true;
+ _G(gameState).PersonDiaRoom[P_HOWARD] = true;
show_person();
} else {
- _G(spieler)._personRoomNr[P_HOWARD] = 42;
+ _G(gameState)._personRoomNr[P_HOWARD] = 42;
}
} else {
- _G(spieler)._personRoomNr[P_HOWARD] = 41;
+ _G(gameState)._personRoomNr[P_HOWARD] = 41;
}
}
@@ -151,7 +151,7 @@ void Room40::xit(int16 eib_nr) {
bool Room40::timer(int16 t_nr, int16 ani_nr) {
if (t_nr == _G(timer_nr)[0])
- _G(spieler).R40PoliceStart = true;
+ _G(gameState).R40PoliceStart = true;
else
return true;
@@ -159,7 +159,7 @@ bool Room40::timer(int16 t_nr, int16 ani_nr) {
}
void Room40::move_train(int16 mode) {
- _G(spieler).R40TrainMove = false;
+ _G(gameState).R40TrainMove = false;
hideCur();
autoMove(9, P_CHEWY);
_G(flags).NoScroll = true;
@@ -174,7 +174,7 @@ void Room40::move_train(int16 mode) {
_G(det)->startDetail(7, 20, ANI_FRONT);
_G(det)->showStaticSpr(11);
- if (mode && _G(spieler).ChewyAni == CHEWY_PUMPKIN)
+ if (mode && _G(gameState).ChewyAni == CHEWY_PUMPKIN)
_G(det)->showStaticSpr(12);
g_engine->_sound->playSound(7, 0);
@@ -184,13 +184,13 @@ void Room40::move_train(int16 mode) {
_G(det)->setSetailPos(7, lx, 46);
_G(det)->setStaticPos(11, ax, 62, false, false);
- if (mode && _G(spieler).ChewyAni == CHEWY_PUMPKIN)
+ if (mode && _G(gameState).ChewyAni == CHEWY_PUMPKIN)
_G(det)->setStaticPos(12, ax, 62, false, true);
if (!delay) {
lx += SPEED;
ax += SPEED;
- delay = _G(spieler).DelaySpeed / 2;
+ delay = _G(gameState).DelaySpeed / 2;
} else {
--delay;
}
@@ -213,7 +213,7 @@ void Room40::move_train(int16 mode) {
}
void Room40::setup_func() {
- if (!_G(spieler).R40HoUse && _G(spieler)._personRoomNr[P_HOWARD] == 40) {
+ if (!_G(gameState).R40HoUse && _G(gameState)._personRoomNr[P_HOWARD] == 40) {
calc_person_look();
int16 x, y;
@@ -238,10 +238,10 @@ void Room40::setup_func() {
goAutoXy(x, y, P_HOWARD, ANI_GO);
}
- if (_G(spieler).R40PoliceWeg == false) {
- if (_G(spieler).R40PoliceStart) {
- _G(spieler).R40PoliceStart = false;
- _G(spieler).R40PoliceAniStatus = POLICE_LEFT;
+ if (_G(gameState).R40PoliceWeg == false) {
+ if (_G(gameState).R40PoliceStart) {
+ _G(gameState).R40PoliceStart = false;
+ _G(gameState).R40PoliceAniStatus = POLICE_LEFT;
_G(room)->set_timer_status(255, TIMER_STOP);
_G(uhr)->resetTimer(_G(timer_nr)[0], 0);
_G(det)->hideStaticSpr(15);
@@ -249,11 +249,11 @@ void Room40::setup_func() {
_G(atds)->setControlBit(275, ATS_ACTIVE_BIT, ATS_DATA);
}
- switch (_G(spieler).R40PoliceAniStatus) {
+ switch (_G(gameState).R40PoliceAniStatus) {
case POLICE_LEFT:
if (_G(det)->get_ani_status(POLICE_LEFT) == false) {
_G(det)->startDetail(POLICE_OFFEN, 1, ANI_FRONT);
- _G(spieler).R40PoliceAniStatus = POLICE_OFFEN;
+ _G(gameState).R40PoliceAniStatus = POLICE_OFFEN;
}
break;
@@ -261,14 +261,14 @@ void Room40::setup_func() {
if (_G(det)->get_ani_status(POLICE_OFFEN) == false) {
_G(det)->showStaticSpr(0);
_G(det)->startDetail(POLICE_FLASCHE, 1, ANI_FRONT);
- _G(spieler).R40PoliceAniStatus = POLICE_FLASCHE;
+ _G(gameState).R40PoliceAniStatus = POLICE_FLASCHE;
}
break;
case POLICE_RIGHT:
if (_G(det)->get_ani_status(POLICE_RIGHT) == false) {
_G(det)->showStaticSpr(15);
- _G(spieler).R40PoliceAniStatus = 255;
+ _G(gameState).R40PoliceAniStatus = 255;
_G(room)->set_timer_status(255, TIMER_START);
_G(uhr)->resetTimer(_G(timer_nr)[0], 0);
_G(atds)->delControlBit(275, ATS_ACTIVE_BIT, ATS_DATA);
@@ -278,28 +278,28 @@ void Room40::setup_func() {
case POLICE_FLASCHE:
if (_G(det)->get_ani_status(POLICE_FLASCHE) == false) {
_G(det)->hideStaticSpr(0);
- if (_G(spieler).R40DuengerTele) {
+ if (_G(gameState).R40DuengerTele) {
hideCur();
- _G(spieler).R40PoliceWeg = true;
+ _G(gameState).R40PoliceWeg = true;
_G(det)->startDetail(17, 255, ANI_FRONT);
startAadWait(226);
_G(det)->stop_detail(17);
- _G(spieler).R40HoUse = true;
+ _G(gameState).R40HoUse = true;
_G(person_end_phase)[P_CHEWY] = P_RIGHT;
startSetAILWait(10, 1, ANI_FRONT);
_G(person_end_phase)[P_HOWARD] = P_RIGHT;
startAadWait(224);
- _G(spieler).R40PoliceWeg = true;
+ _G(gameState).R40PoliceWeg = true;
showCur();
_G(flags).MouseLeft = false;
_G(flags).MainInput = true;
- _G(spieler).R40HoUse = false;
+ _G(gameState).R40HoUse = false;
_G(atds)->setControlBit(276, ATS_ACTIVE_BIT, ATS_DATA);
} else {
_G(det)->startDetail(POLICE_RIGHT, 1, ANI_FRONT);
- _G(spieler).R40PoliceAniStatus = POLICE_RIGHT;
+ _G(gameState).R40PoliceAniStatus = POLICE_RIGHT;
}
}
break;
@@ -316,15 +316,15 @@ int16 Room40::use_mr_pumpkin() {
if (_G(menu_item) != CUR_HOWARD) {
hideCur();
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
action_ret = use_schalter(205);
} else {
- switch (_G(spieler).AkInvent) {
+ switch (_G(gameState).AkInvent) {
case CENT_INV:
action_ret = true;
autoMove(5, P_CHEWY);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
startSetAILWait(15, 1, ANI_FRONT);
start_spz(CH_PUMP_TALK, 255, ANI_FRONT, P_CHEWY);
startAadWait(200);
@@ -333,14 +333,14 @@ int16 Room40::use_mr_pumpkin() {
case RECORDER_INV:
action_ret = true;
- if (_G(spieler).R39TvRecord == 6) {
- if (_G(spieler).R40PoliceWeg == false)
+ if (_G(gameState).R39TvRecord == 6) {
+ if (_G(gameState).R40PoliceWeg == false)
use_schalter(227);
else {
hideCur();
autoMove(8, P_CHEWY);
start_spz_wait(CH_PUMP_GET1, 1, false, P_CHEWY);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
_G(out)->ausblenden(1);
Room43::catch_pg();
remove_inventory(LIKOER_INV);
@@ -350,7 +350,7 @@ int16 Room40::use_mr_pumpkin() {
startAadWait(236);
}
} else {
- startAadWait(228 + _G(spieler).R39TvRecord);
+ startAadWait(228 + _G(gameState).R39TvRecord);
}
break;
@@ -368,32 +368,32 @@ int16 Room40::use_mr_pumpkin() {
int16 Room40::use_schalter(int16 aad_nr) {
int16 action_flag = false;
- if (_G(menu_item) != CUR_HOWARD &&_G(spieler).R40PoliceWeg == false) {
+ if (_G(menu_item) != CUR_HOWARD &&_G(gameState).R40PoliceWeg == false) {
action_flag = true;
hideCur();
autoMove(8, P_CHEWY);
- if (_G(spieler).R40PoliceAniStatus != 255) {
+ if (_G(gameState).R40PoliceAniStatus != 255) {
start_spz(CH_PUMP_TALK, 255, ANI_FRONT, P_CHEWY);
startAadWait(204);
- while (_G(spieler).R40PoliceAniStatus != 255) {
+ while (_G(gameState).R40PoliceAniStatus != 255) {
setupScreen(DO_SETUP);
SHOULD_QUIT_RETURN0;
}
}
_G(room)->set_timer_status(255, TIMER_STOP);
- _G(spieler).R40PoliceStart = false;
+ _G(gameState).R40PoliceStart = false;
stop_spz();
start_spz_wait(CH_PUMP_GET1, 1, false, P_CHEWY);
- if (_G(spieler).R40PoliceAb) {
- _G(spieler).R40PoliceAb = false;
+ if (_G(gameState).R40PoliceAb) {
+ _G(gameState).R40PoliceAb = false;
stop_spz();
goAutoXy(308, 100, P_HOWARD, ANI_WAIT);
- _G(spieler).R40HoUse = false;
+ _G(gameState).R40HoUse = false;
}
_G(det)->hideStaticSpr(15);
@@ -412,9 +412,9 @@ int16 Room40::use_schalter(int16 aad_nr) {
}
void Room40::talk_police() {
- if (!_G(spieler).R40PoliceWeg && _G(spieler).R40PoliceAniStatus == 255) {
+ if (!_G(gameState).R40PoliceWeg && _G(gameState).R40PoliceAniStatus == 255) {
hideCur();
- _G(spieler).R40PoliceStart = false;
+ _G(gameState).R40PoliceStart = false;
_G(room)->set_timer_status(255, TIMER_STOP);
autoMove(7, P_CHEWY);
startAadWait(203);
@@ -425,8 +425,8 @@ void Room40::talk_police() {
}
void Room40::talk_handler() {
- if (!_G(spieler).R40HaendlerOk) {
- _G(spieler).flags38_2 = true;
+ if (!_G(gameState).R40HaendlerOk) {
+ _G(gameState).flags38_2 = true;
hideCur();
autoMove(6, P_CHEWY);
_G(det)->del_static_ani(4);
@@ -443,17 +443,17 @@ void Room40::talk_handler() {
int16 Room40::use_haendler() {
int16 action_flag = false;
- if (_G(menu_item) == CUR_HOWARD && !_G(spieler).R40HaendlerOk) {
+ if (_G(menu_item) == CUR_HOWARD && !_G(gameState).R40HaendlerOk) {
action_flag = true;
- if (!_G(spieler).flags38_2) {
+ if (!_G(gameState).flags38_2) {
startAadWait(612);
} else {
hideCur();
invent_2_slot(DUENGER_INV);
- _G(spieler).R40HoUse = true;
- _G(spieler).R40HaendlerOk = true;
- _G(spieler).R40TeilKarte = true;
- _G(spieler).R40DuengerMit = true;
+ _G(gameState).R40HoUse = true;
+ _G(gameState).R40HaendlerOk = true;
+ _G(gameState).R40TeilKarte = true;
+ _G(gameState).R40DuengerMit = true;
_G(atds)->setControlBit(283, ATS_ACTIVE_BIT, ATS_DATA);
autoMove(10, P_CHEWY);
autoMove(11, P_HOWARD);
@@ -470,7 +470,7 @@ int16 Room40::use_haendler() {
_G(det)->set_static_ani(5, -1);
startAadWait(213);
- if (_G(spieler).R28RKuerbis) {
+ if (_G(gameState).R28RKuerbis) {
_G(det)->del_static_ani(5);
_G(det)->set_static_ani(3, -1);
startAadWait(211);
@@ -478,8 +478,8 @@ int16 Room40::use_haendler() {
_G(out)->set_partialpalette(_G(pal), 255, 1);
startAadWait(212);
_G(out)->ausblenden(0);
- _G(spieler).R40Wettbewerb = true;
- _G(spieler)._personRoomNr[P_HOWARD] = 28;
+ _G(gameState).R40Wettbewerb = true;
+ _G(gameState)._personRoomNr[P_HOWARD] = 28;
_G(flags).NoScroll = false;
_G(out)->setPointer(nullptr);
_G(out)->cls();
@@ -496,7 +496,7 @@ int16 Room40::use_haendler() {
showCur();
_G(flags).NoScroll = false;
_G(flags).MouseLeft = false;
- _G(spieler).R40HoUse = false;
+ _G(gameState).R40HoUse = false;
}
}
@@ -509,13 +509,13 @@ int16 Room40::use_bmeister() {
if (_G(menu_item) == CUR_HOWARD) {
action_flag = true;
hideCur();
- _G(spieler).R40HoUse = true;
+ _G(gameState).R40HoUse = true;
autoMove(9, P_CHEWY);
autoMove(11, P_HOWARD);
startAadWait(214);
bmeister_dia(215);
startAadWait(216);
- _G(spieler).R40HoUse = false;
+ _G(gameState).R40HoUse = false;
_G(flags).NoScroll = false;
_G(menu_item) = CUR_WALK;
cursorChoice(_G(menu_item));
@@ -523,14 +523,14 @@ int16 Room40::use_bmeister() {
} else if (isCurInventory(LIKOER2_INV)) {
action_flag = true;
- if (_G(spieler).flags37_80) {
+ if (_G(gameState).flags37_80) {
startAadWait(605);
} else {
hideCur();
- _G(spieler).R40HoUse = true;
+ _G(gameState).R40HoUse = true;
new_invent_2_cur(HOTEL_INV);
bmeister_dia(237);
- _G(spieler).flags37_80 = true;
+ _G(gameState).flags37_80 = true;
_G(flags).NoScroll = false;
showCur();
}
@@ -572,13 +572,13 @@ bool Room40::use_police() {
bool result = false;
if (_G(menu_item) == CUR_HOWARD) {
- if (!_G(spieler).R40PoliceWeg && _G(spieler).R40PoliceAniStatus == 255) {
+ if (!_G(gameState).R40PoliceWeg && _G(gameState).R40PoliceAniStatus == 255) {
result = true;
- _G(spieler).R40PoliceAb = true;
+ _G(gameState).R40PoliceAb = true;
hideCur();
- _G(spieler).R40PoliceStart = false;
+ _G(gameState).R40PoliceStart = false;
_G(room)->set_timer_status(255, TIMER_STOP);
- _G(spieler).R40HoUse = true;
+ _G(gameState).R40HoUse = true;
autoMove(9, P_CHEWY);
autoMove(11, P_HOWARD);
startAadWait(217);
@@ -602,21 +602,21 @@ bool Room40::use_police() {
int16 Room40::use_tele() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur && _G(spieler).R40PoliceWeg == false) {
+ if (!_G(gameState).inv_cur && _G(gameState).R40PoliceWeg == false) {
action_flag = true;
hideCur();
int16 dia_nr1 = -1;
- if (!_G(spieler).R40PoliceAb) {
+ if (!_G(gameState).R40PoliceAb) {
startAadWait(219);
- _G(spieler).R40HoUse = false;
+ _G(gameState).R40HoUse = false;
} else {
autoMove(13, P_CHEWY);
_G(det)->showStaticSpr(0);
int16 dia_nr;
- if (!_G(spieler).R40DuengerMit) {
+ if (!_G(gameState).R40DuengerMit) {
dia_nr = 220;
dia_nr1 = 222;
} else {
@@ -629,26 +629,26 @@ int16 Room40::use_tele() {
_G(det)->hideStaticSpr(0);
autoMove(9, P_CHEWY);
startAadWait(dia_nr1);
- _G(spieler).R40HoUse = false;
+ _G(gameState).R40HoUse = false;
int16 timer_wert = 0;
if (dia_nr1 == 223) {
if (isCurInventory(DUENGER_INV)) {
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
} else {
remove_inventory(DUENGER_INV);
}
invent_2_slot(LIKOER_INV);
autoMove(1, P_CHEWY);
- _G(spieler).R40DuengerMit = false;
- _G(spieler).R40DuengerTele = true;
+ _G(gameState).R40DuengerMit = false;
+ _G(gameState).R40DuengerTele = true;
_G(flags).MouseLeft = true;
_G(flags).MainInput = false;
timer_wert = 3;
}
- _G(spieler).R40PoliceAb = false;
+ _G(gameState).R40PoliceAb = false;
_G(room)->set_timer_status(255, TIMER_START);
_G(uhr)->resetTimer(_G(timer_nr)[0], timer_wert);
}
diff --git a/engines/chewy/rooms/room41.cpp b/engines/chewy/rooms/room41.cpp
index 8bc671c6115..0b486c9a6d2 100644
--- a/engines/chewy/rooms/room41.cpp
+++ b/engines/chewy/rooms/room41.cpp
@@ -38,7 +38,7 @@ static const AniBlock ABLOCK32[2] = {
void Room41::entry() {
hideCur();
- if (!_G(spieler).R41LolaOk) {
+ if (!_G(gameState).R41LolaOk) {
g_engine->_sound->playSound(6);
if (!_G(flags).LoadGame) {
@@ -53,13 +53,13 @@ void Room41::entry() {
}
}
- if (_G(spieler).R41Einbruch) {
+ if (_G(gameState).R41Einbruch) {
_G(atds)->delControlBit(271, ATS_ACTIVE_BIT, ATS_DATA);
_G(det)->showStaticSpr(6);
_G(det)->showStaticSpr(7);
}
- if (_G(spieler).ChewyAni == CHEWY_ROCKER) {
+ if (_G(gameState).ChewyAni == CHEWY_ROCKER) {
_G(atds)->setControlBit(269, ATS_ACTIVE_BIT, ATS_DATA);
}
@@ -71,16 +71,16 @@ void Room41::entry() {
}
void Room41::xit() {
- if (_G(spieler).R41TrainCount == 0) {
- _G(spieler).R41TrainCount = 3;
- _G(spieler).R40TrainMove = true;
+ if (_G(gameState).R41TrainCount == 0) {
+ _G(gameState).R41TrainCount = 3;
+ _G(gameState).R40TrainMove = true;
}
- _G(spieler).R41TrainCount--;
+ _G(gameState).R41TrainCount--;
}
void Room41::setup_func() {
- if (_G(spieler)._personRoomNr[P_HOWARD] == 41) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 41) {
calc_person_look();
if (_G(spieler_vector)->Xypos[P_HOWARD] == 160) {
goAutoXy(258, 75, P_HOWARD, ANI_GO);
@@ -94,20 +94,20 @@ void Room41::talk_hoggy1() {
stop_hoggy();
autoMove(1, P_CHEWY);
- if (!_G(spieler).R41FirstTalk) {
+ if (!_G(gameState).R41FirstTalk) {
first_talk();
- } else if (!_G(spieler).R41Einbruch) {
+ } else if (!_G(gameState).R41Einbruch) {
showCur();
startAdsWait(11);
- } else if (_G(spieler).R41Einbruch) {
- if (!_G(spieler).R41BruchInfo) {
- _G(spieler).R41BruchInfo = true;
+ } else if (_G(gameState).R41Einbruch) {
+ if (!_G(gameState).R41BruchInfo) {
+ _G(gameState).R41BruchInfo = true;
startAadWait(132);
startAadWait(128);
- } else if (_G(spieler).R31SurFurz && !_G(spieler).R41KuerbisInfo) {
- _G(spieler).R41KuerbisInfo = true;
+ } else if (_G(gameState).R31SurFurz && !_G(gameState).R41KuerbisInfo) {
+ _G(gameState).R41KuerbisInfo = true;
startAadWait(131);
autoMove(5, P_CHEWY);
new_invent_2_cur(TICKET_INV);
@@ -125,12 +125,12 @@ void Room41::talk_hoggy2() {
stop_hoggy();
autoMove(2, P_CHEWY);
- if (!_G(spieler).R41FirstTalk) {
+ if (!_G(gameState).R41FirstTalk) {
first_talk();
- } else if (_G(spieler).R41BruchInfo) {
- if (_G(spieler).R31SurFurz && !_G(spieler).R41KuerbisInfo) {
- _G(spieler).R41KuerbisInfo = true;
+ } else if (_G(gameState).R41BruchInfo) {
+ if (_G(gameState).R31SurFurz && !_G(gameState).R41KuerbisInfo) {
+ _G(gameState).R41KuerbisInfo = true;
startAadWait(131);
autoMove(5, P_CHEWY);
new_invent_2_cur(TICKET_INV);
@@ -146,7 +146,7 @@ void Room41::talk_hoggy2() {
}
void Room41::first_talk() {
- _G(spieler).R41FirstTalk = true;
+ _G(gameState).R41FirstTalk = true;
startAadWait(134);
_G(atds)->set_ats_str(266, TXT_MARK_NAME, 1, ATS_DATA);
_G(atds)->set_ats_str(265, TXT_MARK_NAME, 1, ATS_DATA);
@@ -176,7 +176,7 @@ void Room41::stop_hoggy() {
int16 Room41::use_kasse() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
action_flag = true;
stop_hoggy();
autoMove(1, P_CHEWY);
@@ -190,10 +190,10 @@ int16 Room41::use_kasse() {
int16 Room41::use_lola() {
int16 action_flag = false;
- if (!_G(spieler).inv_cur && !_G(spieler).R41LolaOk && _G(spieler).R41RepairInfo) {
+ if (!_G(gameState).inv_cur && !_G(gameState).R41LolaOk && _G(gameState).R41RepairInfo) {
hideCur();
action_flag = true;
- _G(spieler).R41LolaOk = true;
+ _G(gameState).R41LolaOk = true;
autoMove(4, P_CHEWY);
g_engine->_sound->stopSound(0);
flic_cut(FCUT_057);
@@ -223,15 +223,15 @@ int16 Room41::use_brief() {
} else if (isCurInventory(BRIEF2_INV)) {
action_flag = true;
autoMove(6, P_CHEWY);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
stop_hoggy();
startAadWait(186);
start_hoggy();
_G(atds)->set_ats_str(206, 1, ATS_DATA);
- _G(spieler).R28Briefkasten = true;
- _G(spieler).R40TrainMove = true;
- _G(spieler).R28PostCar = true;
- _G(spieler).R42BriefOk = true;
+ _G(gameState).R28Briefkasten = true;
+ _G(gameState).R40TrainMove = true;
+ _G(gameState).R28PostCar = true;
+ _G(gameState).R42BriefOk = true;
}
showCur();
@@ -242,7 +242,7 @@ void Room41::sub_dia() {
aadWait(-1);
startAadWait(161);
- if (_G(spieler).R41LolaOk) {
+ if (_G(gameState).R41LolaOk) {
startAadWait(163);
_G(atds)->hide_item(11, 0, 2);
stop_ads_dialog();
diff --git a/engines/chewy/rooms/room42.cpp b/engines/chewy/rooms/room42.cpp
index 0f5cbb669dc..aa77e84f8db 100644
--- a/engines/chewy/rooms/room42.cpp
+++ b/engines/chewy/rooms/room42.cpp
@@ -31,19 +31,19 @@ namespace Chewy {
namespace Rooms {
void Room42::entry() {
- if (!_G(spieler).R42BeamterWach) {
+ if (!_G(gameState).R42BeamterWach) {
g_engine->_sound->playSound(0);
_G(det)->startDetail(0, 255, ANI_FRONT);
}
- if (_G(spieler)._personRoomNr[P_HOWARD] == 42) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 42) {
_G(SetUpScreenFunc) = setup_func;
if (!_G(flags).LoadGame) {
_G(det)->stop_detail(0);
_G(timer_nr)[0] = _G(room)->set_timer(8, 5);
_G(det)->set_static_ani(8, -1);
- _G(spieler).R42BeamterWach = true;
+ _G(gameState).R42BeamterWach = true;
g_engine->_sound->stopSound(0);
_G(SetUpScreenFunc) = setup_func;
@@ -53,40 +53,40 @@ void Room42::entry() {
_G(atds)->set_ats_str(264, 1, ATS_DATA);
}
- if (_G(obj)->checkInventory(HOTEL_INV) && _G(obj)->checkInventory(TICKET_INV) && !_G(spieler).R42BriefOk)
+ if (_G(obj)->checkInventory(HOTEL_INV) && _G(obj)->checkInventory(TICKET_INV) && !_G(gameState).R42BriefOk)
startAadWait(302);
- if (_G(obj)->checkInventory(HOTEL_INV) && _G(obj)->checkInventory(TICKET_INV) && _G(spieler).R42BriefOk)
+ if (_G(obj)->checkInventory(HOTEL_INV) && _G(obj)->checkInventory(TICKET_INV) && _G(gameState).R42BriefOk)
startAadWait(301);
}
}
void Room42::xit() {
- if (_G(spieler)._personRoomNr[P_HOWARD] == 42) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 42) {
_G(atds)->set_ats_str(264, 1, ATS_DATA);
stop_spz();
- _G(spieler).R42HoToBeamter = false;
- _G(spieler)._personRoomNr[P_HOWARD] = 40;
+ _G(gameState).R42HoToBeamter = false;
+ _G(gameState)._personRoomNr[P_HOWARD] = 40;
}
}
void Room42::setup_func() {
- if (!_G(spieler).R42HoToBeamter)
+ if (!_G(gameState).R42HoToBeamter)
calc_person_look();
}
void Room42::getPumpkin(int16 aad_nr) {
hideCur();
autoMove(1, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(7, 1, ANI_BACK);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
start_spz(CH_TALK5, 255, ANI_FRONT, P_CHEWY);
startAadWait(aad_nr);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(7, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
showCur();
}
@@ -97,39 +97,39 @@ int16 Room42::useMailBag() {
return action_flag;
hideCur();
- if (!_G(spieler).R42BeamterWach && !_G(spieler).inv_cur) {
+ if (!_G(gameState).R42BeamterWach && !_G(gameState).inv_cur) {
action_flag = true;
getPumpkin(136);
- } else if (_G(spieler).R42HoToBeamter && !_G(spieler).inv_cur && !_G(spieler).R42MarkeOk) {
+ } else if (_G(gameState).R42HoToBeamter && !_G(gameState).inv_cur && !_G(gameState).R42MarkeOk) {
action_flag = true;
autoMove(3, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(10, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
startAadWait(187);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(9, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
new_invent_2_cur(BMARKE_INV);
startAadWait(181);
- _G(spieler).R42MarkeOk = true;
+ _G(gameState).R42MarkeOk = true;
autoMove(4, P_CHEWY);
startAadWait(185);
- _G(spieler).R42HoToBeamter = false;
+ _G(gameState).R42HoToBeamter = false;
} else if (isCurInventory(BRIEF2_INV)) {
action_flag = true;
autoMove(3, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(10, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
- delInventory(_G(spieler).AkInvent);
+ _G(gameState)._personHide[P_CHEWY] = false;
+ delInventory(_G(gameState).AkInvent);
startAadWait(183);
_G(obj)->calc_rsi_flip_flop(SIB_BKASTEN_R28);
_G(atds)->set_ats_str(206, 1, ATS_DATA);
- _G(spieler).R28Briefkasten = true;
- _G(spieler).R40TrainMove = true;
- _G(spieler).R28PostCar = true;
- _G(spieler).R42BriefOk = true;
+ _G(gameState).R28Briefkasten = true;
+ _G(gameState).R40TrainMove = true;
+ _G(gameState).R28PostCar = true;
+ _G(gameState).R42BriefOk = true;
} else if (isCurInventory(BRIEF_INV)) {
action_flag = true;
@@ -149,7 +149,7 @@ int16 Room42::useStationEmployee() {
hideCur();
autoMove(4, P_CHEWY);
startAadWait(184);
- _G(spieler).R42HoToBeamter = true;
+ _G(gameState).R42HoToBeamter = true;
_G(menu_item) = CUR_WALK;
cursorChoice(_G(menu_item));
showCur();
@@ -164,9 +164,9 @@ void Room42::talkToStationEmployee() {
int16 dia_nr;
autoMove(1, P_CHEWY);
- if (!_G(spieler).R42BeamterWach) {
+ if (!_G(gameState).R42BeamterWach) {
dia_nr = 10;
- } else if (!_G(spieler).R42MarkeOk) {
+ } else if (!_G(gameState).R42MarkeOk) {
dia_nr = 13;
} else {
dia_nr = 14;
@@ -184,7 +184,7 @@ void Room42::dialogWithStationEmployee(int16 str_end_nr) {
SHOULD_QUIT_RETURN;
}
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(flags).NoDiaBox = true;
switch (str_end_nr) {
@@ -226,12 +226,12 @@ void Room42::dialogWithStationEmployee(int16 str_end_nr) {
g_engine->_sound->playSound(0);
}
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(det)->startDetail(6, 255, ANI_FRONT);
startAadWait(135);
_G(det)->stop_detail(6);
_G(flags).NoDiaBox = false;
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
showCur();
}
diff --git a/engines/chewy/rooms/room43.cpp b/engines/chewy/rooms/room43.cpp
index db86be59b9b..ca574bb1b28 100644
--- a/engines/chewy/rooms/room43.cpp
+++ b/engines/chewy/rooms/room43.cpp
@@ -31,64 +31,64 @@ namespace Rooms {
void Room43::night_small() {
hide_person();
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 0;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 0;
switchRoom(43);
_G(sndPlayer)->stopMod();
g_engine->_sound->playSound(0);
hideCur();
_G(flags).NoScroll = true;
- _G(spieler).ScrollxStep = 1;
+ _G(gameState).ScrollxStep = 1;
startAadWait(188);
auto_scroll(320, 0);
startAadWait(189);
auto_scroll(0, 0);
startAadWait(190);
- _G(spieler).ScrollxStep = 16;
+ _G(gameState).ScrollxStep = 16;
auto_scroll(192, 0);
for (int16 i = 0; i < 3; i++) {
if (i)
- _G(spieler).ScrollxStep = 16 / i;
+ _G(gameState).ScrollxStep = 16 / i;
auto_scroll(128 + i * 16, 0);
auto_scroll(192, 0);
}
- _G(spieler).scrollx = 194;
+ _G(gameState).scrollx = 194;
startAadWait(191);
flic_cut(FCUT_058);
g_engine->_sound->stopSound(0);
_G(flags).NoScroll = false;
- _G(spieler).ScrollxStep = 1;
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 0;
+ _G(gameState).ScrollxStep = 1;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 0;
showCur();
show_person();
}
void Room43::catch_pg() {
hide_person();
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 0;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 0;
switchRoom(43);
_G(sndPlayer)->stopMod();
g_engine->_sound->playSound(0);
hideCur();
_G(flags).NoScroll = true;
- _G(spieler).ScrollxStep = 1;
+ _G(gameState).ScrollxStep = 1;
startAadWait(234);
auto_scroll(194, 0);
startAadWait(235);
- _G(spieler).R43GetPgLady = true;
+ _G(gameState).R43GetPgLady = true;
flic_cut(FCUT_058);
g_engine->_sound->stopSound(0);
register_cutscene(14);
_G(flags).NoScroll = false;
- _G(spieler).ScrollxStep = 1;
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 0;
+ _G(gameState).ScrollxStep = 1;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 0;
showCur();
show_person();
}
diff --git a/engines/chewy/rooms/room44.cpp b/engines/chewy/rooms/room44.cpp
index f2b896fefa5..4e7646f457d 100644
--- a/engines/chewy/rooms/room44.cpp
+++ b/engines/chewy/rooms/room44.cpp
@@ -29,19 +29,19 @@ namespace Chewy {
namespace Rooms {
void Room44::look_news() {
- int16 tmproom = _G(spieler)._personRoomNr[P_CHEWY];
- int16 tmpsx = _G(spieler).scrollx;
- int16 tmpsy = _G(spieler).scrolly;
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 0;
+ int16 tmproom = _G(gameState)._personRoomNr[P_CHEWY];
+ int16 tmpsx = _G(gameState).scrollx;
+ int16 tmpsy = _G(gameState).scrolly;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 0;
hide_person();
_G(fx_blend) = BLEND1;
- _G(spieler)._personRoomNr[P_CHEWY] = 44;
- _G(room)->loadRoom(&_G(room_blk), 44, &_G(spieler));
+ _G(gameState)._personRoomNr[P_CHEWY] = 44;
+ _G(room)->loadRoom(&_G(room_blk), 44, &_G(gameState));
startAadWait(172);
- _G(spieler).scrollx = tmpsx;
- _G(spieler).scrolly = tmpsy;
+ _G(gameState).scrollx = tmpsx;
+ _G(gameState).scrolly = tmpsy;
switchRoom(tmproom);
show_person();
}
diff --git a/engines/chewy/rooms/room45.cpp b/engines/chewy/rooms/room45.cpp
index 00082580cee..b5ea4185f9b 100644
--- a/engines/chewy/rooms/room45.cpp
+++ b/engines/chewy/rooms/room45.cpp
@@ -30,31 +30,31 @@ namespace Chewy {
namespace Rooms {
void Room45::entry(int16 eib_nr) {
- _G(spieler).ScrollxStep = 2;
+ _G(gameState).ScrollxStep = 2;
_G(SetUpScreenFunc) = setup_func;
_G(r45_delay) = 0;
_G(zoom_horizont) = 150;
_G(flags).ZoomMov = true;
_G(zoom_mov_fak) = 4;
- _G(spieler).ZoomXy[P_HOWARD][0] = 80;
- _G(spieler).ZoomXy[P_HOWARD][1] = 70;
+ _G(gameState).ZoomXy[P_HOWARD][0] = 80;
+ _G(gameState).ZoomXy[P_HOWARD][1] = 70;
- if (_G(spieler)._personRoomNr[P_HOWARD] == 46) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 46) {
_G(spieler_mi)[P_HOWARD].Mode = true;
- _G(spieler)._personRoomNr[P_HOWARD] = 45;
+ _G(gameState)._personRoomNr[P_HOWARD] = 45;
}
_G(spieler_mi)[P_HOWARD].Mode = true;
if (!_G(flags).LoadGame) {
int16 ch_x, ch_y;
int16 ho_x, ho_y;
- if (_G(spieler).R48TaxiEntry) {
+ if (_G(gameState).R48TaxiEntry) {
ch_x = 67;
ch_y = 146;
ho_x = 43;
ho_y = 129;
- _G(spieler).R48TaxiEntry = false;
+ _G(gameState).R48TaxiEntry = false;
_G(mouseLeftClick) = false;
} else {
if (eib_nr == 72) {
@@ -62,7 +62,7 @@ void Room45::entry(int16 eib_nr) {
ch_y = 146;
ho_x = 304;
ho_y = 130;
- _G(spieler).scrollx = 130;
+ _G(gameState).scrollx = 130;
} else {
ch_x = 68;
ch_y = 132;
@@ -77,13 +77,13 @@ void Room45::entry(int16 eib_nr) {
}
void Room45::xit(int16 eib_nr) {
- _G(spieler).ScrollxStep = 1;
+ _G(gameState).ScrollxStep = 1;
- if (_G(spieler)._personRoomNr[P_HOWARD] == 45) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 45) {
_G(spieler_mi)[P_HOWARD].Mode = false;
if (eib_nr == 87) {
- _G(spieler)._personRoomNr[P_HOWARD] = 40;
+ _G(gameState)._personRoomNr[P_HOWARD] = 40;
}
}
@@ -99,7 +99,7 @@ void Room45::setup_func() {
if (_G(menu_display) == 0) {
if (!_G(r45_delay)) {
- _G(r45_delay) = _G(spieler).DelaySpeed / 2;
+ _G(r45_delay) = _G(gameState).DelaySpeed / 2;
for (int16 i = 0; i < R45_MAX_PERSON; i++) {
if (_G(r45_pinfo)[i][0] == 1) {
@@ -141,7 +141,7 @@ void Room45::setup_func() {
--_G(r45_delay);
}
- if (_G(spieler)._personRoomNr[P_HOWARD] == 45 && _G(HowardMov) != 2) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 45 && _G(HowardMov) != 2) {
calc_person_look();
const int16 ch_x = _G(spieler_vector)[P_CHEWY].Xypos[0];
@@ -170,14 +170,14 @@ int16 Room45::use_taxi() {
hideCur();
autoMove(1, P_CHEWY);
- if (!_G(spieler).inv_cur) {
- if (_G(spieler).ChewyAni == CHEWY_PUMPKIN) {
+ if (!_G(gameState).inv_cur) {
+ if (_G(gameState).ChewyAni == CHEWY_PUMPKIN) {
action_ret = true;
talk_taxi(254);
- } else if (!_G(spieler).R45TaxiOk) {
+ } else if (!_G(gameState).R45TaxiOk) {
action_ret = true;
talk_taxi(260);
- } else if (_G(spieler).R45TaxiOk) {
+ } else if (_G(gameState).R45TaxiOk) {
action_ret = true;
taxi_mov();
}
@@ -185,7 +185,7 @@ int16 Room45::use_taxi() {
action_ret = true;
delInventory(RING_INV);
talk_taxi(256);
- _G(spieler).R45TaxiOk = true;
+ _G(gameState).R45TaxiOk = true;
taxi_mov();
} else if (isCurInventory(UHR_INV)) {
action_ret = true;
@@ -215,14 +215,14 @@ void Room45::taxi_mov() {
g_engine->_sound->playSound(15, 1);
_G(det)->showStaticSpr(11);
autoMove(3, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
- _G(spieler).R48TaxiPerson[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
+ _G(gameState).R48TaxiPerson[P_CHEWY] = true;
- if (_G(spieler)._personRoomNr[P_HOWARD] == 45) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 45) {
goAutoXy(93, 127, P_HOWARD, ANI_WAIT);
- _G(spieler)._personHide[P_HOWARD] = true;
- _G(spieler).R48TaxiPerson[P_HOWARD] = true;
- _G(spieler)._personRoomNr[P_HOWARD] = 48;
+ _G(gameState)._personHide[P_HOWARD] = true;
+ _G(gameState).R48TaxiPerson[P_HOWARD] = true;
+ _G(gameState)._personRoomNr[P_HOWARD] = 48;
}
_G(det)->hideStaticSpr(11);
@@ -239,7 +239,7 @@ int16 Room45::use_boy() {
hideCur();
autoMove(2, P_CHEWY);
- if (!_G(spieler).R45MagOk) {
+ if (!_G(gameState).R45MagOk) {
if (isCurInventory(DOLLAR175_INV)) {
action_ret = true;
new_invent_2_cur(CUTMAG_INV);
@@ -250,7 +250,7 @@ int16 Room45::use_boy() {
startSetAILWait(1, 1, ANI_FRONT);
_G(room)->set_timer_status(0, TIMER_START);
_G(det)->set_static_ani(0, -1);
- _G(spieler).R45MagOk = true;
+ _G(gameState).R45MagOk = true;
}
} else {
startAadWait(259);
@@ -264,7 +264,7 @@ void Room45::talk_boy() {
int16 aad_nr;
hideCur();
- if (!_G(spieler).R45MagOk) {
+ if (!_G(gameState).R45MagOk) {
autoMove(2, P_CHEWY);
aad_nr = 257;
} else {
diff --git a/engines/chewy/rooms/room46.cpp b/engines/chewy/rooms/room46.cpp
index 57d9500d532..7e8c239adf4 100644
--- a/engines/chewy/rooms/room46.cpp
+++ b/engines/chewy/rooms/room46.cpp
@@ -31,8 +31,8 @@ namespace Chewy {
namespace Rooms {
void Room46::entry(int16 eib_nr) {
- if (_G(spieler)._personRoomNr[P_HOWARD] == 45) {
- _G(spieler)._personRoomNr[P_HOWARD] = 46;
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 45) {
+ _G(gameState)._personRoomNr[P_HOWARD] = 46;
_G(SetUpScreenFunc) = setup_func;
if (eib_nr == 79) {
@@ -42,37 +42,37 @@ void Room46::entry(int16 eib_nr) {
}
}
- if (_G(spieler)._personRoomNr[P_HOWARD] == 46) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 46) {
_G(spieler_mi)[P_HOWARD].Mode = true;
_G(SetUpScreenFunc) = setup_func;
- if (_G(spieler).flags33_8) {
+ if (_G(gameState).flags33_8) {
_G(mouseLeftClick) = false;
hideCur();
setPersonPos(175, 73, P_HOWARD, P_LEFT);
setPersonPos(147, 109, P_CHEWY, P_LEFT);
- _G(spieler).flags33_8 = false;
- _G(spieler).SVal1 = 46;
+ _G(gameState).flags33_8 = false;
+ _G(gameState).SVal1 = 46;
waitShowScreen(10);
start_spz_wait(64, 1, false, P_CHEWY);
start_spz(65, 255, false, P_CHEWY);
startAadWait(494);
- _G(spieler).SVal2 = 504;
+ _G(gameState).SVal2 = 504;
switchRoom(92);
start_spz(65, 255, false, P_CHEWY);
startAadWait(495);
- _G(spieler).room_e_obj[78].Exit = 90;
+ _G(gameState).room_e_obj[78].Exit = 90;
showCur();
}
}
- if (_G(spieler).R47SchlossOk && !_G(spieler).R46GetLeder)
+ if (_G(gameState).R47SchlossOk && !_G(gameState).R46GetLeder)
bodo();
}
void Room46::xit() {
- if (_G(spieler)._personRoomNr[P_HOWARD] == 46) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 46) {
_G(spieler_mi)[P_HOWARD].Mode = false;
}
}
@@ -129,24 +129,24 @@ void Room46::bodo() {
_G(det)->hideStaticSpr(6);
startSetAILWait(6, 1, ANI_FRONT);
_G(det)->showStaticSpr(3);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(1, 1, ANI_FRONT);
flic_cut(FCUT_065);
_G(out)->setPointer(nullptr);
_G(out)->cls();
register_cutscene(16);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(det)->hideStaticSpr(0);
_G(det)->hideStaticSpr(3);
load_chewy_taf(CHEWY_ROCKER);
- _G(spieler).R28ChewyPump = false;
+ _G(gameState).R28ChewyPump = false;
setPersonPos(213, 118, P_CHEWY, P_RIGHT);
startAadWait(243);
invent_2_slot(UHR_INV);
invent_2_slot(RING_INV);
- _G(spieler).R46GetLeder = true;
+ _G(gameState).R46GetLeder = true;
showCur();
}
@@ -157,10 +157,10 @@ void Room46::kloppe() {
_G(out)->setPointer(nullptr);
_G(out)->cls();
start_aad(244 + i, -1);
- int16 delay = _G(spieler).DelaySpeed * 50;
+ int16 delay = _G(gameState).DelaySpeed * 50;
_G(atds)->print_aad(0, 0);
- if (_G(spieler).SpeechSwitch) {
+ if (_G(gameState).SpeechSwitch) {
g_engine->_sound->waitForSpeechToFinish();
continue;
}
@@ -183,10 +183,10 @@ void Room46::kloppe() {
int16 Room46::use_schloss() {
int16 action_ret = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
action_ret = true;
- if (!_G(spieler).R46GetLeder) {
+ if (!_G(gameState).R46GetLeder) {
autoMove(1, P_CHEWY);
switchRoom(47);
} else {
diff --git a/engines/chewy/rooms/room47.cpp b/engines/chewy/rooms/room47.cpp
index 417d7eeb8ae..d8504ce5c55 100644
--- a/engines/chewy/rooms/room47.cpp
+++ b/engines/chewy/rooms/room47.cpp
@@ -46,7 +46,7 @@ int16 Room47::use_button(int16 txt_nr) {
int16 k_nr = 0;
int16 action_ret = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
action_ret = true;
switch (txt_nr) {
@@ -68,17 +68,17 @@ int16 Room47::use_button(int16 txt_nr) {
g_engine->_sound->playSound(0, 0);
g_engine->_sound->playSound(0);
- ++_G(spieler).R47Schloss[k_nr];
+ ++_G(gameState).R47Schloss[k_nr];
- if (_G(spieler).R47Schloss[k_nr] > 9)
- _G(spieler).R47Schloss[k_nr] = 0;
+ if (_G(gameState).R47Schloss[k_nr] > 9)
+ _G(gameState).R47Schloss[k_nr] = 0;
- if (_G(spieler).R47Schloss[0] == 7 &&
- _G(spieler).R47Schloss[1] == 6 &&
- _G(spieler).R47Schloss[2] == 2)
- _G(spieler).R47SchlossOk = true;
+ if (_G(gameState).R47Schloss[0] == 7 &&
+ _G(gameState).R47Schloss[1] == 6 &&
+ _G(gameState).R47Schloss[2] == 2)
+ _G(gameState).R47SchlossOk = true;
else
- _G(spieler).R47SchlossOk = false;
+ _G(gameState).R47SchlossOk = false;
}
return action_ret;
@@ -89,9 +89,9 @@ void Room47::set_detail() {
_G(det)->hideStaticSpr(i);
for (int16 i = 0; i < 3; i++) {
- _G(det)->showStaticSpr(_G(spieler).R47Schloss[i]);
- _G(det)->setStaticPos(_G(spieler).R47Schloss[i], 124 + i * 30, 96 - i, false, true);
- _G(det)->plot_static_details(0, 0, _G(spieler).R47Schloss[i], _G(spieler).R47Schloss[i]);
+ _G(det)->showStaticSpr(_G(gameState).R47Schloss[i]);
+ _G(det)->setStaticPos(_G(gameState).R47Schloss[i], 124 + i * 30, 96 - i, false, true);
+ _G(det)->plot_static_details(0, 0, _G(gameState).R47Schloss[i], _G(gameState).R47Schloss[i]);
}
for (int16 i = 0; i < 10; i++)
diff --git a/engines/chewy/rooms/room48.cpp b/engines/chewy/rooms/room48.cpp
index 1b4384f7a3c..8568ee4d3b7 100644
--- a/engines/chewy/rooms/room48.cpp
+++ b/engines/chewy/rooms/room48.cpp
@@ -31,8 +31,8 @@ namespace Rooms {
void Room48::entry() {
_G(mouseLeftClick) = false;
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 0;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 0;
showCur();
calc_pic();
_G(SetUpScreenFunc) = setup_func;
@@ -51,21 +51,21 @@ bool Room48::timer(int16 t_nr, int16 ani_nr) {
void Room48::calc_pic() {
for (int16 i = 0; i < 2; i++) {
_G(atds)->setControlBit(312 + i, ATS_ACTIVE_BIT, ATS_DATA);
- _G(spieler).R48Auswahl[3 + i] = 0;
+ _G(gameState).R48Auswahl[3 + i] = 0;
}
- _G(spieler).R48Auswahl[0] = 1;
- _G(spieler).R48Auswahl[1] = 1;
- _G(spieler).R48Auswahl[2] = 1;
+ _G(gameState).R48Auswahl[0] = 1;
+ _G(gameState).R48Auswahl[1] = 1;
+ _G(gameState).R48Auswahl[2] = 1;
if (_G(obj)->checkInventory(VCARD_INV)) {
- _G(spieler).R48Auswahl[3] = 1;
+ _G(gameState).R48Auswahl[3] = 1;
_G(atds)->delControlBit(312, ATS_ACTIVE_BIT, ATS_DATA);
_G(det)->showStaticSpr(4);
}
if (_G(obj)->checkInventory(KAPPE_INV)) {
- _G(spieler).R48Auswahl[4] = 1;
+ _G(gameState).R48Auswahl[4] = 1;
_G(atds)->delControlBit(313, ATS_ACTIVE_BIT, ATS_DATA);
_G(det)->showStaticSpr(4);
}
@@ -97,7 +97,7 @@ void Room48::setup_func() {
const int16 idx = _G(det)->maus_vector(g_events->_mousePos.x, g_events->_mousePos.y);
if (idx != -1) {
- if (_G(spieler).R48Auswahl[idx]) {
+ if (_G(gameState).R48Auswahl[idx]) {
_G(det)->showStaticSpr(1 + idx);
if (_G(mouseLeftClick)) {
@@ -141,19 +141,19 @@ void Room48::setup_func() {
_G(menu_item) = CUR_WALK;
cursorChoice(_G(menu_item));
showCur();
- _G(spieler).R48TaxiEntry = true;
+ _G(gameState).R48TaxiEntry = true;
_G(mouseLeftClick) = false;
setupScreen(DO_SETUP);
for (int16 i = 0; i < MAX_PERSON; i++) {
- if (_G(spieler).R48TaxiPerson[i]) {
- _G(spieler)._personHide[i] = false;
- _G(spieler).R48TaxiPerson[i] = false;
+ if (_G(gameState).R48TaxiPerson[i]) {
+ _G(gameState)._personHide[i] = false;
+ _G(gameState).R48TaxiPerson[i] = false;
}
}
- if (_G(spieler)._personRoomNr[P_HOWARD] == 48) {
- _G(spieler)._personRoomNr[P_HOWARD] = r_nr;
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 48) {
+ _G(gameState)._personRoomNr[P_HOWARD] = r_nr;
}
switchRoom(r_nr);
}
diff --git a/engines/chewy/rooms/room49.cpp b/engines/chewy/rooms/room49.cpp
index 80705c0ef87..d87cebbcbf4 100644
--- a/engines/chewy/rooms/room49.cpp
+++ b/engines/chewy/rooms/room49.cpp
@@ -39,10 +39,10 @@ void Room49::entry(int16 eib_nr) {
_G(zoom_horizont) = 110;
_G(flags).ZoomMov = true;
_G(zoom_mov_fak) = 3;
- _G(spieler).ScrollxStep = 2;
+ _G(gameState).ScrollxStep = 2;
_G(SetUpScreenFunc) = setup_func;
- if (!_G(spieler).R49BoyWeg) {
+ if (!_G(gameState).R49BoyWeg) {
_G(timer_nr)[0] = _G(room)->set_timer(255, 2);
} else {
_G(det)->del_static_ani(0);
@@ -51,18 +51,18 @@ void Room49::entry(int16 eib_nr) {
_G(det)->del_static_ani(1);
}
- _G(spieler).ZoomXy[P_HOWARD][0] = 30;
- _G(spieler).ZoomXy[P_HOWARD][1] = 30;
+ _G(gameState).ZoomXy[P_HOWARD][0] = 30;
+ _G(gameState).ZoomXy[P_HOWARD][1] = 30;
_G(spieler_mi)[P_HOWARD].Mode = true;
if (!_G(flags).LoadGame) {
- if (_G(spieler).R48TaxiEntry) {
- _G(spieler).R48TaxiEntry = false;
+ if (_G(gameState).R48TaxiEntry) {
+ _G(gameState).R48TaxiEntry = false;
setPersonPos(527, 76, P_HOWARD, P_LEFT);
setPersonPos(491, 98, P_CHEWY, P_LEFT);
_G(mouseLeftClick) = false;
- _G(spieler).scrollx = 320;
- _G(spieler).scrolly = 0;
+ _G(gameState).scrollx = 320;
+ _G(gameState).scrolly = 0;
_G(det)->startDetail(5, 1, ANI_FRONT);
} else if (eib_nr == 83) {
setPersonPos(377, 78, P_HOWARD, P_LEFT);
@@ -71,12 +71,12 @@ void Room49::entry(int16 eib_nr) {
}
void Room49::xit(int16 eib_nr) {
- _G(spieler).ScrollxStep = 1;
+ _G(gameState).ScrollxStep = 1;
- if (_G(spieler)._personRoomNr[P_HOWARD] == 49) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 49) {
_G(spieler_mi)[P_HOWARD].Mode = false;
if (eib_nr == 80) {
- _G(spieler)._personRoomNr[P_HOWARD] = 50;
+ _G(gameState)._personRoomNr[P_HOWARD] = 50;
} else if (eib_nr == 81) {
_G(SetUpScreenFunc) = nullptr;
startAadWait(268);
@@ -97,31 +97,31 @@ void Room49::gedAction(int index) {
}
void Room49::calc_boy_ani() {
- if (!_G(spieler).R49BoyAniCount) {
- _G(spieler).R49BoyAniCount = 3;
- _G(spieler).R49BoyAni = true;
+ if (!_G(gameState).R49BoyAniCount) {
+ _G(gameState).R49BoyAniCount = 3;
+ _G(gameState).R49BoyAni = true;
_G(det)->del_static_ani(0);
} else {
- --_G(spieler).R49BoyAniCount;
- _G(spieler).R49BoyAni = false;
+ --_G(gameState).R49BoyAniCount;
+ _G(gameState).R49BoyAni = false;
_G(det)->del_static_ani(1);
}
- _G(det)->set_static_ani(_G(spieler).R49BoyAni ? 1 : 0, -1);
- _G(det)->startDetail(_G(spieler).R49BoyAni ? 1 : 0, 1, ANI_FRONT);
+ _G(det)->set_static_ani(_G(gameState).R49BoyAni ? 1 : 0, -1);
+ _G(det)->startDetail(_G(gameState).R49BoyAni ? 1 : 0, 1, ANI_FRONT);
_G(uhr)->resetTimer(_G(timer_nr)[0], 0);
}
void Room49::calc_boy() {
- if (!_G(spieler).R49WegFrei) {
+ if (!_G(gameState).R49WegFrei) {
hideCur();
_G(room)->set_timer_status(255, TIMER_STOP);
_G(uhr)->resetTimer(_G(timer_nr)[0], 0);
stopPerson(P_CHEWY);
stopPerson(P_HOWARD);
_G(person_end_phase)[P_CHEWY] = P_LEFT;
- _G(det)->stop_detail(_G(spieler).R49BoyAni ? 1 : 0);
- _G(det)->del_static_ani(_G(spieler).R49BoyAni ? 1 : 0);
+ _G(det)->stop_detail(_G(gameState).R49BoyAni ? 1 : 0);
+ _G(det)->del_static_ani(_G(gameState).R49BoyAni ? 1 : 0);
_G(det)->set_static_ani(2, -1);
_G(SetUpScreenFunc) = nullptr;
@@ -134,14 +134,14 @@ void Room49::calc_boy() {
startSetAILWait(3, 1, ANI_FRONT);
_G(det)->showStaticSpr(9);
- _G(spieler)._personHide[P_HOWARD] = true;
+ _G(gameState)._personHide[P_HOWARD] = true;
startSetAILWait(8, 1, ANI_FRONT);
- _G(spieler)._personHide[P_HOWARD] = false;
+ _G(gameState)._personHide[P_HOWARD] = false;
_G(det)->hideStaticSpr(9);
startSetAILWait(4, 1, ANI_GO);
_G(SetUpScreenFunc) = setup_func;
- _G(det)->set_static_ani(_G(spieler).R49BoyAni ? 1 : 0, -1);
+ _G(det)->set_static_ani(_G(gameState).R49BoyAni ? 1 : 0, -1);
_G(room)->set_timer_status(255, TIMER_START);
showCur();
}
@@ -154,10 +154,10 @@ int16 Room49::use_boy() {
action_ret = true;
hideCur();
autoMove(3, P_CHEWY);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
talk_boy(265);
- _G(spieler).R49WegFrei = true;
- _G(spieler).room_e_obj[80].Attribut = EXIT_TOP;
+ _G(gameState).R49WegFrei = true;
+ _G(gameState).room_e_obj[80].Attribut = EXIT_TOP;
showCur();
} else if (isCurInventory(CIGAR_INV)) {
@@ -170,7 +170,7 @@ int16 Room49::use_boy() {
void Room49::use_boy_cigar() {
hideCur();
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
talk_boy(263);
_G(SetUpScreenFunc) = nullptr;
autoMove(5, P_CHEWY);
@@ -187,8 +187,8 @@ void Room49::use_boy_cigar() {
_G(room)->set_timer_status(255, TIMER_STOP);
_G(uhr)->resetTimer(_G(timer_nr)[0], 0);
- _G(det)->del_static_ani(_G(spieler).R49BoyAni ? 1 : 0);
- _G(det)->stop_detail(_G(spieler).R49BoyAni ? 1 : 0);
+ _G(det)->del_static_ani(_G(gameState).R49BoyAni ? 1 : 0);
+ _G(det)->stop_detail(_G(gameState).R49BoyAni ? 1 : 0);
_G(flags).NoScroll = false;
setPersonSpr(P_RIGHT, P_CHEWY);
@@ -200,37 +200,37 @@ void Room49::use_boy_cigar() {
_G(atds)->setControlBit(318, ATS_ACTIVE_BIT, ATS_DATA);
_G(SetUpScreenFunc) = setup_func;
- _G(spieler).R49BoyWeg = true;
+ _G(gameState).R49BoyWeg = true;
showCur();
}
void Room49::talk_boy() {
- if (!_G(spieler).R49BoyWeg) {
+ if (!_G(gameState).R49BoyWeg) {
autoMove(3, P_CHEWY);
- talk_boy(266 + (_G(spieler).R49WegFrei ? 1 : 0));
+ talk_boy(266 + (_G(gameState).R49WegFrei ? 1 : 0));
}
}
void Room49::talk_boy(int16 aad_nr) {
- if (!_G(spieler).R49BoyWeg) {
+ if (!_G(gameState).R49BoyWeg) {
_G(room)->set_timer_status(255, TIMER_STOP);
_G(uhr)->resetTimer(_G(timer_nr)[0], 0);
- _G(det)->stop_detail(_G(spieler).R49BoyAni ? 1 : 0);
+ _G(det)->stop_detail(_G(gameState).R49BoyAni ? 1 : 0);
- _G(det)->set_static_ani(_G(spieler).R49BoyAni ? 1 : 0, -1);
+ _G(det)->set_static_ani(_G(gameState).R49BoyAni ? 1 : 0, -1);
_G(det)->set_static_ani(2, -1);
_G(SetUpScreenFunc) = nullptr;
stopPerson(P_HOWARD);
startAadWait(aad_nr);
_G(SetUpScreenFunc) = setup_func;
_G(det)->del_static_ani(2);
- _G(det)->set_static_ani(_G(spieler).R49BoyAni ? 1 : 0, -1);
+ _G(det)->set_static_ani(_G(gameState).R49BoyAni ? 1 : 0, -1);
_G(room)->set_timer_status(255, TIMER_START);
}
}
void Room49::look_hotel() {
- if (_G(spieler)._personRoomNr[P_HOWARD] == 49) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 49) {
_G(SetUpScreenFunc) = nullptr;
stopPerson(P_HOWARD);
startAadWait(261);
@@ -241,21 +241,21 @@ void Room49::look_hotel() {
int16 Room49::use_taxi() {
int16 action_ret = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
action_ret = true;
hideCur();
startAniBlock(2, ABLOCK34);
_G(det)->showStaticSpr(7);
autoMove(2, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
- _G(spieler).R48TaxiPerson[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
+ _G(gameState).R48TaxiPerson[P_CHEWY] = true;
- if (_G(spieler)._personRoomNr[P_HOWARD] == 49) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 49) {
goAutoXy(507, 74, P_HOWARD, ANI_WAIT);
goAutoXy(490, 58, P_HOWARD, ANI_WAIT);
- _G(spieler)._personHide[P_HOWARD] = true;
- _G(spieler).R48TaxiPerson[P_HOWARD] = true;
- _G(spieler)._personRoomNr[P_HOWARD] = 48;
+ _G(gameState)._personHide[P_HOWARD] = true;
+ _G(gameState).R48TaxiPerson[P_HOWARD] = true;
+ _G(gameState)._personRoomNr[P_HOWARD] = 48;
}
_G(det)->hideStaticSpr(7);
@@ -268,7 +268,7 @@ int16 Room49::use_taxi() {
}
void Room49::setup_func() {
- if (_G(spieler)._personRoomNr[P_HOWARD] == 49) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 49) {
calc_person_look();
const int16 ch_x = _G(spieler_vector)[P_CHEWY].Xypos[0];
diff --git a/engines/chewy/rooms/room50.cpp b/engines/chewy/rooms/room50.cpp
index b96380dd2ef..0e7a5d34909 100644
--- a/engines/chewy/rooms/room50.cpp
+++ b/engines/chewy/rooms/room50.cpp
@@ -37,9 +37,9 @@ bool Room50::_wasser;
void Room50::entry(int16 eib_nr) {
- _G(spieler).ScrollxStep = 2;
+ _G(gameState).ScrollxStep = 2;
- if (_G(spieler).flags32_10) {
+ if (_G(gameState).flags32_10) {
hideCur();
stop_page();
_G(mouseLeftClick) = false;
@@ -54,13 +54,13 @@ void Room50::entry(int16 eib_nr) {
switchRoom(51);
} else {
- if (_G(spieler).R50Zigarre) {
+ if (_G(gameState).R50Zigarre) {
stop_cigar();
} else {
_G(det)->startDetail(0, 255, ANI_FRONT);
}
- if (!_G(spieler).R50KeyOK) {
+ if (!_G(gameState).R50KeyOK) {
_G(timer_nr)[0] = _G(room)->set_timer(1, 8);
_wasser = false;
} else {
@@ -69,7 +69,7 @@ void Room50::entry(int16 eib_nr) {
_G(SetUpScreenFunc) = setup_func;
- if (_G(spieler)._personRoomNr[P_HOWARD] == 50) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 50) {
_G(spieler_mi)[P_HOWARD].Mode = true;
if (!_G(flags).LoadGame) {
@@ -83,13 +83,13 @@ void Room50::entry(int16 eib_nr) {
}
void Room50::xit(int16 eib_nr) {
- _G(spieler).ScrollxStep = 1;
+ _G(gameState).ScrollxStep = 1;
- if (_G(spieler)._personRoomNr[P_HOWARD] == 50) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 50) {
if (eib_nr == 83)
- _G(spieler)._personRoomNr[P_HOWARD] = 49;
+ _G(gameState)._personRoomNr[P_HOWARD] = 49;
else
- _G(spieler)._personRoomNr[P_HOWARD] = 51;
+ _G(gameState)._personRoomNr[P_HOWARD] = 51;
_G(spieler_mi)[P_HOWARD].Mode = false;
}
@@ -112,7 +112,7 @@ void Room50::stop_cigar() {
_G(det)->del_static_ani(0);
_G(atds)->set_ats_str(328, 1, ATS_DATA);
_G(det)->stop_detail(0);
- _G(spieler).R50Zigarre = true;
+ _G(gameState).R50Zigarre = true;
}
void Room50::calc_wasser() {
@@ -139,7 +139,7 @@ void Room50::calc_treppe() {
if (!_G(flags).AutoAniPlay) {
_G(flags).AutoAniPlay = true;
- if (!_G(spieler).R50KeyOK) {
+ if (!_G(gameState).R50KeyOK) {
hideCur();
stopPerson(P_CHEWY);
_G(room)->set_timer_status(1, TIMER_STOP);
@@ -163,13 +163,13 @@ int16 Room50::use_gutschein() {
if (isCurInventory(HOTEL_INV)) {
action_ret = true;
- if (!_G(spieler).R50KeyOK) {
+ if (!_G(gameState).R50KeyOK) {
hideCur();
autoMove(3, P_CHEWY);
_G(room)->set_timer_status(1, TIMER_STOP);
_wasser = false;
stop_page();
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
startAniBlock(2, ABLOCK36);
aad_page(274, 8);
} else {
@@ -186,7 +186,7 @@ int16 Room50::use_gum() {
if (isCurInventory(GUM_INV)) {
action_ret = true;
hideCur();
- _G(spieler).R50KeyOK = true;
+ _G(gameState).R50KeyOK = true;
_G(room)->set_timer_status(1, TIMER_STOP);
_wasser = false;
stop_page();
@@ -199,7 +199,7 @@ int16 Room50::use_gum() {
goAutoXy(112, 57, P_HOWARD, ANI_WAIT);
setPersonSpr(P_LEFT, P_HOWARD);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
hide_person();
startSetAILWait(2, 1, ANI_FRONT);
_G(det)->showStaticSpr(4);
@@ -222,7 +222,7 @@ int16 Room50::use_gum() {
inventory_2_cur(KEY_INV);
_G(atds)->set_ats_str(323, 1, ATS_DATA);
_G(atds)->set_ats_str(327, 1, ATS_DATA);
- _G(spieler).room_e_obj[84].Attribut = EXIT_TOP;
+ _G(gameState).room_e_obj[84].Attribut = EXIT_TOP;
showCur();
}
@@ -240,7 +240,7 @@ void Room50::aad_page(int16 aad_nr, int16 ani_nr) {
startSetAILWait(6, 1, ANI_BACK);
go_page();
- if (!_G(spieler).R50KeyOK)
+ if (!_G(gameState).R50KeyOK)
_G(room)->set_timer_status(1, TIMER_START);
showCur();
@@ -252,7 +252,7 @@ void Room50::setup_func() {
go_page();
}
- if (_G(spieler)._personRoomNr[P_HOWARD] == 50) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 50) {
calc_person_look();
const int16 ch_x = _G(spieler_vector)[P_CHEWY].Xypos[0];
diff --git a/engines/chewy/rooms/room51.cpp b/engines/chewy/rooms/room51.cpp
index 42d65fbed33..d3c1084174b 100644
--- a/engines/chewy/rooms/room51.cpp
+++ b/engines/chewy/rooms/room51.cpp
@@ -51,12 +51,12 @@ void Room51::entry() {
_G(flags).ZoomMov = true;
_G(zoom_mov_fak) = 4;
- if (_G(spieler).flags32_10) {
+ if (_G(gameState).flags32_10) {
_G(atds)->enableEvents(false);
- _G(spieler)._personHide[P_CHEWY] = true;
- _G(spieler)._personHide[P_HOWARD] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_HOWARD] = true;
_G(mouseLeftClick) = false;
- _G(spieler).scrollx = 0;
+ _G(gameState).scrollx = 0;
setPersonPos(34, 120, P_HOWARD, P_RIGHT);
setPersonPos(234, 69, P_CHEWY, P_LEFT);
_G(SetUpScreenFunc) = setup_func;
@@ -78,17 +78,17 @@ void Room51::entry() {
for (int i = 0; i < 2; i++)
_G(det)->startDetail(3 + i, 1, ANI_FRONT);
- if (_G(spieler)._personRoomNr[P_HOWARD] == 51) {
- _G(spieler).ZoomXy[P_HOWARD][0] = 40;
- _G(spieler).ZoomXy[P_HOWARD][1] = 30;
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 51) {
+ _G(gameState).ZoomXy[P_HOWARD][0] = 40;
+ _G(gameState).ZoomXy[P_HOWARD][1] = 30;
if (!_G(flags).LoadGame) {
setPersonPos(88, 93, P_HOWARD, P_RIGHT);
}
- if (!_G(spieler).R51FirstEntry) {
+ if (!_G(gameState).R51FirstEntry) {
hideCur();
- _G(spieler).R51FirstEntry = true;
+ _G(gameState).R51FirstEntry = true;
setPersonSpr(P_LEFT, P_CHEWY);
startAadWait(283);
showCur();
@@ -103,20 +103,20 @@ void Room51::entry() {
void Room51::xit(int16 eib_nr) {
_G(atds)->enableEvents(true);
- if (_G(spieler).flags32_10) {
+ if (_G(gameState).flags32_10) {
_G(flags).MainInput = true;
- _G(spieler)._personHide[P_CHEWY] = false;
- _G(spieler)._personHide[P_HOWARD] = false;
- _G(spieler)._personRoomNr[P_HOWARD] = 91;
+ _G(gameState)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_HOWARD] = false;
+ _G(gameState)._personRoomNr[P_HOWARD] = 91;
_G(menu_item) = CUR_WALK;
cursorChoice(_G(menu_item));
showCur();
- } else if (_G(spieler)._personRoomNr[P_HOWARD] == 51) {
+ } else if (_G(gameState)._personRoomNr[P_HOWARD] == 51) {
if (eib_nr == 85) {
- _G(spieler)._personRoomNr[P_HOWARD] = 50;
+ _G(gameState)._personRoomNr[P_HOWARD] = 50;
} else {
- _G(spieler)._personRoomNr[P_HOWARD] = 52;
+ _G(gameState)._personRoomNr[P_HOWARD] = 52;
}
_G(spieler_mi)[P_HOWARD].Mode = false;
@@ -124,7 +124,7 @@ void Room51::xit(int16 eib_nr) {
}
bool Room51::timer(int16 t_nr, int16 ani_nr) {
- if (_G(spieler).flags32_10)
+ if (_G(gameState).flags32_10)
timer_action(t_nr, _G(room)->_roomTimer._objNr[ani_nr]);
else
return true;
@@ -133,7 +133,7 @@ bool Room51::timer(int16 t_nr, int16 ani_nr) {
}
void Room51::setup_func() {
- if (_G(spieler).flags32_10) {
+ if (_G(gameState).flags32_10) {
_tmpx = g_events->_mousePos.x;
_tmpy = g_events->_mousePos.y;
if (_tmpx > 215)
@@ -182,7 +182,7 @@ void Room51::setup_func() {
break;
}
}
- } else if (_G(spieler)._personRoomNr[P_HOWARD] == 51) {
+ } else if (_G(gameState)._personRoomNr[P_HOWARD] == 51) {
calc_person_look();
const int16 ch_y = _G(spieler_vector)[P_CHEWY].Xypos[1];
@@ -218,11 +218,11 @@ int16 Room51::use_door(int16 txt_nr) {
_G(SetUpScreenFunc) = nullptr;
_G(det)->showStaticSpr(0);
- if (!_G(spieler).R51HotelRoom) {
+ if (!_G(gameState).R51HotelRoom) {
autoMove(11, P_HOWARD);
setPersonSpr(P_LEFT, P_HOWARD);
- _G(spieler).R51HotelRoom = true;
- _G(spieler).room_e_obj[86].Attribut = EXIT_LEFT;
+ _G(gameState).R51HotelRoom = true;
+ _G(gameState).room_e_obj[86].Attribut = EXIT_LEFT;
startAadWait(285);
_G(atds)->set_ats_str(329, 1, ATS_DATA);
_G(SetUpScreenFunc) = setup_func;
@@ -236,14 +236,14 @@ int16 Room51::use_door(int16 txt_nr) {
case 330:
autoMove(9, P_CHEWY);
- if (!_G(spieler).R51KillerWeg) {
+ if (!_G(gameState).R51KillerWeg) {
g_engine->_sound->playSound(2, 0);
g_engine->_sound->playSound(2);
_G(det)->showStaticSpr(1);
startSetAILWait(2, 1, ANI_FRONT);
_G(det)->startDetail(5, 255, ANI_FRONT);
- if (!_G(spieler).R52HotDogOk) {
+ if (!_G(gameState).R52HotDogOk) {
startAadWait(287);
autoMove(12, P_CHEWY);
_G(det)->stop_detail(5);
@@ -252,7 +252,7 @@ int16 Room51::use_door(int16 txt_nr) {
g_engine->_sound->stopSound(0);
startAadWait(284);
} else {
- _G(spieler).R51KillerWeg = true;
+ _G(gameState).R51KillerWeg = true;
startAadWait(290);
g_engine->_sound->stopSound(0);
_G(out)->ausblenden(1);
@@ -300,7 +300,7 @@ int16 Room51::use_door(int16 txt_nr) {
case 333:
autoMove(4, P_CHEWY);
- switch (_G(spieler).R51DoorCount) {
+ switch (_G(gameState).R51DoorCount) {
case 0:
_G(det)->showStaticSpr(3);
startAadWait(278);
@@ -310,7 +310,7 @@ int16 Room51::use_door(int16 txt_nr) {
_G(det)->showStaticSpr(14);
startAadWait(279);
- ++_G(spieler).R51DoorCount;
+ ++_G(gameState).R51DoorCount;
_G(obj)->show_sib(SIB_FLASCHE_R51);
_G(obj)->calc_rsi_flip_flop(SIB_FLASCHE_R51);
_G(det)->hideStaticSpr(3);
@@ -320,7 +320,7 @@ int16 Room51::use_door(int16 txt_nr) {
_G(det)->showStaticSpr(3);
startAadWait(280);
startSetAILWait(1, 1, ANI_FRONT);
- ++_G(spieler).R51DoorCount;
+ ++_G(gameState).R51DoorCount;
_G(obj)->show_sib(SIB_KAPPE_R51);
_G(obj)->calc_rsi_flip_flop(SIB_KAPPE_R51);
_G(det)->hideStaticSpr(3);
@@ -329,7 +329,7 @@ int16 Room51::use_door(int16 txt_nr) {
default:
startAadWait(281);
- if (_G(spieler)._personRoomNr[P_HOWARD] == 51)
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 51)
startAadWait(282);
break;
}
diff --git a/engines/chewy/rooms/room52.cpp b/engines/chewy/rooms/room52.cpp
index c0ab54a7333..017ba680a22 100644
--- a/engines/chewy/rooms/room52.cpp
+++ b/engines/chewy/rooms/room52.cpp
@@ -33,7 +33,7 @@ void Room52::entry() {
_G(SetUpScreenFunc) = setup_func;
_G(spieler_mi)[P_HOWARD].Mode = true;
- if (_G(spieler).R52HotDogOk && !_G(spieler).R52KakerWeg) {
+ if (_G(gameState).R52HotDogOk && !_G(gameState).R52KakerWeg) {
plot_armee(0);
g_engine->_sound->playSound(0, 0);
g_engine->_sound->playSound(0);
@@ -41,24 +41,24 @@ void Room52::entry() {
g_engine->_sound->stopSound(0);
}
- if (_G(spieler).R52KakerWeg)
+ if (_G(gameState).R52KakerWeg)
_G(det)->stop_detail(0);
if (!_G(flags).LoadGame) {
_G(det)->showStaticSpr(4);
- _G(spieler).R52TuerAuf = true;
+ _G(gameState).R52TuerAuf = true;
setPersonPos(20, 50, P_HOWARD, P_LEFT);
setPersonPos(35, 74, P_CHEWY, P_RIGHT);
autoMove(2, P_CHEWY);
- _G(spieler).R52TuerAuf = false;
+ _G(gameState).R52TuerAuf = false;
_G(det)->hideStaticSpr(4);
check_shad(2, 1);
}
}
void Room52::xit() {
- if (_G(spieler)._personRoomNr[P_HOWARD] == 52) {
- _G(spieler)._personRoomNr[P_HOWARD] = 51;
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 52) {
+ _G(gameState)._personRoomNr[P_HOWARD] = 51;
_G(spieler_mi)[P_HOWARD].Mode = false;
}
}
@@ -77,9 +77,9 @@ int16 Room52::use_hot_dog() {
autoMove(3, P_CHEWY);
start_spz_wait(CH_ROCK_GET1, 1, false, P_CHEWY);
_G(det)->showStaticSpr(0);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
autoMove(4, P_CHEWY);
- _G(spieler).R52HotDogOk = true;
+ _G(gameState).R52HotDogOk = true;
plot_armee(20);
g_engine->_sound->playSound(0, 0);
g_engine->_sound->playSound(0);
@@ -91,7 +91,7 @@ int16 Room52::use_hot_dog() {
} else if (isCurInventory(KILLER_INV)) {
action_ret = true;
autoMove(5, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(7, 1, ANI_FRONT);
g_engine->_sound->playSound(7, 0);
g_engine->_sound->playSound(7);
@@ -107,11 +107,11 @@ int16 Room52::use_hot_dog() {
_G(det)->stop_detail(8);
startSetAILWait(7, 1, ANI_BACK);
g_engine->_sound->stopSound(0);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(atds)->setControlBit(341, ATS_ACTIVE_BIT, ATS_DATA);
startAadWait(303);
_G(atds)->set_ats_str(KILLER_INV, 1, INV_ATS_DATA);
- _G(spieler).R52KakerWeg = true;
+ _G(gameState).R52KakerWeg = true;
}
showCur();
@@ -126,8 +126,8 @@ void Room52::plot_armee(int16 frame) {
}
void Room52::kaker_platt() {
- if (!_G(spieler).R52KakerJoke && _G(spieler).R52HotDogOk && !_G(spieler).R52KakerWeg && !_G(flags).ExitMov) {
- _G(spieler).R52KakerJoke = true;
+ if (!_G(gameState).R52KakerJoke && _G(gameState).R52HotDogOk && !_G(gameState).R52KakerWeg && !_G(flags).ExitMov) {
+ _G(gameState).R52KakerJoke = true;
stopPerson(P_CHEWY);
hideCur();
startAadWait(289);
@@ -136,7 +136,7 @@ void Room52::kaker_platt() {
}
void Room52::setup_func() {
- if (_G(spieler)._personRoomNr[P_HOWARD] == 52) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 52) {
calc_person_look();
const int16 y = (_G(spieler_vector)[P_CHEWY].Xypos[1] < 97) ? 44 : 87;
goAutoXy(1, y, P_HOWARD, ANI_GO);
diff --git a/engines/chewy/rooms/room53.cpp b/engines/chewy/rooms/room53.cpp
index cc2a5029a88..b870500af3d 100644
--- a/engines/chewy/rooms/room53.cpp
+++ b/engines/chewy/rooms/room53.cpp
@@ -55,7 +55,7 @@ void Room53::man_go() {
_G(det)->del_static_ani(1);
startSetAILWait(5, 1, ANI_FRONT);
_G(atds)->setControlBit(319, ATS_ACTIVE_BIT, ATS_DATA);
- if (!_G(spieler).R53Visit)
+ if (!_G(gameState).R53Visit)
_G(obj)->show_sib(SIB_VISIT_R53);
}
@@ -66,7 +66,7 @@ void Room53::talk_man() {
_G(det)->del_static_ani(1);
startSetAILWait(2, 1, ANI_FRONT);
_G(det)->set_static_ani(3, -1);
- startAadWait(269 + (_G(spieler).R53Kostuem ? 1 : 0));
+ startAadWait(269 + (_G(gameState).R53Kostuem ? 1 : 0));
_G(det)->del_static_ani(3);
startSetAILWait(4, 1, ANI_FRONT);
man_go();
@@ -79,8 +79,8 @@ int16 Room53::use_man() {
if (isCurInventory(BESTELL_INV)) {
action_ret = true;
hideCur();
- _G(spieler).R53Kostuem = true;
- delInventory(_G(spieler).AkInvent);
+ _G(gameState).R53Kostuem = true;
+ delInventory(_G(gameState).AkInvent);
autoMove(2, P_CHEWY);
startAadWait(271);
_G(room)->set_timer_status(1, TIMER_STOP);
diff --git a/engines/chewy/rooms/room54.cpp b/engines/chewy/rooms/room54.cpp
index c4206a036ae..69ceebea235 100644
--- a/engines/chewy/rooms/room54.cpp
+++ b/engines/chewy/rooms/room54.cpp
@@ -30,75 +30,75 @@ namespace Chewy {
namespace Rooms {
void Room54::entry(int16 eib_nr) {
- _G(spieler).ScrollxStep = 2;
+ _G(gameState).ScrollxStep = 2;
_G(SetUpScreenFunc) = setup_func;
_G(zoom_horizont) = 106;
_G(flags).ZoomMov = true;
_G(zoom_mov_fak) = 3;
- _G(spieler).ZoomXy[P_HOWARD][0] = 30;
- _G(spieler).ZoomXy[P_HOWARD][1] = 66;
+ _G(gameState).ZoomXy[P_HOWARD][0] = 30;
+ _G(gameState).ZoomXy[P_HOWARD][1] = 66;
- if (_G(spieler).R54FputzerWeg)
+ if (_G(gameState).R54FputzerWeg)
_G(det)->showStaticSpr(9);
_G(spieler_mi)[P_HOWARD].Mode = true;
if (!_G(flags).LoadGame) {
- if (_G(spieler).R48TaxiEntry) {
- _G(spieler).R48TaxiEntry = false;
+ if (_G(gameState).R48TaxiEntry) {
+ _G(gameState).R48TaxiEntry = false;
- if (_G(spieler)._personRoomNr[P_HOWARD] == 54) {
- _G(spieler).R54HowardVorne = 0;
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 54) {
+ _G(gameState).R54HowardVorne = 0;
setPersonPos(290, 61, P_HOWARD, P_RIGHT);
}
setPersonPos(300, 80, P_CHEWY, P_LEFT);
_G(mouseLeftClick) = false;
- _G(spieler).scrollx = 134;
- _G(spieler).scrolly = 0;
+ _G(gameState).scrollx = 134;
+ _G(gameState).scrolly = 0;
- } else if (_G(spieler).R55Location) {
+ } else if (_G(gameState).R55Location) {
aufzug_ab();
- } else if (eib_nr == 90 || _G(spieler).R55ExitDia) {
- if (_G(spieler)._personRoomNr[P_HOWARD] == 54) {
- _G(spieler).R54HowardVorne = 0;
+ } else if (eib_nr == 90 || _G(gameState).R55ExitDia) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 54) {
+ _G(gameState).R54HowardVorne = 0;
setPersonPos(212, 61, P_HOWARD, P_RIGHT);
}
- _G(spieler).scrollx = 66;
+ _G(gameState).scrollx = 66;
setPersonPos(241, 85, P_CHEWY, P_LEFT);
}
- if (_G(spieler).R55ExitDia) {
- startAadWait(_G(spieler).R55ExitDia);
+ if (_G(gameState).R55ExitDia) {
+ startAadWait(_G(gameState).R55ExitDia);
showCur();
- _G(spieler).R55ExitDia = false;
+ _G(gameState).R55ExitDia = false;
}
- if (_G(spieler).R55R54First) {
- _G(spieler).R55R54First = false;
+ if (_G(gameState).R55R54First) {
+ _G(gameState).R55R54First = false;
}
}
}
void Room54::xit(int16 eib_nr) {
- _G(spieler).ScrollxStep = 1;
+ _G(gameState).ScrollxStep = 1;
- if (eib_nr == 89 && _G(spieler)._personRoomNr[P_HOWARD] == 54) {
- _G(spieler)._personRoomNr[P_HOWARD] = 55;
+ if (eib_nr == 89 && _G(gameState)._personRoomNr[P_HOWARD] == 54) {
+ _G(gameState)._personRoomNr[P_HOWARD] = 55;
_G(spieler_mi)[P_HOWARD].Mode = false;
}
}
void Room54::setup_func() {
- if (_G(spieler)._personRoomNr[P_HOWARD] == 54) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 54) {
calc_person_look();
- if (_G(spieler).R54HowardVorne != 255) {
+ if (_G(gameState).R54HowardVorne != 255) {
const int16 ch_x = _G(spieler_vector)[P_CHEWY].Xypos[0];
int16 x, y;
- if (_G(spieler).R54HowardVorne) {
+ if (_G(gameState).R54HowardVorne) {
if (ch_x < 218) {
x = 150;
y = 113;
@@ -126,13 +126,13 @@ void Room54::setup_func() {
int16 Room54::use_schalter() {
int16 action_ret = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
hideCur();
action_ret = true;
- if (!_G(spieler).R54FputzerWeg) {
+ if (!_G(gameState).R54FputzerWeg) {
autoMove(1, P_CHEWY);
- _G(spieler).R54HowardVorne = 255;
+ _G(gameState).R54HowardVorne = 255;
goAutoXy(127, 76, P_HOWARD, ANI_WAIT);
goAutoXy(14, 72, P_HOWARD, ANI_GO);
start_spz_wait(CH_ROCK_GET2, 1, false, P_CHEWY);
@@ -144,12 +144,12 @@ int16 Room54::use_schalter() {
startSetAILWait(1, 1, ANI_FRONT);
_G(det)->startDetail(3, 255, ANI_FRONT);
- startAadWait(292 + _G(spieler).R54LiftCount);
+ startAadWait(292 + _G(gameState).R54LiftCount);
_G(det)->stop_detail(3);
- ++_G(spieler).R54LiftCount;
+ ++_G(gameState).R54LiftCount;
int16 aad_nr;
- if (_G(spieler).R54LiftCount < 3) {
+ if (_G(gameState).R54LiftCount < 3) {
startSetAILWait(2, 1, ANI_FRONT);
_G(det)->hideStaticSpr(0);
g_engine->_sound->stopSound(0);
@@ -164,14 +164,14 @@ int16 Room54::use_schalter() {
_G(det)->showStaticSpr(9);
startSetAILWait(4, 1, ANI_FRONT);
aad_nr = 296;
- _G(spieler).R54FputzerWeg = true;
+ _G(gameState).R54FputzerWeg = true;
_G(atds)->delControlBit(345, ATS_ACTIVE_BIT, ATS_DATA);
_G(atds)->set_ats_str(349, 1, ATS_DATA);
_G(atds)->set_ats_str(351, 1, ATS_DATA);
}
startAadWait(aad_nr);
- _G(spieler).R54HowardVorne = 0;
+ _G(gameState).R54HowardVorne = 0;
} else {
startAadWait(297);
@@ -186,17 +186,17 @@ int16 Room54::use_schalter() {
void Room54::talk_verkauf() {
hideCur();
- if (!_G(spieler).R54HotDogOk) {
- if (_G(spieler).R45MagOk) {
- if (_G(spieler).AkInvent == DOLLAR175_INV)
+ if (!_G(gameState).R54HotDogOk) {
+ if (_G(gameState).R45MagOk) {
+ if (_G(gameState).AkInvent == DOLLAR175_INV)
delInventory(DOLLAR175_INV);
else
remove_inventory(DOLLAR175_INV);
}
- _G(spieler).R54HotDogOk = true;
+ _G(gameState).R54HotDogOk = true;
autoMove(3, P_CHEWY);
- _G(spieler).R54HowardVorne = 1;
+ _G(gameState).R54HowardVorne = 1;
startAadWait(299);
_G(room)->set_timer_status(6, TIMER_STOP);
_G(det)->del_static_ani(6);
@@ -214,7 +214,7 @@ void Room54::talk_verkauf() {
_G(det)->set_static_ani(6, -1);
autoMove(4, P_CHEWY);
- start_aad(_G(spieler).R45MagOk ? 312 : 578, -1);
+ start_aad(_G(gameState).R45MagOk ? 312 : 578, -1);
_G(obj)->addInventory(BURGER_INV, &_G(room_blk));
inventory_2_cur(BURGER_INV);
} else {
@@ -228,21 +228,21 @@ int16 Room54::use_zelle() {
int16 action_ret = false;
hideCur();
- if (_G(spieler).inv_cur) {
+ if (_G(gameState).inv_cur) {
if (isCurInventory(JMKOST_INV)) {
action_ret = true;
- if (!_G(spieler).R54Schild) {
+ if (!_G(gameState).R54Schild) {
startAadWait(318);
} else {
autoMove(5, P_CHEWY);
- _G(spieler).R54HowardVorne = 1;
+ _G(gameState).R54HowardVorne = 1;
_G(SetUpScreenFunc) = nullptr;
auto_scroll(176, 0);
goAutoXy(239, 101, P_HOWARD, ANI_WAIT);
flic_cut(FCUT_069);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
invent_2_slot(LEDER_INV);
load_chewy_taf(CHEWY_JMANS);
_G(zoom_horizont) = 90;
@@ -260,7 +260,7 @@ int16 Room54::use_zelle() {
} else {
action_ret = true;
autoMove(6, P_CHEWY);
- _G(spieler).R54HowardVorne = 1;
+ _G(gameState).R54HowardVorne = 1;
startAadWait(319);
}
@@ -271,18 +271,18 @@ int16 Room54::use_zelle() {
int16 Room54::use_azug() {
int16 action_ret = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
action_ret = true;
hideCur();
- if (!_G(spieler).R54LiftOk) {
- if (_G(spieler).R54FputzerWeg) {
+ if (!_G(gameState).R54LiftOk) {
+ if (_G(gameState).R54FputzerWeg) {
autoMove(8, P_CHEWY);
- _G(spieler).R54HowardVorne = 0;
+ _G(gameState).R54HowardVorne = 0;
startAadWait(298);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
_G(det)->showStaticSpr(12);
- _G(spieler).R55Location = true;
+ _G(gameState).R55Location = true;
_G(SetUpScreenFunc) = nullptr;
goAutoXy(91, 62, P_HOWARD, ANI_WAIT);
g_engine->_sound->playSound(1, 0);
@@ -299,7 +299,7 @@ int16 Room54::use_azug() {
if (!delay) {
ch_y -= 3;
ay -= 3;
- delay = _G(spieler).DelaySpeed / 2;
+ delay = _G(gameState).DelaySpeed / 2;
} else {
--delay;
}
@@ -323,7 +323,7 @@ int16 Room54::use_azug() {
void Room54::aufzug_ab() {
setPersonPos(91, 62, P_HOWARD, P_RIGHT);
setPersonPos(99, 82, P_CHEWY, P_RIGHT);
- _G(spieler).scrollx = 0;
+ _G(gameState).scrollx = 0;
_G(SetUpScreenFunc) = setup_func;
_G(det)->showStaticSpr(12);
g_engine->_sound->playSound(1, 0);
@@ -340,7 +340,7 @@ void Room54::aufzug_ab() {
if (!delay) {
ch_y += 3;
ay += 3;
- delay = _G(spieler).DelaySpeed / 2;
+ delay = _G(gameState).DelaySpeed / 2;
} else {
--delay;
}
@@ -352,33 +352,33 @@ void Room54::aufzug_ab() {
g_engine->_sound->stopSound(0);
_G(det)->hideStaticSpr(12);
setPersonPos(99, 82, P_CHEWY, P_RIGHT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(mouseLeftClick) = false;
stopPerson(P_CHEWY);
- _G(spieler).R55Location = false;
+ _G(gameState).R55Location = false;
}
short Room54::use_taxi() {
int16 action_ret = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
action_ret = true;
hideCur();
autoMove(7, P_CHEWY);
- _G(spieler).R48TaxiPerson[P_CHEWY] = true;
+ _G(gameState).R48TaxiPerson[P_CHEWY] = true;
- if (_G(spieler)._personRoomNr[P_HOWARD] == 54) {
- if (_G(spieler).R54HowardVorne) {
- _G(spieler).R54HowardVorne = 0;
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 54) {
+ if (_G(gameState).R54HowardVorne) {
+ _G(gameState).R54HowardVorne = 0;
goAutoXy(290, 61, P_HOWARD, ANI_WAIT);
}
- _G(spieler)._personHide[P_HOWARD] = true;
- _G(spieler).R48TaxiPerson[P_HOWARD] = true;
- _G(spieler)._personRoomNr[P_HOWARD] = 48;
+ _G(gameState)._personHide[P_HOWARD] = true;
+ _G(gameState).R48TaxiPerson[P_HOWARD] = true;
+ _G(gameState)._personRoomNr[P_HOWARD] = 48;
}
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
switchRoom(48);
}
diff --git a/engines/chewy/rooms/room55.cpp b/engines/chewy/rooms/room55.cpp
index b6a2fe135e4..f9b9d4ce4b2 100644
--- a/engines/chewy/rooms/room55.cpp
+++ b/engines/chewy/rooms/room55.cpp
@@ -29,60 +29,60 @@ namespace Chewy {
namespace Rooms {
void Room55::entry() {
- _G(spieler).ScrollxStep = 2;
+ _G(gameState).ScrollxStep = 2;
_G(SetUpScreenFunc) = setup_func;
_G(zoom_horizont) = 140;
_G(flags).ZoomMov = true;
_G(zoom_mov_fak) = 3;
- _G(spieler).R55ExitDia = 0;
- _G(spieler).ZoomXy[P_HOWARD][0] = 20;
- _G(spieler).ZoomXy[P_HOWARD][1] = 22;
+ _G(gameState).R55ExitDia = 0;
+ _G(gameState).ZoomXy[P_HOWARD][0] = 20;
+ _G(gameState).ZoomXy[P_HOWARD][1] = 22;
- if (!_G(spieler).R54FputzerWeg)
+ if (!_G(gameState).R54FputzerWeg)
_G(det)->startDetail(6, 255, ANI_FRONT);
- if (_G(spieler).R54FputzerWeg && !_G(spieler).R55Location)
+ if (_G(gameState).R54FputzerWeg && !_G(gameState).R55Location)
_G(det)->hideStaticSpr(6);
- if (_G(spieler).R55RaumOk || _G(spieler).R55ScriptWeg)
+ if (_G(gameState).R55RaumOk || _G(gameState).R55ScriptWeg)
_G(det)->hideStaticSpr(0);
- if (!_G(spieler).R55SekWeg) {
+ if (!_G(gameState).R55SekWeg) {
_G(det)->startDetail(8, 255, ANI_FRONT);
_G(det)->startDetail(9, 255, ANI_FRONT);
- _G(spieler).R55Entry ^= 1;
- const int aniNr = 19 + (_G(spieler).R55Entry ? 1 : 0);
+ _G(gameState).R55Entry ^= 1;
+ const int aniNr = 19 + (_G(gameState).R55Entry ? 1 : 0);
_G(timer_nr)[0] = _G(room)->set_timer(aniNr, 10);
_G(det)->set_static_ani(aniNr, -1);
}
_G(spieler_mi)[P_HOWARD].Mode = true;
- if (_G(spieler).R55Job) {
+ if (_G(gameState).R55Job) {
rock2mans();
- _G(spieler)._personRoomNr[P_HOWARD] = 54;
+ _G(gameState)._personRoomNr[P_HOWARD] = 54;
}
- if (_G(spieler).ChewyAni == CHEWY_JMANS) {
+ if (_G(gameState).ChewyAni == CHEWY_JMANS) {
setPersonPos(51, 75, P_CHEWY, P_RIGHT);
_G(room)->set_zoom(10);
}
- if (_G(spieler).R55EscScriptOk && !_G(spieler).R55RaumOk)
+ if (_G(gameState).R55EscScriptOk && !_G(gameState).R55RaumOk)
_G(det)->showStaticSpr(0);
if (!_G(flags).LoadGame) {
- if (_G(spieler).R55Location) {
- _G(spieler).scrollx = 136;
+ if (_G(gameState).R55Location) {
+ _G(gameState).scrollx = 136;
setPersonPos(404, 66, P_CHEWY, P_RIGHT);
startSetAILWait(3, 1, ANI_FRONT);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(zoom_horizont) = 1;
_G(atds)->delControlBit(340, ATS_ACTIVE_BIT, ATS_DATA);
} else {
- _G(spieler).scrollx = 0;
+ _G(gameState).scrollx = 0;
- if (_G(spieler)._personRoomNr[P_HOWARD] == 55) {
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 55) {
setPersonPos(21, 77, P_HOWARD, P_RIGHT);
}
@@ -91,13 +91,13 @@ void Room55::entry() {
hideCur();
_G(det)->hideStaticSpr(8);
- if (_G(spieler).R55SekWeg && !_G(spieler).R55Job) {
+ if (_G(gameState).R55SekWeg && !_G(gameState).R55Job) {
setPersonSpr(P_LEFT, P_CHEWY);
- if (_G(spieler).ChewyAni == CHEWY_ROCKER) {
+ if (_G(gameState).ChewyAni == CHEWY_ROCKER) {
verleger_mov(0);
talk_line();
- _G(spieler).R54Schild = true;
+ _G(gameState).R54Schild = true;
} else {
verleger_mov(1);
get_job();
@@ -113,13 +113,13 @@ void Room55::xit(int16 eib_nr) {
if (eib_nr == 90) {
mans2rock();
- if (_G(spieler)._personRoomNr[P_HOWARD] == 55) {
- _G(spieler)._personRoomNr[P_HOWARD] = 54;
+ if (_G(gameState)._personRoomNr[P_HOWARD] == 55) {
+ _G(gameState)._personRoomNr[P_HOWARD] = 54;
_G(spieler_mi)[P_HOWARD].Mode = false;
}
}
- _G(spieler).ScrollxStep = 1;
+ _G(gameState).ScrollxStep = 1;
}
void Room55::gedAction(int index) {
@@ -131,10 +131,10 @@ int16 Room55::use_stapel1() {
int16 action_ret = false;
hideCur();
- if (!_G(spieler).inv_cur) {
- if (!_G(spieler).R55ScriptWeg) {
+ if (!_G(gameState).inv_cur) {
+ if (!_G(gameState).R55ScriptWeg) {
action_ret = true;
- _G(spieler).R55ScriptWeg = true;
+ _G(gameState).R55ScriptWeg = true;
autoMove(4, P_CHEWY);
_G(det)->hideStaticSpr(0);
autoMove(5, P_CHEWY);
@@ -142,18 +142,18 @@ int16 Room55::use_stapel1() {
_G(atds)->set_ats_str(354, 1, ATS_DATA);
_G(atds)->set_ats_str(355, 1, ATS_DATA);
- } else if (_G(spieler).R55EscScriptOk && !_G(spieler).R55RaumOk) {
+ } else if (_G(gameState).R55EscScriptOk && !_G(gameState).R55RaumOk) {
action_ret = true;
startAadWait(333);
}
} else if (isCurInventory(MANUSKRIPT_INV)) {
action_ret = true;
- if (_G(spieler).R55ScriptWeg) {
+ if (_G(gameState).R55ScriptWeg) {
autoMove(4, P_CHEWY);
- _G(spieler).R55EscScriptOk = true;
+ _G(gameState).R55EscScriptOk = true;
_G(det)->showStaticSpr(0);
- delInventory(_G(spieler).AkInvent);
+ delInventory(_G(gameState).AkInvent);
_G(atds)->set_ats_str(354, 2, ATS_DATA);
} else {
startAadWait(326);
@@ -180,21 +180,21 @@ int16 Room55::use_stapel2() {
int16 Room55::use_telefon() {
int16 action_ret = false;
- if (!_G(spieler).inv_cur) {
+ if (!_G(gameState).inv_cur) {
action_ret = true;
- if (_G(spieler).R55EscScriptOk) {
- if (!_G(spieler).R55RaumOk) {
+ if (_G(gameState).R55EscScriptOk) {
+ if (!_G(gameState).R55RaumOk) {
hideCur();
- _G(spieler).R55RaumOk = true;
+ _G(gameState).R55RaumOk = true;
autoMove(6, P_CHEWY);
- _G(spieler)._personHide[P_CHEWY] = true;
+ _G(gameState)._personHide[P_CHEWY] = true;
startSetAILWait(10, 1, ANI_FRONT);
_G(det)->startDetail(11, 255, ANI_FRONT);
startAadWait(329);
_G(det)->stop_detail(11);
startSetAILWait(10, 1, ANI_BACK);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
autoMove(7, P_CHEWY);
_G(flags).NoScroll = true;
auto_scroll(0, 0);
@@ -213,7 +213,7 @@ int16 Room55::use_telefon() {
_G(det)->hideStaticSpr(8);
_G(atds)->set_ats_str(354, 1, ATS_DATA);
flic_cut(FCUT_071);
- _G(spieler)._personRoomNr[P_HOWARD] = 55;
+ _G(gameState)._personRoomNr[P_HOWARD] = 55;
setPersonPos(178, 75, P_CHEWY, P_LEFT);
setPersonPos(66, 73, P_HOWARD, P_RIGHT);
@@ -222,14 +222,14 @@ int16 Room55::use_telefon() {
startAadWait(334);
startAadWait(335);
startAadWait(336);
- const int16 tmp_delay = _G(spieler).DelaySpeed;
+ const int16 tmp_delay = _G(gameState).DelaySpeed;
for (int16 i = 0; i < 7; i++) {
int16 delay = tmp_delay;
- if (!_G(spieler).scrollx)
- _G(spieler).scrollx = 8;
+ if (!_G(gameState).scrollx)
+ _G(gameState).scrollx = 8;
else
- _G(spieler).scrollx = 0;
+ _G(gameState).scrollx = 0;
while (delay) {
--delay;
}
@@ -246,14 +246,14 @@ int16 Room55::use_telefon() {
invent_2_slot(EINLAD_INV);
del_invent_slot(LEDER_INV);
load_chewy_taf(CHEWY_ROCKER);
- _G(spieler)._personRoomNr[P_HOWARD] = 54;
+ _G(gameState)._personRoomNr[P_HOWARD] = 54;
_G(spieler_mi)[P_HOWARD].Mode = false;
showCur();
- _G(spieler).R55R54First = true;
- _G(spieler).R55ExitDia = 337;
- _G(spieler).room_e_obj[89].Attribut = 255;
- _G(spieler).PersonGlobalDia[P_HOWARD] = 10024;
- _G(spieler).PersonDiaRoom[P_HOWARD] = true;
+ _G(gameState).R55R54First = true;
+ _G(gameState).R55ExitDia = 337;
+ _G(gameState).room_e_obj[89].Attribut = 255;
+ _G(gameState).PersonGlobalDia[P_HOWARD] = 10024;
+ _G(gameState).PersonDiaRoom[P_HOWARD] = true;
switchRoom(54);
} else {
@@ -272,22 +272,22 @@ int16 Room55::use_telefon() {
}
void Room55::get_job() {
- _G(spieler)._personHide[P_CHEWY] = true;
- const int16 oldScrollx = _G(spieler).scrollx;
- const int16 oldScrolly = _G(spieler).scrolly;
- _G(spieler).scrollx = 0;
- _G(spieler).scrolly = 0;
+ _G(gameState)._personHide[P_CHEWY] = true;
+ const int16 oldScrollx = _G(gameState).scrollx;
+ const int16 oldScrolly = _G(gameState).scrolly;
+ _G(gameState).scrollx = 0;
+ _G(gameState).scrolly = 0;
switchRoom(61);
showCur();
startAdsWait(15);
- _G(spieler)._personHide[P_CHEWY] = false;
+ _G(gameState)._personHide[P_CHEWY] = false;
_G(flags).LoadGame = true;
- _G(spieler).scrollx = oldScrollx;
- _G(spieler).scrolly = oldScrolly;
+ _G(gameState).scrollx = oldScrollx;
+ _G(gameState).scrolly = oldScrolly;
int16 r_nr;
- if (_G(spieler).R55Job) {
+ if (_G(gameState).R55Job) {
r_nr = 55;
_G(atds)->delControlBit(357, ATS_ACTIVE_BIT, ATS_DATA);
Commit: 840c1d70b81f8aa1e206e7f767a43a5a2ff36458
https://github.com/scummvm/scummvm/commit/840c1d70b81f8aa1e206e7f767a43a5a2ff36458
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-20T13:58:24+02:00
Commit Message:
CHEWY: More work on using inventory items
Changed paths:
engines/chewy/dialogs/inventory.cpp
engines/chewy/t_event.cpp
diff --git a/engines/chewy/dialogs/inventory.cpp b/engines/chewy/dialogs/inventory.cpp
index 820ea51cb3d..6b80c0e2f44 100644
--- a/engines/chewy/dialogs/inventory.cpp
+++ b/engines/chewy/dialogs/inventory.cpp
@@ -411,10 +411,10 @@ int16 Inventory::look(int16 invent_nr, int16 mode, int16 ats_nr) {
//Common::StringArray tmp;
if (ats_nr >= 15000) {
txt_adr = _G(atds)->ats_get_txt(ats_nr - 15000, TXT_MARK_USE, &lineCount, INV_USE_DEF);
- //tmp = _G(atds)->getText(ats_nr - 15000 + 800, 0);
+ //tmp = _G(atds)->getTextArray(ats_nr - 15000 + 840, TXT_MARK_USE);
} else {
txt_adr = _G(atds)->ats_get_txt(ats_nr, TXT_MARK_USE, &lineCount, INV_USE_DATA);
- //tmp = _G(atds)->getText(ats_nr + 800, 0);
+ //tmp = _G(atds)->getTextArray(ats_nr + 840, TXT_MARK_USE);
}
if (!txt_adr) {
endLoop = true;
diff --git a/engines/chewy/t_event.cpp b/engines/chewy/t_event.cpp
index 9dce68003ad..97e5ba009f2 100644
--- a/engines/chewy/t_event.cpp
+++ b/engines/chewy/t_event.cpp
@@ -2297,14 +2297,14 @@ void calc_inv_use_txt(int16 test_nr) {
static void calc_inv_get_text(int16 cur_inv, int16 test_nr) {
int16 txt_anz;
- const char *s = _G(atds)->ats_get_txt(31, TXT_MARK_USE, &txt_anz, 16);
+ const char *s = _G(atds)->ats_get_txt(31, TXT_MARK_USE, &txt_anz, INV_USE_DEF);
_G(calc_inv_text_str1) = Common::String::format("%s ", s);
_G(atds)->load_atds(cur_inv, INV_ATS_DATA);
_G(calc_inv_text_str1) += _G(atds)->getTextEntry(cur_inv + 700, TXT_MARK_NAME);
- s = _G(atds)->ats_get_txt(32, TXT_MARK_USE, &txt_anz, 16);
+ s = _G(atds)->ats_get_txt(32, TXT_MARK_USE, &txt_anz, INV_USE_DEF);
_G(calc_inv_text_str2) = Common::String::format("%s ", s);
_G(calc_inv_text_str2) += _G(atds)->getTextEntry(test_nr + 700, TXT_MARK_NAME);
Commit: 9f5721124a573c9df0aa44a355d1d222398de5bd
https://github.com/scummvm/scummvm/commit/9f5721124a573c9df0aa44a355d1d222398de5bd
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-20T13:58:24+02:00
Commit Message:
CHEWY: Use the ScummVM config for toggling subs, speech, music and SFX
Changed paths:
engines/chewy/dialogs/main_menu.cpp
engines/chewy/dialogs/options.cpp
engines/chewy/inits.cpp
engines/chewy/m_event.cpp
engines/chewy/r_event.cpp
engines/chewy/room.cpp
engines/chewy/rooms/room46.cpp
engines/chewy/rooms/room68.cpp
engines/chewy/sound.cpp
engines/chewy/sound.h
engines/chewy/types.cpp
engines/chewy/types.h
diff --git a/engines/chewy/dialogs/main_menu.cpp b/engines/chewy/dialogs/main_menu.cpp
index 8dfd173b090..2d25aab22df 100644
--- a/engines/chewy/dialogs/main_menu.cpp
+++ b/engines/chewy/dialogs/main_menu.cpp
@@ -177,24 +177,16 @@ void MainMenu::startGame() {
animate();
exit_room(-1);
- bool soundSwitch = _G(gameState).SoundSwitch;
uint8 soundVol = _G(gameState).SoundVol;
- bool musicSwitch = _G(gameState).MusicSwitch;
uint8 musicVol = _G(gameState).MusicVol;
- bool speechSwitch = _G(gameState).SpeechSwitch;
uint8 framesPerSecond = _G(gameState).FramesPerSecond;
- bool displayText = _G(gameState).DisplayText;
int sndLoopMode = _G(gameState).soundLoopMode;
var_init();
- _G(gameState).SoundSwitch = soundSwitch;
_G(gameState).SoundVol = soundVol;
- _G(gameState).MusicSwitch = musicSwitch;
_G(gameState).MusicVol = musicVol;
- _G(gameState).SpeechSwitch = speechSwitch;
_G(gameState).FramesPerSecond = framesPerSecond;
- _G(gameState).DisplayText = displayText;
_G(gameState).soundLoopMode = sndLoopMode;
_G(gameState)._personRoomNr[P_CHEWY] = 0;
diff --git a/engines/chewy/dialogs/options.cpp b/engines/chewy/dialogs/options.cpp
index e5e3b3772b6..a418674f7f3 100644
--- a/engines/chewy/dialogs/options.cpp
+++ b/engines/chewy/dialogs/options.cpp
@@ -95,7 +95,7 @@ void Options::execute(TafInfo *ti) {
Common::String fps = Common::String::format("%d", _G(gameState).FramesPerSecond << 1);
_G(out)->printxy(36 + bar_off, 65, 255, 300, 0, fps.c_str());
- if (_G(gameState).SoundSwitch) {
+ if (g_engine->_sound->soundEnabled()) {
_G(out)->spriteSet(ti->_image[mund_ani],
18 + ti->_correction[mund_ani << 1],
8 + ti->_correction[(mund_ani << 1) + 1], 0);
@@ -117,7 +117,7 @@ void Options::execute(TafInfo *ti) {
_G(out)->pop_box(52 - 2, 104 - 12, 62 + 4, 136 + 2, 192, 183, 182);
_G(out)->printxy(52 + 3, 104 - 10, 31, 300, 0, "M");
_G(out)->boxFill(53, 136 - (_G(gameState).MusicVol >> 1), 62, 136, 31);
- if (_G(gameState).MusicSwitch) {
+ if (g_engine->_sound->musicEnabled()) {
_G(out)->spriteSet(ti->_image[MUSIC_ON1],
18 + ti->_correction[MUSIC_ON1 << 1],
8 + ti->_correction[(MUSIC_ON1 << 1) + 1], 0);
@@ -129,7 +129,7 @@ void Options::execute(TafInfo *ti) {
18 + ti->_correction[MUSIC_OFF << 1],
8 + ti->_correction[(MUSIC_OFF << 1) + 1], 0);
- if (_G(gameState).DisplayText) {
+ if (g_engine->_sound->subtitlesEnabled()) {
_G(out)->spriteSet(ti->_image[tdisp_ani],
18 + ti->_correction[tdisp_ani << 1],
8 + ti->_correction[(tdisp_ani << 1) + 1], 0);
@@ -160,32 +160,32 @@ void Options::execute(TafInfo *ti) {
++_G(gameState).FramesPerSecond;
break;
case 2:
- if (_G(gameState).SoundSwitch) {
- _G(gameState).SoundSwitch = false;
+ if (g_engine->_sound->soundEnabled()) {
+ g_engine->_sound->toggleSound(false);
_G(det)->disable_room_sound();
} else {
- _G(gameState).SoundSwitch = true;
+ g_engine->_sound->toggleSound(true);
_G(det)->enable_room_sound();
}
break;
case 3:
case 4:
- if (_G(gameState).DisplayText) {
- _G(gameState).DisplayText = false;
+ if (g_engine->_sound->subtitlesEnabled()) {
+ g_engine->_sound->toggleSubtitles(false);
_G(atds)->setHasSpeech(true);
- _G(gameState).SpeechSwitch = true;
+ g_engine->_sound->toggleSpeech(true);
} else {
- _G(gameState).DisplayText = true;
+ g_engine->_sound->toggleSubtitles(true);
_G(atds)->setHasSpeech(false);
- _G(gameState).SpeechSwitch = false;
+ g_engine->_sound->toggleSpeech(false);
}
break;
case 5:
- if (_G(gameState).MusicSwitch) {
- _G(gameState).MusicSwitch = false;
+ if (g_engine->_sound->musicEnabled()) {
+ g_engine->_sound->toggleMusic(false);
_G(sndPlayer)->stopMod();
} else {
- _G(gameState).MusicSwitch = true;
+ g_engine->_sound->toggleMusic(true);
_G(currentSong) = -1;
load_room_music(_G(gameState)._personRoomNr[P_CHEWY]);
}
diff --git a/engines/chewy/inits.cpp b/engines/chewy/inits.cpp
index 56fb6dc3bce..78e11718bba 100644
--- a/engines/chewy/inits.cpp
+++ b/engines/chewy/inits.cpp
@@ -142,7 +142,6 @@ void var_init() {
init_room();
init_atds();
_G(gameState).FramesPerSecond = 7;
- _G(gameState).DisplayText = true;
_G(currentSong) = -1;
_G(SetUpScreenFunc) = nullptr;
_G(pfeil_delay) = 0;
@@ -288,9 +287,6 @@ void tidy() {
}
void sound_init() {
- _G(gameState).SoundSwitch = false;
- _G(gameState).MusicSwitch = false;
-
_G(sndPlayer)->initMixMode();
_G(gameState).MusicVol = 63;
_G(gameState).SoundVol = 63;
@@ -312,10 +308,6 @@ void sound_init() {
}
_G(atds)->setHasSpeech(true);
- _G(gameState).DisplayText = false;
- _G(gameState).SoundSwitch = true;
- _G(gameState).MusicSwitch = true;
- _G(gameState).SpeechSwitch = true;
}
void show_intro() {
diff --git a/engines/chewy/m_event.cpp b/engines/chewy/m_event.cpp
index 554eae6e8cc..9f94714ecd9 100644
--- a/engines/chewy/m_event.cpp
+++ b/engines/chewy/m_event.cpp
@@ -37,7 +37,7 @@ void load_room_music(int16 room_nr) {
int16 volume = _G(gameState).MusicVol;
const int16 lp_mode = 1;
const int16 play_mode = NORMAL_PLAY;
- if (_G(gameState).MusicSwitch && (_G(music_handle))) {
+ if (g_engine->_sound->musicEnabled() && (_G(music_handle))) {
switch (room_nr) {
case 0:
ttp_index = 0;
diff --git a/engines/chewy/r_event.cpp b/engines/chewy/r_event.cpp
index b61b0b1d8da..ed2886b7683 100644
--- a/engines/chewy/r_event.cpp
+++ b/engines/chewy/r_event.cpp
@@ -352,7 +352,7 @@ void enter_room(int16 eib_nr) {
case 17:
Room17::entry();
- if (_G(gameState).SoundSwitch) {
+ if (g_engine->_sound->soundEnabled()) {
if (!_G(gameState).R17EnergieOut)
g_engine->_sound->playSound(15);
}
@@ -366,7 +366,7 @@ void enter_room(int16 eib_nr) {
case 24:
Room24::entry();
- if (_G(gameState).SoundSwitch)
+ if (g_engine->_sound->soundEnabled())
g_engine->_sound->playSound(17);
break;
@@ -822,7 +822,7 @@ static void playIntroSequence() {
start_aad(595);
_G(atds)->print_aad(254, 0);
- if (_G(gameState).SpeechSwitch) {
+ if (g_engine->_sound->speechEnabled()) {
g_engine->_sound->waitForSpeechToFinish();
} else {
delay(6000);
@@ -927,7 +927,7 @@ void flic_cut(int16 nr) {
if (nr != FCUT_135) {
load_room_music(_G(gameState)._personRoomNr[0]);
- if (_G(gameState).SpeechSwitch)
+ if (g_engine->_sound->speechEnabled())
_G(det)->enable_room_sound();
_G(uhr)->resetTimer(0, 0);
diff --git a/engines/chewy/room.cpp b/engines/chewy/room.cpp
index 8f49d4e5d10..1b7f08113a0 100644
--- a/engines/chewy/room.cpp
+++ b/engines/chewy/room.cpp
@@ -24,6 +24,7 @@
#include "chewy/resource.h"
#include "chewy/room.h"
#include "chewy/ngshext.h"
+#include "chewy/sound.h"
namespace Chewy {
@@ -183,7 +184,7 @@ void Room::loadRoom(RaumBlk *Rb, int16 room_nr, GameState *player) {
clear_prog_ani();
_G(det)->load_rdi(Rb->DetFile, room_nr);
- if (player->SoundSwitch == false)
+ if (!g_engine->_sound->soundEnabled())
_G(det)->disable_room_sound();
RoomDetailInfo *Rdi_ = _G(det)->getRoomDetailInfo();
_roomInfo = &Rdi_->Ri;
diff --git a/engines/chewy/rooms/room46.cpp b/engines/chewy/rooms/room46.cpp
index 7e8c239adf4..ffb65ddf45c 100644
--- a/engines/chewy/rooms/room46.cpp
+++ b/engines/chewy/rooms/room46.cpp
@@ -160,7 +160,7 @@ void Room46::kloppe() {
int16 delay = _G(gameState).DelaySpeed * 50;
_G(atds)->print_aad(0, 0);
- if (_G(gameState).SpeechSwitch) {
+ if (g_engine->_sound->speechEnabled()) {
g_engine->_sound->waitForSpeechToFinish();
continue;
}
diff --git a/engines/chewy/rooms/room68.cpp b/engines/chewy/rooms/room68.cpp
index de19b700ce6..ba89179428a 100644
--- a/engines/chewy/rooms/room68.cpp
+++ b/engines/chewy/rooms/room68.cpp
@@ -100,7 +100,7 @@ void Room68::setup_func() {
case 1:
if (_G(det)->get_ani_status(_G(r68HohesC)) == false) {
_G(r68HohesC) = 2;
- if (_G(gameState).SpeechSwitch) {
+ if (g_engine->_sound->speechEnabled()) {
g_engine->_sound->playSound(2, 0);
g_engine->_sound->playSound(_G(r68HohesC));
_G(det)->startDetail(_G(r68HohesC), 255, ANI_FRONT);
@@ -347,7 +347,7 @@ void Room68::kostuem_aad(int16 aad_nr) {
else if (!_G(gameState).R67LiedOk)
startAadWait(389);
else {
- if (_G(gameState).DisplayText == 0)
+ if (!g_engine->_sound->subtitlesEnabled())
_G(sndPlayer)->fadeOut(5);
_G(SetUpScreenFunc) = nullptr;
@@ -361,7 +361,7 @@ void Room68::kostuem_aad(int16 aad_nr) {
_G(gameState)._personHide[P_HOWARD] = true;
_G(det)->startDetail(27, 255, ANI_FRONT);
- if (_G(gameState).DisplayText)
+ if (g_engine->_sound->subtitlesEnabled())
startSetAILWait(23, 3, ANI_FRONT);
else {
_G(det)->startDetail(23, 255, ANI_FRONT);
@@ -373,13 +373,13 @@ void Room68::kostuem_aad(int16 aad_nr) {
_G(det)->stop_detail(23);
}
- if (_G(gameState).DisplayText) {
+ if (g_engine->_sound->subtitlesEnabled()) {
g_engine->_sound->playSound(108, 1, false);
}
_G(det)->startDetail(24, 255, ANI_FRONT);
setPersonPos(26, 40, P_NICHELLE, P_RIGHT);
- if (_G(gameState).DisplayText) {
+ if (g_engine->_sound->subtitlesEnabled()) {
startAadWait(391);
} else {
waitShowScreen(100);
@@ -416,7 +416,7 @@ void Room68::kostuem_aad(int16 aad_nr) {
_G(gameState)._personHide[P_NICHELLE] = false;
setPersonPos(150, -13, P_NICHELLE, P_RIGHT);
- if (_G(gameState).DisplayText) {
+ if (g_engine->_sound->subtitlesEnabled()) {
_G(currentSong) = -1;
load_room_music(_G(gameState)._personRoomNr[0]);
}
diff --git a/engines/chewy/sound.cpp b/engines/chewy/sound.cpp
index eb6a4a239dc..e8bf46b3ca2 100644
--- a/engines/chewy/sound.cpp
+++ b/engines/chewy/sound.cpp
@@ -276,8 +276,8 @@ void Sound::convertTMFToMod(uint8 *tmfData, uint32 tmfSize, uint8 *modData, uint
}
void Sound::waitForSpeechToFinish() {
- if (_G(gameState).SpeechSwitch) {
- while (g_engine->_sound->isSpeechActive() && !SHOULD_QUIT) {
+ if (speechEnabled()) {
+ while (isSpeechActive() && !SHOULD_QUIT) {
setupScreen(DO_SETUP);
}
}
@@ -292,4 +292,36 @@ DisplayMode Sound::getSpeechSubtitlesMode() const {
return DISPLAY_TXT;
}
+bool Sound::soundEnabled() const {
+ return !ConfMan.getBool("sfx_mute");
+}
+
+void Sound::toggleSound(bool enable) {
+ return ConfMan.setBool("sfx_mute", !enable);
+}
+
+bool Sound::musicEnabled() const {
+ return !ConfMan.getBool("music_mute");
+}
+
+void Sound::toggleMusic(bool enable) {
+ return ConfMan.setBool("music_mute", !enable);
+}
+
+bool Sound::speechEnabled() const {
+ return !ConfMan.getBool("speech_mute");
+}
+
+void Sound::toggleSpeech(bool enable) {
+ return ConfMan.setBool("speech_mute", !enable);
+}
+
+bool Sound::subtitlesEnabled() const {
+ return !ConfMan.getBool("subtitles");
+}
+
+void Sound::toggleSubtitles(bool enable) {
+ return ConfMan.setBool("subtitles", !enable);
+}
+
} // namespace Chewy
diff --git a/engines/chewy/sound.h b/engines/chewy/sound.h
index cd1c40c1ed7..36976f82088 100644
--- a/engines/chewy/sound.h
+++ b/engines/chewy/sound.h
@@ -75,6 +75,18 @@ public:
*/
DisplayMode getSpeechSubtitlesMode() const;
+ bool soundEnabled() const;
+ void toggleSound(bool enable);
+
+ bool musicEnabled() const;
+ void toggleMusic(bool enable);
+
+ bool speechEnabled() const;
+ void toggleSpeech(bool enable);
+
+ bool subtitlesEnabled() const;
+ void toggleSubtitles(bool enable);
+
private:
Audio::Mixer *_mixer;
Audio::SoundHandle _soundHandle[MAX_SOUND_EFFECTS];
diff --git a/engines/chewy/types.cpp b/engines/chewy/types.cpp
index 17705a6eda8..a45948dbe84 100644
--- a/engines/chewy/types.cpp
+++ b/engines/chewy/types.cpp
@@ -51,6 +51,8 @@ bool GameState::synchronize(Common::Serializer &s) {
if (sizeof(GameFlags) != SPIELER_FLAGS_SIZE)
error("Invalid flags structure size");
+ byte dummy = 0;
+
// Sync the structure's bitflags
s.syncBytes((byte *)_flags, SPIELER_FLAGS_SIZE);
@@ -147,13 +149,13 @@ bool GameState::synchronize(Common::Serializer &s) {
s.syncAsSint16LE(SVal3);
s.syncAsSint16LE(SVal4);
s.syncAsSint16LE(soundLoopMode);
- s.syncAsByte(SoundSwitch);
+ s.syncAsByte(dummy); // sound switch
s.syncAsByte(SoundVol);
- s.syncAsByte(MusicSwitch);
+ s.syncAsByte(dummy); // music switch
s.syncAsByte(MusicVol);
- s.syncAsByte(SpeechSwitch);
+ s.syncAsByte(dummy); // speech switch
s.syncAsByte(FramesPerSecond);
- s.syncAsByte(DisplayText);
+ s.syncAsByte(dummy); // subtitles switch
return true;
}
diff --git a/engines/chewy/types.h b/engines/chewy/types.h
index b3d88ee79d8..0d1316cd89c 100644
--- a/engines/chewy/types.h
+++ b/engines/chewy/types.h
@@ -517,13 +517,9 @@ struct GameState : public GameFlags {
int16 SVal3 = 0;
int16 SVal4 = 0;
int16 soundLoopMode = 0;
- bool SoundSwitch = false;
uint8 SoundVol = 0;
- bool MusicSwitch = false;
uint8 MusicVol = 0;
- bool SpeechSwitch = false;
uint8 FramesPerSecond = 0;
- bool DisplayText = false;
};
struct AutoMov {
More information about the Scummvm-git-logs
mailing list