diff options
author | Eugene Sandulenko | 2005-10-11 01:42:21 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2005-10-11 01:42:21 +0000 |
commit | 02bcf56072d17807db0e5ee47006ca86552a1d43 (patch) | |
tree | 075f89e9aba5fee2e903ce095b26974031edf007 /saga | |
parent | 54449c920ba40b19270a13508fc956a6ff6637c3 (diff) | |
download | scummvm-rg350-02bcf56072d17807db0e5ee47006ca86552a1d43.tar.gz scummvm-rg350-02bcf56072d17807db0e5ee47006ca86552a1d43.tar.bz2 scummvm-rg350-02bcf56072d17807db0e5ee47006ca86552a1d43.zip |
Fixed sprite loading. Now that ugly hack is gone, no wrong reads and every
chapter is selectable without crash. As a side effect all buttons now have
correct backgrounds ;).
svn-id: r19010
Diffstat (limited to 'saga')
-rw-r--r-- | saga/game.cpp | 16 | ||||
-rw-r--r-- | saga/sprite.cpp | 8 |
2 files changed, 11 insertions, 13 deletions
diff --git a/saga/game.cpp b/saga/game.cpp index 2f819f30af..47f4c68442 100644 --- a/saga/game.cpp +++ b/saga/game.cpp @@ -525,14 +525,14 @@ static GamePatchDescription ITELinPatch_Files[] = { // IHNM section static PanelButton IHNM_MainPanelButtons[] = { - {kPanelButtonVerb, 106,12, 114,30, kVerbWalkTo,'w',0, 0,2,0}, - {kPanelButtonVerb, 106,44, 114,30, kVerbLookAt,'l',0, 4,6,0}, - {kPanelButtonVerb, 106,76, 114,30, kVerbTake,'k',0, 8,10,0}, - {kPanelButtonVerb, 106,108, 114,30, kVerbUse,'u',0, 12,14,0}, - {kPanelButtonVerb, 223,12, 114,30, kVerbTalkTo,'t',0, 0,0,0}, // TODO: Find the sprites for the remaining buttons - {kPanelButtonVerb, 223,44, 114,30, kVerbSwallow,'s',0, 0,0,0}, - {kPanelButtonVerb, 223,76, 114,30, kVerbGive,'g',0, 0,0,0}, - {kPanelButtonVerb, 223,108, 114,30, kVerbPush,'p',0, 0,0,0}, + {kPanelButtonVerb, 106,12, 114,30, kVerbWalkTo,'w',0, 0,1,0}, + {kPanelButtonVerb, 106,44, 114,30, kVerbLookAt,'l',0, 2,3,0}, + {kPanelButtonVerb, 106,76, 114,30, kVerbTake,'k',0, 4,5,0}, + {kPanelButtonVerb, 106,108, 114,30, kVerbUse,'u',0, 6,7,0}, + {kPanelButtonVerb, 223,12, 114,30, kVerbTalkTo,'t',0, 8,9,0}, // TODO: Find the sprites for the remaining buttons + {kPanelButtonVerb, 223,44, 114,30, kVerbSwallow,'s',0, 10,11,0}, + {kPanelButtonVerb, 223,76, 114,30, kVerbGive,'g',0, 12,13,0}, + {kPanelButtonVerb, 223,108, 114,30, kVerbPush,'p',0, 14,15,0}, {kPanelButtonArrow, 606,22, 20,25, -1,'[',0, 0,0,0}, //TODO: arrow Sprite Numbers {kPanelButtonArrow, 606,108, 20,25, 1,']',0, 0,0,0} //TODO:inventory diff --git a/saga/sprite.cpp b/saga/sprite.cpp index e4d28e2608..191055acca 100644 --- a/saga/sprite.cpp +++ b/saga/sprite.cpp @@ -103,7 +103,9 @@ void Sprite::loadList(int resourceId, SpriteList &spriteList) { for (i = oldSpriteCount; i < spriteList.spriteCount; i++) { spriteInfo = &spriteList.infoList[i]; - if (_vm->isMacResources()) + if (_vm->getGameType() == GType_IHNM) + offset = readS.readUint32(); + else if (_vm->isMacResources()) offset = readS.readUint32(); else offset = readS.readUint16(); @@ -124,10 +126,6 @@ void Sprite::loadList(int resourceId, SpriteList &spriteList) { spriteInfo->width = readS2.readUint16(); spriteInfo->height = readS2.readUint16(); - if (spriteInfo->width > 200) { // FIXME: HACK - warning("Sprite width is too big: (%d x %d)", spriteInfo->width, spriteInfo->height); - spriteInfo->width = spriteInfo->height = 0; - } spriteDataPointer = spritePointer + readS2.pos(); } else { MemoryReadStreamEndian readS2(spritePointer, 4); |