aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction
diff options
context:
space:
mode:
authorNicola Mettifogo2009-03-29 10:18:09 +0000
committerNicola Mettifogo2009-03-29 10:18:09 +0000
commit28465d73bbb7a5f7e23f4baa3fa34db097c80a03 (patch)
tree66a60f37893f009064b23d026ae79ba69c2b144e /engines/parallaction
parentcda1bf5ca91f178e9e156c4b0246c55a4264f7c3 (diff)
downloadscummvm-rg350-28465d73bbb7a5f7e23f4baa3fa34db097c80a03.tar.gz
scummvm-rg350-28465d73bbb7a5f7e23f4baa3fa34db097c80a03.tar.bz2
scummvm-rg350-28465d73bbb7a5f7e23f4baa3fa34db097c80a03.zip
Merged CommandData into Command.
svn-id: r39732
Diffstat (limited to 'engines/parallaction')
-rw-r--r--engines/parallaction/exec_br.cpp101
-rw-r--r--engines/parallaction/exec_ns.cpp54
-rw-r--r--engines/parallaction/objects.cpp16
-rw-r--r--engines/parallaction/objects.h29
-rw-r--r--engines/parallaction/parser_br.cpp54
-rw-r--r--engines/parallaction/parser_ns.cpp24
6 files changed, 139 insertions, 139 deletions
diff --git a/engines/parallaction/exec_br.cpp b/engines/parallaction/exec_br.cpp
index a8b89b353e..8821db4e3c 100644
--- a/engines/parallaction/exec_br.cpp
+++ b/engines/parallaction/exec_br.cpp
@@ -117,68 +117,68 @@ void Parallaction_br::clearSubtitles() {
DECLARE_COMMAND_OPCODE(location) {
warning("Parallaction_br::cmdOp_location command not yet implemented");
- _vm->_location._startPosition = ctxt._cmd->u._startPos;
+ _vm->_location._startPosition = ctxt._cmd->_startPos;
_vm->_location._startFrame = 0; // TODO: verify this against the disassembly!f
- _vm->_location._followerStartPosition = ctxt._cmd->u._startPos2;
+ _vm->_location._followerStartPosition = ctxt._cmd->_startPos2;
_vm->_location._followerStartFrame = 0;
// TODO: handle startPos and startPos2
- _vm->scheduleLocationSwitch(ctxt._cmd->u._string);
+ _vm->scheduleLocationSwitch(ctxt._cmd->_string);
}
DECLARE_COMMAND_OPCODE(open) {
- _vm->updateDoor(ctxt._cmd->u._zone, false);
+ _vm->updateDoor(ctxt._cmd->_zone, false);
}
DECLARE_COMMAND_OPCODE(close) {
- _vm->updateDoor(ctxt._cmd->u._zone, true);
+ _vm->updateDoor(ctxt._cmd->_zone, true);
}
DECLARE_COMMAND_OPCODE(on) {
- _vm->showZone(ctxt._cmd->u._zone, true);
+ _vm->showZone(ctxt._cmd->_zone, true);
}
DECLARE_COMMAND_OPCODE(off) {
- _vm->showZone(ctxt._cmd->u._zone, false);
+ _vm->showZone(ctxt._cmd->_zone, false);
}
DECLARE_COMMAND_OPCODE(call) {
- _vm->callFunction(ctxt._cmd->u._callable, &ctxt._z);
+ _vm->callFunction(ctxt._cmd->_callable, &ctxt._z);
}
DECLARE_COMMAND_OPCODE(drop) {
- _vm->dropItem(ctxt._cmd->u._object);
+ _vm->dropItem(ctxt._cmd->_object);
}
DECLARE_COMMAND_OPCODE(move) {
- _vm->scheduleWalk(ctxt._cmd->u._move.x, ctxt._cmd->u._move.y, false);
+ _vm->scheduleWalk(ctxt._cmd->_move.x, ctxt._cmd->_move.y, false);
suspend();
}
DECLARE_COMMAND_OPCODE(start) {
- ctxt._cmd->u._zone->_flags |= kFlagsActing;
+ ctxt._cmd->_zone->_flags |= kFlagsActing;
}
DECLARE_COMMAND_OPCODE(stop) {
- ctxt._cmd->u._zone->_flags &= ~kFlagsActing;
+ ctxt._cmd->_zone->_flags &= ~kFlagsActing;
}
DECLARE_COMMAND_OPCODE(character) {
- debugC(9, kDebugExec, "Parallaction_br::cmdOp_character(%s)", ctxt._cmd->u._string);
- _vm->changeCharacter(ctxt._cmd->u._string);
+ debugC(9, kDebugExec, "Parallaction_br::cmdOp_character(%s)", ctxt._cmd->_string);
+ _vm->changeCharacter(ctxt._cmd->_string);
}
DECLARE_COMMAND_OPCODE(followme) {
- Common::String s(ctxt._cmd->u._string);
+ Common::String s(ctxt._cmd->_string);
if (!s.compareToIgnoreCase("NULL")) {
s.clear();
}
@@ -197,26 +197,26 @@ DECLARE_COMMAND_OPCODE(offmouse) {
DECLARE_COMMAND_OPCODE(add) {
- _vm->addInventoryItem(ctxt._cmd->u._object);
+ _vm->addInventoryItem(ctxt._cmd->_object);
}
DECLARE_COMMAND_OPCODE(leave) {
- ZonePtr z = ctxt._cmd->u._zone;
+ ZonePtr z = ctxt._cmd->_zone;
_vm->dropItem(z->u._getIcon);
_vm->showZone(z, true);
}
DECLARE_COMMAND_OPCODE(inc) {
- int v = _vm->getCounterValue(ctxt._cmd->u._counterName);
- _vm->setCounterValue(ctxt._cmd->u._counterName, v + ctxt._cmd->u._counterValue);
+ int v = _vm->getCounterValue(ctxt._cmd->_counterName);
+ _vm->setCounterValue(ctxt._cmd->_counterName, v + ctxt._cmd->_counterValue);
}
DECLARE_COMMAND_OPCODE(dec) {
- int v = _vm->getCounterValue(ctxt._cmd->u._counterName);
- _vm->setCounterValue(ctxt._cmd->u._counterName, v - ctxt._cmd->u._counterValue);
+ int v = _vm->getCounterValue(ctxt._cmd->_counterName);
+ _vm->setCounterValue(ctxt._cmd->_counterName, v - ctxt._cmd->_counterValue);
}
// these definitions must match those in parser_br.cpp
@@ -225,20 +225,20 @@ DECLARE_COMMAND_OPCODE(dec) {
#define CMD_TEST_LT 27
DECLARE_COMMAND_OPCODE(ifeq) {
- _vm->testCounterCondition(ctxt._cmd->u._counterName, CMD_TEST, ctxt._cmd->u._counterValue);
+ _vm->testCounterCondition(ctxt._cmd->_counterName, CMD_TEST, ctxt._cmd->_counterValue);
}
DECLARE_COMMAND_OPCODE(iflt) {
- _vm->testCounterCondition(ctxt._cmd->u._counterName, CMD_TEST_LT, ctxt._cmd->u._counterValue);
+ _vm->testCounterCondition(ctxt._cmd->_counterName, CMD_TEST_LT, ctxt._cmd->_counterValue);
}
DECLARE_COMMAND_OPCODE(ifgt) {
- _vm->testCounterCondition(ctxt._cmd->u._counterName, CMD_TEST_GT, ctxt._cmd->u._counterValue);
+ _vm->testCounterCondition(ctxt._cmd->_counterName, CMD_TEST_GT, ctxt._cmd->_counterValue);
}
DECLARE_COMMAND_OPCODE(let) {
- _vm->setCounterValue(ctxt._cmd->u._counterName, ctxt._cmd->u._counterValue);
+ _vm->setCounterValue(ctxt._cmd->_counterName, ctxt._cmd->_counterValue);
}
@@ -248,26 +248,26 @@ DECLARE_COMMAND_OPCODE(music) {
DECLARE_COMMAND_OPCODE(fix) {
- ctxt._cmd->u._zone->_flags |= kFlagsFixed;
+ ctxt._cmd->_zone->_flags |= kFlagsFixed;
}
DECLARE_COMMAND_OPCODE(unfix) {
- ctxt._cmd->u._zone->_flags &= ~kFlagsFixed;
+ ctxt._cmd->_zone->_flags &= ~kFlagsFixed;
}
DECLARE_COMMAND_OPCODE(zeta) {
- _vm->_location._zeta0 = ctxt._cmd->u._zeta0;
- _vm->_location._zeta1 = ctxt._cmd->u._zeta1;
- _vm->_location._zeta2 = ctxt._cmd->u._zeta2;
+ _vm->_location._zeta0 = ctxt._cmd->_zeta0;
+ _vm->_location._zeta1 = ctxt._cmd->_zeta1;
+ _vm->_location._zeta2 = ctxt._cmd->_zeta2;
}
DECLARE_COMMAND_OPCODE(scroll) {
Common::Point p;
_vm->_gfx->getScrollPos(p);
- _vm->_gfx->initiateScroll(ctxt._cmd->u._counterValue - p.x, 0);
+ _vm->_gfx->initiateScroll(ctxt._cmd->_counterValue - p.x, 0);
}
@@ -282,8 +282,7 @@ DECLARE_COMMAND_OPCODE(give) {
DECLARE_COMMAND_OPCODE(text) {
- CommandData *data = &ctxt._cmd->u;
- _vm->setupSubtitles(data->_string, data->_string2, data->_zeta0);
+ _vm->setupSubtitles(ctxt._cmd->_string, ctxt._cmd->_string2, ctxt._cmd->_zeta0);
}
@@ -317,40 +316,40 @@ DECLARE_INSTRUCTION_OPCODE(invalid) {
}
DECLARE_COMMAND_OPCODE(clear) {
- if (ctxt._cmd->u._flags & kFlagsGlobal) {
- ctxt._cmd->u._flags &= ~kFlagsGlobal;
- _globalFlags &= ~ctxt._cmd->u._flags;
+ if (ctxt._cmd->_flags & kFlagsGlobal) {
+ ctxt._cmd->_flags &= ~kFlagsGlobal;
+ _globalFlags &= ~ctxt._cmd->_flags;
} else {
- _vm->clearLocationFlags(ctxt._cmd->u._flags);
+ _vm->clearLocationFlags(ctxt._cmd->_flags);
}
}
DECLARE_COMMAND_OPCODE(speak) {
// WORKAROUND: this avoids crashing when the zone is not parsed, like in the case
// of script bug in ticket #2718449.
- if (!ctxt._cmd->u._zone) {
+ if (!ctxt._cmd->_zone) {
return;
}
- if (ACTIONTYPE(ctxt._cmd->u._zone) == kZoneSpeak) {
- _vm->enterDialogueMode(ctxt._cmd->u._zone);
+ if (ACTIONTYPE(ctxt._cmd->_zone) == kZoneSpeak) {
+ _vm->enterDialogueMode(ctxt._cmd->_zone);
} else {
- _vm->_activeZone = ctxt._cmd->u._zone;
+ _vm->_activeZone = ctxt._cmd->_zone;
}
}
DECLARE_COMMAND_OPCODE(get) {
- ctxt._cmd->u._zone->_flags &= ~kFlagsFixed;
- _vm->runZone(ctxt._cmd->u._zone);
+ ctxt._cmd->_zone->_flags &= ~kFlagsFixed;
+ _vm->runZone(ctxt._cmd->_zone);
}
DECLARE_COMMAND_OPCODE(toggle) {
- if (ctxt._cmd->u._flags & kFlagsGlobal) {
- ctxt._cmd->u._flags &= ~kFlagsGlobal;
- _globalFlags ^= ctxt._cmd->u._flags;
+ if (ctxt._cmd->_flags & kFlagsGlobal) {
+ ctxt._cmd->_flags &= ~kFlagsGlobal;
+ _globalFlags ^= ctxt._cmd->_flags;
} else {
- _vm->toggleLocationFlags(ctxt._cmd->u._flags);
+ _vm->toggleLocationFlags(ctxt._cmd->_flags);
}
}
@@ -363,11 +362,11 @@ DECLARE_COMMAND_OPCODE(invalid) {
}
DECLARE_COMMAND_OPCODE(set) {
- if (ctxt._cmd->u._flags & kFlagsGlobal) {
- ctxt._cmd->u._flags &= ~kFlagsGlobal;
- _globalFlags |= ctxt._cmd->u._flags;
+ if (ctxt._cmd->_flags & kFlagsGlobal) {
+ ctxt._cmd->_flags &= ~kFlagsGlobal;
+ _globalFlags |= ctxt._cmd->_flags;
} else {
- _vm->setLocationFlags(ctxt._cmd->u._flags);
+ _vm->setLocationFlags(ctxt._cmd->_flags);
}
}
diff --git a/engines/parallaction/exec_ns.cpp b/engines/parallaction/exec_ns.cpp
index 4c17f4910a..c8a5ee1548 100644
--- a/engines/parallaction/exec_ns.cpp
+++ b/engines/parallaction/exec_ns.cpp
@@ -198,86 +198,86 @@ DECLARE_COMMAND_OPCODE(invalid) {
}
DECLARE_COMMAND_OPCODE(set) {
- if (ctxt._cmd->u._flags & kFlagsGlobal) {
- ctxt._cmd->u._flags &= ~kFlagsGlobal;
- _globalFlags |= ctxt._cmd->u._flags;
+ if (ctxt._cmd->_flags & kFlagsGlobal) {
+ ctxt._cmd->_flags &= ~kFlagsGlobal;
+ _globalFlags |= ctxt._cmd->_flags;
} else {
- _vm->setLocationFlags(ctxt._cmd->u._flags);
+ _vm->setLocationFlags(ctxt._cmd->_flags);
}
}
DECLARE_COMMAND_OPCODE(clear) {
- if (ctxt._cmd->u._flags & kFlagsGlobal) {
- ctxt._cmd->u._flags &= ~kFlagsGlobal;
- _globalFlags &= ~ctxt._cmd->u._flags;
+ if (ctxt._cmd->_flags & kFlagsGlobal) {
+ ctxt._cmd->_flags &= ~kFlagsGlobal;
+ _globalFlags &= ~ctxt._cmd->_flags;
} else {
- _vm->clearLocationFlags(ctxt._cmd->u._flags);
+ _vm->clearLocationFlags(ctxt._cmd->_flags);
}
}
DECLARE_COMMAND_OPCODE(start) {
- ctxt._cmd->u._zone->_flags |= kFlagsActing;
+ ctxt._cmd->_zone->_flags |= kFlagsActing;
}
DECLARE_COMMAND_OPCODE(speak) {
- if (ACTIONTYPE(ctxt._cmd->u._zone) == kZoneSpeak) {
- _vm->enterDialogueMode(ctxt._cmd->u._zone);
+ if (ACTIONTYPE(ctxt._cmd->_zone) == kZoneSpeak) {
+ _vm->enterDialogueMode(ctxt._cmd->_zone);
} else {
- _vm->_activeZone = ctxt._cmd->u._zone;
+ _vm->_activeZone = ctxt._cmd->_zone;
}
}
DECLARE_COMMAND_OPCODE(get) {
- ctxt._cmd->u._zone->_flags &= ~kFlagsFixed;
- _vm->runZone(ctxt._cmd->u._zone);
+ ctxt._cmd->_zone->_flags &= ~kFlagsFixed;
+ _vm->runZone(ctxt._cmd->_zone);
}
DECLARE_COMMAND_OPCODE(location) {
- _vm->scheduleLocationSwitch(ctxt._cmd->u._string);
+ _vm->scheduleLocationSwitch(ctxt._cmd->_string);
}
DECLARE_COMMAND_OPCODE(open) {
- _vm->updateDoor(ctxt._cmd->u._zone, false);
+ _vm->updateDoor(ctxt._cmd->_zone, false);
}
DECLARE_COMMAND_OPCODE(close) {
- _vm->updateDoor(ctxt._cmd->u._zone, true);
+ _vm->updateDoor(ctxt._cmd->_zone, true);
}
DECLARE_COMMAND_OPCODE(on) {
- _vm->showZone(ctxt._cmd->u._zone, true);
+ _vm->showZone(ctxt._cmd->_zone, true);
}
DECLARE_COMMAND_OPCODE(off) {
- _vm->showZone(ctxt._cmd->u._zone, false);
+ _vm->showZone(ctxt._cmd->_zone, false);
}
DECLARE_COMMAND_OPCODE(call) {
- _vm->callFunction(ctxt._cmd->u._callable, &ctxt._z);
+ _vm->callFunction(ctxt._cmd->_callable, &ctxt._z);
}
DECLARE_COMMAND_OPCODE(toggle) {
- if (ctxt._cmd->u._flags & kFlagsGlobal) {
- ctxt._cmd->u._flags &= ~kFlagsGlobal;
- _globalFlags ^= ctxt._cmd->u._flags;
+ if (ctxt._cmd->_flags & kFlagsGlobal) {
+ ctxt._cmd->_flags &= ~kFlagsGlobal;
+ _globalFlags ^= ctxt._cmd->_flags;
} else {
- _vm->toggleLocationFlags(ctxt._cmd->u._flags);
+ _vm->toggleLocationFlags(ctxt._cmd->_flags);
}
}
DECLARE_COMMAND_OPCODE(drop){
- _vm->dropItem( ctxt._cmd->u._object );
+ _vm->dropItem( ctxt._cmd->_object );
}
@@ -287,12 +287,12 @@ DECLARE_COMMAND_OPCODE(quit) {
DECLARE_COMMAND_OPCODE(move) {
- _vm->scheduleWalk(ctxt._cmd->u._move.x, ctxt._cmd->u._move.y, false);
+ _vm->scheduleWalk(ctxt._cmd->_move.x, ctxt._cmd->_move.y, false);
}
DECLARE_COMMAND_OPCODE(stop) {
- ctxt._cmd->u._zone->_flags &= ~kFlagsActing;
+ ctxt._cmd->_zone->_flags &= ~kFlagsActing;
}
CommandExec_ns::CommandExec_ns(Parallaction_ns* vm) : CommandExec(vm), _vm(vm) {
diff --git a/engines/parallaction/objects.cpp b/engines/parallaction/objects.cpp
index 9c6d3cb96c..a417efaecc 100644
--- a/engines/parallaction/objects.cpp
+++ b/engines/parallaction/objects.cpp
@@ -34,10 +34,24 @@ Command::Command() {
_id = 0;
_flagsOn = 0;
_flagsOff = 0;
+
+ _flags = 0;
+ _string = 0;
+ _callable = 0;
+ _object = 0;
+ _counterValue = 0;
+ _zeta0 = 0;
+ _zeta1 = 0;
+ _zeta2 = 0;
+ _characterId = 0;
+ _string2 = 0;
+ _musicCommand = 0;
+ _musicParm = 0;
}
Command::~Command() {
-
+ free(_string);
+ free(_string2);
}
diff --git a/engines/parallaction/objects.h b/engines/parallaction/objects.h
index 393913edeb..52f3d62a59 100644
--- a/engines/parallaction/objects.h
+++ b/engines/parallaction/objects.h
@@ -108,8 +108,15 @@ enum CommandFlags {
kFlagsTestTrue = 2
};
+struct Command {
+ uint16 _id;
+ uint32 _flagsOn;
+ uint32 _flagsOff;
-struct CommandData {
+ Command();
+ ~Command();
+
+ // Common fields
uint32 _flags;
ZonePtr _zone;
char* _string;
@@ -129,26 +136,6 @@ struct CommandData {
char* _string2;
int _musicCommand;
int _musicParm;
-
-
- CommandData() {
- memset(this, 0, sizeof(CommandData));
- }
-
- ~CommandData() {
- free(_string);
- free(_string2);
- }
-};
-
-struct Command {
- uint16 _id;
- CommandData u;
- uint32 _flagsOn;
- uint32 _flagsOff;
-
- Command();
- ~Command();
};
typedef Common::SharedPtr<Command> CommandPtr;
diff --git a/engines/parallaction/parser_br.cpp b/engines/parallaction/parser_br.cpp
index b1bdaa751f..618bba254e 100644
--- a/engines/parallaction/parser_br.cpp
+++ b/engines/parallaction/parser_br.cpp
@@ -519,23 +519,23 @@ DECLARE_COMMAND_PARSER(location) {
createCommand(_parser->_lookup);
- ctxt.cmd->u._string = strdup(_tokens[1]);
+ ctxt.cmd->_string = strdup(_tokens[1]);
ctxt.nextToken++;
- ctxt.cmd->u._startPos.x = -1000;
- ctxt.cmd->u._startPos2.x = -1000;
+ ctxt.cmd->_startPos.x = -1000;
+ ctxt.cmd->_startPos2.x = -1000;
if (_tokens[ctxt.nextToken][0] != '\0') {
if (isdigit(_tokens[ctxt.nextToken][0]) || _tokens[ctxt.nextToken][0] == '-') {
- ctxt.cmd->u._startPos.x = atoi(_tokens[ctxt.nextToken]);
+ ctxt.cmd->_startPos.x = atoi(_tokens[ctxt.nextToken]);
ctxt.nextToken++;
- ctxt.cmd->u._startPos.y = atoi(_tokens[ctxt.nextToken]);
+ ctxt.cmd->_startPos.y = atoi(_tokens[ctxt.nextToken]);
ctxt.nextToken++;
}
if (isdigit(_tokens[ctxt.nextToken][0]) || _tokens[ctxt.nextToken][0] == '-') {
- ctxt.cmd->u._startPos2.x = atoi(_tokens[ctxt.nextToken]);
+ ctxt.cmd->_startPos2.x = atoi(_tokens[ctxt.nextToken]);
ctxt.nextToken++;
- ctxt.cmd->u._startPos2.y = atoi(_tokens[ctxt.nextToken]);
+ ctxt.cmd->_startPos2.y = atoi(_tokens[ctxt.nextToken]);
ctxt.nextToken++;
}
}
@@ -550,7 +550,7 @@ DECLARE_COMMAND_PARSER(string) {
createCommand(_parser->_lookup);
- ctxt.cmd->u._string = strdup(_tokens[1]);
+ ctxt.cmd->_string = strdup(_tokens[1]);
ctxt.nextToken++;
parseCommandFlags();
@@ -566,9 +566,9 @@ DECLARE_COMMAND_PARSER(math) {
error("counter '%s' doesn't exists", _tokens[1]);
}
- ctxt.cmd->u._counterName = _tokens[1];
+ ctxt.cmd->_counterName = _tokens[1];
ctxt.nextToken++;
- ctxt.cmd->u._counterValue = atoi(_tokens[2]);
+ ctxt.cmd->_counterValue = atoi(_tokens[2]);
ctxt.nextToken++;
parseCommandFlags();
@@ -589,8 +589,8 @@ DECLARE_COMMAND_PARSER(test) {
error("unknown counter '%s' in test opcode", _tokens[1]);
}
} else {
- ctxt.cmd->u._counterName = _tokens[1];
- ctxt.cmd->u._counterValue = atoi(_tokens[3]);
+ ctxt.cmd->_counterName = _tokens[1];
+ ctxt.cmd->_counterValue = atoi(_tokens[3]);
ctxt.nextToken++;
if (_tokens[2][0] == '>') {
@@ -612,11 +612,11 @@ DECLARE_COMMAND_PARSER(music) {
createCommand(_parser->_lookup);
- ctxt.cmd->u._musicCommand = _audioCommandsNames->lookup(_tokens[1]);
+ ctxt.cmd->_musicCommand = _audioCommandsNames->lookup(_tokens[1]);
ctxt.nextToken++;
if (_tokens[2][0] != '\0' && scumm_stricmp("flags", _tokens[2]) && scumm_stricmp("gflags", _tokens[2])) {
- ctxt.cmd->u._musicParm = atoi(_tokens[2]);
+ ctxt.cmd->_musicParm = atoi(_tokens[2]);
ctxt.nextToken++;
}
@@ -630,16 +630,16 @@ DECLARE_COMMAND_PARSER(zeta) {
createCommand(_parser->_lookup);
- ctxt.cmd->u._zeta0 = atoi(_tokens[1]);
+ ctxt.cmd->_zeta0 = atoi(_tokens[1]);
ctxt.nextToken++;
- ctxt.cmd->u._zeta1 = atoi(_tokens[2]);
+ ctxt.cmd->_zeta1 = atoi(_tokens[2]);
ctxt.nextToken++;
if (_tokens[3][0] != '\0') {
- ctxt.cmd->u._zeta2 = atoi(_tokens[3]);
+ ctxt.cmd->_zeta2 = atoi(_tokens[3]);
ctxt.nextToken++;
} else {
- ctxt.cmd->u._zeta2 = 50;
+ ctxt.cmd->_zeta2 = 50;
}
parseCommandFlags();
@@ -652,17 +652,17 @@ DECLARE_COMMAND_PARSER(give) {
createCommand(_parser->_lookup);
- ctxt.cmd->u._object = 4 + atoi(_tokens[1]);
+ ctxt.cmd->_object = 4 + atoi(_tokens[1]);
ctxt.nextToken++;
if (!scumm_stricmp("dino", _tokens[2])) {
- ctxt.cmd->u._characterId = 1;
+ ctxt.cmd->_characterId = 1;
} else
if (!scumm_stricmp("doug", _tokens[2])) {
- ctxt.cmd->u._characterId = 2;
+ ctxt.cmd->_characterId = 2;
} else
if (!scumm_stricmp("donna", _tokens[2])) {
- ctxt.cmd->u._characterId = 3;
+ ctxt.cmd->_characterId = 3;
} else
error("unknown recipient '%s' in give command", _tokens[2]);
@@ -679,17 +679,17 @@ DECLARE_COMMAND_PARSER(text) {
createCommand(_parser->_lookup);
if (isdigit(_tokens[1][1])) {
- ctxt.cmd->u._zeta0 = atoi(_tokens[1]);
+ ctxt.cmd->_zeta0 = atoi(_tokens[1]);
ctxt.nextToken++;
} else {
- ctxt.cmd->u._zeta0 = -1;
+ ctxt.cmd->_zeta0 = -1;
}
- ctxt.cmd->u._string = strdup(_tokens[ctxt.nextToken]);
+ ctxt.cmd->_string = strdup(_tokens[ctxt.nextToken]);
ctxt.nextToken++;
if (_tokens[ctxt.nextToken][0] != '\0' && scumm_stricmp("flags", _tokens[ctxt.nextToken])) {
- ctxt.cmd->u._string2 = strdup(_tokens[ctxt.nextToken]);
+ ctxt.cmd->_string2 = strdup(_tokens[ctxt.nextToken]);
ctxt.nextToken++;
}
@@ -704,7 +704,7 @@ DECLARE_COMMAND_PARSER(unary) {
createCommand(_parser->_lookup);
- ctxt.cmd->u._counterValue = atoi(_tokens[1]);
+ ctxt.cmd->_counterValue = atoi(_tokens[1]);
ctxt.nextToken++;
parseCommandFlags();
diff --git a/engines/parallaction/parser_ns.cpp b/engines/parallaction/parser_ns.cpp
index 6184f3765d..10405f1244 100644
--- a/engines/parallaction/parser_ns.cpp
+++ b/engines/parallaction/parser_ns.cpp
@@ -608,15 +608,15 @@ DECLARE_COMMAND_PARSER(flags) {
do {
char _al = _vm->_localFlagNames->lookup(_tokens[ctxt.nextToken]);
ctxt.nextToken++;
- ctxt.cmd->u._flags |= 1 << (_al - 1);
+ ctxt.cmd->_flags |= 1 << (_al - 1);
} while (!scumm_stricmp(_tokens[ctxt.nextToken++], "|"));
ctxt.nextToken--;
} else {
- ctxt.cmd->u._flags |= kFlagsGlobal;
+ ctxt.cmd->_flags |= kFlagsGlobal;
do {
char _al = _vm->_globalFlagsNames->lookup(_tokens[1]);
ctxt.nextToken++;
- ctxt.cmd->u._flags |= 1 << (_al - 1);
+ ctxt.cmd->_flags |= 1 << (_al - 1);
} while (!scumm_stricmp(_tokens[ctxt.nextToken++], "|"));
ctxt.nextToken--;
}
@@ -631,8 +631,8 @@ DECLARE_COMMAND_PARSER(zone) {
createCommand(_parser->_lookup);
- ctxt.cmd->u._zone = _vm->_location.findZone(_tokens[ctxt.nextToken]);
- if (!ctxt.cmd->u._zone) {
+ ctxt.cmd->_zone = _vm->_location.findZone(_tokens[ctxt.nextToken]);
+ if (!ctxt.cmd->_zone) {
saveCommandForward(_tokens[ctxt.nextToken], ctxt.cmd);
}
ctxt.nextToken++;
@@ -647,7 +647,7 @@ DECLARE_COMMAND_PARSER(location) {
createCommand(_parser->_lookup);
- ctxt.cmd->u._string = strdup(_tokens[ctxt.nextToken]);
+ ctxt.cmd->_string = strdup(_tokens[ctxt.nextToken]);
ctxt.nextToken++;
parseCommandFlags();
@@ -660,7 +660,7 @@ DECLARE_COMMAND_PARSER(invObject) {
createCommand(_parser->_lookup);
- ctxt.cmd->u._object = 4 + _vm->_objectsNames->lookup(_tokens[ctxt.nextToken]);
+ ctxt.cmd->_object = 4 + _vm->_objectsNames->lookup(_tokens[ctxt.nextToken]);
ctxt.nextToken++;
parseCommandFlags();
@@ -673,7 +673,7 @@ DECLARE_COMMAND_PARSER(call) {
createCommand(_parser->_lookup);
- ctxt.cmd->u._callable = _vm->_callableNames->lookup(_tokens[ctxt.nextToken]) - 1;
+ ctxt.cmd->_callable = _vm->_callableNames->lookup(_tokens[ctxt.nextToken]) - 1;
ctxt.nextToken++;
parseCommandFlags();
@@ -695,9 +695,9 @@ DECLARE_COMMAND_PARSER(move) {
createCommand(_parser->_lookup);
- ctxt.cmd->u._move.x = atoi(_tokens[ctxt.nextToken]);
+ ctxt.cmd->_move.x = atoi(_tokens[ctxt.nextToken]);
ctxt.nextToken++;
- ctxt.cmd->u._move.y = atoi(_tokens[ctxt.nextToken]);
+ ctxt.cmd->_move.y = atoi(_tokens[ctxt.nextToken]);
ctxt.nextToken++;
parseCommandFlags();
@@ -790,8 +790,8 @@ void LocationParser_ns::saveCommandForward(const char *name, CommandPtr cmd) {
void LocationParser_ns::resolveCommandForwards() {
for (uint i = 0; i < _numForwardedCommands; i++) {
- _forwardedCommands[i].cmd->u._zone = _vm->_location.findZone(_forwardedCommands[i].name);
- if (_forwardedCommands[i].cmd->u._zone == 0) {
+ _forwardedCommands[i].cmd->_zone = _vm->_location.findZone(_forwardedCommands[i].name);
+ if (_forwardedCommands[i].cmd->_zone == 0) {
warning("Cannot find zone '%s' into current location script. This may be a bug in the original scripts.\n", _forwardedCommands[i].name);
}
}