mirror of
https://github.com/libretro/scummvm.git
synced 2025-04-02 14:51:40 +00:00
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
@ -430,8 +430,12 @@ void Scumm::initBGBuffers(int height)
|
||||
size = itemsize * gdi._numZBuffer;
|
||||
memset(createResource(rtBuffer, 9, size), 0, size);
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
gdi._imgBufOffs[i] = i * itemsize;
|
||||
for (i = 0; i < (int)ARRAYSIZE(gdi._imgBufOffs); i++) {
|
||||
if (i < gdi._numZBuffer)
|
||||
gdi._imgBufOffs[i] = i * itemsize;
|
||||
else
|
||||
gdi._imgBufOffs[i] = (gdi._numZBuffer - 1) * itemsize;
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
if (lp < 0)
|
||||
lp = 0;
|
||||
if (rp >= 240)
|
||||
rp = 240;
|
||||
if (_features & GF_AFTER_V7) {
|
||||
if (rp > 409)
|
||||
rp = 409;
|
||||
} else {
|
||||
if (rp >= 200)
|
||||
rp = 200;
|
||||
}
|
||||
if (lp <= rp) {
|
||||
num = rp - lp + 1;
|
||||
sp = &gfxUsageBits[lp];
|
||||
|
@ -116,7 +116,7 @@ struct Gdi {
|
||||
uint _readOffs;
|
||||
|
||||
int _numZBuffer;
|
||||
int _imgBufOffs[4];
|
||||
int _imgBufOffs[5];
|
||||
byte _disable_zbuffer;
|
||||
int32 _numStrips;
|
||||
|
||||
|
@ -1433,9 +1433,13 @@ void Scumm::removeBlastObject(BlastObject *eo)
|
||||
|
||||
if (left_strip < 0)
|
||||
left_strip = 0;
|
||||
if (right_strip >= 409)
|
||||
right_strip = 409;
|
||||
|
||||
if (_features & GF_AFTER_V7) {
|
||||
if (right_strip > 409)
|
||||
right_strip = 409;
|
||||
} else {
|
||||
if (right_strip >= 200)
|
||||
right_strip = 200;
|
||||
}
|
||||
for (i = left_strip; i <= right_strip; i++)
|
||||
gdi.resetBackground(top, bottom, i);
|
||||
|
||||
|
@ -410,6 +410,8 @@ void Scumm::saveOrLoad(Serializer *s)
|
||||
// MKLINE(Scumm, _palManipEnd, sleByte),
|
||||
// MKLINE(Scumm, _palManipCounter, sleUint16),
|
||||
|
||||
// MKARRAY(Scumm, gfxUsageBits[0], sleUint32, 410),
|
||||
// replace below:
|
||||
MKARRAY(Scumm, gfxUsageBits[0], sleUint32, 200),
|
||||
MKLINE(Scumm, gdi._transparency, sleByte),
|
||||
MKARRAY(Scumm, _currentPalette[0], sleByte, 768),
|
||||
@ -421,6 +423,7 @@ void Scumm::saveOrLoad(Serializer *s)
|
||||
|
||||
MKLINE(Scumm, _egoPositioned, sleByte),
|
||||
|
||||
// FIXME: Should be 5, not 4 :
|
||||
MKARRAY(Scumm, gdi._imgBufOffs[0], sleUint16, 4),
|
||||
MKLINE(Scumm, gdi._numZBuffer, sleByte),
|
||||
|
||||
@ -521,6 +524,8 @@ void Scumm::saveOrLoad(Serializer *s)
|
||||
// MKLINE(Scumm, _palManipEnd, sleByte),
|
||||
// MKLINE(Scumm, _palManipCounter, sleUint16),
|
||||
|
||||
// MKARRAY(Scumm, gfxUsageBits[0], sleUint32, 410),
|
||||
// replace below:
|
||||
MKARRAY(Scumm, gfxUsageBits[0], sleUint32, 200),
|
||||
MKLINE(Scumm, gdi._transparency, sleByte),
|
||||
MKARRAY(Scumm, _currentPalette[0], sleByte, 768),
|
||||
@ -532,6 +537,7 @@ void Scumm::saveOrLoad(Serializer *s)
|
||||
|
||||
MKLINE(Scumm, _egoPositioned, sleByte),
|
||||
|
||||
// FIXME: Should be 5, not 4 :
|
||||
MKARRAY(Scumm, gdi._imgBufOffs[0], sleUint16, 4),
|
||||
MKLINE(Scumm, gdi._numZBuffer, sleByte),
|
||||
|
||||
|
@ -840,7 +840,7 @@ public:
|
||||
uint16 _palManipCounter;
|
||||
byte *_palManipPalette;
|
||||
byte *_palManipIntermediatePal;
|
||||
uint32 gfxUsageBits[409];
|
||||
uint32 gfxUsageBits[410];
|
||||
byte *_shadowPalette;
|
||||
int _shadowPaletteSize;
|
||||
byte _currentPalette[3 * 256];
|
||||
|
Loading…
x
Reference in New Issue
Block a user