[Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.322,1.323 akos.cpp,1.209,1.210 base-costume.cpp,2.25,2.26 costume.cpp,1.161,1.162 gfx.cpp,2.404,2.405 scumm.h,1.541,1.542
Max Horn
fingolfin at users.sourceforge.net
Tue Mar 15 13:49:57 CET 2005
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm saveload.cpp,1.195,1.196 scumm.h,1.540,1.541
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm costume.cpp,1.162,1.163 gfx.cpp,2.405,2.406 gfx.h,1.102,1.103 object.cpp,1.208,1.209 verbs.cpp,1.115,1.116
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3647
Modified Files:
actor.cpp akos.cpp base-costume.cpp costume.cpp gfx.cpp
scumm.h
Log Message:
Some cleanup/costume code unification. Note: NES costume code probably should be using subclasses; and maybe we should add AKOSLoadedCostume and NESLoadedCostume ?
Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/actor.cpp,v
retrieving revision 1.322
retrieving revision 1.323
diff -u -d -r1.322 -r1.323
--- actor.cpp 11 Mar 2005 01:09:37 -0000 1.322
+++ actor.cpp 15 Mar 2005 21:48:00 -0000 1.323
@@ -467,7 +467,7 @@
_needRedraw = true;
if (f == _initFrame)
_cost.reset();
- _vm->akos_decodeData(this, f, (uint) - 1);
+ _vm->costumeDecodeData(this, f, (uint) - 1);
_frame = f;
}
} else {
@@ -501,10 +501,7 @@
_cost.reset();
_auxBlock.visible = false;
}
- if (_vm->_features & GF_NEW_COSTUMES)
- _vm->akos_decodeData(this, f, (uint) - 1);
- else
- _vm->cost_decodeData(this, f, (uint) - 1);
+ _vm->costumeDecodeData(this, f, (uint) - 1);
_frame = f;
}
}
@@ -573,10 +570,7 @@
vald = _cost.frame[i];
if (vald == 0xFFFF)
continue;
- if (_vm->_features & GF_NEW_COSTUMES)
- _vm->akos_decodeData(this, vald, aMask);
- else
- _vm->cost_decodeData(this, vald, (_vm->_version <= 2) ? 0xFFFF : aMask);
+ _vm->costumeDecodeData(this, vald, (_vm->_version <= 2) ? 0xFFFF : aMask);
}
_needRedraw = true;
Index: akos.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/akos.cpp,v
retrieving revision 1.209
retrieving revision 1.210
diff -u -d -r1.209 -r1.210
--- akos.cpp 11 Mar 2005 01:09:54 -0000 1.209
+++ akos.cpp 15 Mar 2005 21:48:01 -0000 1.210
@@ -148,13 +148,6 @@
return (akhd->flags & 2) != 0;
}
-int ScummEngine::akos_frameToAnim(Actor *a, int frame) {
- if (_version >= 7 && akos_hasManyDirections(a->_costume))
- return toSimpleDir(1, a->getFacing()) + frame * 8;
- else
- return newDirToOldDir(a->getFacing()) + frame * 4;
-}
-
void ScummEngine::akos_decodeData(Actor *a, int frame, uint usemask) {
uint anim;
const byte *akos, *r;
@@ -168,7 +161,10 @@
if (a->_costume == 0)
return;
- anim = akos_frameToAnim(a, frame);
+ if (_version >= 7 && akos_hasManyDirections(a->_costume))
+ anim = toSimpleDir(1, a->getFacing()) + frame * 8;
+ else
+ anim = newDirToOldDir(a->getFacing()) + frame * 4;
akos = getResourceAddress(rtCostume, a->_costume);
assert(akos);
Index: base-costume.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/base-costume.cpp,v
retrieving revision 2.25
retrieving revision 2.26
diff -u -d -r2.25 -r2.26
--- base-costume.cpp 11 Mar 2005 01:09:56 -0000 2.25
+++ base-costume.cpp 15 Mar 2005 21:48:02 -0000 2.26
@@ -87,4 +87,11 @@
return false;
}
+void ScummEngine::costumeDecodeData(Actor *a, int frame, uint usemask) {
+ if (_features & GF_NEW_COSTUMES)
+ akos_decodeData(a, frame, usemask);
+ else
+ cost_decodeData(a, frame, usemask);
+}
+
} // End of namespace Scumm
Index: costume.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/costume.cpp,v
retrieving revision 1.161
retrieving revision 1.162
diff -u -d -r1.161 -r1.162
--- costume.cpp 15 Mar 2005 17:56:49 -0000 1.161
+++ costume.cpp 15 Mar 2005 21:48:02 -0000 1.162
@@ -808,7 +808,7 @@
}
-extern void DecodeNESTileData(const byte *src, byte *dest);
+extern void decodeNESTileData(const byte *src, byte *dest);
void ScummEngine::cost_decodeNESCostumeGfx() {
for (int n = 0; n < 2; n++) {
@@ -817,16 +817,12 @@
if (maxSprites == 0)
maxSprites = 256;
_v1MMNESCostumeGfx[n] = (byte *)calloc(maxSprites * 16, 1);
- DecodeNESTileData(patTable,_v1MMNESCostumeGfx[n]);
+ decodeNESTileData(patTable,_v1MMNESCostumeGfx[n]);
// We will not need it anymore
nukeResource(rtCostume, v1MMNEScostTables[n][4]);
}
}
-int ScummEngine::cost_frameToAnim(Actor *a, int frame) {
- return newDirToOldDir(a->getFacing()) + frame * 4;
-}
-
void ScummEngine::cost_decodeData(Actor *a, int frame, uint usemask) {
const byte *r;
uint mask, j;
@@ -837,7 +833,7 @@
lc.loadCostume(a->_costume);
- anim = cost_frameToAnim(a, frame);
+ anim = newDirToOldDir(a->getFacing()) + frame * 4;
if (anim > lc._numAnim) {
return;
Index: gfx.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/gfx.cpp,v
retrieving revision 2.404
retrieving revision 2.405
diff -u -d -r2.404 -r2.405
--- gfx.cpp 15 Mar 2005 21:15:29 -0000 2.404
+++ gfx.cpp 15 Mar 2005 21:48:03 -0000 2.405
@@ -1816,7 +1816,7 @@
}
}
-void DecodeNESTileData(const byte *src, byte *dest) {
+void decodeNESTileData(const byte *src, byte *dest) {
int len = READ_LE_UINT16(src); src += 2;
const byte *end = src + len;
int numtiles;
@@ -1834,23 +1834,23 @@
if (_NESBaseTiles == 0) {
byte *basetiles = _vm->getResourceAddress(rtCostume,37);
_NESBaseTiles = basetiles[2];
- DecodeNESTileData(basetiles,_NESPatTable);
+ decodeNESTileData(basetiles,_NESPatTable);
}
const byte *gdata = room + READ_LE_UINT16(room + 0x0A);
int tileset = *gdata++;
int width = READ_LE_UINT16(room + 0x04);
// int height = READ_LE_UINT16(room + 0x06);
- int i;
+ int i, j, n;
- DecodeNESTileData(_vm->getResourceAddress(rtCostume, 37 + tileset), _NESPatTable + _NESBaseTiles * 16);
+ decodeNESTileData(_vm->getResourceAddress(rtCostume, 37 + tileset), _NESPatTable + _NESBaseTiles * 16);
for (i = 0; i < 16; i++)
_NESPalette[i] = *gdata++;
for (i = 0; i < 16; i++) {
- int n = 0;
_NESNametable[i][0] = _NESNametable[i][1] = 0;
+ n = 0;
while (n < width) {
byte data = *gdata++;
- for (int j = 0; j < (data & 0x7F); j++)
+ for (j = 0; j < (data & 0x7F); j++)
_NESNametable[i][2 + n++] = (data & 0x80) ? (*gdata++) : (*gdata);
if (!(data & 0x80))
gdata++;
@@ -1859,9 +1859,9 @@
}
const byte *adata = room + READ_LE_UINT16(room + 0x0C);
- for (int n = 0; n < 64;) {
+ for (n = 0; n < 64;) {
byte data = *adata++;
- for (int j = 0; j < (data & 0x7F); j++)
+ for (j = 0; j < (data & 0x7F); j++)
_NESAttributes[n++] = (data & 0x80) ? (*adata++) : (*adata);
if (!(n & 7) && (width == 0x1C))
n += 8;
Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.541
retrieving revision 1.542
diff -u -d -r1.541 -r1.542
--- scumm.h 15 Mar 2005 21:20:44 -0000 1.541
+++ scumm.h 15 Mar 2005 21:48:06 -0000 1.542
@@ -810,8 +810,6 @@
void processUpperActors();
int getActorFromPos(int x, int y);
- bool isCostumeInUse(int i) const;
-
public:
/* Actor AuxQueue stuff (HE) */
AuxBlock _auxBlocks[16];
@@ -836,9 +834,12 @@
int getTalkingActor(); // Wrapper around VAR_TALK_ACTOR for V1 Maniac
void setTalkingActor(int variable);
+ // Generic costume code
+ void costumeDecodeData(Actor *a, int frame, uint usemask);
+ bool isCostumeInUse(int i) const;
+
// Costume class
void cost_decodeData(Actor *a, int frame, uint usemask);
- int cost_frameToAnim(Actor *a, int frame);
void cost_decodeNESCostumeGfx();
// Akos Class
@@ -857,7 +858,6 @@
void akos_queCommand(byte cmd, Actor *a, int param_1, int param_2);
void akos_processQueue();
void akos_decodeData(Actor *a, int frame, uint usemask);
- int akos_frameToAnim(Actor *a, int frame);
bool akos_hasManyDirections(int costume);
protected:
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm saveload.cpp,1.195,1.196 scumm.h,1.540,1.541
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm costume.cpp,1.162,1.163 gfx.cpp,2.405,2.406 gfx.h,1.102,1.103 object.cpp,1.208,1.209 verbs.cpp,1.115,1.116
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list