aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2005-11-18 22:34:41 +0000
committerTravis Howell2005-11-18 22:34:41 +0000
commitd0f13e6f069316ed287abc69267026e5e78ece39 (patch)
treea798f8db5f0476180b506eca773f66d74cd4e1a1
parent250071f8676b2c262277f9dc9eb0a3bb2b2523c0 (diff)
downloadscummvm-rg350-d0f13e6f069316ed287abc69267026e5e78ece39.tar.gz
scummvm-rg350-d0f13e6f069316ed287abc69267026e5e78ece39.tar.bz2
scummvm-rg350-d0f13e6f069316ed287abc69267026e5e78ece39.zip
Cleanup.
svn-id: r19647
-rw-r--r--simon/debug.cpp2
-rw-r--r--simon/debug.h48
-rw-r--r--simon/intern.h6
-rw-r--r--simon/items.cpp30
-rw-r--r--simon/simon.cpp42
-rw-r--r--simon/simon.h7
6 files changed, 73 insertions, 62 deletions
diff --git a/simon/debug.cpp b/simon/debug.cpp
index b1e26cedb0..0060ba4db0 100644
--- a/simon/debug.cpp
+++ b/simon/debug.cpp
@@ -141,7 +141,7 @@ void SimonEngine::dumpSubroutineLine(SubroutineLine *sl, Subroutine *sub) {
p = (byte *)sl + SUBROUTINE_LINE_SMALL_SIZE;
if (sub->id == 0) {
- fprintf(_dumpFile, "; cond_a=%d, cond_b=%d, cond_c=%d\n", sl->cond_a, sl->cond_b, sl->cond_c);
+ fprintf(_dumpFile, "; verb=%d, noun1=%d, noun2=%d\n", sl->verb, sl->noun1, sl->noun2);
p = (byte *)sl + SUBROUTINE_LINE_BIG_SIZE;
}
diff --git a/simon/debug.h b/simon/debug.h
index d61c2e32a2..086bfd96c6 100644
--- a/simon/debug.h
+++ b/simon/debug.h
@@ -186,7 +186,7 @@ static const char *const simon1dos_opcode_name_table[256] = {
/* 128 */
"W|GET_DUMMY_WORD",
"W|GET_WORD_COND_TRUE",
- "Bww|UNK_130",
+ "Bww|SET_ADJ_NOUN",
NULL,
/* 132 */
"|SAVE_GAME",
@@ -249,8 +249,8 @@ static const char *const simon1dos_opcode_name_table[256] = {
"WWBB|PATHFIND",
"BBB|ROOM_DESCRIPTION",
/* 180 */
- "|FORCE_UNLOCK",
- "|FORCE_LOCK",
+ "|MOUSE_ON",
+ "|MOUSE_OFF",
"|LOAD_BEARD",
"|UNLOAD_BEARD",
/* 184 */
@@ -424,7 +424,7 @@ static const char *const simon1talkie_opcode_name_table[256] = {
/* 128 */
"W|GET_DUMMY_WORD",
"W|GET_WORD_COND_TRUE",
- "Bww|UNK_130",
+ "Bww|SET_ADJ_NOUN",
NULL,
/* 132 */
"|SAVE_GAME",
@@ -487,8 +487,8 @@ static const char *const simon1talkie_opcode_name_table[256] = {
"WWBB|PATHFIND",
"BBB|ROOM_DESCRIPTION",
/* 180 */
- "|FORCE_UNLOCK",
- "|FORCE_LOCK",
+ "|MOUSE_ON",
+ "|MOUSE_OFF",
"|LOAD_BEARD",
"|UNLOAD_BEARD",
/* 184 */
@@ -662,7 +662,7 @@ static const char *const simon2dos_opcode_name_table[256] = {
/* 128 */
"W|GET_DUMMY_WORD",
"W|GET_WORD_COND_TRUE",
- "Bww|UNK_130",
+ "Bww|SET_ADJ_NOUN",
NULL,
/* 132 */
"|SAVE_GAME",
@@ -725,8 +725,8 @@ static const char *const simon2dos_opcode_name_table[256] = {
"WWBB|PATHFIND",
"BBB|ROOM_DESCRIPTION",
/* 180 */
- "|FORCE_UNLOCK",
- "|FORCE_LOCK",
+ "|MOUSE_ON",
+ "|MOUSE_OFF",
NULL,
NULL,
/* 184 */
@@ -904,7 +904,7 @@ static const char *const simon2talkie_opcode_name_table[256] = {
/* 128 */
"W|GET_DUMMY_WORD",
"W|GET_WORD_COND_TRUE",
- "Bww|UNK_130",
+ "Bww|SET_ADJ_NOUN",
NULL,
/* 132 */
"|SAVE_GAME",
@@ -967,8 +967,8 @@ static const char *const simon2talkie_opcode_name_table[256] = {
"WWBB|PATHFIND",
"BBB|ROOM_DESCRIPTION",
/* 180 */
- "|FORCE_UNLOCK",
- "|FORCE_LOCK",
+ "|MOUSE_ON",
+ "|MOUSE_OFF",
NULL,
NULL,
/* 184 */
@@ -1146,7 +1146,7 @@ static const char *const feeblefiles_opcode_name_table[256] = {
/* 128 */
"W|GET_DUMMY_WORD",
"W|GET_WORD_COND_TRUE",
- "Bww|UNK_130",
+ "Bww|SET_ADJ_NOUN",
NULL,
/* 132 */
"|SAVE_GAME",
@@ -1209,8 +1209,8 @@ static const char *const feeblefiles_opcode_name_table[256] = {
"WWBB|PATHFIND",
"BBB|ROOM_DESCRIPTION",
/* 180 */
- "|FORCE_UNLOCK",
- "|FORCE_LOCK",
+ "|MOUSE_ON",
+ "|MOUSE_OFF",
"T|LOAD_VIDEO",
"|PLAY_VIDEO",
/* 184 */
@@ -1278,8 +1278,8 @@ const char *const simon1_video_opcode_name_table[] = {
"d|SET_PALETTE_MODE",
/* 32 */
"vv|COPY_VAR",
- "|FORCE_UNLOCK",
- "|FORCE_LOCK",
+ "|MOUSE_ON",
+ "|MOUSE_OFF",
"dd|VC35",
/* 36 */
"dd|SAVELOAD_THING",
@@ -1361,8 +1361,8 @@ const char *const simon2_video_opcode_name_table[] = {
"d|SET_PALETTE_MODE",
/* 32 */
"vv|COPY_VAR",
- "|FORCE_UNLOCK",
- "|FORCE_LOCK",
+ "|MOUSE_ON",
+ "|MOUSE_OFF",
"dd|VC35",
/* 36 */
"dd|SAVELOAD_THING",
@@ -1458,8 +1458,8 @@ const char *const feeblefiles_video_opcode_name_table[] = {
"d|SET_PALETTE_MODE",
/* 32 */
"vv|COPY_VAR",
- "|FORCE_UNLOCK",
- "|FORCE_LOCK",
+ "|MOUSE_ON",
+ "|MOUSE_OFF",
"dd|VC35",
/* 36 */
"dd|SAVELOAD_THING",
@@ -1514,12 +1514,12 @@ const char *const feeblefiles_video_opcode_name_table[] = {
/* 76 */
"ddd|SETSCALEXOFFS",
"ddd|SETSCALEYOFFS",
- "|PATHUNK1",
- "|PATHUNK1",
+ "|COMPUTEXY",
+ "|COMPUTEPOSNUM",
/* 80 */
"ddd|SETOVERLAYIMAGE",
"dd|SETRANDOM",
- "d|PATHUNK3",
+ "d|GETPATHVALUE",
"ddd|PLAYSOUNDLOOP",
"|STOPSOUNDLOOP",
};
diff --git a/simon/intern.h b/simon/intern.h
index f00f15e5db..cbfbf3c2a4 100644
--- a/simon/intern.h
+++ b/simon/intern.h
@@ -106,9 +106,9 @@ enum {
struct SubroutineLine {
uint16 next;
- int16 cond_a;
- int16 cond_b;
- int16 cond_c;
+ int16 verb;
+ int16 noun1;
+ int16 noun2;
};
struct TimeEvent {
diff --git a/simon/items.cpp b/simon/items.cpp
index b9081ec04d..fb793c482c 100644
--- a/simon/items.cpp
+++ b/simon/items.cpp
@@ -722,13 +722,15 @@ int SimonEngine::runScript() {
}
break;
- case 130:{ /* set script cond */
+ case 130:{ /* set adj noun */
uint var = getVarOrByte();
- getNextWord();
- if (var == 1)
- _scriptCondB = getNextWord();
- else
- _scriptCondC = getNextWord();
+ if (var == 1) {
+ _scriptAdj1 = getNextWord();
+ _scriptNoun1 = getNextWord();
+ } else {
+ _scriptAdj2 = getNextWord();
+ _scriptNoun2 = getNextWord();
+ }
}
break;
@@ -997,12 +999,12 @@ int SimonEngine::runScript() {
break;
case 180:{ /* force unlock */
- o_force_unlock();
+ o_mouseOn();
}
break;
case 181:{ /* force lock */
- o_force_lock();
+ o_mouseOff();
if (getGameType() == GType_SIMON2) {
changeWindow(1);
showMessageFormat("\xC");
@@ -1232,16 +1234,16 @@ bool SimonEngine::checkIfToRunSubroutineLine(SubroutineLine *sl, Subroutine *sub
if (sub->id)
return true;
- if (sl->cond_a != -1 && sl->cond_a != _scriptCondA &&
- (sl->cond_a != -2 || _scriptCondA != -1))
+ if (sl->verb != -1 && sl->verb != _scriptVerb &&
+ (sl->verb != -2 || _scriptVerb != -1))
return false;
- if (sl->cond_b != -1 && sl->cond_b != _scriptCondB &&
- (sl->cond_b != -2 || _scriptCondB != -1))
+ if (sl->noun1 != -1 && sl->noun1 != _scriptNoun1 &&
+ (sl->noun1 != -2 || _scriptNoun1 != -1))
return false;
- if (sl->cond_c != -1 && sl->cond_c != _scriptCondC &&
- (sl->cond_c != -2 || _scriptCondC != -1))
+ if (sl->noun2 != -1 && sl->noun2 != _scriptNoun2 &&
+ (sl->noun2 != -2 || _scriptNoun2 != -1))
return false;
return true;
diff --git a/simon/simon.cpp b/simon/simon.cpp
index 485a83e48b..319fc4b912 100644
--- a/simon/simon.cpp
+++ b/simon/simon.cpp
@@ -352,9 +352,11 @@ SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst)
_scrollImage = 0;
_vgaVar8 = 0;
- _scriptCondA = 0;
- _scriptCondB = 0;
- _scriptCondC = 0;
+ _scriptVerb = 0;
+ _scriptNoun1 = 0;
+ _scriptNoun2 = 0;
+ _scriptAdj1 = 0;
+ _scriptAdj2 = 0;
_curWindow = 0;
_textWindow = 0;
@@ -880,9 +882,9 @@ void SimonEngine::readSubroutineLine(File *in, SubroutineLine *sl, Subroutine *s
int size;
if (sub->id == 0) {
- sl->cond_a = in->readUint16BE();
- sl->cond_b = in->readUint16BE();
- sl->cond_c = in->readUint16BE();
+ sl->verb = in->readUint16BE();
+ sl->noun1 = in->readUint16BE();
+ sl->noun2 = in->readUint16BE();
}
while ((*q = in->readByte()) != 0xFF) {
@@ -1557,7 +1559,7 @@ bool SimonEngine::kickoffTimeEvents() {
void SimonEngine::invokeTimeEvent(TimeEvent *te) {
Subroutine *sub;
- _scriptCondA = 0;
+ _scriptVerb = 0;
if (_runScriptReturn1)
return;
sub = getSubroutineByID(te->subroutine_id);
@@ -1579,9 +1581,11 @@ void SimonEngine::o_setup_cond_c() {
_objectItem = derefItem(getItem1Ptr()->parent);
if (_objectItem != NULL) {
- _scriptCondC = _objectItem->noun;
+ _scriptNoun2 = _objectItem->noun;
+ _scriptAdj2 = _objectItem->adjective;
} else {
- _scriptCondC = -1;
+ _scriptNoun2 = -1;
+ _scriptAdj2 = -1;
}
}
@@ -2194,18 +2198,22 @@ void SimonEngine::handle_verb_clicked(uint verb) {
}
if (_subjectItem) {
- _scriptCondB = _subjectItem->noun;
+ _scriptNoun1 = _subjectItem->noun;
+ _scriptAdj1 = _subjectItem->adjective;
} else {
- _scriptCondB = -1;
+ _scriptNoun1 = -1;
+ _scriptAdj1 = -1;
}
if (_objectItem) {
- _scriptCondC = _objectItem->noun;
+ _scriptNoun2 = _objectItem->noun;
+ _scriptAdj2 = _objectItem->adjective;
} else {
- _scriptCondC = -1;
+ _scriptNoun2 = -1;
+ _scriptAdj2 = -1;
}
- _scriptCondA = _verbHitArea;
+ _scriptVerb = _verbHitArea;
sub = getSubroutineByID(0);
if (sub == NULL)
@@ -2221,7 +2229,7 @@ void SimonEngine::handle_verb_clicked(uint verb) {
if (sub)
startSubroutine(sub);
- if (getGameType() == GType_SIMON2)
+ if (getGameType() == GType_SIMON2 || getGameType() == GType_FF)
_runScriptReturn1 = false;
startUp_helper_2();
@@ -2661,13 +2669,13 @@ void SimonEngine::add_vga_timer(uint num, const byte *code_ptr, uint cur_sprite,
_lockWord &= ~1;
}
-void SimonEngine::o_force_unlock() {
+void SimonEngine::o_mouseOn() {
if (getGameType() == GType_SIMON2 && _bitArray[4] & 0x8000)
_mouseCursor = 0;
_lockCounter = 0;
}
-void SimonEngine::o_force_lock() {
+void SimonEngine::o_mouseOff() {
_lockWord |= 0x8000;
vc34_setMouseOff();
_lockWord &= ~0x8000;
diff --git a/simon/simon.h b/simon/simon.h
index 2d62691bc1..0456051f4e 100644
--- a/simon/simon.h
+++ b/simon/simon.h
@@ -264,7 +264,8 @@ protected:
const byte *_scrollImage;
byte _vgaVar8;
- int16 _scriptCondA, _scriptCondB, _scriptCondC;
+ int16 _scriptVerb, _scriptNoun1, _scriptNoun2;
+ int16 _scriptAdj1, _scriptAdj2;
uint16 _curWindow;
FillOrCopyStruct *_textWindow;
@@ -566,8 +567,8 @@ protected:
void o_lockZone();
void o_unlockZone();
void o_pathfind(int x, int y, uint var_1, uint var_2);
- void o_force_unlock();
- void o_force_lock();
+ void o_mouseOn();
+ void o_mouseOff();
void o_loadBeard();
void o_unloadBeard();
void o_clear_vgapointer_entry(uint a);