[Scummvm-cvs-logs] SF.net SVN: scummvm: [26480] scummvm/trunk/engines/agos
kirben at users.sourceforge.net
kirben at users.sourceforge.net
Sun Apr 15 02:55:16 CEST 2007
Revision: 26480
http://scummvm.svn.sourceforge.net/scummvm/?rev=26480&view=rev
Author: kirben
Date: 2007-04-14 17:55:16 -0700 (Sat, 14 Apr 2007)
Log Message:
-----------
Cleanup.
Modified Paths:
--------------
scummvm/trunk/engines/agos/agos.h
scummvm/trunk/engines/agos/debug.cpp
scummvm/trunk/engines/agos/draw.cpp
scummvm/trunk/engines/agos/gfx.cpp
scummvm/trunk/engines/agos/res_ami.cpp
scummvm/trunk/engines/agos/script_e1.cpp
scummvm/trunk/engines/agos/script_s1.cpp
scummvm/trunk/engines/agos/script_s2.cpp
scummvm/trunk/engines/agos/vga.cpp
scummvm/trunk/engines/agos/vga.h
scummvm/trunk/engines/agos/vga_ww.cpp
Modified: scummvm/trunk/engines/agos/agos.h
===================================================================
--- scummvm/trunk/engines/agos/agos.h 2007-04-15 00:21:42 UTC (rev 26479)
+++ scummvm/trunk/engines/agos/agos.h 2007-04-15 00:55:16 UTC (rev 26480)
@@ -1273,7 +1273,7 @@
protected:
bool drawImage_clip(VC10_state *state);
- void drawImage_init(VC10_state *state);
+ void drawImage_init(uint16 image, uint16 palette, uint16 x, uint16 y, uint16 flags);
void drawImage(VC10_state *state);
void drawImage_Amiga(VC10_state *state);
Modified: scummvm/trunk/engines/agos/debug.cpp
===================================================================
--- scummvm/trunk/engines/agos/debug.cpp 2007-04-15 00:21:42 UTC (rev 26479)
+++ scummvm/trunk/engines/agos/debug.cpp 2007-04-15 00:55:16 UTC (rev 26480)
@@ -435,7 +435,7 @@
VC10_state state;
state.depack_cont = -0x80;
- state.depack_src = offs;
+ state.srcPtr = offs;
state.dh = h;
state.y_skip = 0;
Modified: scummvm/trunk/engines/agos/draw.cpp
===================================================================
--- scummvm/trunk/engines/agos/draw.cpp 2007-04-15 00:21:42 UTC (rev 26479)
+++ scummvm/trunk/engines/agos/draw.cpp 2007-04-15 00:55:16 UTC (rev 26480)
@@ -27,7 +27,6 @@
#include "agos/agos.h"
#include "agos/intern.h"
-#include "agos/vga.h"
namespace AGOS {
@@ -54,7 +53,6 @@
void AGOSEngine::animateSprites() {
VgaSprite *vsp;
VgaPointersEntry *vpe;
- VC10_state state;
if (_paletteFlag == 2)
_paletteFlag = 1;
@@ -84,14 +82,8 @@
_vgaCurSpriteId = vsp->id;
_vgaCurSpritePriority = vsp->priority;
- state.image = vsp->image;
- state.palette = (vsp->palette & 15) * 16;
- state.x = vsp->x;
- state.y = vsp->y;
- state.flags = vsp->flags;
+ drawImage_init(vsp->image, vsp->palette, vsp->x, vsp->y, vsp->flags);
- drawImage_init(&state);
-
vsp++;
}
@@ -124,14 +116,8 @@
printf("id:%5d image:%3d base-color:%3d x:%3d y:%3d flags:%x\n",
vsp->id, vsp->image, vsp->palette, vsp->x, vsp->y, vsp->flags);
- state.image = vsp->image;
- state.palette = (vsp->palette & 15) * 16;
- state.x = vsp->x;
- state.y = vsp->y;
- state.flags = vsp->flags;
+ drawImage_init(vsp->image, vsp->palette, vsp->x, vsp->y, vsp->flags);
- drawImage_init(&state);
-
vsp++;
}
@@ -200,13 +186,7 @@
_vgaCurSpriteId = vsp->id;
_vgaCurSpritePriority = vsp->priority;
- state.image = vsp->image;
- state.palette = 0;
- state.x = vsp->x;
- state.y = vsp->y;
- state.flags = vsp->flags;
-
- drawImage_init(&state);
+ drawImage_init(vsp->image, vsp->palette, vsp->x, vsp->y, vsp->flags);
}
_updateScreen = true;
Modified: scummvm/trunk/engines/agos/gfx.cpp
===================================================================
--- scummvm/trunk/engines/agos/gfx.cpp 2007-04-15 00:21:42 UTC (rev 26479)
+++ scummvm/trunk/engines/agos/gfx.cpp 2007-04-15 00:55:16 UTC (rev 26480)
@@ -31,7 +31,7 @@
byte *vc10_depackColumn(VC10_state * vs) {
int8 a = vs->depack_cont;
- const byte *src = vs->depack_src;
+ const byte *src = vs->srcPtr;
byte *dst = vs->depack_dest;
uint16 dh = vs->dh;
byte color;
@@ -66,7 +66,7 @@
}
get_out:;
- vs->depack_src = src;
+ vs->srcPtr = src;
vs->depack_cont = a;
return vs->depack_dest + vs->y_skip;
}
@@ -368,7 +368,7 @@
byte *dst;
uint count;
- src = state->depack_src + state->width * state->y_skip;
+ src = state->srcPtr + state->width * state->y_skip;
dst = state->surf_addr;
do {
for (count = 0; count != state->draw_width; count++) {
@@ -455,7 +455,7 @@
if (state->flags & kDFCompressed) {
byte *dstPtr = state->surf_addr;
- src = state->depack_src;
+ src = state->srcPtr;
/* AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDD EEEEEEEE
* aaaaabbb bbcccccd ddddeeee efffffgg ggghhhhh
*/
@@ -502,7 +502,7 @@
dstPtr += _screenWidth;
} while (--state->draw_height);
} else {
- src = state->depack_src + (state->width * state->y_skip * 16) + (state->x_skip * 8);
+ src = state->srcPtr + (state->width * state->y_skip * 16) + (state->x_skip * 8);
dst = state->surf_addr;
state->draw_width *= 2;
@@ -562,7 +562,7 @@
byte *dst;
uint count;
- src = state->depack_src + (state->width * state->y_skip) * 8;
+ src = state->srcPtr + (state->width * state->y_skip) * 8;
dst = state->surf_addr;
state->x_skip *= 4;
@@ -598,7 +598,7 @@
state->surf_addr += xoffs + yoffs * state->surf2_pitch;
if (state->flags & kDFMasked) {
- const byte *mask = state->depack_src + (state->width * state->y_skip * 16) + (state->x_skip * 8);
+ const byte *mask = state->srcPtr + (state->width * state->y_skip * 16) + (state->x_skip * 8);
src = state->surf2_addr;
dst = state->surf_addr;
@@ -622,7 +622,7 @@
mask += state->width * 16;
} while (--h);
} else {
- src = state->depack_src + (state->width * state->y_skip * 16) + (state->x_skip * 8);
+ src = state->srcPtr + (state->width * state->y_skip * 16) + (state->x_skip * 8);
dst = state->surf_addr;
state->draw_width *= 2;
@@ -722,7 +722,7 @@
byte *dst;
uint count;
- src = state->depack_src + (state->width * state->y_skip) * 8;
+ src = state->srcPtr + (state->width * state->y_skip) * 8;
dst = state->surf_addr;
state->x_skip *= 4;
@@ -753,7 +753,7 @@
else
_scrollXMax = state->width * 2 - 40;
_scrollYMax = 0;
- _scrollImage = state->depack_src;
+ _scrollImage = state->srcPtr;
_scrollHeight = state->height;
if (_variableArrayPtr[34] < 0)
state->x = _variableArrayPtr[251];
@@ -765,9 +765,9 @@
dst = getBackBuf();
if (getGameType() == GType_FF)
- src = state->depack_src + _scrollX / 2;
+ src = state->srcPtr + _scrollX / 2;
else
- src = state->depack_src + _scrollX * 4;
+ src = state->srcPtr + _scrollX * 4;
for (w = 0; w < _screenWidth; w += 8) {
decodeColumn(dst, src + readUint32Wrapper(src), state->height);
@@ -783,7 +783,7 @@
_scrollXMax = 0;
_scrollYMax = state->height - 480;
- _scrollImage = state->depack_src;
+ _scrollImage = state->srcPtr;
_scrollWidth = state->width;
if (_variableArrayPtr[34] < 0)
state->y = _variableArrayPtr[250];
@@ -793,7 +793,7 @@
vcWriteVar(250, _scrollY);
dst = getBackBuf();
- src = state->depack_src + _scrollY / 2;
+ src = state->srcPtr + _scrollY / 2;
for (h = 0; h < _screenHeight; h += 8) {
decodeRow(dst, src + READ_LE_UINT32(src), state->width);
Modified: scummvm/trunk/engines/agos/res_ami.cpp
===================================================================
--- scummvm/trunk/engines/agos/res_ami.cpp 2007-04-15 00:21:42 UTC (rev 26479)
+++ scummvm/trunk/engines/agos/res_ami.cpp 2007-04-15 00:55:16 UTC (rev 26480)
@@ -141,7 +141,7 @@
}
}
- const byte *src = state->depack_src;
+ const byte *src = state->srcPtr;
int width = state->width * 16;
int height = state->height;
Modified: scummvm/trunk/engines/agos/script_e1.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_e1.cpp 2007-04-15 00:21:42 UTC (rev 26479)
+++ scummvm/trunk/engines/agos/script_e1.cpp 2007-04-15 00:55:16 UTC (rev 26480)
@@ -970,7 +970,7 @@
VC10_state state;
VgaPointersEntry *vpe = &_vgaBufferPointers[1];
- state.depack_src = vpe->vgaFile2 + READ_BE_UINT32(vpe->vgaFile2 + 9 * 8);
+ state.srcPtr = vpe->vgaFile2 + READ_BE_UINT32(vpe->vgaFile2 + 9 * 8);
state.palette = 0;
state.x = 10;
Modified: scummvm/trunk/engines/agos/script_s1.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_s1.cpp 2007-04-15 00:21:42 UTC (rev 26479)
+++ scummvm/trunk/engines/agos/script_s1.cpp 2007-04-15 00:55:16 UTC (rev 26480)
@@ -81,7 +81,7 @@
uint windowNum = getVarOrByte();
uint x = getVarOrWord();
uint y = getVarOrWord();
- uint palette = getVarOrWord();
+ uint palette = (getVarOrWord() & 15);
if (getFeatures() & GF_TALKIE && vgaSpriteId >= 400) {
_lastVgaWaitFor = 0;
Modified: scummvm/trunk/engines/agos/script_s2.cpp
===================================================================
--- scummvm/trunk/engines/agos/script_s2.cpp 2007-04-15 00:21:42 UTC (rev 26479)
+++ scummvm/trunk/engines/agos/script_s2.cpp 2007-04-15 00:55:16 UTC (rev 26480)
@@ -95,7 +95,7 @@
uint windowNum = getVarOrByte();
uint x = getVarOrWord();
uint y = getVarOrWord();
- uint palette = getVarOrWord();
+ uint palette = (getVarOrWord() & 15);
_lockWord |= 0x40;
animate(windowNum, zoneNum, vgaSpriteId, x, y, palette);
Modified: scummvm/trunk/engines/agos/vga.cpp
===================================================================
--- scummvm/trunk/engines/agos/vga.cpp 2007-04-15 00:21:42 UTC (rev 26479)
+++ scummvm/trunk/engines/agos/vga.cpp 2007-04-15 00:55:16 UTC (rev 26480)
@@ -578,128 +578,134 @@
}
void AGOSEngine::vc10_draw() {
- VC10_state state;
+ uint16 image, palette, x, y, flags;
- state.image = (int16)vcReadNextWord();
+ image = (int16)vcReadNextWord();
- state.palette = 0;
+ palette = 0;
if (getGameType() == GType_FF || getGameType() == GType_PP) {
+ palette = _vcPtr[0];
_vcPtr += 2;
} else if (getGameType() == GType_SIMON1 || getGameType() == GType_SIMON2) {
- state.palette = (_vcPtr[1] * 16);
+ palette = _vcPtr[1];
_vcPtr += 2;
}
- state.x = (int16)vcReadNextWord();
- state.y = (int16)vcReadNextWord();
+ x = (int16)vcReadNextWord();
+ y = (int16)vcReadNextWord();
if (getGameType() == GType_SIMON2 || getGameType() == GType_FF || getGameType() == GType_PP) {
- state.flags = vcReadNextByte();
+ flags = vcReadNextByte();
} else {
- state.flags = vcReadNextWord();
+ flags = vcReadNextWord();
}
- drawImage_init(&state);
+ drawImage_init(image, palette, x, y, flags);
}
-void AGOSEngine::drawImage_init(VC10_state *state) {
- if (state->image == 0)
+void AGOSEngine::drawImage_init(uint16 image, uint16 palette, uint16 x, uint16 y, uint16 flags) {
+ if (image == 0)
return;
- byte *p2;
+ byte *src;
uint width, height;
- byte flags;
+ VC10_state state;
- state->x -= _scrollX;
- state->y -= _scrollY;
+ state.image = image;
+ if (state.image < 0)
+ state.image = vcReadVar(-state.image);
- if (state->image < 0)
- state->image = vcReadVar(-state->image);
+ state.palette = palette * 16;
- p2 = _curVgaFile2 + state->image * 8;
- state->depack_src = _curVgaFile2 + readUint32Wrapper(p2);
+ state.x = x - _scrollX;
+ state.y = y - _scrollY;
+
+ state.flags = flags;
+
+ src = _curVgaFile2 + state.image * 8;
+ state.srcPtr = _curVgaFile2 + readUint32Wrapper(src);
if (getGameType() == GType_FF || getGameType() == GType_PP) {
- width = READ_LE_UINT16(p2 + 6);
- height = READ_LE_UINT16(p2 + 4) & 0x7FFF;
- flags = p2[5];
+ width = READ_LE_UINT16(src + 6);
+ height = READ_LE_UINT16(src + 4) & 0x7FFF;
+ flags = src[5];
} else {
- width = READ_BE_UINT16(p2 + 6) / 16;
- height = p2[5];
- flags = p2[4];
+ width = READ_BE_UINT16(src + 6) / 16;
+ height = src[5];
+ flags = src[4];
}
if (height == 0 || width == 0)
return;
if (_dumpImages)
- dumpSingleBitmap(_vgaCurZoneNum, state->image, state->depack_src, width, height,
- state->palette);
- state->width = state->draw_width = width; /* cl */
- state->height = state->draw_height = height; /* ch */
+ dumpSingleBitmap(_vgaCurZoneNum, state.image, state.srcPtr, width, height,
+ state.palette);
+ state.width = state.draw_width = width; /* cl */
+ state.height = state.draw_height = height; /* ch */
- state->depack_cont = -0x80;
+ state.depack_cont = -0x80;
- state->x_skip = 0; /* colums to skip = bh */
- state->y_skip = 0; /* rows to skip = bl */
+ state.x_skip = 0; /* colums to skip = bh */
+ state.y_skip = 0; /* rows to skip = bl */
if (getFeatures() & GF_PLANAR) {
- state->depack_src = convertImage(state, ((flags & 0x80) != 0));
+ state.srcPtr = convertImage(&state, ((flags & 0x80) != 0));
// converted planar clip is already uncompressed
- if (state->flags & kDFCompressedFlip) {
- state->flags &= ~kDFCompressedFlip;
- state->flags |= kDFFlip;
+ if (state.flags & kDFCompressedFlip) {
+ state.flags &= ~kDFCompressedFlip;
+ state.flags |= kDFFlip;
}
- if (state->flags & kDFCompressed) {
- state->flags &= ~kDFCompressed;
+ if (state.flags & kDFCompressed) {
+ state.flags &= ~kDFCompressed;
}
} else if (getGameType() == GType_FF || getGameType() == GType_PP) {
if (flags & 0x80) {
- state->flags |= kDFCompressed;
+ state.flags |= kDFCompressed;
}
} else {
- if (flags & 0x80 && !(state->flags & kDFCompressedFlip)) {
- if (state->flags & kDFFlip) {
- state->flags &= ~kDFFlip;
- state->flags |= kDFCompressedFlip;
+ if (flags & 0x80 && !(state.flags & kDFCompressedFlip)) {
+ if (state.flags & kDFFlip) {
+ state.flags &= ~kDFFlip;
+ state.flags |= kDFCompressedFlip;
} else {
- state->flags |= kDFCompressed;
+ state.flags |= kDFCompressed;
}
}
}
uint maxWidth = (getGameType() == GType_FF || getGameType() == GType_PP) ? 640 : 20;
if ((getGameType() == GType_SIMON2 || getGameType() == GType_FF) && width > maxWidth) {
- horizontalScroll(state);
+ horizontalScroll(&state);
return;
}
if (getGameType() == GType_FF && height > 480) {
- verticalScroll(state);
+ verticalScroll(&state);
return;
}
if (getGameType() != GType_FF && getGameType() != GType_PP) {
- if (state->flags & kDFCompressedFlip) {
- state->depack_src = vc10_uncompressFlip(state->depack_src, width, height);
- } else if (state->flags & kDFFlip) {
- state->depack_src = vc10_flip(state->depack_src, width, height);
+ if (state.flags & kDFCompressedFlip) {
+ state.srcPtr = vc10_uncompressFlip(state.srcPtr, width, height);
+ } else if (state.flags & kDFFlip) {
+ state.srcPtr = vc10_flip(state.srcPtr, width, height);
}
}
- state->surf2_addr = getFrontBuf();
- state->surf2_pitch = _dxSurfacePitch;
+ state.surf2_addr = getFrontBuf();
+ state.surf2_pitch = _dxSurfacePitch;
- state->surf_addr = getBackBuf();
- state->surf_pitch = _dxSurfacePitch;
+ state.surf_addr = getBackBuf();
+ state.surf_pitch = _dxSurfacePitch;
if (getGameType() == GType_FF || getGameType() == GType_PP) {
- drawImage_Feeble(state);
+ drawImage_Feeble(&state);
} else if (getFeatures() & GF_32COLOR) {
- drawImage_Amiga(state);
+ drawImage_Amiga(&state);
} else if (getGameType() == GType_SIMON1 || getGameType() == GType_SIMON2) {
- drawImage_Simon(state);
+ drawImage_Simon(&state);
} else {
- drawImage(state);
+ drawImage(&state);
}
}
Modified: scummvm/trunk/engines/agos/vga.h
===================================================================
--- scummvm/trunk/engines/agos/vga.h 2007-04-15 00:21:42 UTC (rev 26479)
+++ scummvm/trunk/engines/agos/vga.h 2007-04-15 00:55:16 UTC (rev 26480)
@@ -130,7 +130,7 @@
uint16 dl, dh;
- const byte *depack_src;
+ const byte *srcPtr;
int8 depack_cont;
byte depack_dest[480];
Modified: scummvm/trunk/engines/agos/vga_ww.cpp
===================================================================
--- scummvm/trunk/engines/agos/vga_ww.cpp 2007-04-15 00:21:42 UTC (rev 26479)
+++ scummvm/trunk/engines/agos/vga_ww.cpp 2007-04-15 00:55:16 UTC (rev 26480)
@@ -207,14 +207,8 @@
_curVgaFile2 = vpe->vgaFile2;
_windowNum = vsp->windowNum;
- state.image = vsp->image;
- state.palette = (vsp->palette & 15) * 16;
- state.x = vsp->x;
- state.y = vsp->y;
- state.flags = vsp->flags;
+ drawImage_init(vsp->image, vsp->palette, vsp->x, vsp->y, vsp->flags);
- drawImage_init(&state);
-
_windowNum = palmode;
_curVgaFile1 = old_file_1;
_curVgaFile2 = old_file_2;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list