[Scummvm-cvs-logs] CVS: scummvm gfx.h,1.4,1.5 object.cpp,1.60,1.61 script_v2.cpp,1.48,1.49 scumm.h,1.132,1.133 scummvm.cpp,1.121,1.122
Vincent Hamm
yazoo at users.sourceforge.net
Sun Apr 21 14:21:07 CEST 2002
- Previous message: [Scummvm-cvs-logs] CVS: scummvm akos.cpp,1.12,1.13 resource.cpp,1.68,1.69 script_v2.cpp,1.47,1.48 scumm.h,1.131,1.132 vars.cpp,1.7,1.8
- Next message: [Scummvm-cvs-logs] CVS: scummvm script_v2.cpp,1.49,1.50
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm
In directory usw-pr-cvs1:/tmp/cvs-serv27001
Modified Files:
gfx.h object.cpp script_v2.cpp scumm.h scummvm.cpp
Log Message:
Some code cleanup in the blast object code for implementation of futur features
Index: gfx.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gfx.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** gfx.h 17 Apr 2002 03:11:37 -0000 1.4
--- gfx.h 21 Apr 2002 21:20:32 -0000 1.5
***************
*** 74,82 ****
};
! struct EnqueuedObject { /* Objects to draw */
uint16 a,b,c,d,e;
int16 x,y;
uint16 width,height;
! uint16 j,k,l;
};
--- 74,83 ----
};
! struct BlastObject { /* BlastObjects to draw */
uint16 a,b,c,d,e;
int16 x,y;
uint16 width,height;
! uint16 j,k,l;
! uint16 mode;
};
Index: object.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/object.cpp,v
retrieving revision 1.60
retrieving revision 1.61
diff -C2 -d -r1.60 -r1.61
*** object.cpp 20 Apr 2002 04:09:01 -0000 1.60
--- object.cpp 21 Apr 2002 21:20:32 -0000 1.61
***************
*** 1152,1159 ****
}
! void Scumm::enqueueObject(int a, int b, int c, int d, int e, int f, int g,
! int h, int mode)
{
! EnqueuedObject *eo;
ObjectData *od;
--- 1152,1159 ----
}
! void Scumm::enqueueObject(int objectNumber, int objectX, int objectY, int objectWidth, int objectHeight, int f, int g,
! int image, int mode)
{
! BlastObject *eo;
ObjectData *od;
***************
*** 1162,1203 ****
eo = &_enqueuedObjects[_enqueuePos++];
! eo->a = a;
eo->b = _enqueue_b;
eo->c = _enqueue_c;
eo->d = _enqueue_d;
eo->e = _enqueue_e;
! eo->x = b;
! eo->y = c;
! if (d == 0) {
! od = &_objs[getObjectIndex(a)];
eo->width = od->width;
} else {
! eo->width = d;
}
! if (e == 0) {
! od = &_objs[getObjectIndex(a)];
eo->height = od->height;
} else {
! eo->height = e;
}
eo->j = f;
eo->k = g;
! eo->l = h;
}
! void Scumm::drawEnqueuedObjects()
{
! EnqueuedObject *eo;
int i;
eo = _enqueuedObjects;
for (i = 0; i < _enqueuePos; i++, eo++) {
! drawEnqueuedObject(eo);
}
}
! void Scumm::drawEnqueuedObject(EnqueuedObject * eo)
{
VirtScreen *vs;
--- 1162,1204 ----
eo = &_enqueuedObjects[_enqueuePos++];
! eo->a = objectNumber;
eo->b = _enqueue_b;
eo->c = _enqueue_c;
eo->d = _enqueue_d;
eo->e = _enqueue_e;
! eo->x = objectX;
! eo->y = objectY;
! if (objectWidth == 0) {
! od = &_objs[getObjectIndex(objectNumber)];
eo->width = od->width;
} else {
! eo->width = objectWidth;
}
! if (objectHeight == 0) {
! od = &_objs[getObjectIndex(objectNumber)];
eo->height = od->height;
} else {
! eo->height = objectHeight;
}
eo->j = f;
eo->k = g;
! eo->l = image;
! eo->mode = mode;
}
! void Scumm::drawBlastObjects()
{
! BlastObject *eo;
int i;
eo = _enqueuedObjects;
for (i = 0; i < _enqueuePos; i++, eo++) {
! drawBlastObject(eo);
}
}
! void Scumm::drawBlastObject(BlastObject * eo)
{
VirtScreen *vs;
***************
*** 1233,1237 ****
assert(ptr);
ptr = findResource(IMxx_tags[eo->l], ptr);
! // assert(ptr);
if (!ptr) /* FIXME: Sam and Max highway subgame */
return;
--- 1234,1238 ----
assert(ptr);
ptr = findResource(IMxx_tags[eo->l], ptr);
!
if (!ptr) /* FIXME: Sam and Max highway subgame */
return;
***************
*** 1258,1269 ****
}
! void Scumm::removeEnqueuedObjects()
{
! EnqueuedObject *eo;
int i;
eo = _enqueuedObjects;
for (i = 0; i < _enqueuePos; i++, eo++) {
! removeEnqueuedObject(eo);
}
--- 1259,1270 ----
}
! void Scumm::removeBlastObjects()
{
! BlastObject *eo;
int i;
eo = _enqueuedObjects;
for (i = 0; i < _enqueuePos; i++, eo++) {
! removeBlastObject(eo);
}
***************
*** 1271,1275 ****
}
! void Scumm::removeEnqueuedObject(EnqueuedObject * eo)
{
restoreBG(eo->x, eo->y, eo->x + eo->width, eo->y + eo->height);
--- 1272,1276 ----
}
! void Scumm::removeBlastObject(BlastObject * eo)
{
restoreBG(eo->x, eo->y, eo->x + eo->width, eo->y + eo->height);
Index: script_v2.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/script_v2.cpp,v
retrieving revision 1.48
retrieving revision 1.49
diff -C2 -d -r1.48 -r1.49
*** script_v2.cpp 21 Apr 2002 19:38:00 -0000 1.48
--- script_v2.cpp 21 Apr 2002 21:20:32 -0000 1.49
***************
*** 154,158 ****
&Scumm::o6_drawBlastObject,
/* 64 */
! &Scumm::o6_bompWindow,
&Scumm::o6_stopObjectCode,
&Scumm::o6_stopObjectCode,
--- 154,158 ----
&Scumm::o6_drawBlastObject,
/* 64 */
! &Scumm::o6_setBlastObjectWindow,
&Scumm::o6_stopObjectCode,
&Scumm::o6_stopObjectCode,
***************
*** 676,680 ****
_opcodes_lookup = opcode_lookup;
}
! void Scumm::o6_bompWindow()
{ // Set BOMP processing window
int a, b, c, d;
--- 676,680 ----
_opcodes_lookup = opcode_lookup;
}
! void Scumm::o6_setBlastObjectWindow()
{ // Set BOMP processing window
int a, b, c, d;
Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm.h,v
retrieving revision 1.132
retrieving revision 1.133
diff -C2 -d -r1.132 -r1.133
*** scumm.h 21 Apr 2002 19:38:00 -0000 1.132
--- scumm.h 21 Apr 2002 21:20:32 -0000 1.133
***************
*** 1218,1229 ****
uint16 _enqueue_b,_enqueue_c,_enqueue_d,_enqueue_e;
int _enqueuePos;
! EnqueuedObject _enqueuedObjects[32];
void enqueueObject(int a, int b, int c, int d, int e, int f, int g, int h, int mode);
void clearEnqueue() { _enqueuePos = 0; }
! void drawEnqueuedObjects();
! void drawEnqueuedObject(EnqueuedObject *eo);
! void removeEnqueuedObjects();
! void removeEnqueuedObject(EnqueuedObject *eo);
int _drawObjectQueNr;
--- 1218,1229 ----
uint16 _enqueue_b,_enqueue_c,_enqueue_d,_enqueue_e;
int _enqueuePos;
! BlastObject _enqueuedObjects[32];
void enqueueObject(int a, int b, int c, int d, int e, int f, int g, int h, int mode);
void clearEnqueue() { _enqueuePos = 0; }
! void drawBlastObjects();
! void drawBlastObject(BlastObject *eo);
! void removeBlastObjects();
! void removeBlastObject(BlastObject *eo);
int _drawObjectQueNr;
***************
*** 1445,1449 ****
void unkMiscOp9();
! void o6_bompWindow();
void o6_pushByte();
void o6_pushWord();
--- 1445,1449 ----
void unkMiscOp9();
! void o6_setBlastObjectWindow();
void o6_pushByte();
void o6_pushWord();
Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scummvm.cpp,v
retrieving revision 1.121
retrieving revision 1.122
diff -C2 -d -r1.121 -r1.122
*** scummvm.cpp 21 Apr 2002 17:54:59 -0000 1.121
--- scummvm.cpp 21 Apr 2002 21:20:32 -0000 1.122
***************
*** 354,360 ****
}
! drawEnqueuedObjects();
drawDirtyScreenParts();
! removeEnqueuedObjects();
if (!(_features & GF_AFTER_V6))
--- 354,360 ----
}
! drawBlastObjects();
drawDirtyScreenParts();
! removeBlastObjects();
if (!(_features & GF_AFTER_V6))
- Previous message: [Scummvm-cvs-logs] CVS: scummvm akos.cpp,1.12,1.13 resource.cpp,1.68,1.69 script_v2.cpp,1.47,1.48 scumm.h,1.131,1.132 vars.cpp,1.7,1.8
- Next message: [Scummvm-cvs-logs] CVS: scummvm script_v2.cpp,1.49,1.50
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list