[Scummvm-cvs-logs] CVS: scummvm/saga sprite.cpp,1.65,1.66
Eugene Sandulenko
sev at users.sourceforge.net
Fri Oct 7 03:46:42 CEST 2005
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/simon intern.h,1.38,1.39 simon.cpp,1.515,1.516 simon.h,1.144,1.145 vga.cpp,1.135,1.136
- Next message: [Scummvm-cvs-logs] CVS: scummvm/saga ihnm_introproc.cpp,1.55,1.56 interface.cpp,1.142,1.143 interface.h,1.76,1.77
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11074
Modified Files:
sprite.cpp
Log Message:
Cleanup sprite header reader.
Index: sprite.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sprite.cpp,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -d -r1.65 -r1.66
--- sprite.cpp 7 Oct 2005 05:31:13 -0000 1.65
+++ sprite.cpp 7 Oct 2005 10:44:48 -0000 1.66
@@ -108,34 +108,30 @@
spritePointer = spriteListData;
spritePointer += offset;
- MemoryReadStream readS2(spritePointer, (_vm->getFeatures() & GF_MAC_RESOURCES || _vm->getGameType() == GType_IHNM) ? 8 : 4);
+ if ((_vm->getGameType()) != GType_ITE || (_vm->getFeatures() & GF_MAC_RESOURCES)) {
+ MemoryReadStreamEndian readS2(spritePointer, 8, _spriteContext->isBigEndian);
- if (_vm->getGameType() == GType_ITE) {
- if (!(_vm->getFeatures() & GF_MAC_RESOURCES)) {
- spriteInfo->xAlign = readS2.readSByte();
- spriteInfo->yAlign = readS2.readSByte();
+ spriteInfo->xAlign = readS2.readSint16();
+ spriteInfo->yAlign = readS2.readSint16();
- spriteInfo->width = readS2.readByte();
- spriteInfo->height = readS2.readByte();
- } else {
- spriteInfo->xAlign = readS2.readSint16BE();
- spriteInfo->yAlign = readS2.readSint16BE();
+ spriteInfo->width = readS2.readUint16();
+ spriteInfo->height = readS2.readUint16();
- spriteInfo->width = readS2.readUint16BE();
- spriteInfo->height = readS2.readUint16BE();
+ if (spriteInfo->width > 100) { // FIXME: HACK
+ spriteInfo->width = spriteInfo->height = 0;
}
+ spriteDataPointer = spritePointer + readS2.pos();
} else {
- spriteInfo->xAlign = readS2.readSint16LE();
- spriteInfo->yAlign = readS2.readSint16LE();
+ MemoryReadStreamEndian readS2(spritePointer, 4);
- spriteInfo->width = readS2.readUint16LE();
- spriteInfo->height = readS2.readUint16LE();
+ spriteInfo->xAlign = readS2.readSByte();
+ spriteInfo->yAlign = readS2.readSByte();
- if (spriteInfo->width > 100) { // FIXME: HACK
- spriteInfo->width = spriteInfo->height = 0;
- }
+ spriteInfo->width = readS2.readByte();
+ spriteInfo->height = readS2.readByte();
+ spriteDataPointer = spritePointer + readS2.pos();
}
- spriteDataPointer = spritePointer + readS2.pos();
+
outputLength = spriteInfo->width * spriteInfo->height;
inputLength = spriteListLength - (spriteDataPointer - spriteListData);
decodeRLEBuffer(spriteDataPointer, inputLength, outputLength);
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/simon intern.h,1.38,1.39 simon.cpp,1.515,1.516 simon.h,1.144,1.145 vga.cpp,1.135,1.136
- Next message: [Scummvm-cvs-logs] CVS: scummvm/saga ihnm_introproc.cpp,1.55,1.56 interface.cpp,1.142,1.143 interface.h,1.76,1.77
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list