applied patch: #634326, and changed strip ranges for after and before scumm v7,
added comments to saveload svn-id: r5448
This commit is contained in:
parent
73452fa331
commit
85c7c9ffe6
5 changed files with 28 additions and 9 deletions
|
@ -430,8 +430,12 @@ void Scumm::initBGBuffers(int height)
|
||||||
size = itemsize * gdi._numZBuffer;
|
size = itemsize * gdi._numZBuffer;
|
||||||
memset(createResource(rtBuffer, 9, size), 0, size);
|
memset(createResource(rtBuffer, 9, size), 0, size);
|
||||||
|
|
||||||
for (i = 0; i < 4; i++)
|
for (i = 0; i < (int)ARRAYSIZE(gdi._imgBufOffs); i++) {
|
||||||
gdi._imgBufOffs[i] = i * itemsize;
|
if (i < gdi._numZBuffer)
|
||||||
|
gdi._imgBufOffs[i] = i * itemsize;
|
||||||
|
else
|
||||||
|
gdi._imgBufOffs[i] = (gdi._numZBuffer - 1) * itemsize;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Scumm::setPaletteFromPtr(byte *ptr)
|
void Scumm::setPaletteFromPtr(byte *ptr)
|
||||||
|
@ -1854,8 +1858,13 @@ void Scumm::updateDirtyRect(int virt, int left, int right, int top, int bottom,
|
||||||
lp = (left >> 3) + _screenStartStrip;
|
lp = (left >> 3) + _screenStartStrip;
|
||||||
if (lp < 0)
|
if (lp < 0)
|
||||||
lp = 0;
|
lp = 0;
|
||||||
if (rp >= 240)
|
if (_features & GF_AFTER_V7) {
|
||||||
rp = 240;
|
if (rp > 409)
|
||||||
|
rp = 409;
|
||||||
|
} else {
|
||||||
|
if (rp >= 200)
|
||||||
|
rp = 200;
|
||||||
|
}
|
||||||
if (lp <= rp) {
|
if (lp <= rp) {
|
||||||
num = rp - lp + 1;
|
num = rp - lp + 1;
|
||||||
sp = &gfxUsageBits[lp];
|
sp = &gfxUsageBits[lp];
|
||||||
|
|
|
@ -116,7 +116,7 @@ struct Gdi {
|
||||||
uint _readOffs;
|
uint _readOffs;
|
||||||
|
|
||||||
int _numZBuffer;
|
int _numZBuffer;
|
||||||
int _imgBufOffs[4];
|
int _imgBufOffs[5];
|
||||||
byte _disable_zbuffer;
|
byte _disable_zbuffer;
|
||||||
int32 _numStrips;
|
int32 _numStrips;
|
||||||
|
|
||||||
|
|
|
@ -1433,9 +1433,13 @@ void Scumm::removeBlastObject(BlastObject *eo)
|
||||||
|
|
||||||
if (left_strip < 0)
|
if (left_strip < 0)
|
||||||
left_strip = 0;
|
left_strip = 0;
|
||||||
if (right_strip >= 409)
|
if (_features & GF_AFTER_V7) {
|
||||||
right_strip = 409;
|
if (right_strip > 409)
|
||||||
|
right_strip = 409;
|
||||||
|
} else {
|
||||||
|
if (right_strip >= 200)
|
||||||
|
right_strip = 200;
|
||||||
|
}
|
||||||
for (i = left_strip; i <= right_strip; i++)
|
for (i = left_strip; i <= right_strip; i++)
|
||||||
gdi.resetBackground(top, bottom, i);
|
gdi.resetBackground(top, bottom, i);
|
||||||
|
|
||||||
|
|
|
@ -410,6 +410,8 @@ void Scumm::saveOrLoad(Serializer *s)
|
||||||
// MKLINE(Scumm, _palManipEnd, sleByte),
|
// MKLINE(Scumm, _palManipEnd, sleByte),
|
||||||
// MKLINE(Scumm, _palManipCounter, sleUint16),
|
// MKLINE(Scumm, _palManipCounter, sleUint16),
|
||||||
|
|
||||||
|
// MKARRAY(Scumm, gfxUsageBits[0], sleUint32, 410),
|
||||||
|
// replace below:
|
||||||
MKARRAY(Scumm, gfxUsageBits[0], sleUint32, 200),
|
MKARRAY(Scumm, gfxUsageBits[0], sleUint32, 200),
|
||||||
MKLINE(Scumm, gdi._transparency, sleByte),
|
MKLINE(Scumm, gdi._transparency, sleByte),
|
||||||
MKARRAY(Scumm, _currentPalette[0], sleByte, 768),
|
MKARRAY(Scumm, _currentPalette[0], sleByte, 768),
|
||||||
|
@ -421,6 +423,7 @@ void Scumm::saveOrLoad(Serializer *s)
|
||||||
|
|
||||||
MKLINE(Scumm, _egoPositioned, sleByte),
|
MKLINE(Scumm, _egoPositioned, sleByte),
|
||||||
|
|
||||||
|
// FIXME: Should be 5, not 4 :
|
||||||
MKARRAY(Scumm, gdi._imgBufOffs[0], sleUint16, 4),
|
MKARRAY(Scumm, gdi._imgBufOffs[0], sleUint16, 4),
|
||||||
MKLINE(Scumm, gdi._numZBuffer, sleByte),
|
MKLINE(Scumm, gdi._numZBuffer, sleByte),
|
||||||
|
|
||||||
|
@ -521,6 +524,8 @@ void Scumm::saveOrLoad(Serializer *s)
|
||||||
// MKLINE(Scumm, _palManipEnd, sleByte),
|
// MKLINE(Scumm, _palManipEnd, sleByte),
|
||||||
// MKLINE(Scumm, _palManipCounter, sleUint16),
|
// MKLINE(Scumm, _palManipCounter, sleUint16),
|
||||||
|
|
||||||
|
// MKARRAY(Scumm, gfxUsageBits[0], sleUint32, 410),
|
||||||
|
// replace below:
|
||||||
MKARRAY(Scumm, gfxUsageBits[0], sleUint32, 200),
|
MKARRAY(Scumm, gfxUsageBits[0], sleUint32, 200),
|
||||||
MKLINE(Scumm, gdi._transparency, sleByte),
|
MKLINE(Scumm, gdi._transparency, sleByte),
|
||||||
MKARRAY(Scumm, _currentPalette[0], sleByte, 768),
|
MKARRAY(Scumm, _currentPalette[0], sleByte, 768),
|
||||||
|
@ -532,6 +537,7 @@ void Scumm::saveOrLoad(Serializer *s)
|
||||||
|
|
||||||
MKLINE(Scumm, _egoPositioned, sleByte),
|
MKLINE(Scumm, _egoPositioned, sleByte),
|
||||||
|
|
||||||
|
// FIXME: Should be 5, not 4 :
|
||||||
MKARRAY(Scumm, gdi._imgBufOffs[0], sleUint16, 4),
|
MKARRAY(Scumm, gdi._imgBufOffs[0], sleUint16, 4),
|
||||||
MKLINE(Scumm, gdi._numZBuffer, sleByte),
|
MKLINE(Scumm, gdi._numZBuffer, sleByte),
|
||||||
|
|
||||||
|
|
|
@ -840,7 +840,7 @@ public:
|
||||||
uint16 _palManipCounter;
|
uint16 _palManipCounter;
|
||||||
byte *_palManipPalette;
|
byte *_palManipPalette;
|
||||||
byte *_palManipIntermediatePal;
|
byte *_palManipIntermediatePal;
|
||||||
uint32 gfxUsageBits[409];
|
uint32 gfxUsageBits[410];
|
||||||
byte *_shadowPalette;
|
byte *_shadowPalette;
|
||||||
int _shadowPaletteSize;
|
int _shadowPaletteSize;
|
||||||
byte _currentPalette[3 * 256];
|
byte _currentPalette[3 * 256];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue