[Scummvm-cvs-logs] CVS: scummvm/bs2 resman.cpp,1.28,1.29
Max Horn
fingolfin at users.sourceforge.net
Sat Sep 13 06:03:04 CEST 2003
Update of /cvsroot/scummvm/scummvm/bs2
In directory sc8-pr-cvs1:/tmp/cvs-serv23390
Modified Files:
resman.cpp
Log Message:
cleanup
Index: resman.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/bs2/resman.cpp,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- resman.cpp 13 Sep 2003 02:28:17 -0000 1.28
+++ resman.cpp 13 Sep 2003 13:02:44 -0000 1.29
@@ -256,31 +256,36 @@
}
#ifdef SCUMM_BIG_ENDIAN
+// Quick macro to make swapping in-place easier to write
+#define SWAP16_S(x) x = (int16)SWAP_BYTES_16(x)
+#define SWAP16(x) x = SWAP_BYTES_16(x)
+#define SWAP32_S(x) x = (int16)SWAP_BYTES_32(x)
+#define SWAP32(x) x = SWAP_BYTES_32(x)
static void convertEndian(uint8 *file, uint32 len) {
int i;
_standardHeader *hdr = (_standardHeader *)file;
file += sizeof(_standardHeader);
- hdr->compSize = SWAP_BYTES_32(hdr->compSize);
- hdr->decompSize = SWAP_BYTES_32(hdr->decompSize);
+ SWAP32(hdr->compSize);
+ SWAP32(hdr->decompSize);
switch(hdr->fileType) {
case ANIMATION_FILE: {
_animHeader *animHead = (_animHeader *)file;
- animHead->noAnimFrames = SWAP_BYTES_16(animHead->noAnimFrames);
- animHead->feetStartX = SWAP_BYTES_16(animHead->feetStartX);
- animHead->feetStartY = SWAP_BYTES_16(animHead->feetStartY);
- animHead->feetEndX = SWAP_BYTES_16(animHead->feetEndX);
- animHead->feetEndY = SWAP_BYTES_16(animHead->feetEndY);
- animHead->blend = SWAP_BYTES_16(animHead->blend);
+ SWAP16(animHead->noAnimFrames);
+ SWAP16(animHead->feetStartX);
+ SWAP16(animHead->feetStartY);
+ SWAP16(animHead->feetEndX);
+ SWAP16(animHead->feetEndY);
+ SWAP16(animHead->blend);
_cdtEntry *cdtEntry = (_cdtEntry *) (file + sizeof(_animHeader));
for (i = 0; i < animHead->noAnimFrames; i++, cdtEntry++) {
- cdtEntry->x = (int16)SWAP_BYTES_16(cdtEntry->x);
- cdtEntry->y = (int16)SWAP_BYTES_16(cdtEntry->y);
- cdtEntry->frameOffset = SWAP_BYTES_32(cdtEntry->frameOffset);
+ SWAP16_S(cdtEntry->x);
+ SWAP16_S(cdtEntry->y);
+ SWAP32(cdtEntry->frameOffset);
_frameHeader *frameHeader = (_frameHeader *) (file + cdtEntry->frameOffset);
// Quick trick to prevent us from incorrectly applying the endian
@@ -289,9 +294,9 @@
if ((frameHeader->compSize & 0xFFF00000) ||
(frameHeader->width & 0xF000) ||
(frameHeader->height & 0xF000)) {
- frameHeader->compSize = SWAP_BYTES_32(frameHeader->compSize);
- frameHeader->width = SWAP_BYTES_16(frameHeader->width);
- frameHeader->height = SWAP_BYTES_16(frameHeader->height);
+ SWAP32(frameHeader->compSize);
+ SWAP16(frameHeader->width);
+ SWAP16(frameHeader->height);
}
}
break;
@@ -299,32 +304,32 @@
case SCREEN_FILE: {
_multiScreenHeader *mscreenHeader = (_multiScreenHeader *)file;
- mscreenHeader->palette = SWAP_BYTES_32(mscreenHeader->palette);
- mscreenHeader->bg_parallax[0] = SWAP_BYTES_32(mscreenHeader->bg_parallax[0]);
- mscreenHeader->bg_parallax[1] = SWAP_BYTES_32(mscreenHeader->bg_parallax[1]);
- mscreenHeader->screen = SWAP_BYTES_32(mscreenHeader->screen);
- mscreenHeader->fg_parallax[0] = SWAP_BYTES_32(mscreenHeader->fg_parallax[0]);
- mscreenHeader->fg_parallax[1] = SWAP_BYTES_32(mscreenHeader->fg_parallax[1]);
- mscreenHeader->layers = SWAP_BYTES_32(mscreenHeader->layers);
- mscreenHeader->paletteTable = SWAP_BYTES_32(mscreenHeader->paletteTable);
- mscreenHeader->maskOffset = SWAP_BYTES_32(mscreenHeader->maskOffset);
+ SWAP32(mscreenHeader->palette);
+ SWAP32(mscreenHeader->bg_parallax[0]);
+ SWAP32(mscreenHeader->bg_parallax[1]);
+ SWAP32(mscreenHeader->screen);
+ SWAP32(mscreenHeader->fg_parallax[0]);
+ SWAP32(mscreenHeader->fg_parallax[1]);
+ SWAP32(mscreenHeader->layers);
+ SWAP32(mscreenHeader->paletteTable);
+ SWAP32(mscreenHeader->maskOffset);
// screenHeader
_screenHeader *screenHeader = (_screenHeader*) (file + mscreenHeader->screen);
- screenHeader->width = SWAP_BYTES_16(screenHeader->width);
- screenHeader->height = SWAP_BYTES_16(screenHeader->height);
- screenHeader->noLayers = SWAP_BYTES_16(screenHeader->noLayers);
+ SWAP16(screenHeader->width);
+ SWAP16(screenHeader->height);
+ SWAP16(screenHeader->noLayers);
// layerHeader
_layerHeader *layerHeader = (_layerHeader *) (file + mscreenHeader->layers);
for (i = 0; i < screenHeader->noLayers; i++, layerHeader++) {
- layerHeader->x = SWAP_BYTES_16(layerHeader->x);
- layerHeader->y = SWAP_BYTES_16(layerHeader->y);
- layerHeader->width = SWAP_BYTES_16(layerHeader->width);
- layerHeader->height = SWAP_BYTES_16(layerHeader->height);
- layerHeader->maskSize = SWAP_BYTES_32(layerHeader->maskSize);
- layerHeader->offset = SWAP_BYTES_32(layerHeader->offset);
+ SWAP16(layerHeader->x);
+ SWAP16(layerHeader->y);
+ SWAP16(layerHeader->width);
+ SWAP16(layerHeader->height);
+ SWAP32(layerHeader->maskSize);
+ SWAP32(layerHeader->offset);
}
// backgroundParallaxLayer
@@ -333,38 +338,38 @@
offset = mscreenHeader->bg_parallax[0];
if (offset > 0) {
parallax = (_parallax *) (file + offset);
- parallax->w = SWAP_BYTES_16(parallax->w);
- parallax->h = SWAP_BYTES_16(parallax->h);
+ SWAP16(parallax->w);
+ SWAP16(parallax->h);
}
offset = mscreenHeader->bg_parallax[1];
if (offset > 0) {
parallax = (_parallax *) (file + offset);
- parallax->w = SWAP_BYTES_16(parallax->w);
- parallax->h = SWAP_BYTES_16(parallax->h);
+ SWAP16(parallax->w);
+ SWAP16(parallax->h);
}
// backgroundLayer
offset = mscreenHeader->screen + sizeof(_screenHeader);
if (offset > 0) {
parallax = (_parallax *) (file + offset);
- parallax->w = SWAP_BYTES_16(parallax->w);
- parallax->h = SWAP_BYTES_16(parallax->h);
+ SWAP16(parallax->w);
+ SWAP16(parallax->h);
}
// foregroundParallaxLayer
offset = mscreenHeader->fg_parallax[0];
if (offset > 0) {
parallax = (_parallax *) (file + offset);
- parallax->w = SWAP_BYTES_16(parallax->w);
- parallax->h = SWAP_BYTES_16(parallax->h);
+ SWAP16(parallax->w);
+ SWAP16(parallax->h);
}
offset = mscreenHeader->fg_parallax[1];
if (offset > 0) {
parallax = (_parallax *) (file + offset);
- parallax->w = SWAP_BYTES_16(parallax->w);
- parallax->h = SWAP_BYTES_16(parallax->h);
+ SWAP16(parallax->w);
+ SWAP16(parallax->h);
}
break;
}
@@ -372,20 +377,20 @@
_object_hub *objectHub = (_object_hub *)file;
objectHub->type = (int)SWAP_BYTES_32(objectHub->type);
- objectHub->logic_level = SWAP_BYTES_32(objectHub->logic_level);
+ SWAP32(objectHub->logic_level);
for (i = 0; i < TREE_SIZE; i++) {
- objectHub->logic[i] = SWAP_BYTES_32(objectHub->logic[i]);
- objectHub->script_id[i] = SWAP_BYTES_32(objectHub->script_id[i]);
- objectHub->script_pc[i] = SWAP_BYTES_32(objectHub->script_pc[i]);
+ SWAP32(objectHub->logic[i]);
+ SWAP32(objectHub->script_id[i]);
+ SWAP32(objectHub->script_pc[i]);
}
break;
}
case WALK_GRID_FILE: {
_walkGridHeader *walkGridHeader = (_walkGridHeader *)file;
- walkGridHeader->numBars = SWAP_BYTES_32(walkGridHeader->numBars);
- walkGridHeader->numNodes = SWAP_BYTES_32(walkGridHeader->numNodes);
+ SWAP32(walkGridHeader->numBars);
+ SWAP32(walkGridHeader->numNodes);
break;
}
case GLOBAL_VAR_FILE:
@@ -396,7 +401,7 @@
break;
case TEXT_FILE: {
_textHeader *textHeader = (_textHeader *)file;
- textHeader->noOfLines = SWAP_BYTES_32(textHeader->noOfLines);
+ SWAP32(textHeader->noOfLines);
break;
}
case SCREEN_MANAGER:
More information about the Scummvm-git-logs
mailing list