[Scummvm-cvs-logs] CVS: scummvm/kyra animator.cpp,1.2,1.3 gui.cpp,1.1,1.2 kyra.cpp,1.111,1.112 kyra.h,1.63,1.64 screen.cpp,1.33,1.34 screen.h,1.19,1.20 script_v1.cpp,1.60,1.61 seqplayer.h,1.5,1.6 sprites.cpp,1.17,1.18 text.h,1.1,1.2
Johannes Schickel
lordhoto at users.sourceforge.net
Fri Jan 6 02:47:03 CET 2006
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.395,1.396
- Next message: [Scummvm-cvs-logs] CVS: scummvm/backends/gp32 globals.h,NONE,1.1 gp32_launcher.cpp,1.1,1.2 gp32_launcher.h,1.1,1.2 gp32_main.cpp,1.2,1.3 gp32_osys.cpp,1.4,1.5 gp32std.cpp,1.1,1.2 gp32std.h,1.1,1.2 gp32std_grap.cpp,1.3,1.4 gp32std_grap.h,1.1,1.2 Makefile,1.2,1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/kyra
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26170
Modified Files:
animator.cpp gui.cpp kyra.cpp kyra.h screen.cpp screen.h
script_v1.cpp seqplayer.h sprites.cpp text.h
Log Message:
Implemented the end sequence, (only the rest of the winning end sequence
is missing yet and one text part that malcolm says).
=> Kyra *should* be completeable now.
Also used KyraEngine:: in all debug calls from the KyraEngine class.
And fixes a bug while drawing shapes.
Index: animator.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/animator.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- animator.cpp 3 Jan 2006 19:03:08 -0000 1.2
+++ animator.cpp 6 Jan 2006 10:45:41 -0000 1.3
@@ -209,7 +209,7 @@
shapesIndex = baseAnimFrameTable2[curObject->index];
int temp2 = 0;
if (curObject->index == 2) {
- if (_vm->_characterList[2].sceneId == 0x4D || _vm->_characterList[2].sceneId == 0x56) {
+ if (_vm->_characterList[2].sceneId == 77 || _vm->_characterList[2].sceneId == 86) {
temp2 = 1;
} else {
temp2 = 0;
@@ -242,7 +242,7 @@
++xpos;
}
- if (curObject->index == 0) {
+ if (curObject->index == 0 && shapesIndex != -1) {
if (!(_vm->_brandonStatusBit & 2)) {
flagUnk3 = 0x100;
if ((flagUnk1 & 0x200) || (flagUnk2 & 0x4000)) {
@@ -251,25 +251,17 @@
int tempFlags = 0;
if (flagUnk3 & 0x100) {
- if (curObject->flags & 1) {
- tempFlags = 1;
- }
+ tempFlags = curObject->flags & 1;
tempFlags |= 0x800 | flagUnk1 | 0x100;
}
if (!(flagUnk3 & 0x100) && (flagUnk2 & 0x4000)) {
- tempFlags = 0;
- if (curObject->flags & 1) {
- tempFlags = 1;
- }
+ tempFlags = curObject->flags & 1;
tempFlags |= 0x900 | flagUnk1 | 0x4000;
- _screen->drawShape(drawPage, _vm->_shapes[4+shapesIndex], xpos, ypos, 2, tempFlags | 4, _vm->_brandonPoisonFlagsGFX, int(1), int(0)/*XXX*/, drawLayer, _vm->_brandonScaleX, _vm->_brandonScaleY);
+ _screen->drawShape(drawPage, _vm->_shapes[4+shapesIndex], xpos, ypos, 2, tempFlags | 4, _vm->_brandonPoisonFlagsGFX, int(1), int(_vm->_brandonInvFlag), drawLayer, _vm->_brandonScaleX, _vm->_brandonScaleY);
} else {
if (!(flagUnk2 & 0x4000)) {
- tempFlags = 0;
- if (curObject->flags & 1) {
- tempFlags = 1;
- }
+ tempFlags = curObject->flags & 1;
tempFlags |= 0x900 | flagUnk1;
}
@@ -307,7 +299,7 @@
if (flagUnk3 & 0x100) {
_screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | flagUnk1 | 0x100, (uint8*)_vm->_brandonPoisonFlagsGFX, int(1), drawLayer);
} else if (flagUnk3 & 0x4000) {
- _screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | flagUnk1 | 0x4000, _vm->_brandonInvFlag, drawLayer);
+ _screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | flagUnk1 | 0x4000, int(_vm->_brandonInvFlag), drawLayer);
} else {
_screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | flagUnk1, drawLayer);
}
@@ -315,7 +307,7 @@
if (flagUnk3 & 0x100) {
_screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | flagUnk1 | 0x104, (uint8*)_vm->_brandonPoisonFlagsGFX, int(1), drawLayer, _vm->_brandonScaleX, _vm->_brandonScaleY);
} else if (flagUnk3 & 0x4000) {
- _screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | flagUnk1 | 0x4004, int(0), drawLayer, _vm->_brandonInvFlag, _vm->_brandonScaleX, _vm->_brandonScaleY);
+ _screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | flagUnk1 | 0x4004, int(_vm->_brandonInvFlag), drawLayer, _vm->_brandonScaleX, _vm->_brandonScaleY);
} else {
_screen->drawShape(drawPage, curObject->sceneAnimPtr, xpos, ypos, 2, curObject->flags | flagUnk1 | 0x4, drawLayer, _vm->_brandonScaleX, _vm->_brandonScaleY);
}
@@ -342,7 +334,7 @@
int xpos = 0, ypos = 0, width = 0, height = 0;
xpos = curObject->x1 - (curObject->width2+1);
ypos = curObject->y1 - curObject->height2;
- width = (curObject->width + ((curObject->width2)>>3)+2)<<3;
+ width = (curObject->width + ((curObject->width2)>>3)+1)<<3;
height = curObject->height + curObject->height2*2;
if (xpos < 8) {
Index: gui.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/gui.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- gui.cpp 2 Jan 2006 22:58:59 -0000 1.1
+++ gui.cpp 6 Jan 2006 10:45:41 -0000 1.2
@@ -89,8 +89,8 @@
return 1;
int jewel = caller->specialValue - 0x14;
if (_currentCharacter->sceneId == 210) {
- //if (_unkSceneVar == 4 || _unkSceneVar == 6)
- // return 1;
+ if (_beadStateVar == 4 || _beadStateVar == 6)
+ return 1;
}
if (!queryGameFlag(0x2D))
return 1;
Index: kyra.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/kyra.cpp,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -d -r1.111 -r1.112
--- kyra.cpp 4 Jan 2006 07:39:16 -0000 1.111
+++ kyra.cpp 6 Jan 2006 10:45:41 -0000 1.112
@@ -399,6 +399,18 @@
_unkScreenVar3 = 0;
_unkAmuletVar = 0;
+ _endSequenceNeedLoading = 1;
+ _malcolmFlag = 0;
+ _beadStateVar = 0;
+ _endSequenceSkipFlag = 0;
+ _unkEndSeqVar2 = 0;
+ _endSequenceBackUpRect = 0;
+ _unkEndSeqVar4 = 0;
+ _unkEndSeqVar5 = 0;
[...1383 lines suppressed...]
_scriptClick->variables[0] = _currentCharacter->sceneId;
_scriptClick->variables[1] = _mouseX;
@@ -5290,7 +5900,7 @@
}
int KyraEngine::checkForNPCScriptRun(int xpos, int ypos) {
- debug(9, "checkForNPCScriptRun(%d, %d)", xpos, ypos);
+ debug(9, "KyraEngine::checkForNPCScriptRun(%d, %d)", xpos, ypos);
int returnValue = -1;
const Character *currentChar = _currentCharacter;
int charLeft = 0, charRight = 0, charTop = 0, charBottom = 0;
@@ -5344,7 +5954,7 @@
}
void KyraEngine::runNpcScript(int func) {
- debug(9, "runNpcScript(%d)", func);
+ debug(9, "KyraEngine::runNpcScript(%d)", func);
_scriptInterpreter->initScript(_npcScript, _npcScriptData);
_scriptInterpreter->startScript(_npcScript, func);
_npcScript->variables[0] = _currentCharacter->sceneId;
Index: kyra.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/kyra.h,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- kyra.h 3 Jan 2006 23:41:52 -0000 1.63
+++ kyra.h 6 Jan 2006 10:45:42 -0000 1.64
@@ -103,6 +103,19 @@
uint8 westYPos;
};
+struct BeadState {
+ int16 x;
+ int16 y;
+ int16 width;
+ int16 height;
+ int16 dstX;
+ int16 dstY;
+ int16 width2;
+ int16 unk8;
+ int16 unk9;
+ int16 tableIndex;
+};
+
class Movie;
class MusicPlayer;
@@ -492,7 +505,7 @@
void freeShapes123();
void setBrandonAnimSeqSize(int width, int height);
void resetBrandonAnimSeqSize();
-
+
void seq_demo();
void seq_intro();
void seq_introLogos();
@@ -515,6 +528,8 @@
void seq_dispelMagicAnimation();
void seq_fillFlaskWithWater(int item, int type);
void seq_playDrinkPotionAnim(int unk1, int unk2, int flags);
+ int seq_playEnd();
+ void seq_brandonToStone();
void snd_startTrack();
void snd_haltTrack();
@@ -550,6 +565,13 @@
void setCharactersInDefaultScene();
void resetBrandonPosionFlags();
void initAnimStateList();
+ void setupPanPages();
+ void freePanPages();
+ void closeFinalWsa();
+ int handleMalcolmFlag();
+ int handleBeadState();
+ void initBeadState(int x, int y, int x2, int y2, int unk1, BeadState *ptr);
+ int processBead(int x, int y, int &x2, int &y2, BeadState *ptr);
void setTimer19();
void setupTimers();
@@ -594,11 +616,23 @@
bool _handleInput;
bool _changedScene;
int _unkScreenVar1, _unkScreenVar2, _unkScreenVar3;
+ int _beadStateVar;
int _unkAmuletVar;
int _brandonAnimSeqSizeWidth;
int _brandonAnimSeqSizeHeight;
-
+
+ int _malcolmFlag;
+ int _endSequenceSkipFlag;
+ int _endSequenceNeedLoading;
+ int _unkEndSeqVar2;
+ uint8 *_endSequenceBackUpRect;
+ int _unkEndSeqVar4;
+ int _unkEndSeqVar5;
+ int _lastDisplayedPanPage;
+ uint8 *_panPagesTable[20];
+ Movie *_finalA, *_finalB, *_finalC;
+
Movie *_movieObjects[10];
uint16 _entranceMouseCursorTracks[8];
Index: screen.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/screen.cpp,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -d -r1.33 -r1.34
--- screen.cpp 22 Dec 2005 18:14:52 -0000 1.33
+++ screen.cpp 6 Jan 2006 10:45:42 -0000 1.34
@@ -26,6 +26,8 @@
namespace Kyra {
+#define BITBLIT_RECTS 10
+
Screen::Screen(KyraEngine *vm, OSystem *system)
: _system(system), _vm(vm) {
_curPage = 0;
@@ -63,6 +65,11 @@
_animBlockPtr = NULL;
_animBlockSize = 0;
_mouseLockCount = 0;
+
+ _bitBlitRects = new Rect[BITBLIT_RECTS];
+ assert(_bitBlitRects);
+ memset(_bitBlitRects, 0, sizeof(Rect)*BITBLIT_RECTS);
+ _bitBlitNum = 0;
}
Screen::~Screen() {
@@ -81,6 +88,7 @@
for (int i = 0; i < 3; ++i) {
free(_palettes[i]);
}
+ delete [] _bitBlitRects;
}
void Screen::updateScreen() {
@@ -300,17 +308,41 @@
void Screen::copyBlockToPage(int pageNum, int x, int y, int w, int h, const uint8 *src) {
debug(9, "Screen::copyBlockToPage(%d, %d, %d, %d, %d, 0x%X)", pageNum, x, y, w, h, src);
assert(x >= 0 && x < Screen::SCREEN_W && y >= 0 && y < Screen::SCREEN_H);
- uint8 *dst = getPagePtr(pageNum) + y * Screen::SCREEN_W + x;
+ uint8 *dst = getPagePtr(pageNum) + y * SCREEN_W + x;
while (h--) {
- for (int i = 0; i < w; ++i) {
- dst[i] = src[i];
- }
- dst += Screen::SCREEN_W;
+ memcpy(dst, src, w);
+ dst += SCREEN_W;
src += w;
}
}
-void Screen::copyCurPageBlock(int x, int y, int h, int w, uint8 *dst) {
+void Screen::copyFromCurPageBlock(int x, int y, int w, int h, const uint8 *src) {
+ debug(9, "Screen::copyFromCurPageBlock(%d, %d, %d, %d, 0x%X)", x, y, w, h, src);
+ if (x < 0) {
+ x = 0;
+ } else if (x >= 40) {
+ return;
+ }
+ if (x + w > 40) {
+ w = 40 - x;
+ }
+ if (y < 0) {
+ y = 0;
+ } else if (y >= 200) {
+ return;
+ }
+ if (y + h > 200) {
+ h = 200 - y;
+ }
+ uint8 *dst = getPagePtr(_curPage) + y * SCREEN_W + x * 8;
+ while (h--) {
+ memcpy(dst, src, w*8);
+ dst += SCREEN_W;
+ src += w*8;
+ }
+}
+
+void Screen::copyCurPageBlock(int x, int y, int w, int h, uint8 *dst) {
debug(9, "Screen::copyCurPageBlock(%d, %d, %d, %d, 0x%X)", x, y, w, h, dst);
assert(dst);
if (x < 0) {
@@ -333,7 +365,7 @@
while (h--) {
memcpy(dst, src, w*8);
dst += w*8;
- src += SCREEN_H;
+ src += SCREEN_W;
}
}
@@ -1274,7 +1306,7 @@
}
uint8 *Screen::encodeShape(int x, int y, int w, int h, int flags) {
- debug(9, "encodeShape(%d, %d, %d, %d, %d)", x, y, w, h, flags);
+ debug(9, "Screen::encodeShape(%d, %d, %d, %d, %d)", x, y, w, h, flags);
uint8 *srcPtr = &_pagePtrs[_curPage][y * SCREEN_W + x];
int16 shapeSize = 0;
uint8 *tmp = srcPtr;
@@ -1459,7 +1491,7 @@
}
int16 Screen::encodeShapeAndCalculateSize(uint8 *from, uint8 *to, int size_to) {
- debug(9, "encodeShapeAndCalculateSize(0x%X, 0x%X, %d)", from, to, size_to);
+ debug(9, "Screen::encodeShapeAndCalculateSize(0x%X, 0x%X, %d)", from, to, size_to);
byte *fromPtrEnd = from + size_to;
bool skipPixel = true;
byte *tempPtr = 0;
@@ -1607,26 +1639,26 @@
}
void Screen::hideMouse() {
- debug(9, "hideMouse()");
+ debug(9, "Screen::hideMouse()");
//++_mouseLockCount;
_system->showMouse(false);
}
void Screen::showMouse() {
- debug(9, "showMouse()");
+ debug(9, "Screen::showMouse()");
//if (--_mouseLockCount == 0) {
_system->showMouse(true);
//}
}
void Screen::setShapePages(int page1, int page2) {
- debug(9, "setShapePages(%d, %d)", page1, page2);
+ debug(9, "Screen::setShapePages(%d, %d)", page1, page2);
_shapePages[0] = _pagePtrs[page1];
_shapePages[1] = _pagePtrs[page2];
}
void Screen::setMouseCursor(int x, int y, byte *shape) {
- debug(9, "setMouseCursor(%d, %d, 0x%X)", x, y, shape);
+ debug(9, "Screen::setMouseCursor(%d, %d, 0x%X)", x, y, shape);
if (!shape)
return;
// if mouseDisabled
@@ -1656,7 +1688,7 @@
}
void Screen::copyScreenFromRect(int x, int y, int w, int h, uint8 *ptr) {
- debug(9, "copyScreenFromRect(%d, %d, %d, %d, 0x%X)", x, y, w, h, ptr);
+ debug(9, "Screen::copyScreenFromRect(%d, %d, %d, %d, 0x%X)", x, y, w, h, ptr);
x <<= 3; w <<= 3;
uint8 *src = ptr;
uint8 *dst = &_pagePtrs[0][y * SCREEN_W + x];
@@ -1668,7 +1700,7 @@
}
void Screen::copyScreenToRect(int x, int y, int w, int h, uint8 *ptr) {
- debug(9, "copyScreenToRect(%d, %d, %d, %d, 0x%X)", x, y, w, h, ptr);
+ debug(9, "Screen::copyScreenToRect(%d, %d, %d, %d, 0x%X)", x, y, w, h, ptr);
x <<= 3; w <<= 3;
uint8 *src = &_pagePtrs[0][y * SCREEN_W + x];
uint8 *dst = ptr;
@@ -1680,7 +1712,7 @@
}
uint8 *Screen::getPalette(int num) {
- debug(9, "getPalette(%d)", num);
+ debug(9, "Screen::getPalette(%d)", num);
assert(num >= 0 && num < 4);
if (num == 0) {
return _screenPalette;
@@ -1690,7 +1722,7 @@
}
byte Screen::getShapeFlag1(int x, int y) {
- debug(9, "getShapeFlag1(%d, %d)", x, y);
+ debug(9, "Screen::getShapeFlag1(%d, %d)", x, y);
uint8 color = _shapePages[0][y * SCREEN_W + x];
color &= 0x80;
color ^= 0x80;
@@ -1702,7 +1734,7 @@
}
byte Screen::getShapeFlag2(int x, int y) {
- debug(9, "getShapeFlag2(%d, %d)", x, y);
+ debug(9, "Screen::getShapeFlag2(%d, %d)", x, y);
uint8 color = _shapePages[0][y * SCREEN_W + x];
color &= 0x7F;
color &= 0x87;
@@ -1710,7 +1742,7 @@
}
int Screen::setNewShapeHeight(uint8 *shape, int height) {
- debug(9, "setNewShapeHeight(0x%X, %d)", shape, height);
+ debug(9, "Screen::setNewShapeHeight(0x%X, %d)", shape, height);
if (_vm->features() & GF_TALKIE)
shape += 2;
int oldHeight = shape[2];
@@ -1719,7 +1751,7 @@
}
int Screen::resetShapeHeight(uint8 *shape) {
- debug(9, "setNewShapeHeight(0x%X)", shape);
+ debug(9, "Screen::setNewShapeHeight(0x%X)", shape);
if (_vm->features() & GF_TALKIE)
shape += 2;
int oldHeight = shape[2];
@@ -1727,4 +1759,25 @@
return oldHeight;
}
+void Screen::addBitBlitRect(int x, int y, int w, int h) {
+ debug(9, "Screen::addBitBlitRects(%d, %d, %d, %d)", x, y, w, h);
+ if (_bitBlitNum >= BITBLIT_RECTS) {
+ error("too many bit blit rects");
+ }
+ _bitBlitRects[_bitBlitNum].x = x;
+ _bitBlitRects[_bitBlitNum].y = y;
+ _bitBlitRects[_bitBlitNum].x2 = w;
+ _bitBlitRects[_bitBlitNum].y2 = h;
+ ++_bitBlitNum;
+}
+
+void Screen::bitBlitRects() {
+ debug(9, "Screen::bitBlitRects()");
+ Rect *cur = _bitBlitRects;
+ while (_bitBlitNum) {
+ _bitBlitNum--;
+ copyRegion(cur->x, cur->y, cur->x, cur->y, cur->x2, cur->y2, 2, 0);
+ ++cur;
+ }
+}
} // End of namespace Kyra
Index: screen.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/screen.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- screen.h 24 Dec 2005 18:00:35 -0000 1.19
+++ screen.h 6 Jan 2006 10:45:42 -0000 1.20
@@ -30,6 +30,7 @@
namespace Kyra {
class KyraEngine;
+struct Rect;
struct ScreenDim {
uint16 sx;
@@ -98,7 +99,8 @@
void copyToPage0(int y, int h, uint8 page, uint8 *seqBuf);
void copyRegion(int x1, int y1, int x2, int y2, int w, int h, int srcPage, int dstPage, int flags=0);
void copyBlockToPage(int pageNum, int x, int y, int w, int h, const uint8 *src);
- void copyCurPageBlock(int x, int y, int h, int w, uint8 *dst);
+ void copyFromCurPageBlock(int x, int y, int w, int h, const uint8 *src);
+ void copyCurPageBlock(int x, int y, int w, int h, uint8 *dst);
void shuffleScreen(int sx, int sy, int w, int h, int srcPage, int dstPage, int ticks, bool transparent);
void fillRect(int x1, int y1, int x2, int y2, uint8 color, int pageNum = -1);
void setAnimBlockPtr(int size);
@@ -131,6 +133,9 @@
byte getShapeFlag2(int x, int y);
int setNewShapeHeight(uint8 *shape, int height);
int resetShapeHeight(uint8 *shape);
+
+ void addBitBlitRect(int x, int y, int w, int w);
+ void bitBlitRects();
int _charWidth;
int _charOffset;
@@ -159,6 +164,9 @@
uint8 *_animBlockPtr;
int _animBlockSize;
int _mouseLockCount;
+
+ Rect *_bitBlitRects;
+ int _bitBlitNum;
OSystem *_system;
KyraEngine *_vm;
Index: script_v1.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/script_v1.cpp,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -d -r1.60 -r1.61
--- script_v1.cpp 4 Jan 2006 16:57:16 -0000 1.60
+++ script_v1.cpp 6 Jan 2006 10:45:42 -0000 1.61
@@ -1631,7 +1631,9 @@
}
int KyraEngine::cmd_walkMalcolmOn(ScriptState *script) {
- warning("STUB: cmd_walkMalcolmOn");
+ debug(3, "cmd_walkMalcolmOn(0x%X) ()", script);
+ if (!_malcolmFlag)
+ _malcolmFlag = 1;
return 0;
}
Index: seqplayer.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/seqplayer.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- seqplayer.h 2 Jan 2006 13:20:02 -0000 1.5
+++ seqplayer.h 6 Jan 2006 10:45:42 -0000 1.6
@@ -37,6 +37,8 @@
void freeHandShapes();
bool playSequence(const uint8 *seqData, bool skipSeq);
+
+ uint8 *setPanPages(int pageNum, int shape);
protected:
KyraEngine *_vm;
@@ -55,8 +57,6 @@
const char* desc;
};
- uint8 *setPanPages(int pageNum, int shape);
-
// the sequence procs
void s1_wsaOpen();
void s1_wsaClose();
Index: sprites.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/sprites.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- sprites.cpp 2 Jan 2006 22:58:59 -0000 1.17
+++ sprites.cpp 6 Jan 2006 10:45:42 -0000 1.18
@@ -88,7 +88,7 @@
data += 4;
_anims[i].y = READ_LE_UINT16(data);
data += 4;
- _anims[i].width = *(data);
+ _anims[i].width = (*(data) >> 3) + 1;
data += 4;
_anims[i].height = *(data);
data += 4;
@@ -107,7 +107,7 @@
_anims[i].script = data;
- int bkgdWidth = _anims[i].width;
+ int bkgdWidth = _anims[i].width << 3;
int bkgdHeight = _anims[i].height;
if (_anims[i].width2)
Index: text.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/text.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- text.h 2 Jan 2006 22:58:59 -0000 1.1
+++ text.h 6 Jan 2006 10:45:42 -0000 1.2
@@ -53,6 +53,7 @@
uint16 _talkMessageY;
uint16 _talkMessageH;
+ bool printed() const { return _talkMessagePrinted; }
private:
Screen *_screen;
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.395,1.396
- Next message: [Scummvm-cvs-logs] CVS: scummvm/backends/gp32 globals.h,NONE,1.1 gp32_launcher.cpp,1.1,1.2 gp32_launcher.h,1.1,1.2 gp32_main.cpp,1.2,1.3 gp32_osys.cpp,1.4,1.5 gp32std.cpp,1.1,1.2 gp32std.h,1.1,1.2 gp32std_grap.cpp,1.3,1.4 gp32std_grap.h,1.1,1.2 Makefile,1.2,1.3
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list