[Scummvm-cvs-logs] CVS: scummvm actor.cpp,1.22,1.23 gfx.cpp,1.28,1.29 object.cpp,1.23,1.24 resource.cpp,1.33,1.34 script_v1.cpp,1.19,1.20 scumm.h,1.44,1.45 string.cpp,1.16,1.17
Vincent Hamm
yazoo at users.sourceforge.net
Wed Feb 13 09:34:15 CET 2002
Update of /cvsroot/scummvm/scummvm
In directory usw-pr-cvs1:/tmp/cvs-serv30196
Modified Files:
actor.cpp gfx.cpp object.cpp resource.cpp script_v1.cpp
scumm.h string.cpp
Log Message:
a few fix for Zak256
Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/actor.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** actor.cpp 12 Feb 2002 18:20:37 -0000 1.22
--- actor.cpp 13 Feb 2002 17:33:52 -0000 1.23
***************
*** 323,327 ****
if (scale>255)
! error("Actor %d at %d, scale %d out of range", a->number, a->y, scale);
a->scalex = (byte)scale;
--- 323,327 ----
if (scale>255)
! warning("Actor %d at %d, scale %d out of range", a->number, a->y, scale);
a->scalex = (byte)scale;
Index: gfx.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gfx.cpp,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -d -r1.28 -r1.29
*** gfx.cpp 12 Feb 2002 18:20:37 -0000 1.28
--- gfx.cpp 13 Feb 2002 17:33:52 -0000 1.29
***************
*** 1306,1310 ****
color = 0;
for (z=0; z < 4; z++) {READ_256BIT; color+=bits<<i;}
! *dst = (run * 16 + color);
NEXT_ROW // y++; if (y>=height) {y=0; x++;}}
}
--- 1306,1310 ----
color = 0;
for (z=0; z < 4; z++) {READ_256BIT; color+=bits<<i;}
! *dst = (run *16 + color);
NEXT_ROW // y++; if (y>=height) {y=0; x++;}}
}
***************
*** 1338,1342 ****
NEXT_ROW
} else {
! uint run = color - numcolors + 1;
color = *src++;
do {
--- 1338,1342 ----
NEXT_ROW
} else {
! uint run = color - numcolors +1;
color = *src++;
do {
Index: object.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/object.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** object.cpp 12 Feb 2002 21:28:07 -0000 1.23
--- object.cpp 13 Feb 2002 17:33:52 -0000 1.24
***************
*** 33,37 ****
void Scumm::putClass(int obj, int cls, bool set) {
! checkRange(_numGlobalObjects-1, 0, obj, "Object %d out of range in getClass");
cls &= 0x7F;
--- 33,37 ----
void Scumm::putClass(int obj, int cls, bool set) {
! checkRange(_numGlobalObjects-1, 0, obj, "Object %d out of range in putClass");
cls &= 0x7F;
Index: resource.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/resource.cpp,v
retrieving revision 1.33
retrieving revision 1.34
diff -C2 -d -r1.33 -r1.34
*** resource.cpp 12 Feb 2002 22:25:41 -0000 1.33
--- resource.cpp 13 Feb 2002 17:33:52 -0000 1.34
***************
*** 417,425 ****
assert(num == _numGlobalObjects);
for (i=0; i<num; i++) { /* not too sure about all that */
! _classData[i] = fileReadWordLE(); //+ fileReadByte();
! fileReadByte();
_objectOwnerTable[i] = fileReadByte();
! _objectStateTable[i] = _objectOwnerTable[i]>>OF_STATE_SHL;
! _objectOwnerTable[i] &= OF_OWNER_MASK;
}
--- 417,425 ----
assert(num == _numGlobalObjects);
for (i=0; i<num; i++) { /* not too sure about all that */
! _classData[i] = fileReadByte() + 256*fileReadByte()+ 256*256*fileReadByte();
! // fileReadByte();
_objectOwnerTable[i] = fileReadByte();
! // _objectStateTable[i] = _objectOwnerTable[i]>>OF_STATE_SHL;
! // _objectOwnerTable[i] &= OF_OWNER_MASK;
}
Index: script_v1.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/script_v1.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** script_v1.cpp 13 Feb 2002 09:17:26 -0000 1.19
--- script_v1.cpp 13 Feb 2002 17:33:52 -0000 1.20
***************
*** 127,131 ****
&Scumm::o5_badOpcode,
/* 50 */
! &Scumm::o5_badOpcode,
&Scumm::o5_animateActor,
&Scumm::o5_actorFollowCamera,
--- 127,131 ----
&Scumm::o5_badOpcode,
/* 50 */
! &Scumm::o5_pickupObjectOld,
&Scumm::o5_animateActor,
&Scumm::o5_actorFollowCamera,
***************
*** 287,291 ****
&Scumm::o5_badOpcode,
/* D0 */
! &Scumm::o5_badOpcode,
&Scumm::o5_animateActor,
&Scumm::o5_actorFollowCamera,
--- 287,291 ----
&Scumm::o5_badOpcode,
/* D0 */
! &Scumm::o5_pickupObjectOld,
&Scumm::o5_animateActor,
&Scumm::o5_actorFollowCamera,
***************
*** 374,377 ****
--- 374,380 ----
switch(_opcode&0x1F) {
+ case 0: /* dummy case */
+ getVarOrDirectByte(0x80);
+ break;
case 1: /* costume */
setActorCostume(a, getVarOrDirectByte(0x80));
***************
*** 440,443 ****
--- 443,448 ----
a->scalex = getVarOrDirectByte(0x80);
a->scaley = getVarOrDirectByte(0x40);
+ if(a->scalex>255 || a->scaley>255)
+ error("Setting an bad actor scale!");
a->needRedraw = true;
a->needBgReset = true;
***************
*** 476,491 ****
void Scumm::o5_actorSetClass() {
int act = getVarOrDirectWord(0x80);
! int i;
while ( (_opcode=fetchScriptByte()) != 0xFF) {
! i = getVarOrDirectWord(0x80);
! if (i==0) {
_classData[act] = 0;
continue;
}
! if (i&0x80)
! putClass(act, i, 1);
else
! putClass(act, i, 0);
}
}
--- 481,496 ----
void Scumm::o5_actorSetClass() {
int act = getVarOrDirectWord(0x80);
! int newClass;
while ( (_opcode=fetchScriptByte()) != 0xFF) {
! newClass = getVarOrDirectWord(0x80);
! if (newClass==0) {
_classData[act] = 0;
continue;
}
! if (newClass&0x80)
! putClass(act, newClass, 1);
else
! putClass(act, newClass, 0);
}
}
***************
*** 583,588 ****
i = getVarOrDirectByte(0x80);
j = getVarOrDirectByte(0x40);
! if (!(_gameId==GID_LOOM256))
! setCursorImg(i, j, 1);
break;
case 11: /* set cursor hotspot */
--- 588,593 ----
i = getVarOrDirectByte(0x80);
j = getVarOrDirectByte(0x40);
! if(_gameId != GID_LOOM256)
! setCursorImg(i, j, 1);
break;
case 11: /* set cursor hotspot */
***************
*** 1404,1410 ****
b = getVarOrDirectWord(0x40);
checkRange(256, 0, a, "o5_roomOps: 2: Illegal room color slot (%d)");
! _currentPalette[a]=b;
_fullRedraw = 1;
- setDirtyColors(a,a);
} else {
a = getVarOrDirectWord(0x80);
--- 1409,1414 ----
b = getVarOrDirectWord(0x40);
checkRange(256, 0, a, "o5_roomOps: 2: Illegal room color slot (%d)");
! _currentPalette[a]=b; /*FIXME: should be shadow palette */
_fullRedraw = 1;
} else {
a = getVarOrDirectWord(0x80);
***************
*** 1422,1425 ****
--- 1426,1438 ----
setShake(0);
break;
+ case 7: /* room scale for old games */
+ a = getVarOrDirectByte(0x80);
+ b = getVarOrDirectByte(0x40);
+ _opcode=fetchScriptByte();
+ c = getVarOrDirectByte(0x80);
+ d = getVarOrDirectByte(0x40);
+ _opcode=fetchScriptByte();
+ e = getVarOrDirectByte(0x40);
+ setScaleItem(e-1,b,a,d,c);
case 8: /* room scale? */
a = getVarOrDirectByte(0x80);
***************
*** 2076,2078 ****
--- 2089,2106 ----
}
warning("Unsupported oldRoomEffect");
+ }
+
+ void Scumm::o5_pickupObjectOld() {
+
+ int obj;
+
+ obj = getVarOrDirectByte(0x80);
+
+ if(getObjectIndex(obj) != 1)
+ return;
+
+
+
+ warning("Unsupported pickupObjectOld");
+
}
Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm.h,v
retrieving revision 1.44
retrieving revision 1.45
diff -C2 -d -r1.44 -r1.45
*** scumm.h 12 Feb 2002 22:25:41 -0000 1.44
--- scumm.h 13 Feb 2002 17:33:52 -0000 1.45
***************
*** 303,311 ****
--- 303,317 ----
VAR_ROOM = 4,
VAR_OVERRIDE = 5,
+ VAR_MACHINE_SPEED = 6,
+ VAR_ME = 7,
VAR_NUM_ACTOR = 8,
+ VAR_CURRENT_LIGHTS = 9,
VAR_CURRENTDRIVE = 10,
VAR_TMR_1 = 11,
VAR_TMR_2 = 12,
VAR_TMR_3 = 13,
+ VAR_MUSIC_FLAG = 14,
+ VAR_ACTOR_RANGE_MIN = 15,
+ VAR_ACTOR_RANGE_MAX = 16,
VAR_CAMERA_MIN_X = 17,
VAR_CAMERA_MAX_X = 18,
***************
*** 1504,1508 ****
void o5_walkActorToObject();
void o5_oldRoomEffect();
!
void o6_pushByte();
void o6_pushWord();
--- 1510,1515 ----
void o5_walkActorToObject();
void o5_oldRoomEffect();
! void o5_pickupObjectOld();
!
void o6_pushByte();
void o6_pushWord();
Index: string.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/string.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** string.cpp 13 Feb 2002 07:02:49 -0000 1.16
--- string.cpp 13 Feb 2002 17:33:52 -0000 1.17
***************
*** 186,189 ****
--- 186,192 ----
byte *buffer;
+ if(_gameId==GID_ZAK256)
+ return;
+
#if !defined(FULL_THROTTLE)
if (!_haveMsg || (camera._dest.x>>3) != (camera._cur.x>>3) ||
More information about the Scummvm-git-logs
mailing list