aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2005-10-10 02:42:50 +0000
committerEugene Sandulenko2005-10-10 02:42:50 +0000
commitfe88687ce78760a7e461c5c478e684063766f381 (patch)
tree1fc617f65170b150f685e258d66168dca201abf0
parentb5b6b6ebb736e860a2063d774aa2d2e98f5886e7 (diff)
downloadscummvm-rg350-fe88687ce78760a7e461c5c478e684063766f381.tar.gz
scummvm-rg350-fe88687ce78760a7e461c5c478e684063766f381.tar.bz2
scummvm-rg350-fe88687ce78760a7e461c5c478e684063766f381.zip
Show save reminder in IHNM correctly.
svn-id: r18996
-rw-r--r--saga/game.cpp2
-rw-r--r--saga/interface.cpp2
-rw-r--r--saga/resnames.h11
-rw-r--r--saga/sprite.cpp11
-rw-r--r--saga/sprite.h4
5 files changed, 19 insertions, 11 deletions
diff --git a/saga/game.cpp b/saga/game.cpp
index 0668ba528a..c6376633bb 100644
--- a/saga/game.cpp
+++ b/saga/game.cpp
@@ -578,7 +578,7 @@ static GameDisplayInfo IHNM_DisplayInfo = { //TODO: fill it all
250, // status BG color
616, 304, // save reminder pos
24, 24, // save reminder w&h
- 0,0, // save reminder sprite numbers
+ 0,1, // save reminder sprite numbers
253, // verb text color
15, // verb text shadow color FIXME
diff --git a/saga/interface.cpp b/saga/interface.cpp
index e29f31475f..217a09232a 100644
--- a/saga/interface.cpp
+++ b/saga/interface.cpp
@@ -1505,7 +1505,7 @@ void Interface::drawStatusBar() {
rect.right = rect.left + _vm->getDisplayInfo().saveReminderWidth;
rect.bottom = rect.top + _vm->getDisplayInfo().saveReminderHeight;
- _vm->_sprite->draw(backBuffer, _vm->getDisplayClip(), _vm->_sprite->_mainSprites,
+ _vm->_sprite->draw(backBuffer, _vm->getDisplayClip(), _vm->_sprite->_saveReminderSprites,
_saveReminderState == 1 ? _vm->getDisplayInfo().saveReminderFirstSpriteNumber : _vm->getDisplayInfo().saveReminderSecondSpriteNumber,
rect, 256);
diff --git a/saga/resnames.h b/saga/resnames.h
index 4a9e53f40a..77fae998b8 100644
--- a/saga/resnames.h
+++ b/saga/resnames.h
@@ -82,15 +82,16 @@ namespace Saga {
#define RID_IHNM_MAIN_PANEL 9
#define RID_IHNM_CONVERSE_PANEL 10
-#define RID_IHNM_OPTION_PANEL 15
#define RID_IHNM_HOURGLASS_CURSOR 11
-#define RID_IHNM_WARNING_PANEL 17
#define RID_IHNM_MAIN_SPRITES 12 // TODO: verify this
#define RID_IHNM_MAIN_PANEL_SPRITES 13 // TODO: verify this
-#define RID_IHNM_MAIN_STRINGS 21
-#define RID_IHNM_PROFILE_BG 20
-
+#define RID_IHNM_ARROW_SPRITES 13
+#define RID_IHNM_SAVEREMINDER_SPRITES 14
+#define RID_IHNM_OPTION_PANEL 15
+#define RID_IHNM_WARNING_PANEL 17
#define RID_IHNM_BOSS_SCREEN 19
+#define RID_IHNM_PROFILE_BG 20
+#define RID_IHNM_MAIN_STRINGS 21
// Puzzle portraits
#define RID_ITE_SAKKA_APPRAISING 6
diff --git a/saga/sprite.cpp b/saga/sprite.cpp
index 7ebfb2f01d..ce11f573eb 100644
--- a/saga/sprite.cpp
+++ b/saga/sprite.cpp
@@ -26,8 +26,8 @@
#include "saga/gfx.h"
#include "saga/scene.h"
+#include "saga/resnames.h"
#include "saga/rscfile.h"
-
#include "saga/font.h"
#include "saga/sprite.h"
@@ -51,8 +51,13 @@ Sprite::Sprite(SagaEngine *vm) : _vm(vm) {
memoryError("Sprite::Sprite");
}
- if (_vm->getGameType() == GType_ITE)
+ if (_vm->getGameType() == GType_ITE) {
loadList(_vm->getResourceDescription()->mainSpritesResourceId, _mainSprites);
+ _arrowSprites = _saveReminderSprites = _mainSprites;
+ } else {
+ loadList(RID_IHNM_ARROW_SPRITES, _arrowSprites);
+ loadList(RID_IHNM_SAVEREMINDER_SPRITES, _saveReminderSprites);
+ }
}
Sprite::~Sprite(void) {
@@ -84,6 +89,8 @@ void Sprite::loadList(int resourceId, SpriteList &spriteList) {
spriteCount = readS.readUint16();
+ debug(9, "Sprites: %d", spriteCount);
+
oldSpriteCount = spriteList.spriteCount;
newSpriteCount = spriteList.spriteCount + spriteCount;
diff --git a/saga/sprite.h b/saga/sprite.h
index 2f57910961..58a2ba9626 100644
--- a/saga/sprite.h
+++ b/saga/sprite.h
@@ -64,8 +64,8 @@ struct SpriteList {
class Sprite {
public:
SpriteList _mainSprites;
-
-
+ SpriteList _saveReminderSprites;
+ SpriteList _arrowSprites;
Sprite(SagaEngine *vm);
~Sprite(void);