[Scummvm-cvs-logs] SF.net SVN: scummvm: [24028] scummvm/trunk/engines/agos
eriktorbjorn at users.sourceforge.net
eriktorbjorn at users.sourceforge.net
Sat Sep 30 09:00:48 CEST 2006
Revision: 24028
http://svn.sourceforge.net/scummvm/?rev=24028&view=rev
Author: eriktorbjorn
Date: 2006-09-30 00:00:42 -0700 (Sat, 30 Sep 2006)
Log Message:
-----------
Partially unstubbed the PP "oops" opcodes.
Modified Paths:
--------------
scummvm/trunk/engines/agos/agos.cpp
scummvm/trunk/engines/agos/agos.h
scummvm/trunk/engines/agos/items.cpp
Modified: scummvm/trunk/engines/agos/agos.cpp
===================================================================
--- scummvm/trunk/engines/agos/agos.cpp 2006-09-30 06:47:41 UTC (rev 24027)
+++ scummvm/trunk/engines/agos/agos.cpp 2006-09-30 07:00:42 UTC (rev 24028)
@@ -331,6 +331,7 @@
_variableArray = 0;
_variableArray2 = 0;
_variableArrayPtr = 0;
+ _variableBackupArray = 0;
memset(_windowArray, 0, sizeof(_windowArray));
@@ -379,6 +380,8 @@
_saveOrLoad = false;
_saveLoadEdit = false;
+ _oopsValid = false;
+
_hyperLink = 0;
_interactY = 0;
_oracleMaxScrollY = 0;
@@ -614,6 +617,7 @@
_variableArray = (int16 *)calloc(_numVars, sizeof(int16));
_variableArray2 = (int16 *)calloc(_numVars, sizeof(int16));
+ _variableBackupArray = (int16 *)calloc(_numVars, sizeof(int16));
setupOpcodes();
Modified: scummvm/trunk/engines/agos/agos.h
===================================================================
--- scummvm/trunk/engines/agos/agos.h 2006-09-30 06:47:41 UTC (rev 24027)
+++ scummvm/trunk/engines/agos/agos.h 2006-09-30 07:00:42 UTC (rev 24028)
@@ -412,6 +412,7 @@
int16 *_variableArray;
int16 *_variableArray2;
int16 *_variableArrayPtr;
+ int16 *_variableBackupArray;
WindowBlock *_windowArray[16];
@@ -475,6 +476,8 @@
byte _saveLoadType, _saveLoadSlot;
char _saveLoadName[108];
+ bool _oopsValid;
+
int _sdlMouseX, _sdlMouseY;
byte *_backGroundBuf;
Modified: scummvm/trunk/engines/agos/items.cpp
===================================================================
--- scummvm/trunk/engines/agos/items.cpp 2006-09-30 06:47:41 UTC (rev 24027)
+++ scummvm/trunk/engines/agos/items.cpp 2006-09-30 07:00:42 UTC (rev 24028)
@@ -2569,10 +2569,24 @@
void AGOSEngine::o4_restoreOopsPosition() {
// 32: restore oops position
getNextItemPtr();
+ if (_oopsValid) {
+ for (uint i = 0; i < _numVars; i++) {
+ _variableArray[i] = _variableBackupArray[i];
+ }
+// i=FlagData[999]*100+11;
+// C_PICTURE(4,i);
+ if (getBitFlag(110)) {
+ _gameTime += 10;
+ } else {
+ // Swampy adventures
+ _gameTime += 30;
+ }
+ _oopsValid = false;
+ }
}
void AGOSEngine::o4_checkTiles() {
- // 37: for MahJongg game
+ // 37: for MahJongg game
getVarOrByte();
}
@@ -2627,6 +2641,13 @@
void AGOSEngine::o4_saveOopsPosition() {
// 173: save oops position
+// if (IsVQueueEmpty() == 0) {
+ _oopsValid = true;
+ for (uint i = 0; i < _numVars; i++) {
+ _variableBackupArray[i] = _variableArray[i];
+ }
+// } else
+// _oopsValid = false;
}
void AGOSEngine::o4_resetGameTime() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list