[Scummvm-cvs-logs] SF.net SVN: scummvm: [24626] scummvm/trunk/engines/agos
kirben at users.sourceforge.net
kirben at users.sourceforge.net
Sun Nov 5 09:27:23 CET 2006
Revision: 24626
http://svn.sourceforge.net/scummvm/?rev=24626&view=rev
Author: kirben
Date: 2006-11-05 00:27:15 -0800 (Sun, 05 Nov 2006)
Log Message:
-----------
Cleanup
Modified Paths:
--------------
scummvm/trunk/engines/agos/intern.h
scummvm/trunk/engines/agos/res.cpp
scummvm/trunk/engines/agos/rooms.cpp
scummvm/trunk/engines/agos/saveload.cpp
Modified: scummvm/trunk/engines/agos/intern.h
===================================================================
--- scummvm/trunk/engines/agos/intern.h 2006-11-05 08:22:33 UTC (rev 24625)
+++ scummvm/trunk/engines/agos/intern.h 2006-11-05 08:27:15 UTC (rev 24626)
@@ -45,8 +45,7 @@
uint16 roomX;
uint16 roomY;
uint16 roomZ;
- uint16 *roomExitStates;
- uint16 roomExit[1];
+ uint16 roomExitStates[1];
};
struct SubObject : Child {
Modified: scummvm/trunk/engines/agos/res.cpp
===================================================================
--- scummvm/trunk/engines/agos/res.cpp 2006-11-05 08:22:33 UTC (rev 24625)
+++ scummvm/trunk/engines/agos/res.cpp 2006-11-05 08:27:15 UTC (rev 24626)
@@ -402,17 +402,16 @@
j = x * y * z;
size = SubSuperRoom_SIZE;
for (i = 0; i != j; i++)
- size += sizeof(subSuperRoom->roomExit[0]);
+ size += sizeof(subSuperRoom->roomExitStates[0]);
subSuperRoom = (SubSuperRoom *)allocateChildBlock(item, 4, size);
subSuperRoom->subroutine_id = id;
subSuperRoom->roomX = x;
subSuperRoom->roomY = y;
subSuperRoom->roomZ = z;
- subSuperRoom->roomExitStates = (uint16 *)calloc(j, sizeof(uint16));
for (i = k = 0; i != j; i++)
- subSuperRoom->roomExit[k++] = in->readUint16BE();
+ subSuperRoom->roomExitStates[k++] = in->readUint16BE();
} else if (getGameType() == GType_ELVIRA1) {
SubGenExit *genExit = (SubGenExit *)allocateChildBlock(item, 4, sizeof(SubGenExit));
genExit->dest[0] = (uint16)fileReadItemID(in);
Modified: scummvm/trunk/engines/agos/rooms.cpp
===================================================================
--- scummvm/trunk/engines/agos/rooms.cpp 2006-11-05 08:22:33 UTC (rev 24625)
+++ scummvm/trunk/engines/agos/rooms.cpp 2006-11-05 08:27:15 UTC (rev 24626)
@@ -193,7 +193,6 @@
// Elvira 2 specific
int AGOSEngine::changeExitStates(SubSuperRoom *sr, int n, int d, uint16 s) {
int b, bd;
- uint16 *c;
uint16 mask = 3;
uint16 bs = s;
@@ -238,22 +237,18 @@
return 0;
}
n--;
- c = sr->roomExitStates;
- c += n;
d <<= 1;
mask <<= d;
s <<= d;
- *c &= ~mask;
- *c |= s;
+ sr->roomExitStates[n] &= ~mask;
+ sr->roomExitStates[n] |= s;
mask = 3;
n += b;
- c = sr->roomExitStates;
- c += n;
bd <<= 1;
mask <<= bd;
bs <<= bd;
- *c &= ~mask;
- *c |= bs;
+ sr->roomExitStates[n] &= ~mask;
+ sr->roomExitStates[n] |= bs;
return 1;
}
@@ -261,17 +256,14 @@
SubSuperRoom *sr;
uint16 mask = 3;
uint16 n;
- uint16 *c;
sr = (SubSuperRoom *)findChildOfType(i, 4);
if (sr == NULL)
return 0;
- c = sr->roomExitStates;
- c += x - 1;
d <<= 1;
mask <<= d;
- n = *c & mask;
+ n = sr->roomExitStates[x - 1] & mask;
n >>= d;
return n;
}
@@ -283,19 +275,16 @@
}
void AGOSEngine::setSRExit(Item *i, int n, int d, uint16 s) {
- uint16 *c;
uint16 mask = 3;
SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(i, 4);
if (sr) {
n--;
- c = sr->roomExitStates;
- c += n;
d <<= 1;
mask <<= d;
s <<= d;
- *c &= ~mask;
- *c |= s;
+ sr->roomExitStates[n] &= ~mask;
+ sr->roomExitStates[n] |= s;
}
}
@@ -316,7 +305,7 @@
case 0: a = -(sr->roomX); break;
case 1: a = 1; break;
case 2: a = sr->roomX; break;
- case 3: a = (uint16)-1; break;
+ case 3: a = 0xFFFF; break;
case 4: a = -(sr->roomX * sr->roomY); break;
case 5: a = (sr->roomX * sr->roomY); break;
default: return;
Modified: scummvm/trunk/engines/agos/saveload.cpp
===================================================================
--- scummvm/trunk/engines/agos/saveload.cpp 2006-11-05 08:22:33 UTC (rev 24625)
+++ scummvm/trunk/engines/agos/saveload.cpp 2006-11-05 08:27:15 UTC (rev 24626)
@@ -134,8 +134,8 @@
void AGOSEngine::quickLoadOrSave() {
// Quick load & save is only supported complete version of Simon the Sorcerer 1/2
- if (getGameType() != GType_SIMON1 && getGameType() != GType_SIMON2 &&
- !(getFeatures() & GF_DEMO)) {
+ if (getGameType() != GType_SIMON1 && getGameType() != GType_SIMON2 ||
+ (getFeatures() & GF_DEMO)) {
return;
}
@@ -617,8 +617,8 @@
killAllTimers();
for (num = f->readUint32BE(); num; num--) {
uint32 timeout = f->readUint32BE();
- uint16 func_to_call = f->readUint16BE();
- addTimeEvent(timeout, func_to_call);
+ uint16 subroutine_id = f->readUint16BE();
+ addTimeEvent(timeout, subroutine_id);
}
item_index = 1;
@@ -814,8 +814,8 @@
killAllTimers();
for (num = f->readUint32BE(); num; num--) {
uint32 timeout = f->readUint32BE();
- uint16 func_to_call = f->readUint16BE();
- addTimeEvent(timeout, func_to_call);
+ uint16 subroutine_id = f->readUint16BE();
+ addTimeEvent(timeout, subroutine_id);
}
item_index = 1;
@@ -845,9 +845,8 @@
SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(item, 4);
if (sr) {
uint16 n = sr->roomX * sr->roomY * sr->roomZ;
- uint16 *c = sr->roomExitStates;
- while(n--)
- *c++ = f->readUint16BE();
+ for (i = j = 0; i != n; i++)
+ sr->roomExitStates[j++] = f->readUint16BE();
}
SubObject *o = (SubObject *)findChildOfType(item, 2);
@@ -975,9 +974,8 @@
SubSuperRoom *sr = (SubSuperRoom *)findChildOfType(item, 4);
if (sr) {
uint16 n = sr->roomX * sr->roomY * sr->roomZ;
- uint16 *c = sr->roomExitStates;
- while(n--)
- f->writeUint16BE(*c++);
+ for (i = j = 0; i != n; i++)
+ f->writeUint16BE(sr->roomExitStates[j++]);
}
SubObject *o = (SubObject *)findChildOfType(item, 2);
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