aboutsummaryrefslogtreecommitdiff
path: root/engines/hugo
diff options
context:
space:
mode:
authorStrangerke2012-06-13 17:44:09 +0200
committerStrangerke2012-06-13 17:44:09 +0200
commitfbc2c6d08ac96c92e2424118dc9b0548628287e5 (patch)
treee0b81315b356039a28a862b7f708a9dc3de41fe0 /engines/hugo
parent0c7fcff8a3fa10fc9bedcf0ac299809f9a140632 (diff)
downloadscummvm-rg350-fbc2c6d08ac96c92e2424118dc9b0548628287e5.tar.gz
scummvm-rg350-fbc2c6d08ac96c92e2424118dc9b0548628287e5.tar.bz2
scummvm-rg350-fbc2c6d08ac96c92e2424118dc9b0548628287e5.zip
HUGO: More renaming
Diffstat (limited to 'engines/hugo')
-rw-r--r--engines/hugo/dialogs.cpp8
-rw-r--r--engines/hugo/file.cpp24
-rw-r--r--engines/hugo/file.h6
-rw-r--r--engines/hugo/hugo.cpp12
-rw-r--r--engines/hugo/hugo.h32
-rw-r--r--engines/hugo/mouse.cpp46
-rw-r--r--engines/hugo/parser.cpp4
-rw-r--r--engines/hugo/schedule.cpp1032
-rw-r--r--engines/hugo/schedule.h519
-rw-r--r--engines/hugo/sound.cpp12
10 files changed, 840 insertions, 855 deletions
diff --git a/engines/hugo/dialogs.cpp b/engines/hugo/dialogs.cpp
index 0efd47a3bd..0f07d52aee 100644
--- a/engines/hugo/dialogs.cpp
+++ b/engines/hugo/dialogs.cpp
@@ -109,12 +109,12 @@ void TopMenu::reflowLayout() {
// Set the graphics to the 'on' buttons, except for the variable ones
_whatButton->setGfx(_arrayBmp[4 * kMenuWhat + scale - 1]);
- _musicButton->setGfx(_arrayBmp[4 * kMenuMusic + scale - 1 + ((_vm->_config.musicFl) ? 0 : 2)]);
- _soundFXButton->setGfx(_arrayBmp[4 * kMenuSoundFX + scale - 1 + ((_vm->_config.soundFl) ? 0 : 2)]);
+ _musicButton->setGfx(_arrayBmp[4 * kMenuMusic + scale - 1 + ((_vm->_config._musicFl) ? 0 : 2)]);
+ _soundFXButton->setGfx(_arrayBmp[4 * kMenuSoundFX + scale - 1 + ((_vm->_config._soundFl) ? 0 : 2)]);
_saveButton->setGfx(_arrayBmp[4 * kMenuSave + scale - 1]);
_loadButton->setGfx(_arrayBmp[4 * kMenuLoad + scale - 1]);
_recallButton->setGfx(_arrayBmp[4 * kMenuRecall + scale - 1]);
- _turboButton->setGfx(_arrayBmp[4 * kMenuTurbo + scale - 1 + ((_vm->_config.turboFl) ? 0 : 2)]);
+ _turboButton->setGfx(_arrayBmp[4 * kMenuTurbo + scale - 1 + ((_vm->_config._turboFl) ? 0 : 2)]);
_lookButton->setGfx(_arrayBmp[4 * kMenuLook + scale - 1]);
_inventButton->setGfx(_arrayBmp[4 * kMenuInventory + scale - 1]);
}
@@ -176,7 +176,7 @@ void TopMenu::handleCommand(GUI::CommandSender *sender, uint32 command, uint32 d
break;
case kCmdMusic:
_vm->_sound->toggleMusic();
- _musicButton->setGfx(_arrayBmp[4 * kMenuMusic + (g_system->getOverlayWidth() > 320 ? 2 : 1) - 1 + ((_vm->_config.musicFl) ? 0 : 2)]);
+ _musicButton->setGfx(_arrayBmp[4 * kMenuMusic + (g_system->getOverlayWidth() > 320 ? 2 : 1) - 1 + ((_vm->_config._musicFl) ? 0 : 2)]);
_musicButton->draw();
g_gui.theme()->updateScreen();
g_system->updateScreen();
diff --git a/engines/hugo/file.cpp b/engines/hugo/file.cpp
index a3fc5dfe49..219e29a25a 100644
--- a/engines/hugo/file.cpp
+++ b/engines/hugo/file.cpp
@@ -54,7 +54,7 @@ static const int s_bootCypherLen = sizeof(s_bootCypher) - 1;
FileManager::FileManager(HugoEngine *vm) : _vm(vm) {
_hasReadHeader = false;
- firstUIFFl = true;
+ _firstUIFFl = true;
}
FileManager::~FileManager() {
@@ -624,28 +624,28 @@ void FileManager::readBootFile() {
* This file contains, between others, the bitmaps of the fonts used in the application
* UIF means User interface database (Windows Only)
*/
-uif_hdr_t *FileManager::getUIFHeader(const uif_t id) {
- debugC(1, kDebugFile, "getUIFHeader(%d)", id);
+uif_hdr_t *FileManager::get_UIFHeader(const uif_t id) {
+ debugC(1, kDebugFile, "get_UIFHeader(%d)", id);
// Initialize offset lookup if not read yet
- if (firstUIFFl) {
- firstUIFFl = false;
+ if (_firstUIFFl) {
+ _firstUIFFl = false;
// Open unbuffered to do far read
Common::File ip; // Image data file
if (!ip.open(getUifFilename()))
error("File not found: %s", getUifFilename());
- if (ip.size() < (int32)sizeof(UIFHeader))
+ if (ip.size() < (int32)sizeof(_UIFHeader))
error("Wrong UIF file format");
for (int i = 0; i < kMaxUifs; ++i) {
- UIFHeader[i]._size = ip.readUint16LE();
- UIFHeader[i]._offset = ip.readUint32LE();
+ _UIFHeader[i]._size = ip.readUint16LE();
+ _UIFHeader[i]._offset = ip.readUint32LE();
}
ip.close();
}
- return &UIFHeader[id];
+ return &_UIFHeader[id];
}
/**
@@ -660,8 +660,8 @@ void FileManager::readUIFItem(const int16 id, byte *buf) {
error("File not found: %s", getUifFilename());
// Seek to data
- uif_hdr_t *UIFHeaderPtr = getUIFHeader((uif_t)id);
- ip.seek(UIFHeaderPtr->_offset, SEEK_SET);
+ uif_hdr_t *_UIFHeaderPtr = get_UIFHeader((uif_t)id);
+ ip.seek(_UIFHeaderPtr->_offset, SEEK_SET);
// We support pcx images and straight data
seq_t *dummySeq; // Dummy seq_t for image data
@@ -671,7 +671,7 @@ void FileManager::readUIFItem(const int16 id, byte *buf) {
free(dummySeq);
break;
default: // Read file data into supplied array
- if (ip.read(buf, UIFHeaderPtr->_size) != UIFHeaderPtr->_size)
+ if (ip.read(buf, _UIFHeaderPtr->_size) != _UIFHeaderPtr->_size)
error("Wrong UIF file format");
break;
}
diff --git a/engines/hugo/file.h b/engines/hugo/file.h
index 817bf49daf..e7c467a315 100644
--- a/engines/hugo/file.h
+++ b/engines/hugo/file.h
@@ -105,8 +105,8 @@ protected:
byte _fill2[60];
}; // Header of a PCC file
- bool firstUIFFl;
- uif_hdr_t UIFHeader[kMaxUifs]; // Lookup for uif fonts/images
+ bool _firstUIFFl;
+ uif_hdr_t _UIFHeader[kMaxUifs]; // Lookup for uif fonts/images
Common::File _stringArchive; // Handle for string file
Common::File _sceneryArchive1; // Handle for scenery file
@@ -122,7 +122,7 @@ protected:
private:
byte *convertPCC(byte *p, const uint16 y, const uint16 bpl, image_pt dataPtr) const;
- uif_hdr_t *getUIFHeader(const uif_t id);
+ uif_hdr_t *get_UIFHeader(const uif_t id);
//Strangerke : Not used?
void printBootText();
diff --git a/engines/hugo/hugo.cpp b/engines/hugo/hugo.cpp
index 450f4ff837..7462da0df8 100644
--- a/engines/hugo/hugo.cpp
+++ b/engines/hugo/hugo.cpp
@@ -562,10 +562,10 @@ void HugoEngine::initStatus() {
void HugoEngine::initConfig() {
debugC(1, kDebugEngine, "initConfig()");
- _config.musicFl = true; // Music state initially on
- _config.soundFl = true; // Sound state initially on
- _config.turboFl = false; // Turbo state initially off
- initPlaylist(_config.playlist); // Initialize default tune playlist
+ _config._musicFl = true; // Music state initially on
+ _config._soundFl = true; // Sound state initially on
+ _config._turboFl = false; // Turbo state initially off
+ initPlaylist(_config._playlist); // Initialize default tune playlist
_file->readBootFile(); // Read startup structure
}
@@ -577,7 +577,7 @@ void HugoEngine::resetConfig() {
// Find first tune and play it
for (int16 i = 0; i < kMaxTunes; i++) {
- if (_config.playlist[i]) {
+ if (_config._playlist[i]) {
_sound->playMusic(i);
break;
}
@@ -694,7 +694,7 @@ bool HugoEngine::canSaveGameStateCurrently() {
}
int8 HugoEngine::getTPS() const {
- return ((_config.turboFl) ? kTurboTps : _normalTPS);
+ return ((_config._turboFl) ? kTurboTps : _normalTPS);
}
void HugoEngine::syncSoundSettings() {
diff --git a/engines/hugo/hugo.h b/engines/hugo/hugo.h
index 3ad6fced24..68b771faa4 100644
--- a/engines/hugo/hugo.h
+++ b/engines/hugo/hugo.h
@@ -83,10 +83,10 @@ static const int kHeroMinWidth = 16; // Minimum width of hero
typedef char command_t[kMaxLineSize + 8]; // Command line (+spare for prompt,cursor)
struct config_t { // User's config (saved)
- bool musicFl; // State of Music button/menu item
- bool soundFl; // State of Sound button/menu item
- bool turboFl; // State of Turbo button/menu item
- bool playlist[kMaxTunes]; // Tune playlist
+ bool _musicFl; // State of Music button/menu item
+ bool _soundFl; // State of Sound button/menu item
+ bool _turboFl; // State of Turbo button/menu item
+ bool _playlist[kMaxTunes]; // Tune playlist
};
typedef byte icondib_t[kXPix * kInvDy]; // Icon bar dib
@@ -185,32 +185,16 @@ struct status_t { // Game status (not saved)
uint32 _tick; // Current time in ticks
vstate_t _viewState; // View state machine
int16 _song; // Current song
-
-// Strangerke - Suppress as related to playback
-// bool playbackFl; // Game is in playback mode
-// bool recordFl; // Game is in record mode
-// Strangerke - Not used ?
-// bool helpFl; // Calling WinHelp (don't disable music)
-// bool mmtimeFl; // Multimedia timer supported
-// bool demoFl; // Game is in demo mode
-// bool textBoxFl; // Game is (halted) in text box
-// int16 screenWidth; // Desktop screen width
-// int16 saveSlot; // Current slot to save/restore game
-// int16 cx, cy; // Cursor position (dib coords)
-// uint32 saveTick; // Time of last save in ticks
-//
-// typedef char fpath_t[kMaxPath]; // File path
-// fpath_t path; // Alternate path for saved files
};
/**
* Structure to define an EXIT or other collision-activated hotspot
*/
struct hotspot_t {
- int screenIndex; // Screen in which hotspot appears
- int x1, y1, x2, y2; // Bounding box of hotspot
- uint16 actIndex; // Actions to carry out if a 'hit'
- int16 viewx, viewy, direction; // Used in auto-route mode
+ int _screenIndex; // Screen in which hotspot appears
+ int _x1, _y1, _x2, _y2; // Bounding box of hotspot
+ uint16 _actIndex; // Actions to carry out if a 'hit'
+ int16 _viewx, _viewy, _direction; // Used in auto-route mode
};
class FileManager;
diff --git a/engines/hugo/mouse.cpp b/engines/hugo/mouse.cpp
index 323f362b10..864934a0d3 100644
--- a/engines/hugo/mouse.cpp
+++ b/engines/hugo/mouse.cpp
@@ -98,11 +98,11 @@ int MouseHandler::getMouseY() const {
}
int16 MouseHandler::getDirection(const int16 hotspotId) const {
- return _hotspots[hotspotId].direction;
+ return _hotspots[hotspotId]._direction;
}
int16 MouseHandler::getHotspotActIndex(const int16 hotspotId) const {
- return _hotspots[hotspotId].actIndex;
+ return _hotspots[hotspotId]._actIndex;
}
/**
@@ -137,9 +137,9 @@ void MouseHandler::cursorText(const char *buffer, const int16 cx, const int16 cy
int16 MouseHandler::findExit(const int16 cx, const int16 cy, byte screenId) {
debugC(2, kDebugMouse, "findExit(%d, %d, %d)", cx, cy, screenId);
- for (int i = 0; _hotspots[i].screenIndex >= 0; i++) {
- if (_hotspots[i].screenIndex == screenId) {
- if (cx >= _hotspots[i].x1 && cx <= _hotspots[i].x2 && cy >= _hotspots[i].y1 && cy <= _hotspots[i].y2)
+ for (int i = 0; _hotspots[i]._screenIndex >= 0; i++) {
+ if (_hotspots[i]._screenIndex == screenId) {
+ if (cx >= _hotspots[i]._x1 && cx <= _hotspots[i]._x2 && cy >= _hotspots[i]._y1 && cy <= _hotspots[i]._y2)
return i;
}
}
@@ -224,19 +224,19 @@ void MouseHandler::processLeftClick(const int16 objId, const int16 cx, const int
break;
case kExitHotspot: // Walk to exit hotspot
i = findExit(cx, cy, *_vm->_screen_p);
- x = _hotspots[i].viewx;
- y = _hotspots[i].viewy;
+ x = _hotspots[i]._viewx;
+ y = _hotspots[i]._viewy;
if (x >= 0) { // Hotspot refers to an exit
// Special case of immediate exit
if (_jumpExitFl) {
// Get rid of iconbar if necessary
if (_vm->_inventory->getInventoryState() != kInventoryOff)
_vm->_inventory->setInventoryState(kInventoryUp);
- _vm->_scheduler->insertActionList(_hotspots[i].actIndex);
+ _vm->_scheduler->insertActionList(_hotspots[i]._actIndex);
} else { // Set up route to exit spot
- if (_hotspots[i].direction == Common::KEYCODE_RIGHT)
+ if (_hotspots[i]._direction == Common::KEYCODE_RIGHT)
x -= kHeroMaxWidth;
- else if (_hotspots[i].direction == Common::KEYCODE_LEFT)
+ else if (_hotspots[i]._direction == Common::KEYCODE_LEFT)
x += kHeroMaxWidth;
if (!_vm->_route->startRoute(kRouteExit, i, x, y))
Utils::notifyBox(_vm->_text->getTextMouse(kMsNoWayText)); // Can't get there
@@ -328,7 +328,7 @@ void MouseHandler::mouseHandler() {
// Process cursor over an exit hotspot
if (objId == -1) {
int i = findExit(cx, cy, *_vm->_screen_p);
- if (i != -1 && _hotspots[i].viewx >= 0) {
+ if (i != -1 && _hotspots[i]._viewx >= 0) {
objId = kExitHotspot;
cursorText(_vm->_text->getTextMouse(kMsExit), cx, cy, U_FONT8, _TBRIGHTWHITE);
}
@@ -344,15 +344,15 @@ void MouseHandler::mouseHandler() {
}
void MouseHandler::readHotspot(Common::ReadStream &in, hotspot_t &hotspot) {
- hotspot.screenIndex = in.readSint16BE();
- hotspot.x1 = in.readSint16BE();
- hotspot.y1 = in.readSint16BE();
- hotspot.x2 = in.readSint16BE();
- hotspot.y2 = in.readSint16BE();
- hotspot.actIndex = in.readUint16BE();
- hotspot.viewx = in.readSint16BE();
- hotspot.viewy = in.readSint16BE();
- hotspot.direction = in.readSint16BE();
+ hotspot._screenIndex = in.readSint16BE();
+ hotspot._x1 = in.readSint16BE();
+ hotspot._y1 = in.readSint16BE();
+ hotspot._x2 = in.readSint16BE();
+ hotspot._y2 = in.readSint16BE();
+ hotspot._actIndex = in.readUint16BE();
+ hotspot._viewx = in.readSint16BE();
+ hotspot._viewy = in.readSint16BE();
+ hotspot._direction = in.readSint16BE();
}
/**
@@ -376,10 +376,10 @@ void MouseHandler::loadHotspots(Common::ReadStream &in) {
* Display hotspot boundaries for the current screen
*/
void MouseHandler::drawHotspots() const {
- for (int i = 0; _hotspots[i].screenIndex >= 0; i++) {
+ for (int i = 0; _hotspots[i]._screenIndex >= 0; i++) {
hotspot_t *hotspot = &_hotspots[i];
- if (hotspot->screenIndex == _vm->_hero->_screenIndex)
- _vm->_screen->drawRectangle(false, hotspot->x1, hotspot->y1, hotspot->x2, hotspot->y2, _TLIGHTRED);
+ if (hotspot->_screenIndex == _vm->_hero->_screenIndex)
+ _vm->_screen->drawRectangle(false, hotspot->_x1, hotspot->_y1, hotspot->_x2, hotspot->_y2, _TLIGHTRED);
}
}
} // End of namespace Hugo
diff --git a/engines/hugo/parser.cpp b/engines/hugo/parser.cpp
index b4255e607b..3b0eb1d979 100644
--- a/engines/hugo/parser.cpp
+++ b/engines/hugo/parser.cpp
@@ -198,7 +198,7 @@ void Parser::freeParser() {
}
void Parser::switchTurbo() {
- _vm->_config.turboFl = !_vm->_config.turboFl;
+ _vm->_config._turboFl = !_vm->_config._turboFl;
}
/**
@@ -256,7 +256,7 @@ void Parser::charHandler() {
}
sprintf(_vm->_statusLine, ">%s%c", _cmdLine, _cmdLineCursor);
- sprintf(_vm->_scoreLine, "F1-Help %s Score: %d of %d Sound %s", (_vm->_config.turboFl) ? "T" : " ", _vm->getScore(), _vm->getMaxScore(), (_vm->_config.soundFl) ? "On" : "Off");
+ sprintf(_vm->_scoreLine, "F1-Help %s Score: %d of %d Sound %s", (_vm->_config._turboFl) ? "T" : " ", _vm->getScore(), _vm->getMaxScore(), (_vm->_config._soundFl) ? "On" : "Off");
// See if "look" button pressed
if (gameStatus._lookFl) {
diff --git a/engines/hugo/schedule.cpp b/engines/hugo/schedule.cpp
index 18e414420a..0e57b08f19 100644
--- a/engines/hugo/schedule.cpp
+++ b/engines/hugo/schedule.cpp
@@ -68,13 +68,13 @@ void Scheduler::initEventQueue() {
// Chain next_p from first to last
for (int i = kMaxEvents; --i;)
- _events[i - 1].nextEvent = &_events[i];
- _events[kMaxEvents - 1].nextEvent = 0;
+ _events[i - 1]._nextEvent = &_events[i];
+ _events[kMaxEvents - 1]._nextEvent = 0;
// Chain prev_p from last to first
for (int i = 1; i < kMaxEvents; i++)
- _events[i].prevEvent = &_events[i - 1];
- _events[0].prevEvent = 0;
+ _events[i]._prevEvent = &_events[i - 1];
+ _events[0]._prevEvent = 0;
_headEvent = _tailEvent = 0; // Event list is empty
_freeEvent = _events; // Free list is full
@@ -89,8 +89,8 @@ event_t *Scheduler::getQueue() {
if (!_freeEvent) // Error: no more events available
error("An error has occurred: %s", "getQueue");
event_t *resEvent = _freeEvent;
- _freeEvent = _freeEvent->nextEvent;
- resEvent->nextEvent = 0;
+ _freeEvent = _freeEvent->_nextEvent;
+ resEvent->_nextEvent = 0;
return resEvent;
}
@@ -101,7 +101,7 @@ void Scheduler::insertActionList(const uint16 actIndex) {
debugC(1, kDebugSchedule, "insertActionList(%d)", actIndex);
if (_actListArr[actIndex]) {
- for (int i = 0; _actListArr[actIndex][i].a0.actType != ANULL; i++)
+ for (int i = 0; _actListArr[actIndex][i]._a0._actType != ANULL; i++)
insertAction(&_actListArr[actIndex][i]);
}
}
@@ -147,9 +147,9 @@ uint32 Scheduler::getDosTicks(const bool updateFl) {
void Scheduler::processBonus(const int bonusIndex) {
debugC(1, kDebugSchedule, "processBonus(%d)", bonusIndex);
- if (!_points[bonusIndex].scoredFl) {
- _vm->adjustScore(_points[bonusIndex].score);
- _points[bonusIndex].scoredFl = true;
+ if (!_points[bonusIndex]._scoredFl) {
+ _vm->adjustScore(_points[bonusIndex]._score);
+ _points[bonusIndex]._scoredFl = true;
}
}
@@ -178,8 +178,8 @@ void Scheduler::newScreen(const int screenIndex) {
event_t *curEvent = _headEvent; // The earliest event
event_t *wrkEvent; // Event ptr
while (curEvent) { // While mature events found
- wrkEvent = curEvent->nextEvent; // Save p (becomes undefined after Del)
- if (curEvent->localActionFl)
+ wrkEvent = curEvent->_nextEvent; // Save p (becomes undefined after Del)
+ if (curEvent->_localActionFl)
delQueue(curEvent); // Return event to free list
curEvent = wrkEvent;
}
@@ -261,8 +261,8 @@ void Scheduler::loadPoints(Common::SeekableReadStream &in) {
_numBonuses = numElem;
_points = (point_t *)malloc(sizeof(point_t) * _numBonuses);
for (int i = 0; i < _numBonuses; i++) {
- _points[i].score = in.readByte();
- _points[i].scoredFl = false;
+ _points[i]._score = in.readByte();
+ _points[i]._scoredFl = false;
}
} else {
in.skip(numElem);
@@ -273,277 +273,277 @@ void Scheduler::loadPoints(Common::SeekableReadStream &in) {
void Scheduler::readAct(Common::ReadStream &in, act &curAct) {
uint16 numSubAct;
- curAct.a0.actType = (action_t) in.readByte();
- switch (curAct.a0.actType) {
+ curAct._a0._actType = (action_t) in.readByte();
+ switch (curAct._a0._actType) {
case ANULL: // -1
break;
case ASCHEDULE: // 0
- curAct.a0.timer = in.readSint16BE();
- curAct.a0.actIndex = in.readUint16BE();
+ curAct._a0._timer = in.readSint16BE();
+ curAct._a0._actIndex = in.readUint16BE();
break;
case START_OBJ: // 1
- curAct.a1.timer = in.readSint16BE();
- curAct.a1.objIndex = in.readSint16BE();
- curAct.a1.cycleNumb = in.readSint16BE();
- curAct.a1.cycle = (cycle_t) in.readByte();
+ curAct._a1._timer = in.readSint16BE();
+ curAct._a1._objIndex = in.readSint16BE();
+ curAct._a1._cycleNumb = in.readSint16BE();
+ curAct._a1._cycle = (cycle_t) in.readByte();
break;
case INIT_OBJXY: // 2
- curAct.a2.timer = in.readSint16BE();
- curAct.a2.objIndex = in.readSint16BE();
- curAct.a2.x = in.readSint16BE();
- curAct.a2.y = in.readSint16BE();
+ curAct._a2._timer = in.readSint16BE();
+ curAct._a2._objIndex = in.readSint16BE();
+ curAct._a2._x = in.readSint16BE();
+ curAct._a2._y = in.readSint16BE();
break;
case PROMPT: // 3
- curAct.a3.timer = in.readSint16BE();
- curAct.a3.promptIndex = in.readSint16BE();
+ curAct._a3._timer = in.readSint16BE();
+ curAct._a3._promptIndex = in.readSint16BE();
numSubAct = in.readUint16BE();
- curAct.a3.responsePtr = (int *)malloc(sizeof(int) * numSubAct);
+ curAct._a3._responsePtr = (int *)malloc(sizeof(int) * numSubAct);
for (int k = 0; k < numSubAct; k++)
- curAct.a3.responsePtr[k] = in.readSint16BE();
- curAct.a3.actPassIndex = in.readUint16BE();
- curAct.a3.actFailIndex = in.readUint16BE();
- curAct.a3.encodedFl = (in.readByte() == 1) ? true : false;
+ curAct._a3._responsePtr[k] = in.readSint16BE();
+ curAct._a3._actPassIndex = in.readUint16BE();
+ curAct._a3._actFailIndex = in.readUint16BE();
+ curAct._a3._encodedFl = (in.readByte() == 1) ? true : false;
break;
case BKGD_COLOR: // 4
- curAct.a4.timer = in.readSint16BE();
- curAct.a4.newBackgroundColor = in.readUint32BE();
+ curAct._a4._timer = in.readSint16BE();
+ curAct._a4._newBackgroundColor = in.readUint32BE();
break;
case INIT_OBJVXY: // 5
- curAct.a5.timer = in.readSint16BE();
- curAct.a5.objIndex = in.readSint16BE();
- curAct.a5.vx = in.readSint16BE();
- curAct.a5.vy = in.readSint16BE();
+ curAct._a5._timer = in.readSint16BE();
+ curAct._a5._objIndex = in.readSint16BE();
+ curAct._a5._vx = in.readSint16BE();
+ curAct._a5._vy = in.readSint16BE();
break;
case INIT_CARRY: // 6
- curAct.a6.timer = in.readSint16BE();
- curAct.a6.objIndex = in.readSint16BE();
- curAct.a6.carriedFl = (in.readByte() == 1) ? true : false;
+ curAct._a6._timer = in.readSint16BE();
+ curAct._a6._objIndex = in.readSint16BE();
+ curAct._a6._carriedFl = (in.readByte() == 1) ? true : false;
break;
case INIT_HF_COORD: // 7
- curAct.a7.timer = in.readSint16BE();
- curAct.a7.objIndex = in.readSint16BE();
+ curAct._a7._timer = in.readSint16BE();
+ curAct._a7._objIndex = in.readSint16BE();
break;
case NEW_SCREEN: // 8
- curAct.a8.timer = in.readSint16BE();
- curAct.a8.screenIndex = in.readSint16BE();
+ curAct._a8._timer = in.readSint16BE();
+ curAct._a8._screenIndex = in.readSint16BE();
break;
case INIT_OBJSTATE: // 9
- curAct.a9.timer = in.readSint16BE();
- curAct.a9.objIndex = in.readSint16BE();
- curAct.a9.newState = in.readByte();
+ curAct._a9._timer = in.readSint16BE();
+ curAct._a9._objIndex = in.readSint16BE();
+ curAct._a9._newState = in.readByte();
break;
case INIT_PATH: // 10
- curAct.a10.timer = in.readSint16BE();
- curAct.a10.objIndex = in.readSint16BE();
- curAct.a10.newPathType = in.readSint16BE();
- curAct.a10.vxPath = in.readByte();
- curAct.a10.vyPath = in.readByte();
+ curAct._a10._timer = in.readSint16BE();
+ curAct._a10._objIndex = in.readSint16BE();
+ curAct._a10._newPathType = in.readSint16BE();
+ curAct._a10._vxPath = in.readByte();
+ curAct._a10._vyPath = in.readByte();
break;
case COND_R: // 11
- curAct.a11.timer = in.readSint16BE();
- curAct.a11.objIndex = in.readSint16BE();
- curAct.a11.stateReq = in.readByte();
- curAct.a11.actPassIndex = in.readUint16BE();
- curAct.a11.actFailIndex = in.readUint16BE();
+ curAct._a11._timer = in.readSint16BE();
+ curAct._a11._objIndex = in.readSint16BE();
+ curAct._a11._stateReq = in.readByte();
+ curAct._a11._actPassIndex = in.readUint16BE();
+ curAct._a11._actFailIndex = in.readUint16BE();
break;
case TEXT: // 12
- curAct.a12.timer = in.readSint16BE();
- curAct.a12.stringIndex = in.readSint16BE();
+ curAct._a12._timer = in.readSint16BE();
+ curAct._a12._stringIndex = in.readSint16BE();
break;
case SWAP_IMAGES: // 13
- curAct.a13.timer = in.readSint16BE();
- curAct.a13.objIndex1 = in.readSint16BE();
- curAct.a13.objIndex2 = in.readSint16BE();
+ curAct._a13._timer = in.readSint16BE();
+ curAct._a13._objIndex1 = in.readSint16BE();
+ curAct._a13._objIndex2 = in.readSint16BE();
break;
case COND_SCR: // 14
- curAct.a14.timer = in.readSint16BE();
- curAct.a14.objIndex = in.readSint16BE();
- curAct.a14.screenReq = in.readSint16BE();
- curAct.a14.actPassIndex = in.readUint16BE();
- curAct.a14.actFailIndex = in.readUint16BE();
+ curAct._a14._timer = in.readSint16BE();
+ curAct._a14._objIndex = in.readSint16BE();
+ curAct._a14._screenReq = in.readSint16BE();
+ curAct._a14._actPassIndex = in.readUint16BE();
+ curAct._a14._actFailIndex = in.readUint16BE();
break;
case AUTOPILOT: // 15
- curAct.a15.timer = in.readSint16BE();
- curAct.a15.objIndex1 = in.readSint16BE();
- curAct.a15.objIndex2 = in.readSint16BE();
- curAct.a15.dx = in.readByte();
- curAct.a15.dy = in.readByte();
+ curAct._a15._timer = in.readSint16BE();
+ curAct._a15._objIndex1 = in.readSint16BE();
+ curAct._a15._objIndex2 = in.readSint16BE();
+ curAct._a15._dx = in.readByte();
+ curAct._a15._dy = in.readByte();
break;
case INIT_OBJ_SEQ: // 16
- curAct.a16.timer = in.readSint16BE();
- curAct.a16.objIndex = in.readSint16BE();
- curAct.a16.seqIndex = in.readSint16BE();
+ curAct._a16._timer = in.readSint16BE();
+ curAct._a16._objIndex = in.readSint16BE();
+ curAct._a16._seqIndex = in.readSint16BE();
break;
case SET_STATE_BITS: // 17
- curAct.a17.timer = in.readSint16BE();
- curAct.a17.objIndex = in.readSint16BE();
- curAct.a17.stateMask = in.readSint16BE();
+ curAct._a17._timer = in.readSint16BE();
+ curAct._a17._objIndex = in.readSint16BE();
+ curAct._a17._stateMask = in.readSint16BE();
break;
case CLEAR_STATE_BITS: // 18
- curAct.a18.timer = in.readSint16BE();
- curAct.a18.objIndex = in.readSint16BE();
- curAct.a18.stateMask = in.readSint16BE();
+ curAct._a18._timer = in.readSint16BE();
+ curAct._a18._objIndex = in.readSint16BE();
+ curAct._a18._stateMask = in.readSint16BE();
break;
case TEST_STATE_BITS: // 19
- curAct.a19.timer = in.readSint16BE();
- curAct.a19.objIndex = in.readSint16BE();
- curAct.a19.stateMask = in.readSint16BE();
- curAct.a19.actPassIndex = in.readUint16BE();
- curAct.a19.actFailIndex = in.readUint16BE();
+ curAct._a19._timer = in.readSint16BE();
+ curAct._a19._objIndex = in.readSint16BE();
+ curAct._a19._stateMask = in.readSint16BE();
+ curAct._a19._actPassIndex = in.readUint16BE();
+ curAct._a19._actFailIndex = in.readUint16BE();
break;
case DEL_EVENTS: // 20
- curAct.a20.timer = in.readSint16BE();
- curAct.a20.actTypeDel = (action_t) in.readByte();
+ curAct._a20._timer = in.readSint16BE();
+ curAct._a20._actTypeDel = (action_t) in.readByte();
break;
case GAMEOVER: // 21
- curAct.a21.timer = in.readSint16BE();
+ curAct._a21._timer = in.readSint16BE();
break;
case INIT_HH_COORD: // 22
- curAct.a22.timer = in.readSint16BE();
- curAct.a22.objIndex = in.readSint16BE();
+ curAct._a22._timer = in.readSint16BE();
+ curAct._a22._objIndex = in.readSint16BE();
break;
case EXIT: // 23
- curAct.a23.timer = in.readSint16BE();
+ curAct._a23._timer = in.readSint16BE();
break;
case BONUS: // 24
- curAct.a24.timer = in.readSint16BE();
- curAct.a24.pointIndex = in.readSint16BE();
+ curAct._a24._timer = in.readSint16BE();
+ curAct._a24._pointIndex = in.readSint16BE();
break;
case COND_BOX: // 25
- curAct.a25.timer = in.readSint16BE();
- curAct.a25.objIndex = in.readSint16BE();
- curAct.a25.x1 = in.readSint16BE();
- curAct.a25.y1 = in.readSint16BE();
- curAct.a25.x2 = in.readSint16BE();
- curAct.a25.y2 = in.readSint16BE();
- curAct.a25.actPassIndex = in.readUint16BE();
- curAct.a25.actFailIndex = in.readUint16BE();
+ curAct._a25._timer = in.readSint16BE();
+ curAct._a25._objIndex = in.readSint16BE();
+ curAct._a25._x1 = in.readSint16BE();
+ curAct._a25._y1 = in.readSint16BE();
+ curAct._a25._x2 = in.readSint16BE();
+ curAct._a25._y2 = in.readSint16BE();
+ curAct._a25._actPassIndex = in.readUint16BE();
+ curAct._a25._actFailIndex = in.readUint16BE();
break;
case SOUND: // 26
- curAct.a26.timer = in.readSint16BE();
- curAct.a26.soundIndex = in.readSint16BE();
+ curAct._a26._timer = in.readSint16BE();
+ curAct._a26._soundIndex = in.readSint16BE();
break;
case ADD_SCORE: // 27
- curAct.a27.timer = in.readSint16BE();
- curAct.a27.objIndex = in.readSint16BE();
+ curAct._a27._timer = in.readSint16BE();
+ curAct._a27._objIndex = in.readSint16BE();
break;
case SUB_SCORE: // 28
- curAct.a28.timer = in.readSint16BE();
- curAct.a28.objIndex = in.readSint16BE();
+ curAct._a28._timer = in.readSint16BE();
+ curAct._a28._objIndex = in.readSint16BE();
break;
case COND_CARRY: // 29
- curAct.a29.timer = in.readSint16BE();
- curAct.a29.objIndex = in.readSint16BE();
- curAct.a29.actPassIndex = in.readUint16BE();
- curAct.a29.actFailIndex = in.readUint16BE();
+ curAct._a29._timer = in.readSint16BE();
+ curAct._a29._objIndex = in.readSint16BE();
+ curAct._a29._actPassIndex = in.readUint16BE();
+ curAct._a29._actFailIndex = in.readUint16BE();
break;
case INIT_MAZE: // 30
- curAct.a30.timer = in.readSint16BE();
- curAct.a30.mazeSize = in.readByte();
- curAct.a30.x1 = in.readSint16BE();
- curAct.a30.y1 = in.readSint16BE();
- curAct.a30.x2 = in.readSint16BE();
- curAct.a30.y2 = in.readSint16BE();
- curAct.a30.x3 = in.readSint16BE();
- curAct.a30.x4 = in.readSint16BE();
- curAct.a30.firstScreenIndex = in.readByte();
+ curAct._a30._timer = in.readSint16BE();
+ curAct._a30._mazeSize = in.readByte();
+ curAct._a30._x1 = in.readSint16BE();
+ curAct._a30._y1 = in.readSint16BE();
+ curAct._a30._x2 = in.readSint16BE();
+ curAct._a30._y2 = in.readSint16BE();
+ curAct._a30._x3 = in.readSint16BE();
+ curAct._a30._x4 = in.readSint16BE();
+ curAct._a30._firstScreenIndex = in.readByte();
break;
case EXIT_MAZE: // 31
- curAct.a31.timer = in.readSint16BE();
+ curAct._a31._timer = in.readSint16BE();
break;
case INIT_PRIORITY: // 32
- curAct.a32.timer = in.readSint16BE();
- curAct.a32.objIndex = in.readSint16BE();
- curAct.a32.priority = in.readByte();
+ curAct._a32._timer = in.readSint16BE();
+ curAct._a32._objIndex = in.readSint16BE();
+ curAct._a32._priority = in.readByte();
break;
case INIT_SCREEN: // 33
- curAct.a33.timer = in.readSint16BE();
- curAct.a33.objIndex = in.readSint16BE();
- curAct.a33.screenIndex = in.readSint16BE();
+ curAct._a33._timer = in.readSint16BE();
+ curAct._a33._objIndex = in.readSint16BE();
+ curAct._a33._screenIndex = in.readSint16BE();
break;
case AGSCHEDULE: // 34
- curAct.a34.timer = in.readSint16BE();
- curAct.a34.actIndex = in.readUint16BE();
+ curAct._a34._timer = in.readSint16BE();
+ curAct._a34._actIndex = in.readUint16BE();
break;
case REMAPPAL: // 35
- curAct.a35.timer = in.readSint16BE();
- curAct.a35.oldColorIndex = in.readSint16BE();
- curAct.a35.newColorIndex = in.readSint16BE();
+ curAct._a35._timer = in.readSint16BE();
+ curAct._a35._oldColorIndex = in.readSint16BE();
+ curAct._a35._newColorIndex = in.readSint16BE();
break;
case COND_NOUN: // 36
- curAct.a36.timer = in.readSint16BE();
- curAct.a36.nounIndex = in.readUint16BE();
- curAct.a36.actPassIndex = in.readUint16BE();
- curAct.a36.actFailIndex = in.readUint16BE();
+ curAct._a36._timer = in.readSint16BE();
+ curAct._a36._nounIndex = in.readUint16BE();
+ curAct._a36._actPassIndex = in.readUint16BE();
+ curAct._a36._actFailIndex = in.readUint16BE();
break;
case SCREEN_STATE: // 37
- curAct.a37.timer = in.readSint16BE();
- curAct.a37.screenIndex = in.readSint16BE();
- curAct.a37.newState = in.readByte();
+ curAct._a37._timer = in.readSint16BE();
+ curAct._a37._screenIndex = in.readSint16BE();
+ curAct._a37._newState = in.readByte();
break;
case INIT_LIPS: // 38
- curAct.a38.timer = in.readSint16BE();
- curAct.a38.lipsObjIndex = in.readSint16BE();
- curAct.a38.objIndex = in.readSint16BE();
- curAct.a38.dxLips = in.readByte();
- curAct.a38.dyLips = in.readByte();
+ curAct._a38._timer = in.readSint16BE();
+ curAct._a38._lipsObjIndex = in.readSint16BE();
+ curAct._a38._objIndex = in.readSint16BE();
+ curAct._a38._dxLips = in.readByte();
+ curAct._a38._dyLips = in.readByte();
break;
case INIT_STORY_MODE: // 39
- curAct.a39.timer = in.readSint16BE();
- curAct.a39.storyModeFl = (in.readByte() == 1);
+ curAct._a39._timer = in.readSint16BE();
+ curAct._a39._storyModeFl = (in.readByte() == 1);
break;
case WARN: // 40
- curAct.a40.timer = in.readSint16BE();
- curAct.a40.stringIndex = in.readSint16BE();
+ curAct._a40._timer = in.readSint16BE();
+ curAct._a40._stringIndex = in.readSint16BE();
break;
case COND_BONUS: // 41
- curAct.a41.timer = in.readSint16BE();
- curAct.a41.BonusIndex = in.readSint16BE();
- curAct.a41.actPassIndex = in.readUint16BE();
- curAct.a41.actFailIndex = in.readUint16BE();
+ curAct._a41._timer = in.readSint16BE();
+ curAct._a41._bonusIndex = in.readSint16BE();
+ curAct._a41._actPassIndex = in.readUint16BE();
+ curAct._a41._actFailIndex = in.readUint16BE();
break;
case TEXT_TAKE: // 42
- curAct.a42.timer = in.readSint16BE();
- curAct.a42.objIndex = in.readSint16BE();
+ curAct._a42._timer = in.readSint16BE();
+ curAct._a42._objIndex = in.readSint16BE();
break;
case YESNO: // 43
- curAct.a43.timer = in.readSint16BE();
- curAct.a43.promptIndex = in.readSint16BE();
- curAct.a43.actYesIndex = in.readUint16BE();
- curAct.a43.actNoIndex = in.readUint16BE();
+ curAct._a43._timer = in.readSint16BE();
+ curAct._a43._promptIndex = in.readSint16BE();
+ curAct._a43._actYesIndex = in.readUint16BE();
+ curAct._a43._actNoIndex = in.readUint16BE();
break;
case STOP_ROUTE: // 44
- curAct.a44.timer = in.readSint16BE();
+ curAct._a44._timer = in.readSint16BE();
break;
case COND_ROUTE: // 45
- curAct.a45.timer = in.readSint16BE();
- curAct.a45.routeIndex = in.readSint16BE();
- curAct.a45.actPassIndex = in.readUint16BE();
- curAct.a45.actFailIndex = in.readUint16BE();
+ curAct._a45._timer = in.readSint16BE();
+ curAct._a45._routeIndex = in.readSint16BE();
+ curAct._a45._actPassIndex = in.readUint16BE();
+ curAct._a45._actFailIndex = in.readUint16BE();
break;
case INIT_JUMPEXIT: // 46
- curAct.a46.timer = in.readSint16BE();
- curAct.a46.jumpExitFl = (in.readByte() == 1);
+ curAct._a46._timer = in.readSint16BE();
+ curAct._a46._jumpExitFl = (in.readByte() == 1);
break;
case INIT_VIEW: // 47
- curAct.a47.timer = in.readSint16BE();
- curAct.a47.objIndex = in.readSint16BE();
- curAct.a47.viewx = in.readSint16BE();
- curAct.a47.viewy = in.readSint16BE();
- curAct.a47.direction = in.readSint16BE();
+ curAct._a47._timer = in.readSint16BE();
+ curAct._a47._objIndex = in.readSint16BE();
+ curAct._a47._viewx = in.readSint16BE();
+ curAct._a47._viewy = in.readSint16BE();
+ curAct._a47._direction = in.readSint16BE();
break;
case INIT_OBJ_FRAME: // 48
- curAct.a48.timer = in.readSint16BE();
- curAct.a48.objIndex = in.readSint16BE();
- curAct.a48.seqIndex = in.readSint16BE();
- curAct.a48.frameIndex = in.readSint16BE();
+ curAct._a48._timer = in.readSint16BE();
+ curAct._a48._objIndex = in.readSint16BE();
+ curAct._a48._seqIndex = in.readSint16BE();
+ curAct._a48._frameIndex = in.readSint16BE();
break;
case OLD_SONG: //49
- curAct.a49.timer = in.readSint16BE();
- curAct.a49.songIndex = in.readUint16BE();
+ curAct._a49._timer = in.readSint16BE();
+ curAct._a49._songIndex = in.readUint16BE();
break;
default:
- error("Engine - Unknown action type encountered: %d", curAct.a0.actType);
+ error("Engine - Unknown action type encountered: %d", curAct._a0._actType);
}
}
@@ -572,13 +572,13 @@ void Scheduler::loadActListArr(Common::ReadStream &in) {
readAct(in, _actListArr[i][j]);
} else {
readAct(in, tmpAct);
- if (tmpAct.a0.actType == PROMPT)
- free(tmpAct.a3.responsePtr);
+ if (tmpAct._a0._actType == PROMPT)
+ free(tmpAct._a3._responsePtr);
}
}
if (varnt == _vm->_gameVariant)
- _actListArr[i][numSubElem].a0.actType = ANULL;
+ _actListArr[i][numSubElem]._a0._actType = ANULL;
}
}
}
@@ -626,9 +626,9 @@ void Scheduler::freeScheduler() {
if (_actListArr) {
for (int i = 0; i < _actListArrSize; i++) {
- for (int j = 0; _actListArr[i][j].a0.actType != ANULL; j++) {
- if (_actListArr[i][j].a0.actType == PROMPT)
- free(_actListArr[i][j].a3.responsePtr);
+ for (int j = 0; _actListArr[i][j]._a0._actType != ANULL; j++) {
+ if (_actListArr[i][j]._a0._actType == PROMPT)
+ free(_actListArr[i][j]._a3._responsePtr);
}
free(_actListArr[i]);
}
@@ -658,30 +658,30 @@ void Scheduler::processMaze(const int x1, const int x2, const int y1, const int
if (x1 < _vm->_maze._x1) {
// Exit west
- _actListArr[_alNewscrIndex][3].a8.screenIndex = *_vm->_screen_p - 1;
- _actListArr[_alNewscrIndex][0].a2.x = _vm->_maze._x2 - kShiftSize - (x2 - x1);
- _actListArr[_alNewscrIndex][0].a2.y = _vm->_hero->_y;
+ _actListArr[_alNewscrIndex][3]._a8._screenIndex = *_vm->_screen_p - 1;
+ _actListArr[_alNewscrIndex][0]._a2._x = _vm->_maze._x2 - kShiftSize - (x2 - x1);
+ _actListArr[_alNewscrIndex][0]._a2._y = _vm->_hero->_y;
_vm->_route->resetRoute();
insertActionList(_alNewscrIndex);
} else if (x2 > _vm->_maze._x2) {
// Exit east
- _actListArr[_alNewscrIndex][3].a8.screenIndex = *_vm->_screen_p + 1;
- _actListArr[_alNewscrIndex][0].a2.x = _vm->_maze._x1 + kShiftSize;
- _actListArr[_alNewscrIndex][0].a2.y = _vm->_hero->_y;
+ _actListArr[_alNewscrIndex][3]._a8._screenIndex = *_vm->_screen_p + 1;
+ _actListArr[_alNewscrIndex][0]._a2._x = _vm->_maze._x1 + kShiftSize;
+ _actListArr[_alNewscrIndex][0]._a2._y = _vm->_hero->_y;
_vm->_route->resetRoute();
insertActionList(_alNewscrIndex);
} else if (y1 < _vm->_maze._y1 - kShiftSize) {
// Exit north
- _actListArr[_alNewscrIndex][3].a8.screenIndex = *_vm->_screen_p - _vm->_maze._size;
- _actListArr[_alNewscrIndex][0].a2.x = _vm->_maze._x3;
- _actListArr[_alNewscrIndex][0].a2.y = _vm->_maze._y2 - kShiftSize - (y2 - y1);
+ _actListArr[_alNewscrIndex][3]._a8._screenIndex = *_vm->_screen_p - _vm->_maze._size;
+ _actListArr[_alNewscrIndex][0]._a2._x = _vm->_maze._x3;
+ _actListArr[_alNewscrIndex][0]._a2._y = _vm->_maze._y2 - kShiftSize - (y2 - y1);
_vm->_route->resetRoute();
insertActionList(_alNewscrIndex);
} else if (y2 > _vm->_maze._y2 - kShiftSize / 2) {
// Exit south
- _actListArr[_alNewscrIndex][3].a8.screenIndex = *_vm->_screen_p + _vm->_maze._size;
- _actListArr[_alNewscrIndex][0].a2.x = _vm->_maze._x4;
- _actListArr[_alNewscrIndex][0].a2.y = _vm->_maze._y1 + kShiftSize;
+ _actListArr[_alNewscrIndex][3]._a8._screenIndex = *_vm->_screen_p + _vm->_maze._size;
+ _actListArr[_alNewscrIndex][0]._a2._x = _vm->_maze._x4;
+ _actListArr[_alNewscrIndex][0]._a2._y = _vm->_maze._y1 + kShiftSize;
_vm->_route->resetRoute();
insertActionList(_alNewscrIndex);
}
@@ -712,13 +712,13 @@ void Scheduler::saveEvents(Common::WriteStream *f) {
// fix up action pointer (to do better)
int16 index, subElem;
- findAction(wrkEvent->action, &index, &subElem);
+ findAction(wrkEvent->_action, &index, &subElem);
f->writeSint16BE(index);
f->writeSint16BE(subElem);
- f->writeByte((wrkEvent->localActionFl) ? 1 : 0);
- f->writeUint32BE(wrkEvent->time);
- f->writeSint16BE((wrkEvent->prevEvent == 0) ? -1 : (wrkEvent->prevEvent - _events));
- f->writeSint16BE((wrkEvent->nextEvent == 0) ? -1 : (wrkEvent->nextEvent - _events));
+ f->writeByte((wrkEvent->_localActionFl) ? 1 : 0);
+ f->writeUint32BE(wrkEvent->_time);
+ f->writeSint16BE((wrkEvent->_prevEvent == 0) ? -1 : (wrkEvent->_prevEvent - _events));
+ f->writeSint16BE((wrkEvent->_nextEvent == 0) ? -1 : (wrkEvent->_nextEvent - _events));
}
}
@@ -738,7 +738,7 @@ void Scheduler::restoreActions(Common::ReadStream *f) {
int16 Scheduler::calcMaxPoints() const {
int16 tmpScore = 0;
for (int i = 0; i < _numBonuses; i++)
- tmpScore += _points[i].score;
+ tmpScore += _points[i]._score;
return tmpScore;
}
@@ -752,282 +752,282 @@ void Scheduler::saveActions(Common::WriteStream *f) const {
for (int i = 0; i < _actListArrSize; i++) {
// write all the sub elems data
- for (nbrSubElem = 1; _actListArr[i][nbrSubElem - 1].a0.actType != ANULL; nbrSubElem++)
+ for (nbrSubElem = 1; _actListArr[i][nbrSubElem - 1]._a0._actType != ANULL; nbrSubElem++)
;
f->writeUint16BE(nbrSubElem);
for (int j = 0; j < nbrSubElem; j++) {
- subElemType = _actListArr[i][j].a0.actType;
+ subElemType = _actListArr[i][j]._a0._actType;
f->writeByte(subElemType);
switch (subElemType) {
case ANULL: // -1
break;
case ASCHEDULE: // 0
- f->writeSint16BE(_actListArr[i][j].a0.timer);
- f->writeUint16BE(_actListArr[i][j].a0.actIndex);
+ f->writeSint16BE(_actListArr[i][j]._a0._timer);
+ f->writeUint16BE(_actListArr[i][j]._a0._actIndex);
break;
case START_OBJ: // 1
- f->writeSint16BE(_actListArr[i][j].a1.timer);
- f->writeSint16BE(_actListArr[i][j].a1.objIndex);
- f->writeSint16BE(_actListArr[i][j].a1.cycleNumb);
- f->writeByte(_actListArr[i][j].a1.cycle);
+ f->writeSint16BE(_actListArr[i][j]._a1._timer);
+ f->writeSint16BE(_actListArr[i][j]._a1._objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a1._cycleNumb);
+ f->writeByte(_actListArr[i][j]._a1._cycle);
break;
case INIT_OBJXY: // 2
- f->writeSint16BE(_actListArr[i][j].a2.timer);
- f->writeSint16BE(_actListArr[i][j].a2.objIndex);
- f->writeSint16BE(_actListArr[i][j].a2.x);
- f->writeSint16BE(_actListArr[i][j].a2.y);
+ f->writeSint16BE(_actListArr[i][j]._a2._timer);
+ f->writeSint16BE(_actListArr[i][j]._a2._objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a2._x);
+ f->writeSint16BE(_actListArr[i][j]._a2._y);
break;
case PROMPT: // 3
- f->writeSint16BE(_actListArr[i][j].a3.timer);
- f->writeSint16BE(_actListArr[i][j].a3.promptIndex);
- for (nbrCpt = 0; _actListArr[i][j].a3.responsePtr[nbrCpt] != -1; nbrCpt++)
+ f->writeSint16BE(_actListArr[i][j]._a3._timer);
+ f->writeSint16BE(_actListArr[i][j]._a3._promptIndex);
+ for (nbrCpt = 0; _actListArr[i][j]._a3._responsePtr[nbrCpt] != -1; nbrCpt++)
;
nbrCpt++;
f->writeUint16BE(nbrCpt);
for (int k = 0; k < nbrCpt; k++)
- f->writeSint16BE(_actListArr[i][j].a3.responsePtr[k]);
- f->writeUint16BE(_actListArr[i][j].a3.actPassIndex);
- f->writeUint16BE(_actListArr[i][j].a3.actFailIndex);
- f->writeByte((_actListArr[i][j].a3.encodedFl) ? 1 : 0);
+ f->writeSint16BE(_actListArr[i][j]._a3._responsePtr[k]);
+ f->writeUint16BE(_actListArr[i][j]._a3._actPassIndex);
+ f->writeUint16BE(_actListArr[i][j]._a3._actFailIndex);
+ f->writeByte((_actListArr[i][j]._a3._encodedFl) ? 1 : 0);
break;
case BKGD_COLOR: // 4
- f->writeSint16BE(_actListArr[i][j].a4.timer);
- f->writeUint32BE(_actListArr[i][j].a4.newBackgroundColor);
+ f->writeSint16BE(_actListArr[i][j]._a4._timer);
+ f->writeUint32BE(_actListArr[i][j]._a4._newBackgroundColor);
break;
case INIT_OBJVXY: // 5
- f->writeSint16BE(_actListArr[i][j].a5.timer);
- f->writeSint16BE(_actListArr[i][j].a5.objIndex);
- f->writeSint16BE(_actListArr[i][j].a5.vx);
- f->writeSint16BE(_actListArr[i][j].a5.vy);
+ f->writeSint16BE(_actListArr[i][j]._a5._timer);
+ f->writeSint16BE(_actListArr[i][j]._a5._objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a5._vx);
+ f->writeSint16BE(_actListArr[i][j]._a5._vy);
break;
case INIT_CARRY: // 6
- f->writeSint16BE(_actListArr[i][j].a6.timer);
- f->writeSint16BE(_actListArr[i][j].a6.objIndex);
- f->writeByte((_actListArr[i][j].a6.carriedFl) ? 1 : 0);
+ f->writeSint16BE(_actListArr[i][j]._a6._timer);
+ f->writeSint16BE(_actListArr[i][j]._a6._objIndex);
+ f->writeByte((_actListArr[i][j]._a6._carriedFl) ? 1 : 0);
break;
case INIT_HF_COORD: // 7
- f->writeSint16BE(_actListArr[i][j].a7.timer);
- f->writeSint16BE(_actListArr[i][j].a7.objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a7._timer);
+ f->writeSint16BE(_actListArr[i][j]._a7._objIndex);
break;
case NEW_SCREEN: // 8
- f->writeSint16BE(_actListArr[i][j].a8.timer);
- f->writeSint16BE(_actListArr[i][j].a8.screenIndex);
+ f->writeSint16BE(_actListArr[i][j]._a8._timer);
+ f->writeSint16BE(_actListArr[i][j]._a8._screenIndex);
break;
case INIT_OBJSTATE: // 9
- f->writeSint16BE(_actListArr[i][j].a9.timer);
- f->writeSint16BE(_actListArr[i][j].a9.objIndex);
- f->writeByte(_actListArr[i][j].a9.newState);
+ f->writeSint16BE(_actListArr[i][j]._a9._timer);
+ f->writeSint16BE(_actListArr[i][j]._a9._objIndex);
+ f->writeByte(_actListArr[i][j]._a9._newState);
break;
case INIT_PATH: // 10
- f->writeSint16BE(_actListArr[i][j].a10.timer);
- f->writeSint16BE(_actListArr[i][j].a10.objIndex);
- f->writeSint16BE(_actListArr[i][j].a10.newPathType);
- f->writeByte(_actListArr[i][j].a10.vxPath);
- f->writeByte(_actListArr[i][j].a10.vyPath);
+ f->writeSint16BE(_actListArr[i][j]._a10._timer);
+ f->writeSint16BE(_actListArr[i][j]._a10._objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a10._newPathType);
+ f->writeByte(_actListArr[i][j]._a10._vxPath);
+ f->writeByte(_actListArr[i][j]._a10._vyPath);
break;
case COND_R: // 11
- f->writeSint16BE(_actListArr[i][j].a11.timer);
- f->writeSint16BE(_actListArr[i][j].a11.objIndex);
- f->writeByte(_actListArr[i][j].a11.stateReq);
- f->writeUint16BE(_actListArr[i][j].a11.actPassIndex);
- f->writeUint16BE(_actListArr[i][j].a11.actFailIndex);
+ f->writeSint16BE(_actListArr[i][j]._a11._timer);
+ f->writeSint16BE(_actListArr[i][j]._a11._objIndex);
+ f->writeByte(_actListArr[i][j]._a11._stateReq);
+ f->writeUint16BE(_actListArr[i][j]._a11._actPassIndex);
+ f->writeUint16BE(_actListArr[i][j]._a11._actFailIndex);
break;
case TEXT: // 12
- f->writeSint16BE(_actListArr[i][j].a12.timer);
- f->writeSint16BE(_actListArr[i][j].a12.stringIndex);
+ f->writeSint16BE(_actListArr[i][j]._a12._timer);
+ f->writeSint16BE(_actListArr[i][j]._a12._stringIndex);
break;
case SWAP_IMAGES: // 13
- f->writeSint16BE(_actListArr[i][j].a13.timer);
- f->writeSint16BE(_actListArr[i][j].a13.objIndex1);
- f->writeSint16BE(_actListArr[i][j].a13.objIndex2);
+ f->writeSint16BE(_actListArr[i][j]._a13._timer);
+ f->writeSint16BE(_actListArr[i][j]._a13._objIndex1);
+ f->writeSint16BE(_actListArr[i][j]._a13._objIndex2);
break;
case COND_SCR: // 14
- f->writeSint16BE(_actListArr[i][j].a14.timer);
- f->writeSint16BE(_actListArr[i][j].a14.objIndex);
- f->writeSint16BE(_actListArr[i][j].a14.screenReq);
- f->writeUint16BE(_actListArr[i][j].a14.actPassIndex);
- f->writeUint16BE(_actListArr[i][j].a14.actFailIndex);
+ f->writeSint16BE(_actListArr[i][j]._a14._timer);
+ f->writeSint16BE(_actListArr[i][j]._a14._objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a14._screenReq);
+ f->writeUint16BE(_actListArr[i][j]._a14._actPassIndex);
+ f->writeUint16BE(_actListArr[i][j]._a14._actFailIndex);
break;
case AUTOPILOT: // 15
- f->writeSint16BE(_actListArr[i][j].a15.timer);
- f->writeSint16BE(_actListArr[i][j].a15.objIndex1);
- f->writeSint16BE(_actListArr[i][j].a15.objIndex2);
- f->writeByte(_actListArr[i][j].a15.dx);
- f->writeByte(_actListArr[i][j].a15.dy);
+ f->writeSint16BE(_actListArr[i][j]._a15._timer);
+ f->writeSint16BE(_actListArr[i][j]._a15._objIndex1);
+ f->writeSint16BE(_actListArr[i][j]._a15._objIndex2);
+ f->writeByte(_actListArr[i][j]._a15._dx);
+ f->writeByte(_actListArr[i][j]._a15._dy);
break;
case INIT_OBJ_SEQ: // 16
- f->writeSint16BE(_actListArr[i][j].a16.timer);
- f->writeSint16BE(_actListArr[i][j].a16.objIndex);
- f->writeSint16BE(_actListArr[i][j].a16.seqIndex);
+ f->writeSint16BE(_actListArr[i][j]._a16._timer);
+ f->writeSint16BE(_actListArr[i][j]._a16._objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a16._seqIndex);
break;
case SET_STATE_BITS: // 17
- f->writeSint16BE(_actListArr[i][j].a17.timer);
- f->writeSint16BE(_actListArr[i][j].a17.objIndex);
- f->writeSint16BE(_actListArr[i][j].a17.stateMask);
+ f->writeSint16BE(_actListArr[i][j]._a17._timer);
+ f->writeSint16BE(_actListArr[i][j]._a17._objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a17._stateMask);
break;
case CLEAR_STATE_BITS: // 18
- f->writeSint16BE(_actListArr[i][j].a18.timer);
- f->writeSint16BE(_actListArr[i][j].a18.objIndex);
- f->writeSint16BE(_actListArr[i][j].a18.stateMask);
+ f->writeSint16BE(_actListArr[i][j]._a18._timer);
+ f->writeSint16BE(_actListArr[i][j]._a18._objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a18._stateMask);
break;
case TEST_STATE_BITS: // 19
- f->writeSint16BE(_actListArr[i][j].a19.timer);
- f->writeSint16BE(_actListArr[i][j].a19.objIndex);
- f->writeSint16BE(_actListArr[i][j].a19.stateMask);
- f->writeUint16BE(_actListArr[i][j].a19.actPassIndex);
- f->writeUint16BE(_actListArr[i][j].a19.actFailIndex);
+ f->writeSint16BE(_actListArr[i][j]._a19._timer);
+ f->writeSint16BE(_actListArr[i][j]._a19._objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a19._stateMask);
+ f->writeUint16BE(_actListArr[i][j]._a19._actPassIndex);
+ f->writeUint16BE(_actListArr[i][j]._a19._actFailIndex);
break;
case DEL_EVENTS: // 20
- f->writeSint16BE(_actListArr[i][j].a20.timer);
- f->writeByte(_actListArr[i][j].a20.actTypeDel);
+ f->writeSint16BE(_actListArr[i][j]._a20._timer);
+ f->writeByte(_actListArr[i][j]._a20._actTypeDel);
break;
case GAMEOVER: // 21
- f->writeSint16BE(_actListArr[i][j].a21.timer);
+ f->writeSint16BE(_actListArr[i][j]._a21._timer);
break;
case INIT_HH_COORD: // 22
- f->writeSint16BE(_actListArr[i][j].a22.timer);
- f->writeSint16BE(_actListArr[i][j].a22.objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a22._timer);
+ f->writeSint16BE(_actListArr[i][j]._a22._objIndex);
break;
case EXIT: // 23
- f->writeSint16BE(_actListArr[i][j].a23.timer);
+ f->writeSint16BE(_actListArr[i][j]._a23._timer);
break;
case BONUS: // 24
- f->writeSint16BE(_actListArr[i][j].a24.timer);
- f->writeSint16BE(_actListArr[i][j].a24.pointIndex);
+ f->writeSint16BE(_actListArr[i][j]._a24._timer);
+ f->writeSint16BE(_actListArr[i][j]._a24._pointIndex);
break;
case COND_BOX: // 25
- f->writeSint16BE(_actListArr[i][j].a25.timer);
- f->writeSint16BE(_actListArr[i][j].a25.objIndex);
- f->writeSint16BE(_actListArr[i][j].a25.x1);
- f->writeSint16BE(_actListArr[i][j].a25.y1);
- f->writeSint16BE(_actListArr[i][j].a25.x2);
- f->writeSint16BE(_actListArr[i][j].a25.y2);
- f->writeUint16BE(_actListArr[i][j].a25.actPassIndex);
- f->writeUint16BE(_actListArr[i][j].a25.actFailIndex);
+ f->writeSint16BE(_actListArr[i][j]._a25._timer);
+ f->writeSint16BE(_actListArr[i][j]._a25._objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a25._x1);
+ f->writeSint16BE(_actListArr[i][j]._a25._y1);
+ f->writeSint16BE(_actListArr[i][j]._a25._x2);
+ f->writeSint16BE(_actListArr[i][j]._a25._y2);
+ f->writeUint16BE(_actListArr[i][j]._a25._actPassIndex);
+ f->writeUint16BE(_actListArr[i][j]._a25._actFailIndex);
break;
case SOUND: // 26
- f->writeSint16BE(_actListArr[i][j].a26.timer);
- f->writeSint16BE(_actListArr[i][j].a26.soundIndex);
+ f->writeSint16BE(_actListArr[i][j]._a26._timer);
+ f->writeSint16BE(_actListArr[i][j]._a26._soundIndex);
break;
case ADD_SCORE: // 27
- f->writeSint16BE(_actListArr[i][j].a27.timer);
- f->writeSint16BE(_actListArr[i][j].a27.objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a27._timer);
+ f->writeSint16BE(_actListArr[i][j]._a27._objIndex);
break;
case SUB_SCORE: // 28
- f->writeSint16BE(_actListArr[i][j].a28.timer);
- f->writeSint16BE(_actListArr[i][j].a28.objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a28._timer);
+ f->writeSint16BE(_actListArr[i][j]._a28._objIndex);
break;
case COND_CARRY: // 29
- f->writeSint16BE(_actListArr[i][j].a29.timer);
- f->writeSint16BE(_actListArr[i][j].a29.objIndex);
- f->writeUint16BE(_actListArr[i][j].a29.actPassIndex);
- f->writeUint16BE(_actListArr[i][j].a29.actFailIndex);
+ f->writeSint16BE(_actListArr[i][j]._a29._timer);
+ f->writeSint16BE(_actListArr[i][j]._a29._objIndex);
+ f->writeUint16BE(_actListArr[i][j]._a29._actPassIndex);
+ f->writeUint16BE(_actListArr[i][j]._a29._actFailIndex);
break;
case INIT_MAZE: // 30
- f->writeSint16BE(_actListArr[i][j].a30.timer);
- f->writeByte(_actListArr[i][j].a30.mazeSize);
- f->writeSint16BE(_actListArr[i][j].a30.x1);
- f->writeSint16BE(_actListArr[i][j].a30.y1);
- f->writeSint16BE(_actListArr[i][j].a30.x2);
- f->writeSint16BE(_actListArr[i][j].a30.y2);
- f->writeSint16BE(_actListArr[i][j].a30.x3);
- f->writeSint16BE(_actListArr[i][j].a30.x4);
- f->writeByte(_actListArr[i][j].a30.firstScreenIndex);
+ f->writeSint16BE(_actListArr[i][j]._a30._timer);
+ f->writeByte(_actListArr[i][j]._a30._mazeSize);
+ f->writeSint16BE(_actListArr[i][j]._a30._x1);
+ f->writeSint16BE(_actListArr[i][j]._a30._y1);
+ f->writeSint16BE(_actListArr[i][j]._a30._x2);
+ f->writeSint16BE(_actListArr[i][j]._a30._y2);
+ f->writeSint16BE(_actListArr[i][j]._a30._x3);
+ f->writeSint16BE(_actListArr[i][j]._a30._x4);
+ f->writeByte(_actListArr[i][j]._a30._firstScreenIndex);
break;
case EXIT_MAZE: // 31
- f->writeSint16BE(_actListArr[i][j].a31.timer);
+ f->writeSint16BE(_actListArr[i][j]._a31._timer);
break;
case INIT_PRIORITY: // 32
- f->writeSint16BE(_actListArr[i][j].a32.timer);
- f->writeSint16BE(_actListArr[i][j].a32.objIndex);
- f->writeByte(_actListArr[i][j].a32.priority);
+ f->writeSint16BE(_actListArr[i][j]._a32._timer);
+ f->writeSint16BE(_actListArr[i][j]._a32._objIndex);
+ f->writeByte(_actListArr[i][j]._a32._priority);
break;
case INIT_SCREEN: // 33
- f->writeSint16BE(_actListArr[i][j].a33.timer);
- f->writeSint16BE(_actListArr[i][j].a33.objIndex);
- f->writeSint16BE(_actListArr[i][j].a33.screenIndex);
+ f->writeSint16BE(_actListArr[i][j]._a33._timer);
+ f->writeSint16BE(_actListArr[i][j]._a33._objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a33._screenIndex);
break;
case AGSCHEDULE: // 34
- f->writeSint16BE(_actListArr[i][j].a34.timer);
- f->writeUint16BE(_actListArr[i][j].a34.actIndex);
+ f->writeSint16BE(_actListArr[i][j]._a34._timer);
+ f->writeUint16BE(_actListArr[i][j]._a34._actIndex);
break;
case REMAPPAL: // 35
- f->writeSint16BE(_actListArr[i][j].a35.timer);
- f->writeSint16BE(_actListArr[i][j].a35.oldColorIndex);
- f->writeSint16BE(_actListArr[i][j].a35.newColorIndex);
+ f->writeSint16BE(_actListArr[i][j]._a35._timer);
+ f->writeSint16BE(_actListArr[i][j]._a35._oldColorIndex);
+ f->writeSint16BE(_actListArr[i][j]._a35._newColorIndex);
break;
case COND_NOUN: // 36
- f->writeSint16BE(_actListArr[i][j].a36.timer);
- f->writeUint16BE(_actListArr[i][j].a36.nounIndex);
- f->writeUint16BE(_actListArr[i][j].a36.actPassIndex);
- f->writeUint16BE(_actListArr[i][j].a36.actFailIndex);
+ f->writeSint16BE(_actListArr[i][j]._a36._timer);
+ f->writeUint16BE(_actListArr[i][j]._a36._nounIndex);
+ f->writeUint16BE(_actListArr[i][j]._a36._actPassIndex);
+ f->writeUint16BE(_actListArr[i][j]._a36._actFailIndex);
break;
case SCREEN_STATE: // 37
- f->writeSint16BE(_actListArr[i][j].a37.timer);
- f->writeSint16BE(_actListArr[i][j].a37.screenIndex);
- f->writeByte(_actListArr[i][j].a37.newState);
+ f->writeSint16BE(_actListArr[i][j]._a37._timer);
+ f->writeSint16BE(_actListArr[i][j]._a37._screenIndex);
+ f->writeByte(_actListArr[i][j]._a37._newState);
break;
case INIT_LIPS: // 38
- f->writeSint16BE(_actListArr[i][j].a38.timer);
- f->writeSint16BE(_actListArr[i][j].a38.lipsObjIndex);
- f->writeSint16BE(_actListArr[i][j].a38.objIndex);
- f->writeByte(_actListArr[i][j].a38.dxLips);
- f->writeByte(_actListArr[i][j].a38.dyLips);
+ f->writeSint16BE(_actListArr[i][j]._a38._timer);
+ f->writeSint16BE(_actListArr[i][j]._a38._lipsObjIndex);
+ f->writeSint16BE(_actListArr[i][j]._a38._objIndex);
+ f->writeByte(_actListArr[i][j]._a38._dxLips);
+ f->writeByte(_actListArr[i][j]._a38._dyLips);
break;
case INIT_STORY_MODE: // 39
- f->writeSint16BE(_actListArr[i][j].a39.timer);
- f->writeByte((_actListArr[i][j].a39.storyModeFl) ? 1 : 0);
+ f->writeSint16BE(_actListArr[i][j]._a39._timer);
+ f->writeByte((_actListArr[i][j]._a39._storyModeFl) ? 1 : 0);
break;
case WARN: // 40
- f->writeSint16BE(_actListArr[i][j].a40.timer);
- f->writeSint16BE(_actListArr[i][j].a40.stringIndex);
+ f->writeSint16BE(_actListArr[i][j]._a40._timer);
+ f->writeSint16BE(_actListArr[i][j]._a40._stringIndex);
break;
case COND_BONUS: // 41
- f->writeSint16BE(_actListArr[i][j].a41.timer);
- f->writeSint16BE(_actListArr[i][j].a41.BonusIndex);
- f->writeUint16BE(_actListArr[i][j].a41.actPassIndex);
- f->writeUint16BE(_actListArr[i][j].a41.actFailIndex);
+ f->writeSint16BE(_actListArr[i][j]._a41._timer);
+ f->writeSint16BE(_actListArr[i][j]._a41._bonusIndex);
+ f->writeUint16BE(_actListArr[i][j]._a41._actPassIndex);
+ f->writeUint16BE(_actListArr[i][j]._a41._actFailIndex);
break;
case TEXT_TAKE: // 42
- f->writeSint16BE(_actListArr[i][j].a42.timer);
- f->writeSint16BE(_actListArr[i][j].a42.objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a42._timer);
+ f->writeSint16BE(_actListArr[i][j]._a42._objIndex);
break;
case YESNO: // 43
- f->writeSint16BE(_actListArr[i][j].a43.timer);
- f->writeSint16BE(_actListArr[i][j].a43.promptIndex);
- f->writeUint16BE(_actListArr[i][j].a43.actYesIndex);
- f->writeUint16BE(_actListArr[i][j].a43.actNoIndex);
+ f->writeSint16BE(_actListArr[i][j]._a43._timer);
+ f->writeSint16BE(_actListArr[i][j]._a43._promptIndex);
+ f->writeUint16BE(_actListArr[i][j]._a43._actYesIndex);
+ f->writeUint16BE(_actListArr[i][j]._a43._actNoIndex);
break;
case STOP_ROUTE: // 44
- f->writeSint16BE(_actListArr[i][j].a44.timer);
+ f->writeSint16BE(_actListArr[i][j]._a44._timer);
break;
case COND_ROUTE: // 45
- f->writeSint16BE(_actListArr[i][j].a45.timer);
- f->writeSint16BE(_actListArr[i][j].a45.routeIndex);
- f->writeUint16BE(_actListArr[i][j].a45.actPassIndex);
- f->writeUint16BE(_actListArr[i][j].a45.actFailIndex);
+ f->writeSint16BE(_actListArr[i][j]._a45._timer);
+ f->writeSint16BE(_actListArr[i][j]._a45._routeIndex);
+ f->writeUint16BE(_actListArr[i][j]._a45._actPassIndex);
+ f->writeUint16BE(_actListArr[i][j]._a45._actFailIndex);
break;
case INIT_JUMPEXIT: // 46
- f->writeSint16BE(_actListArr[i][j].a46.timer);
- f->writeByte((_actListArr[i][j].a46.jumpExitFl) ? 1 : 0);
+ f->writeSint16BE(_actListArr[i][j]._a46._timer);
+ f->writeByte((_actListArr[i][j]._a46._jumpExitFl) ? 1 : 0);
break;
case INIT_VIEW: // 47
- f->writeSint16BE(_actListArr[i][j].a47.timer);
- f->writeSint16BE(_actListArr[i][j].a47.objIndex);
- f->writeSint16BE(_actListArr[i][j].a47.viewx);
- f->writeSint16BE(_actListArr[i][j].a47.viewy);
- f->writeSint16BE(_actListArr[i][j].a47.direction);
+ f->writeSint16BE(_actListArr[i][j]._a47._timer);
+ f->writeSint16BE(_actListArr[i][j]._a47._objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a47._viewx);
+ f->writeSint16BE(_actListArr[i][j]._a47._viewy);
+ f->writeSint16BE(_actListArr[i][j]._a47._direction);
break;
case INIT_OBJ_FRAME: // 48
- f->writeSint16BE(_actListArr[i][j].a48.timer);
- f->writeSint16BE(_actListArr[i][j].a48.objIndex);
- f->writeSint16BE(_actListArr[i][j].a48.seqIndex);
- f->writeSint16BE(_actListArr[i][j].a48.frameIndex);
+ f->writeSint16BE(_actListArr[i][j]._a48._timer);
+ f->writeSint16BE(_actListArr[i][j]._a48._objIndex);
+ f->writeSint16BE(_actListArr[i][j]._a48._seqIndex);
+ f->writeSint16BE(_actListArr[i][j]._a48._frameIndex);
break;
case OLD_SONG: // 49, Added by Strangerke for DOS versions
- f->writeSint16BE(_actListArr[i][j].a49.timer);
- f->writeUint16BE(_actListArr[i][j].a49.songIndex);
+ f->writeSint16BE(_actListArr[i][j]._a49._timer);
+ f->writeUint16BE(_actListArr[i][j]._a49._songIndex);
break;
default:
error("Unknown action %d", subElemType);
@@ -1057,7 +1057,7 @@ void Scheduler::findAction(const act* action, int16* index, int16* subElem) {
return;
}
j++;
- } while (_actListArr[i][j-1].a0.actType != ANULL);
+ } while (_actListArr[i][j-1]._a0._actType != ANULL);
}
// action not found ??
assert(0);
@@ -1102,18 +1102,18 @@ void Scheduler::restoreEvents(Common::ReadStream *f) {
// fix up action pointer (to do better)
if ((index == -1) && (subElem == -1))
- _events[i].action = 0;
+ _events[i]._action = 0;
else
- _events[i].action = (act *)&_actListArr[index][subElem];
+ _events[i]._action = (act *)&_actListArr[index][subElem];
- _events[i].localActionFl = (f->readByte() == 1) ? true : false;
- _events[i].time = f->readUint32BE();
+ _events[i]._localActionFl = (f->readByte() == 1) ? true : false;
+ _events[i]._time = f->readUint32BE();
int16 prevIndex = f->readSint16BE();
int16 nextIndex = f->readSint16BE();
- _events[i].prevEvent = (prevIndex == -1) ? (event_t *)0 : &_events[prevIndex];
- _events[i].nextEvent = (nextIndex == -1) ? (event_t *)0 : &_events[nextIndex];
+ _events[i]._prevEvent = (prevIndex == -1) ? (event_t *)0 : &_events[prevIndex];
+ _events[i]._nextEvent = (nextIndex == -1) ? (event_t *)0 : &_events[nextIndex];
}
_freeEvent = (freeIndex == -1) ? 0 : &_events[freeIndex];
_headEvent = (headIndex == -1) ? 0 : &_events[headIndex];
@@ -1123,8 +1123,8 @@ void Scheduler::restoreEvents(Common::ReadStream *f) {
uint32 curTime = getTicks();
event_t *wrkEvent = _headEvent; // The earliest event
while (wrkEvent) { // While mature events found
- wrkEvent->time = wrkEvent->time - saveTime + curTime;
- wrkEvent = wrkEvent->nextEvent;
+ wrkEvent->_time = wrkEvent->_time - saveTime + curTime;
+ wrkEvent = wrkEvent->_nextEvent;
}
}
@@ -1133,52 +1133,52 @@ void Scheduler::restoreEvents(Common::ReadStream *f) {
* The queue goes from head (earliest) to tail (latest) timewise
*/
void Scheduler::insertAction(act *action) {
- debugC(1, kDebugSchedule, "insertAction() - Action type A%d", action->a0.actType);
+ debugC(1, kDebugSchedule, "insertAction() - Action type A%d", action->_a0._actType);
// First, get and initialize the event structure
event_t *curEvent = getQueue();
- curEvent->action = action;
- switch (action->a0.actType) { // Assign whether local or global
+ curEvent->_action = action;
+ switch (action->_a0._actType) { // Assign whether local or global
case AGSCHEDULE:
- curEvent->localActionFl = false; // Lasts over a new screen
+ curEvent->_localActionFl = false; // Lasts over a new screen
break;
// Workaround: When dying, switch to storyMode in order to block the keyboard.
case GAMEOVER:
_vm->getGameStatus()._storyModeFl = true;
// No break on purpose
default:
- curEvent->localActionFl = true; // Rest are for current screen only
+ curEvent->_localActionFl = true; // Rest are for current screen only
break;
}
- curEvent->time = action->a0.timer + getTicks(); // Convert rel to abs time
+ curEvent->_time = action->_a0._timer + getTicks(); // Convert rel to abs time
// Now find the place to insert the event
if (!_tailEvent) { // Empty queue
_tailEvent = _headEvent = curEvent;
- curEvent->nextEvent = curEvent->prevEvent = 0;
+ curEvent->_nextEvent = curEvent->_prevEvent = 0;
} else {
event_t *wrkEvent = _tailEvent; // Search from latest time back
bool found = false;
while (wrkEvent && !found) {
- if (wrkEvent->time <= curEvent->time) { // Found if new event later
+ if (wrkEvent->_time <= curEvent->_time) { // Found if new event later
found = true;
if (wrkEvent == _tailEvent) // New latest in list
_tailEvent = curEvent;
else
- wrkEvent->nextEvent->prevEvent = curEvent;
- curEvent->nextEvent = wrkEvent->nextEvent;
- wrkEvent->nextEvent = curEvent;
- curEvent->prevEvent = wrkEvent;
+ wrkEvent->_nextEvent->_prevEvent = curEvent;
+ curEvent->_nextEvent = wrkEvent->_nextEvent;
+ wrkEvent->_nextEvent = curEvent;
+ curEvent->_prevEvent = wrkEvent;
}
- wrkEvent = wrkEvent->prevEvent;
+ wrkEvent = wrkEvent->_prevEvent;
}
if (!found) { // Must be earliest in list
- _headEvent->prevEvent = curEvent; // So insert as new head
- curEvent->nextEvent = _headEvent;
- curEvent->prevEvent = 0;
+ _headEvent->_prevEvent = curEvent; // So insert as new head
+ curEvent->_nextEvent = _headEvent;
+ curEvent->_prevEvent = 0;
_headEvent = curEvent;
}
}
@@ -1190,94 +1190,94 @@ void Scheduler::insertAction(act *action) {
* to the next action in the list, except special case of NEW_SCREEN
*/
event_t *Scheduler::doAction(event_t *curEvent) {
- debugC(1, kDebugSchedule, "doAction - Event action type : %d", curEvent->action->a0.actType);
+ debugC(1, kDebugSchedule, "doAction - Event action type : %d", curEvent->_action->_a0._actType);
status_t &gameStatus = _vm->getGameStatus();
- act *action = curEvent->action;
+ act *action = curEvent->_action;
object_t *obj1;
int dx, dy;
event_t *wrkEvent; // Save ev_p->next_p for return
- switch (action->a0.actType) {
+ switch (action->_a0._actType) {
case ANULL: // Big NOP from DEL_EVENTS
break;
case ASCHEDULE: // act0: Schedule an action list
- insertActionList(action->a0.actIndex);
+ insertActionList(action->_a0._actIndex);
break;
case START_OBJ: // act1: Start an object cycling
- _vm->_object->_objects[action->a1.objIndex]._cycleNumb = action->a1.cycleNumb;
- _vm->_object->_objects[action->a1.objIndex]._cycling = action->a1.cycle;
+ _vm->_object->_objects[action->_a1._objIndex]._cycleNumb = action->_a1._cycleNumb;
+ _vm->_object->_objects[action->_a1._objIndex]._cycling = action->_a1._cycle;
break;
case INIT_OBJXY: // act2: Initialize an object
- _vm->_object->_objects[action->a2.objIndex]._x = action->a2.x; // Coordinates
- _vm->_object->_objects[action->a2.objIndex]._y = action->a2.y;
+ _vm->_object->_objects[action->_a2._objIndex]._x = action->_a2._x; // Coordinates
+ _vm->_object->_objects[action->_a2._objIndex]._y = action->_a2._y;
break;
case PROMPT: // act3: Prompt user for key phrase
promptAction(action);
break;
case BKGD_COLOR: // act4: Set new background color
- _vm->_screen->setBackgroundColor(action->a4.newBackgroundColor);
+ _vm->_screen->setBackgroundColor(action->_a4._newBackgroundColor);
break;
case INIT_OBJVXY: // act5: Initialize an object velocity
- _vm->_object->setVelocity(action->a5.objIndex, action->a5.vx, action->a5.vy);
+ _vm->_object->setVelocity(action->_a5._objIndex, action->_a5._vx, action->_a5._vy);
break;
case INIT_CARRY: // act6: Initialize an object
- _vm->_object->setCarry(action->a6.objIndex, action->a6.carriedFl); // carried status
+ _vm->_object->setCarry(action->_a6._objIndex, action->_a6._carriedFl); // carried status
break;
case INIT_HF_COORD: // act7: Initialize an object to hero's "feet" coords
- _vm->_object->_objects[action->a7.objIndex]._x = _vm->_hero->_x - 1;
- _vm->_object->_objects[action->a7.objIndex]._y = _vm->_hero->_y + _vm->_hero->_currImagePtr->_y2 - 1;
- _vm->_object->_objects[action->a7.objIndex]._screenIndex = *_vm->_screen_p; // Don't forget screen!
+ _vm->_object->_objects[action->_a7._objIndex]._x = _vm->_hero->_x - 1;
+ _vm->_object->_objects[action->_a7._objIndex]._y = _vm->_hero->_y + _vm->_hero->_currImagePtr->_y2 - 1;
+ _vm->_object->_objects[action->_a7._objIndex]._screenIndex = *_vm->_screen_p; // Don't forget screen!
break;
case NEW_SCREEN: // act8: Start new screen
- newScreen(action->a8.screenIndex);
+ newScreen(action->_a8._screenIndex);
break;
case INIT_OBJSTATE: // act9: Initialize an object state
- _vm->_object->_objects[action->a9.objIndex]._state = action->a9.newState;
+ _vm->_object->_objects[action->_a9._objIndex]._state = action->_a9._newState;
break;
case INIT_PATH: // act10: Initialize an object path and velocity
- _vm->_object->setPath(action->a10.objIndex, (path_t) action->a10.newPathType, action->a10.vxPath, action->a10.vyPath);
+ _vm->_object->setPath(action->_a10._objIndex, (path_t) action->_a10._newPathType, action->_a10._vxPath, action->_a10._vyPath);
break;
case COND_R: // act11: action lists conditional on object state
- if (_vm->_object->_objects[action->a11.objIndex]._state == action->a11.stateReq)
- insertActionList(action->a11.actPassIndex);
+ if (_vm->_object->_objects[action->_a11._objIndex]._state == action->_a11._stateReq)
+ insertActionList(action->_a11._actPassIndex);
else
- insertActionList(action->a11.actFailIndex);
+ insertActionList(action->_a11._actFailIndex);
break;
case TEXT: // act12: Text box (CF WARN)
- Utils::notifyBox(_vm->_file->fetchString(action->a12.stringIndex)); // Fetch string from file
+ Utils::notifyBox(_vm->_file->fetchString(action->_a12._stringIndex)); // Fetch string from file
break;
case SWAP_IMAGES: // act13: Swap 2 object images
- _vm->_object->swapImages(action->a13.objIndex1, action->a13.objIndex2);
+ _vm->_object->swapImages(action->_a13._objIndex1, action->_a13._objIndex2);
break;
case COND_SCR: // act14: Conditional on current screen
- if (_vm->_object->_objects[action->a14.objIndex]._screenIndex == action->a14.screenReq)
- insertActionList(action->a14.actPassIndex);
+ if (_vm->_object->_objects[action->_a14._objIndex]._screenIndex == action->_a14._screenReq)
+ insertActionList(action->_a14._actPassIndex);
else
- insertActionList(action->a14.actFailIndex);
+ insertActionList(action->_a14._actFailIndex);
break;
case AUTOPILOT: // act15: Home in on a (stationary) object
- _vm->_object->homeIn(action->a15.objIndex1, action->a15.objIndex2, action->a15.dx, action->a15.dy);
+ _vm->_object->homeIn(action->_a15._objIndex1, action->_a15._objIndex2, action->_a15._dx, action->_a15._dy);
break;
case INIT_OBJ_SEQ: // act16: Set sequence number to use
// Note: Don't set a sequence at time 0 of a new screen, it causes
// problems clearing the boundary bits of the object! t>0 is safe
- _vm->_object->_objects[action->a16.objIndex]._currImagePtr = _vm->_object->_objects[action->a16.objIndex]._seqList[action->a16.seqIndex]._seqPtr;
+ _vm->_object->_objects[action->_a16._objIndex]._currImagePtr = _vm->_object->_objects[action->_a16._objIndex]._seqList[action->_a16._seqIndex]._seqPtr;
break;
case SET_STATE_BITS: // act17: OR mask with curr obj state
- _vm->_object->_objects[action->a17.objIndex]._state |= action->a17.stateMask;
+ _vm->_object->_objects[action->_a17._objIndex]._state |= action->_a17._stateMask;
break;
case CLEAR_STATE_BITS: // act18: AND ~mask with curr obj state
- _vm->_object->_objects[action->a18.objIndex]._state &= ~action->a18.stateMask;
+ _vm->_object->_objects[action->_a18._objIndex]._state &= ~action->_a18._stateMask;
break;
case TEST_STATE_BITS: // act19: If all bits set, do apass else afail
- if ((_vm->_object->_objects[action->a19.objIndex]._state & action->a19.stateMask) == action->a19.stateMask)
- insertActionList(action->a19.actPassIndex);
+ if ((_vm->_object->_objects[action->_a19._objIndex]._state & action->_a19._stateMask) == action->_a19._stateMask)
+ insertActionList(action->_a19._actPassIndex);
else
- insertActionList(action->a19.actFailIndex);
+ insertActionList(action->_a19._actFailIndex);
break;
case DEL_EVENTS: // act20: Remove all events of this action type
- delEventType(action->a20.actTypeDel);
+ delEventType(action->_a20._actTypeDel);
break;
case GAMEOVER: // act21: Game over!
// NOTE: Must wait at least 1 tick before issuing this action if
@@ -1285,148 +1285,148 @@ event_t *Scheduler::doAction(event_t *curEvent) {
gameStatus._gameOverFl = true;
break;
case INIT_HH_COORD: // act22: Initialize an object to hero's actual coords
- _vm->_object->_objects[action->a22.objIndex]._x = _vm->_hero->_x;
- _vm->_object->_objects[action->a22.objIndex]._y = _vm->_hero->_y;
- _vm->_object->_objects[action->a22.objIndex]._screenIndex = *_vm->_screen_p;// Don't forget screen!
+ _vm->_object->_objects[action->_a22._objIndex]._x = _vm->_hero->_x;
+ _vm->_object->_objects[action->_a22._objIndex]._y = _vm->_hero->_y;
+ _vm->_object->_objects[action->_a22._objIndex]._screenIndex = *_vm->_screen_p;// Don't forget screen!
break;
case EXIT: // act23: Exit game back to DOS
_vm->endGame();
break;
case BONUS: // act24: Get bonus score for action
- processBonus(action->a24.pointIndex);
+ processBonus(action->_a24._pointIndex);
break;
case COND_BOX: // act25: Conditional on bounding box
- obj1 = &_vm->_object->_objects[action->a25.objIndex];
+ obj1 = &_vm->_object->_objects[action->_a25._objIndex];
dx = obj1->_x + obj1->_currImagePtr->_x1;
dy = obj1->_y + obj1->_currImagePtr->_y2;
- if ((dx >= action->a25.x1) && (dx <= action->a25.x2) &&
- (dy >= action->a25.y1) && (dy <= action->a25.y2))
- insertActionList(action->a25.actPassIndex);
+ if ((dx >= action->_a25._x1) && (dx <= action->_a25._x2) &&
+ (dy >= action->_a25._y1) && (dy <= action->_a25._y2))
+ insertActionList(action->_a25._actPassIndex);
else
- insertActionList(action->a25.actFailIndex);
+ insertActionList(action->_a25._actFailIndex);
break;
case SOUND: // act26: Play a sound (or tune)
- if (action->a26.soundIndex < _vm->_tunesNbr)
- _vm->_sound->playMusic(action->a26.soundIndex);
+ if (action->_a26._soundIndex < _vm->_tunesNbr)
+ _vm->_sound->playMusic(action->_a26._soundIndex);
else
- _vm->_sound->playSound(action->a26.soundIndex, kSoundPriorityMedium);
+ _vm->_sound->playSound(action->_a26._soundIndex, kSoundPriorityMedium);
break;
case ADD_SCORE: // act27: Add object's value to score
- _vm->adjustScore(_vm->_object->_objects[action->a27.objIndex]._objValue);
+ _vm->adjustScore(_vm->_object->_objects[action->_a27._objIndex]._objValue);
break;
case SUB_SCORE: // act28: Subtract object's value from score
- _vm->adjustScore(-_vm->_object->_objects[action->a28.objIndex]._objValue);
+ _vm->adjustScore(-_vm->_object->_objects[action->_a28._objIndex]._objValue);
break;
case COND_CARRY: // act29: Conditional on object being carried
- if (_vm->_object->isCarried(action->a29.objIndex))
- insertActionList(action->a29.actPassIndex);
+ if (_vm->_object->isCarried(action->_a29._objIndex))
+ insertActionList(action->_a29._actPassIndex);
else
- insertActionList(action->a29.actFailIndex);
+ insertActionList(action->_a29._actFailIndex);
break;
case INIT_MAZE: // act30: Enable and init maze structure
_vm->_maze._enabledFl = true;
- _vm->_maze._size = action->a30.mazeSize;
- _vm->_maze._x1 = action->a30.x1;
- _vm->_maze._y1 = action->a30.y1;
- _vm->_maze._x2 = action->a30.x2;
- _vm->_maze._y2 = action->a30.y2;
- _vm->_maze._x3 = action->a30.x3;
- _vm->_maze._x4 = action->a30.x4;
- _vm->_maze._firstScreenIndex = action->a30.firstScreenIndex;
+ _vm->_maze._size = action->_a30._mazeSize;
+ _vm->_maze._x1 = action->_a30._x1;
+ _vm->_maze._y1 = action->_a30._y1;
+ _vm->_maze._x2 = action->_a30._x2;
+ _vm->_maze._y2 = action->_a30._y2;
+ _vm->_maze._x3 = action->_a30._x3;
+ _vm->_maze._x4 = action->_a30._x4;
+ _vm->_maze._firstScreenIndex = action->_a30._firstScreenIndex;
break;
case EXIT_MAZE: // act31: Disable maze mode
_vm->_maze._enabledFl = false;
break;
case INIT_PRIORITY:
- _vm->_object->_objects[action->a32.objIndex]._priority = action->a32.priority;
+ _vm->_object->_objects[action->_a32._objIndex]._priority = action->_a32._priority;
break;
case INIT_SCREEN:
- _vm->_object->_objects[action->a33.objIndex]._screenIndex = action->a33.screenIndex;
+ _vm->_object->_objects[action->_a33._objIndex]._screenIndex = action->_a33._screenIndex;
break;
case AGSCHEDULE: // act34: Schedule a (global) action list
- insertActionList(action->a34.actIndex);
+ insertActionList(action->_a34._actIndex);
break;
case REMAPPAL: // act35: Remap a palette color
- _vm->_screen->remapPal(action->a35.oldColorIndex, action->a35.newColorIndex);
+ _vm->_screen->remapPal(action->_a35._oldColorIndex, action->_a35._newColorIndex);
break;
case COND_NOUN: // act36: Conditional on noun mentioned
- if (_vm->_parser->isWordPresent(_vm->_text->getNounArray(action->a36.nounIndex)))
- insertActionList(action->a36.actPassIndex);
+ if (_vm->_parser->isWordPresent(_vm->_text->getNounArray(action->_a36._nounIndex)))
+ insertActionList(action->_a36._actPassIndex);
else
- insertActionList(action->a36.actFailIndex);
+ insertActionList(action->_a36._actFailIndex);
break;
case SCREEN_STATE: // act37: Set new screen state
- _vm->_screenStates[action->a37.screenIndex] = action->a37.newState;
+ _vm->_screenStates[action->_a37._screenIndex] = action->_a37._newState;
break;
case INIT_LIPS: // act38: Position lips on object
- _vm->_object->_objects[action->a38.lipsObjIndex]._x = _vm->_object->_objects[action->a38.objIndex]._x + action->a38.dxLips;
- _vm->_object->_objects[action->a38.lipsObjIndex]._y = _vm->_object->_objects[action->a38.objIndex]._y + action->a38.dyLips;
- _vm->_object->_objects[action->a38.lipsObjIndex]._screenIndex = *_vm->_screen_p; // Don't forget screen!
- _vm->_object->_objects[action->a38.lipsObjIndex]._cycling = kCycleForward;
+ _vm->_object->_objects[action->_a38._lipsObjIndex]._x = _vm->_object->_objects[action->_a38._objIndex]._x + action->_a38._dxLips;
+ _vm->_object->_objects[action->_a38._lipsObjIndex]._y = _vm->_object->_objects[action->_a38._objIndex]._y + action->_a38._dyLips;
+ _vm->_object->_objects[action->_a38._lipsObjIndex]._screenIndex = *_vm->_screen_p; // Don't forget screen!
+ _vm->_object->_objects[action->_a38._lipsObjIndex]._cycling = kCycleForward;
break;
case INIT_STORY_MODE: // act39: Init story_mode flag
// This is similar to the QUIET path mode, except that it is
// independant of it and it additionally disables the ">" prompt
- gameStatus._storyModeFl = action->a39.storyModeFl;
+ gameStatus._storyModeFl = action->_a39._storyModeFl;
break;
case WARN: // act40: Text box (CF TEXT)
- Utils::notifyBox(_vm->_file->fetchString(action->a40.stringIndex));
+ Utils::notifyBox(_vm->_file->fetchString(action->_a40._stringIndex));
break;
case COND_BONUS: // act41: Perform action if got bonus
- if (_points[action->a41.BonusIndex].scoredFl)
- insertActionList(action->a41.actPassIndex);
+ if (_points[action->_a41._bonusIndex]._scoredFl)
+ insertActionList(action->_a41._actPassIndex);
else
- insertActionList(action->a41.actFailIndex);
+ insertActionList(action->_a41._actFailIndex);
break;
case TEXT_TAKE: // act42: Text box with "take" message
- Utils::notifyBox(Common::String::format(TAKE_TEXT, _vm->_text->getNoun(_vm->_object->_objects[action->a42.objIndex]._nounIndex, TAKE_NAME)));
+ Utils::notifyBox(Common::String::format(TAKE_TEXT, _vm->_text->getNoun(_vm->_object->_objects[action->_a42._objIndex]._nounIndex, TAKE_NAME)));
break;
case YESNO: // act43: Prompt user for Yes or No
- if (Utils::yesNoBox(_vm->_file->fetchString(action->a43.promptIndex)))
- insertActionList(action->a43.actYesIndex);
+ if (Utils::yesNoBox(_vm->_file->fetchString(action->_a43._promptIndex)))
+ insertActionList(action->_a43._actYesIndex);
else
- insertActionList(action->a43.actNoIndex);
+ insertActionList(action->_a43._actNoIndex);
break;
case STOP_ROUTE: // act44: Stop any route in progress
_vm->_route->resetRoute();
break;
case COND_ROUTE: // act45: Conditional on route in progress
- if (_vm->_route->getRouteIndex() >= action->a45.routeIndex)
- insertActionList(action->a45.actPassIndex);
+ if (_vm->_route->getRouteIndex() >= action->_a45._routeIndex)
+ insertActionList(action->_a45._actPassIndex);
else
- insertActionList(action->a45.actFailIndex);
+ insertActionList(action->_a45._actFailIndex);
break;
case INIT_JUMPEXIT: // act46: Init status.jumpexit flag
// This is to allow left click on exit to get there immediately
// For example the plane crash in Hugo2 where hero is invisible
// Couldn't use INVISIBLE flag since conflicts with boat in Hugo1
- _vm->_mouse->setJumpExitFl(action->a46.jumpExitFl);
+ _vm->_mouse->setJumpExitFl(action->_a46._jumpExitFl);
break;
- case INIT_VIEW: // act47: Init object.viewx, viewy, dir
- _vm->_object->_objects[action->a47.objIndex]._viewx = action->a47.viewx;
- _vm->_object->_objects[action->a47.objIndex]._viewy = action->a47.viewy;
- _vm->_object->_objects[action->a47.objIndex]._direction = action->a47.direction;
+ case INIT_VIEW: // act47: Init object._viewx, viewy, dir
+ _vm->_object->_objects[action->_a47._objIndex]._viewx = action->_a47._viewx;
+ _vm->_object->_objects[action->_a47._objIndex]._viewy = action->_a47._viewy;
+ _vm->_object->_objects[action->_a47._objIndex]._direction = action->_a47._direction;
break;
case INIT_OBJ_FRAME: // act48: Set seq,frame number to use
// Note: Don't set a sequence at time 0 of a new screen, it causes
// problems clearing the boundary bits of the object! t>0 is safe
- _vm->_object->_objects[action->a48.objIndex]._currImagePtr = _vm->_object->_objects[action->a48.objIndex]._seqList[action->a48.seqIndex]._seqPtr;
- for (dx = 0; dx < action->a48.frameIndex; dx++)
- _vm->_object->_objects[action->a48.objIndex]._currImagePtr = _vm->_object->_objects[action->a48.objIndex]._currImagePtr->_nextSeqPtr;
+ _vm->_object->_objects[action->_a48._objIndex]._currImagePtr = _vm->_object->_objects[action->_a48._objIndex]._seqList[action->_a48._seqIndex]._seqPtr;
+ for (dx = 0; dx < action->_a48._frameIndex; dx++)
+ _vm->_object->_objects[action->_a48._objIndex]._currImagePtr = _vm->_object->_objects[action->_a48._objIndex]._currImagePtr->_nextSeqPtr;
break;
case OLD_SONG:
// Replaces ACT26 for DOS games.
- _vm->_sound->_DOSSongPtr = _vm->_text->getTextData(action->a49.songIndex);
+ _vm->_sound->_DOSSongPtr = _vm->_text->getTextData(action->_a49._songIndex);
break;
default:
error("An error has occurred: %s", "doAction");
break;
}
- if (action->a0.actType == NEW_SCREEN) { // New_screen() deletes entire list
+ if (action->_a0._actType == NEW_SCREEN) { // New_screen() deletes entire list
return 0; // next_p = 0 since list now empty
} else {
- wrkEvent = curEvent->nextEvent;
+ wrkEvent = curEvent->_nextEvent;
delQueue(curEvent); // Return event to free list
return wrkEvent; // Return next event ptr
}
@@ -1445,37 +1445,37 @@ void Scheduler::delQueue(event_t *curEvent) {
debugC(4, kDebugSchedule, "delQueue()");
if (curEvent == _headEvent) { // If p was the head ptr
- _headEvent = curEvent->nextEvent; // then make new head_p
+ _headEvent = curEvent->_nextEvent; // then make new head_p
} else { // Unlink p
- curEvent->prevEvent->nextEvent = curEvent->nextEvent;
- if (curEvent->nextEvent)
- curEvent->nextEvent->prevEvent = curEvent->prevEvent;
+ curEvent->_prevEvent->_nextEvent = curEvent->_nextEvent;
+ if (curEvent->_nextEvent)
+ curEvent->_nextEvent->_prevEvent = curEvent->_prevEvent;
else
- _tailEvent = curEvent->prevEvent;
+ _tailEvent = curEvent->_prevEvent;
}
if (_headEvent)
- _headEvent->prevEvent = 0; // Mark end of list
+ _headEvent->_prevEvent = 0; // Mark end of list
else
_tailEvent = 0; // Empty queue
- curEvent->nextEvent = _freeEvent; // Return p to free list
+ curEvent->_nextEvent = _freeEvent; // Return p to free list
if (_freeEvent) // Special case, if free list was empty
- _freeEvent->prevEvent = curEvent;
+ _freeEvent->_prevEvent = curEvent;
_freeEvent = curEvent;
}
/**
* Delete all the active events of a given type
*/
-void Scheduler::delEventType(const action_t actTypeDel) {
+void Scheduler::delEventType(const action_t _actTypeDel) {
// Note: actions are not deleted here, simply turned into NOPs!
event_t *wrkEvent = _headEvent; // The earliest event
event_t *saveEvent;
while (wrkEvent) { // While events found in list
- saveEvent = wrkEvent->nextEvent;
- if (wrkEvent->action->a20.actType == actTypeDel)
+ saveEvent = wrkEvent->_nextEvent;
+ if (wrkEvent->_action->_a20._actType == _actTypeDel)
delQueue(wrkEvent);
wrkEvent = saveEvent;
}
@@ -1486,8 +1486,8 @@ void Scheduler::delEventType(const action_t actTypeDel) {
*/
void Scheduler::savePoints(Common::WriteStream *out) const {
for (int i = 0; i < _numBonuses; i++) {
- out->writeByte(_points[i].score);
- out->writeByte((_points[i].scoredFl) ? 1 : 0);
+ out->writeByte(_points[i]._score);
+ out->writeByte((_points[i]._scoredFl) ? 1 : 0);
}
}
@@ -1497,8 +1497,8 @@ void Scheduler::savePoints(Common::WriteStream *out) const {
void Scheduler::restorePoints(Common::ReadStream *in) {
// Restore points table
for (int i = 0; i < _numBonuses; i++) {
- _points[i].score = in->readByte();
- _points[i].scoredFl = (in->readByte() == 1);
+ _points[i]._score = in->readByte();
+ _points[i]._scoredFl = (in->readByte() == 1);
}
}
@@ -1527,27 +1527,27 @@ void Scheduler_v1d::runScheduler() {
uint32 ticker = getTicks(); // The time now, in ticks
event_t *curEvent = _headEvent; // The earliest event
- while (curEvent && (curEvent->time <= ticker)) // While mature events found
+ while (curEvent && (curEvent->_time <= ticker)) // While mature events found
curEvent = doAction(curEvent); // Perform the action (returns next_p)
}
void Scheduler_v1d::promptAction(act *action) {
Common::String response;
- response = Utils::promptBox(_vm->_file->fetchString(action->a3.promptIndex));
+ response = Utils::promptBox(_vm->_file->fetchString(action->_a3._promptIndex));
response.toLowercase();
char resp[256];
Common::strlcpy(resp, response.c_str(), 256);
- if (action->a3.encodedFl)
+ if (action->_a3._encodedFl)
decodeString(resp);
- if (strstr(resp, _vm->_file->fetchString(action->a3.responsePtr[0])))
- insertActionList(action->a3.actPassIndex);
+ if (strstr(resp, _vm->_file->fetchString(action->_a3._responsePtr[0])))
+ insertActionList(action->_a3._actPassIndex);
else
- insertActionList(action->a3.actFailIndex);
+ insertActionList(action->_a3._actFailIndex);
}
/**
@@ -1577,24 +1577,24 @@ const char *Scheduler_v2d::getCypher() const {
void Scheduler_v2d::promptAction(act *action) {
Common::String response;
- response = Utils::promptBox(_vm->_file->fetchString(action->a3.promptIndex));
+ response = Utils::promptBox(_vm->_file->fetchString(action->_a3._promptIndex));
response.toLowercase();
- debug(1, "doAction(act3), expecting answer %s", _vm->_file->fetchString(action->a3.responsePtr[0]));
+ debug(1, "doAction(act3), expecting answer %s", _vm->_file->fetchString(action->_a3._responsePtr[0]));
bool found = false;
const char *tmpStr; // General purpose string ptr
- for (int dx = 0; !found && (action->a3.responsePtr[dx] != -1); dx++) {
- tmpStr = _vm->_file->fetchString(action->a3.responsePtr[dx]);
+ for (int dx = 0; !found && (action->_a3._responsePtr[dx] != -1); dx++) {
+ tmpStr = _vm->_file->fetchString(action->_a3._responsePtr[dx]);
if (response.contains(tmpStr))
found = true;
}
if (found)
- insertActionList(action->a3.actPassIndex);
+ insertActionList(action->_a3._actPassIndex);
else
- insertActionList(action->a3.actFailIndex);
+ insertActionList(action->_a3._actFailIndex);
}
/**
@@ -1641,9 +1641,9 @@ void Scheduler_v1w::runScheduler() {
uint32 ticker = getTicks(); // The time now, in ticks
event_t *curEvent = _headEvent; // The earliest event
- while (curEvent && (curEvent->time <= ticker)) // While mature events found
+ while (curEvent && (curEvent->_time <= ticker)) // While mature events found
curEvent = doAction(curEvent); // Perform the action (returns next_p)
- _vm->getGameStatus()._tick++; // Accessed elsewhere via getTicks()
+ _vm->getGameStatus()._tick++; // Accessed elsewhere via getTicks()
}
} // End of namespace Hugo
diff --git a/engines/hugo/schedule.h b/engines/hugo/schedule.h
index 60d51f0673..74a65a5c64 100644
--- a/engines/hugo/schedule.h
+++ b/engines/hugo/schedule.h
@@ -93,424 +93,425 @@ enum action_t { // Parameters:
};
struct act0 { // Type 0 - Schedule
- action_t actType; // The type of action
- int timer; // Time to set off the action
- uint16 actIndex; // Ptr to an action list
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ uint16 _actIndex; // Ptr to an action list
};
struct act1 { // Type 1 - Start an object
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
- int cycleNumb; // Number of times to cycle
- cycle_t cycle; // Direction to start cycling
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
+ int _cycleNumb; // Number of times to cycle
+ cycle_t _cycle; // Direction to start cycling
};
struct act2 { // Type 2 - Initialize an object coords
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
- int x, y; // Coordinates
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
+ int _x, _y; // Coordinates
};
struct act3 { // Type 3 - Prompt user for text
- action_t actType; // The type of action
- int timer; // Time to set off the action
- uint16 promptIndex; // Index of prompt string
- int *responsePtr; // Array of indexes to valid response string(s) (terminate list with -1)
- uint16 actPassIndex; // Ptr to action list if success
- uint16 actFailIndex; // Ptr to action list if failure
- bool encodedFl; // (HUGO 1 DOS ONLY) Whether response is encoded or not
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ uint16 _promptIndex; // Index of prompt string
+ int *_responsePtr; // Array of indexes to valid response string(s) (terminate list with -1)
+ uint16 _actPassIndex; // Ptr to action list if success
+ uint16 _actFailIndex; // Ptr to action list if failure
+ bool _encodedFl; // (HUGO 1 DOS ONLY) Whether response is encoded or not
};
struct act4 { // Type 4 - Set new background color
- action_t actType; // The type of action
- int timer; // Time to set off the action
- long newBackgroundColor; // New color
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ long _newBackgroundColor; // New color
};
struct act5 { // Type 5 - Initialize an object velocity
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
- int vx, vy; // velocity
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
+ int _vx, _vy; // velocity
};
struct act6 { // Type 6 - Initialize an object carrying
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
- bool carriedFl; // carrying
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
+ bool _carriedFl; // carrying
};
struct act7 { // Type 7 - Initialize an object to hero's coords
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
};
struct act8 { // Type 8 - switch to new screen
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int screenIndex; // The new screen number
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _screenIndex; // The new screen number
};
struct act9 { // Type 9 - Initialize an object state
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
- byte newState; // New state
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
+ byte _newState; // New state
};
struct act10 { // Type 10 - Initialize an object path type
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
- int newPathType; // New path type
- int8 vxPath, vyPath; // Max delta velocities e.g. for CHASE
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
+ int _newPathType; // New path type
+ int8 _vxPath, _vyPath; // Max delta velocities e.g. for CHASE
};
struct act11 { // Type 11 - Conditional on object's state
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
- byte stateReq; // Required state
- uint16 actPassIndex; // Ptr to action list if success
- uint16 actFailIndex; // Ptr to action list if failure
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
+ byte _stateReq; // Required state
+ uint16 _actPassIndex; // Ptr to action list if success
+ uint16 _actFailIndex; // Ptr to action list if failure
};
struct act12 { // Type 12 - Simple text box
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int stringIndex; // Index (enum) of string in strings.dat
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _stringIndex; // Index (enum) of string in strings.dat
};
struct act13 { // Type 13 - Swap first object image with second
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex1; // Index of first object
- int objIndex2; // 2nd
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex1; // Index of first object
+ int _objIndex2; // 2nd
};
struct act14 { // Type 14 - Conditional on current screen
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The required object
- int screenReq; // The required screen number
- uint16 actPassIndex; // Ptr to action list if success
- uint16 actFailIndex; // Ptr to action list if failure
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The required object
+ int _screenReq; // The required screen number
+ uint16 _actPassIndex; // Ptr to action list if success
+ uint16 _actFailIndex; // Ptr to action list if failure
};
struct act15 { // Type 15 - Home in on an object
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex1; // The object number homing in
- int objIndex2; // The object number to home in on
- int8 dx, dy; // Max delta velocities
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex1; // The object number homing in
+ int _objIndex2; // The object number to home in on
+ int8 _dx, _dy; // Max delta velocities
};
+
// Note: Don't set a sequence at time 0 of a new screen, it causes
// problems clearing the boundary bits of the object! timer > 0 is safe
struct act16 { // Type 16 - Set curr_seq_p to seq
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
- int seqIndex; // The index of seq array to set to
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
+ int _seqIndex; // The index of seq array to set to
};
struct act17 { // Type 17 - SET obj individual state bits
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
- int stateMask; // The mask to OR with current obj state
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
+ int _stateMask; // The mask to OR with current obj state
};
struct act18 { // Type 18 - CLEAR obj individual state bits
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
- int stateMask; // The mask to ~AND with current obj state
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
+ int _stateMask; // The mask to ~AND with current obj state
};
struct act19 { // Type 19 - TEST obj individual state bits
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
- int stateMask; // The mask to AND with current obj state
- uint16 actPassIndex; // Ptr to action list (all bits set)
- uint16 actFailIndex; // Ptr to action list (not all set)
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
+ int _stateMask; // The mask to AND with current obj state
+ uint16 _actPassIndex; // Ptr to action list (all bits set)
+ uint16 _actFailIndex; // Ptr to action list (not all set)
};
struct act20 { // Type 20 - Remove all events with this type of action
- action_t actType; // The type of action
- int timer; // Time to set off the action
- action_t actTypeDel; // The action type to remove
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ action_t _actTypeDel; // The action type to remove
};
struct act21 { // Type 21 - Gameover. Disable hero & commands
- action_t actType; // The type of action
- int timer; // Time to set off the action
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
};
struct act22 { // Type 22 - Initialize an object to hero's coords
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
};
struct act23 { // Type 23 - Exit game back to DOS
- action_t actType; // The type of action
- int timer; // Time to set off the action
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
};
struct act24 { // Type 24 - Get bonus score
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int pointIndex; // Index into points array
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _pointIndex; // Index into points array
};
struct act25 { // Type 25 - Conditional on bounding box
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The required object number
- int x1, y1, x2, y2; // The bounding box
- uint16 actPassIndex; // Ptr to action list if success
- uint16 actFailIndex; // Ptr to action list if failure
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The required object number
+ int _x1, _y1, _x2, _y2; // The bounding box
+ uint16 _actPassIndex; // Ptr to action list if success
+ uint16 _actFailIndex; // Ptr to action list if failure
};
struct act26 { // Type 26 - Play a sound
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int16 soundIndex; // Sound index in data file
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int16 _soundIndex; // Sound index in data file
};
struct act27 { // Type 27 - Add object's value to score
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // object number
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // object number
};
struct act28 { // Type 28 - Subtract object's value from score
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // object number
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // object number
};
struct act29 { // Type 29 - Conditional on object carried
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The required object number
- uint16 actPassIndex; // Ptr to action list if success
- uint16 actFailIndex; // Ptr to action list if failure
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The required object number
+ uint16 _actPassIndex; // Ptr to action list if success
+ uint16 _actFailIndex; // Ptr to action list if failure
};
struct act30 { // Type 30 - Start special maze processing
- action_t actType; // The type of action
- int timer; // Time to set off the action
- byte mazeSize; // Size of (square) maze
- int x1, y1, x2, y2; // Bounding box of maze
- int x3, x4; // Extra x points for perspective correction
- byte firstScreenIndex; // First (top left) screen of maze
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ byte _mazeSize; // Size of (square) maze
+ int _x1, _y1, _x2, _y2; // Bounding box of maze
+ int _x3, _x4; // Extra x points for perspective correction
+ byte _firstScreenIndex; // First (top left) screen of maze
};
struct act31 { // Type 31 - Exit special maze processing
- action_t actType; // The type of action
- int timer; // Time to set off the action
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
};
struct act32 { // Type 32 - Init fbg field of object
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
- byte priority; // Value of foreground/background field
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
+ byte _priority; // Value of foreground/background field
};
struct act33 { // Type 33 - Init screen field of object
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
- int screenIndex; // Screen number
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
+ int _screenIndex; // Screen number
};
struct act34 { // Type 34 - Global Schedule
- action_t actType; // The type of action
- int timer; // Time to set off the action
- uint16 actIndex; // Ptr to an action list
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ uint16 _actIndex; // Ptr to an action list
};
struct act35 { // Type 35 - Remappe palette
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int16 oldColorIndex; // Old color index, 0..15
- int16 newColorIndex; // New color index, 0..15
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int16 _oldColorIndex; // Old color index, 0..15
+ int16 _newColorIndex; // New color index, 0..15
};
struct act36 { // Type 36 - Conditional on noun mentioned
- action_t actType; // The type of action
- int timer; // Time to set off the action
- uint16 nounIndex; // The required noun (list)
- uint16 actPassIndex; // Ptr to action list if success
- uint16 actFailIndex; // Ptr to action list if failure
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ uint16 _nounIndex; // The required noun (list)
+ uint16 _actPassIndex; // Ptr to action list if success
+ uint16 _actFailIndex; // Ptr to action list if failure
};
struct act37 { // Type 37 - Set new screen state
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int screenIndex; // The screen number
- byte newState; // The new state
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _screenIndex; // The screen number
+ byte _newState; // The new state
};
struct act38 { // Type 38 - Position lips
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int lipsObjIndex; // The LIPS object
- int objIndex; // The object to speak
- byte dxLips; // Relative offset of x
- byte dyLips; // Relative offset of y
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _lipsObjIndex; // The LIPS object
+ int _objIndex; // The object to speak
+ byte _dxLips; // Relative offset of x
+ byte _dyLips; // Relative offset of y
};
struct act39 { // Type 39 - Init story mode
- action_t actType; // The type of action
- int timer; // Time to set off the action
- bool storyModeFl; // New state of story_mode flag
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ bool _storyModeFl; // New state of story_mode flag
};
struct act40 { // Type 40 - Unsolicited text box
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int stringIndex; // Index (enum) of string in strings.dat
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _stringIndex; // Index (enum) of string in strings.dat
};
struct act41 { // Type 41 - Conditional on bonus scored
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int BonusIndex; // Index into bonus list
- uint16 actPassIndex; // Index of the action list if scored for the first time
- uint16 actFailIndex; // Index of the action list if already scored
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _bonusIndex; // Index into bonus list
+ uint16 _actPassIndex; // Index of the action list if scored for the first time
+ uint16 _actFailIndex; // Index of the action list if already scored
};
struct act42 { // Type 42 - Text box with "take" string
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object taken
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object taken
};
struct act43 { // Type 43 - Prompt user for Yes or No
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int promptIndex; // index of prompt string
- uint16 actYesIndex; // Ptr to action list if YES
- uint16 actNoIndex; // Ptr to action list if NO
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _promptIndex; // index of prompt string
+ uint16 _actYesIndex; // Ptr to action list if YES
+ uint16 _actNoIndex; // Ptr to action list if NO
};
struct act44 { // Type 44 - Stop any route in progress
- action_t actType; // The type of action
- int timer; // Time to set off the action
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
};
struct act45 { // Type 45 - Conditional on route in progress
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int routeIndex; // Must be >= current status.rindex
- uint16 actPassIndex; // Ptr to action list if en-route
- uint16 actFailIndex; // Ptr to action list if not
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _routeIndex; // Must be >= current status.rindex
+ uint16 _actPassIndex; // Ptr to action list if en-route
+ uint16 _actFailIndex; // Ptr to action list if not
};
struct act46 { // Type 46 - Init status.jumpexit
- action_t actType; // The type of action
- int timer; // Time to set off the action
- bool jumpExitFl; // New state of jumpexit flag
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ bool _jumpExitFl; // New state of jumpexit flag
};
struct act47 { // Type 47 - Init viewx,viewy,dir
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object
- int16 viewx; // object.viewx
- int16 viewy; // object.viewy
- int16 direction; // object.dir
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object
+ int16 _viewx; // object.viewx
+ int16 _viewy; // object.viewy
+ int16 _direction; // object.dir
};
struct act48 { // Type 48 - Set curr_seq_p to frame n
- action_t actType; // The type of action
- int timer; // Time to set off the action
- int objIndex; // The object number
- int seqIndex; // The index of seq array to set to
- int frameIndex; // The index of frame to set to
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ int _objIndex; // The object number
+ int _seqIndex; // The index of seq array to set to
+ int _frameIndex; // The index of frame to set to
};
-struct act49 { // Added by Strangerke - Type 79 - Play a song (DOS way)
- action_t actType; // The type of action
- int timer; // Time to set off the action
- uint16 songIndex; // Song index in string array
+struct act49 { // Added by Strangerke - Type 49 - Play a song (DOS way)
+ action_t _actType; // The type of action
+ int _timer; // Time to set off the action
+ uint16 _songIndex; // Song index in string array
};
union act {
- act0 a0;
- act1 a1;
- act2 a2;
- act3 a3;
- act4 a4;
- act5 a5;
- act6 a6;
- act7 a7;
- act8 a8;
- act9 a9;
- act10 a10;
- act11 a11;
- act12 a12;
- act13 a13;
- act14 a14;
- act15 a15;
- act16 a16;
- act17 a17;
- act18 a18;
- act19 a19;
- act20 a20;
- act21 a21;
- act22 a22;
- act23 a23;
- act24 a24;
- act25 a25;
- act26 a26;
- act27 a27;
- act28 a28;
- act29 a29;
- act30 a30;
- act31 a31;
- act32 a32;
- act33 a33;
- act34 a34;
- act35 a35;
- act36 a36;
- act37 a37;
- act38 a38;
- act39 a39;
- act40 a40;
- act41 a41;
- act42 a42;
- act43 a43;
- act44 a44;
- act45 a45;
- act46 a46;
- act47 a47;
- act48 a48;
- act49 a49;
+ act0 _a0;
+ act1 _a1;
+ act2 _a2;
+ act3 _a3;
+ act4 _a4;
+ act5 _a5;
+ act6 _a6;
+ act7 _a7;
+ act8 _a8;
+ act9 _a9;
+ act10 _a10;
+ act11 _a11;
+ act12 _a12;
+ act13 _a13;
+ act14 _a14;
+ act15 _a15;
+ act16 _a16;
+ act17 _a17;
+ act18 _a18;
+ act19 _a19;
+ act20 _a20;
+ act21 _a21;
+ act22 _a22;
+ act23 _a23;
+ act24 _a24;
+ act25 _a25;
+ act26 _a26;
+ act27 _a27;
+ act28 _a28;
+ act29 _a29;
+ act30 _a30;
+ act31 _a31;
+ act32 _a32;
+ act33 _a33;
+ act34 _a34;
+ act35 _a35;
+ act36 _a36;
+ act37 _a37;
+ act38 _a38;
+ act39 _a39;
+ act40 _a40;
+ act41 _a41;
+ act42 _a42;
+ act43 _a43;
+ act44 _a44;
+ act45 _a45;
+ act46 _a46;
+ act47 _a47;
+ act48 _a48;
+ act49 _a49;
};
struct event_t {
- act *action; // Ptr to action to perform
- bool localActionFl; // true if action is only for this screen
- uint32 time; // (absolute) time to perform action
- struct event_t *prevEvent; // Chain to previous event
- struct event_t *nextEvent; // Chain to next event
+ act *_action; // Ptr to action to perform
+ bool _localActionFl; // true if action is only for this screen
+ uint32 _time; // (absolute) time to perform action
+ struct event_t *_prevEvent; // Chain to previous event
+ struct event_t *_nextEvent; // Chain to next event
};
/**
* Following are points for achieving certain actions.
*/
struct point_t {
- byte score; // The value of the point
- bool scoredFl; // Whether scored yet
+ byte _score; // The value of the point
+ bool _scoredFl; // Whether scored yet
};
class Scheduler {
diff --git a/engines/hugo/sound.cpp b/engines/hugo/sound.cpp
index eed4164d5e..463a19ae8c 100644
--- a/engines/hugo/sound.cpp
+++ b/engines/hugo/sound.cpp
@@ -162,16 +162,16 @@ void SoundHandler::stopMusic() {
* Turn music on and off
*/
void SoundHandler::toggleMusic() {
- _vm->_config.musicFl = !_vm->_config.musicFl;
+ _vm->_config._musicFl = !_vm->_config._musicFl;
- _midiPlayer->pause(!_vm->_config.musicFl);
+ _midiPlayer->pause(!_vm->_config._musicFl);
}
/**
* Turn digitized sound on and off
*/
void SoundHandler::toggleSound() {
- _vm->_config.soundFl = !_vm->_config.soundFl;
+ _vm->_config._soundFl = !_vm->_config._soundFl;
}
void SoundHandler::playMIDI(sound_pt seq_p, uint16 size) {
@@ -185,7 +185,7 @@ void SoundHandler::playMusic(int16 tune) {
sound_pt seqPtr; // Sequence data from file
uint16 size; // Size of sequence data
- if (_vm->_config.musicFl) {
+ if (_vm->_config._musicFl) {
_vm->getGameStatus()._song = tune;
seqPtr = _vm->_file->getSound(tune, &size);
playMIDI(seqPtr, size);
@@ -203,7 +203,7 @@ void SoundHandler::playSound(int16 sound, const byte priority) {
uint16 size; // Size of data
// Sound disabled
- if (!_vm->_config.soundFl || !_vm->_mixer->isReady())
+ if (!_vm->_config._soundFl || !_vm->_mixer->isReady())
return;
syncVolume();
@@ -270,7 +270,7 @@ void SoundHandler::pcspkr_player() {
static const uint16 pcspkrFlats[8] = {1435, 1279, 2342, 2150, 1916, 1755, 1611}; // The flats, Ab to Bb
// Does the user not want any sound?
- if (!_vm->_config.soundFl || !_vm->_mixer->isReady())
+ if (!_vm->_config._soundFl || !_vm->_mixer->isReady())
return;
// Is there no song?