[Scummvm-cvs-logs] SF.net SVN: scummvm:[51397] scummvm/trunk/engines/sci/graphics
m_kiewitz at users.sourceforge.net
m_kiewitz at users.sourceforge.net
Wed Jul 28 01:20:43 CEST 2010
Revision: 51397
http://scummvm.svn.sourceforge.net/scummvm/?rev=51397&view=rev
Author: m_kiewitz
Date: 2010-07-27 23:20:43 +0000 (Tue, 27 Jul 2010)
Log Message:
-----------
SCI: sci1.1 priority bands now changing in kDrawPic
fixes qfg3: right guard on top of the palace having wrong priority
fixes sq5 and all sorts of sci1.1 games: when loading wrong priority for some actors that fixed itself after one frame
Modified Paths:
--------------
scummvm/trunk/engines/sci/graphics/animate.cpp
scummvm/trunk/engines/sci/graphics/picture.cpp
scummvm/trunk/engines/sci/graphics/ports.cpp
scummvm/trunk/engines/sci/graphics/ports.h
Modified: scummvm/trunk/engines/sci/graphics/animate.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/animate.cpp 2010-07-27 22:12:17 UTC (rev 51396)
+++ scummvm/trunk/engines/sci/graphics/animate.cpp 2010-07-27 23:20:43 UTC (rev 51397)
@@ -542,9 +542,6 @@
_transitions->doit(picRect);
if (previousCursorState)
_cursor->kernelShow();
-
- // We set SCI1.1 priority band information here
- _ports->priorityBandsRecall();
}
void GfxAnimate::kernelAnimate(reg_t listReference, bool cycle, int argc, reg_t *argv) {
Modified: scummvm/trunk/engines/sci/graphics/picture.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/picture.cpp 2010-07-27 22:12:17 UTC (rev 51396)
+++ scummvm/trunk/engines/sci/graphics/picture.cpp 2010-07-27 23:20:43 UTC (rev 51397)
@@ -122,8 +122,8 @@
// process vector data
drawVectorData(inbuffer + vector_dataPos, vector_size);
- // Remember priority band information for later
- _ports->priorityBandsRemember(inbuffer + 40);
+ // Set priority band information
+ _ports->priorityBandsInitSci11(inbuffer + 40);
}
#ifdef ENABLE_SCI32
Modified: scummvm/trunk/engines/sci/graphics/ports.cpp
===================================================================
--- scummvm/trunk/engines/sci/graphics/ports.cpp 2010-07-27 22:12:17 UTC (rev 51396)
+++ scummvm/trunk/engines/sci/graphics/ports.cpp 2010-07-27 23:20:43 UTC (rev 51397)
@@ -134,8 +134,6 @@
if (g_sci->_features->usesOldGfxFunctions())
_picWind->top = offTop;
- priorityBandsMemoryActive = false;
-
kernelInitPriorityBands();
}
@@ -541,24 +539,16 @@
_priorityBands[i++] = inx;
}
-// Gets used by picture class to remember priority bands data from sci1.1 pictures that need to get applied when
-// transitioning to that picture
-void GfxPorts::priorityBandsRemember(byte *data) {
- int bandNo;
- for (bandNo = 0; bandNo < 14; bandNo++) {
- priorityBandsMemory[bandNo] = READ_LE_UINT16(data);
+// Gets used to read priority bands data from sci1.1 pictures
+void GfxPorts::priorityBandsInitSci11(byte *data) {
+ byte priorityBands[14];
+ for (int bandNo = 0; bandNo < 14; bandNo++) {
+ priorityBands[bandNo] = READ_LE_UINT16(data);
data += 2;
}
- priorityBandsMemoryActive = true;
+ priorityBandsInit(priorityBands);
}
-void GfxPorts::priorityBandsRecall() {
- if (priorityBandsMemoryActive) {
- priorityBandsInit((byte *)&priorityBandsMemory);
- priorityBandsMemoryActive = false;
- }
-}
-
void GfxPorts::kernelInitPriorityBands() {
if (_usesOldGfxFunctions) {
priorityBandsInit(15, 42, 200);
Modified: scummvm/trunk/engines/sci/graphics/ports.h
===================================================================
--- scummvm/trunk/engines/sci/graphics/ports.h 2010-07-27 22:12:17 UTC (rev 51396)
+++ scummvm/trunk/engines/sci/graphics/ports.h 2010-07-27 23:20:43 UTC (rev 51397)
@@ -81,8 +81,7 @@
void priorityBandsInit(int16 bandCount, int16 top, int16 bottom);
void priorityBandsInit(byte *data);
- void priorityBandsRemember(byte *data);
- void priorityBandsRecall();
+ void priorityBandsInitSci11(byte *data);
void kernelInitPriorityBands();
void kernelGraphAdjustPriority(int top, int bottom);
@@ -121,9 +120,6 @@
// Priority Bands related variables
int16 _priorityTop, _priorityBottom, _priorityBandCount;
byte _priorityBands[200];
-
- byte priorityBandsMemory[14];
- bool priorityBandsMemoryActive;
};
} // End of namespace Sci
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