aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2008-06-03 21:20:55 +0000
committerFilippos Karapetis2008-06-03 21:20:55 +0000
commit4b5ed050f176588067a355506792d75b7958bf21 (patch)
tree6b1a4d87c60fe30709abaacb7f80a5e0e1d7ef95
parent5288daa863b6eeb9696e9dd48640f237b0b644ba (diff)
downloadscummvm-rg350-4b5ed050f176588067a355506792d75b7958bf21.tar.gz
scummvm-rg350-4b5ed050f176588067a355506792d75b7958bf21.tar.bz2
scummvm-rg350-4b5ed050f176588067a355506792d75b7958bf21.zip
Initial WIP and still non-working code for the blinking save reminder icon (bug reports #1981081 and #1971729)
svn-id: r32521
-rw-r--r--engines/saga/interface.cpp19
-rw-r--r--engines/saga/interface.h5
2 files changed, 24 insertions, 0 deletions
diff --git a/engines/saga/interface.cpp b/engines/saga/interface.cpp
index fe1ee0eefc..7380570a99 100644
--- a/engines/saga/interface.cpp
+++ b/engines/saga/interface.cpp
@@ -326,6 +326,9 @@ Interface::Interface(SagaEngine *vm) : _vm(vm) {
_statusTextInputState = kStatusTextInputFirstRun;
_disableAbortSpeeches = false;
+
+ // set save game reminder alarm
+ _vm->_timer->installTimerProc(&saveReminderCallback, TIMETOSAVE, this);
}
Interface::~Interface(void) {
@@ -336,6 +339,22 @@ Interface::~Interface(void) {
_scenePortraits.freeMem();
}
+void Interface::saveReminderCallback(void *refCon) {
+ ((Interface *)refCon)->updateSaveReminder();
+}
+
+void Interface::updateSaveReminder() {
+ // TODO: finish this
+ /*
+ if (_active && _panelMode == kPanelMain) {
+ _vm->_timer->removeTimerProc(&saveReminderCallback);
+ _saveReminderState = (_saveReminderState == 0) ? 1 : 0;
+ drawStatusBar();
+ _vm->_timer->installTimerProc(&saveReminderCallback, TIMETOSAVE, this);
+ }
+ */
+}
+
int Interface::activate() {
if (!_active) {
_active = true;
diff --git a/engines/saga/interface.h b/engines/saga/interface.h
index 74cf5ace44..2091c9f071 100644
--- a/engines/saga/interface.h
+++ b/engines/saga/interface.h
@@ -59,6 +59,8 @@ enum InterfaceUpdateFlags {
#define RID_IHNM_BOSS_SCREEN 19 // not in demo
#define RID_ITE_TYCHO_MAP 1686
#define RID_ITE_SPR_CROSSHAIR (73 + 9)
+#define TIMETOSAVE (kScriptTimeTicksPerSecond * 1000 * 60 * 30)
+#define TIMETOBLINK (kScriptTimeTicksPerSecond * 1000 * 1)
// Converse-specific stuff
@@ -237,6 +239,9 @@ public:
void disableAbortSpeeches(bool d) { _disableAbortSpeeches = d; }
+ static void saveReminderCallback(void *refCon);
+ void updateSaveReminder();
+
bool _textInput;
bool _statusTextInput;