[Scummvm-cvs-logs] SF.net SVN: scummvm:[34645] scummvm/trunk/engines/saga

sev at users.sourceforge.net sev at users.sourceforge.net
Thu Sep 25 00:44:01 CEST 2008


Revision: 34645
          http://scummvm.svn.sourceforge.net/scummvm/?rev=34645&view=rev
Author:   sev
Date:     2008-09-24 22:44:01 +0000 (Wed, 24 Sep 2008)

Log Message:
-----------
Fix bugs #1981081: "ITE: No blinking disk icon" and #1971729: "IHNM: No Animation of Disk Icon"

Modified Paths:
--------------
    scummvm/trunk/engines/saga/displayinfo.h
    scummvm/trunk/engines/saga/interface.cpp
    scummvm/trunk/engines/saga/interface.h

Modified: scummvm/trunk/engines/saga/displayinfo.h
===================================================================
--- scummvm/trunk/engines/saga/displayinfo.h	2008-09-24 20:35:31 UTC (rev 34644)
+++ scummvm/trunk/engines/saga/displayinfo.h	2008-09-24 22:44:01 UTC (rev 34645)
@@ -64,7 +64,7 @@
 	int saveReminderWidth;
 	int saveReminderHeight;
 	int saveReminderFirstSpriteNumber;
-	int saveReminderSecondSpriteNumber;
+	int saveReminderNumSprites;
 
 	int leftPortraitXOffset;
 	int leftPortraitYOffset;
@@ -230,7 +230,8 @@
 	15,				// status BG color
 	308,137,		// save reminder pos
 	12,12,			// save reminder w & h
-	6,7,			// save reminder sprite numbers
+	6,				// save reminder first sprite number
+	2,				// number of save reminder sprites
 
 	5, 4,			// left portrait x, y offset
 	274, 4,			// right portrait x, y offset
@@ -376,7 +377,8 @@
 	250,		// status BG color
 	616, 304,	// save reminder pos
 	24, 24,		// save reminder w&h
-	0,1,		// save reminder sprite numbers
+	0,			// save reminder first sprite number
+	16,			// number of save reminder sprites
 
 	11, 12,		// left portrait x, y offset
 	-1, -1,		// right portrait x, y offset

Modified: scummvm/trunk/engines/saga/interface.cpp
===================================================================
--- scummvm/trunk/engines/saga/interface.cpp	2008-09-24 20:35:31 UTC (rev 34644)
+++ scummvm/trunk/engines/saga/interface.cpp	2008-09-24 22:44:01 UTC (rev 34645)
@@ -358,15 +358,12 @@
 }
 
 void Interface::updateSaveReminder() {
-	// TODO: finish this
-	/*
 	if (_active && _panelMode == kPanelMain) {
+		_saveReminderState = _saveReminderState % _vm->getDisplayInfo().saveReminderNumSprites + 1;
+		drawStatusBar();
 		_vm->_timer->removeTimerProc(&saveReminderCallback);
-		_saveReminderState = (_saveReminderState == 0) ? 1 : 0;
-		drawStatusBar();
-		_vm->_timer->installTimerProc(&saveReminderCallback, TIMETOSAVE, this);
+		_vm->_timer->installTimerProc(&saveReminderCallback, ((_vm->getGameType() == GType_ITE) ? TIMETOBLINK_ITE : TIMETOBLINK_IHNM), this);
 	}
-	*/
 }
 
 int Interface::activate() {
@@ -423,7 +420,7 @@
 
 	if (mode == kPanelMain) {
 		_inMainMode = true;
-		_saveReminderState = 1; //TODO: blinking timeout
+		_saveReminderState = 1;
 	} else if (mode == kPanelChapterSelection) {
 		_saveReminderState = 1;
 	} else if (mode == kPanelNull) {
@@ -1420,6 +1417,10 @@
 				fileName = _vm->calcSaveFileName(_vm->getSaveFile(_optionSaveFileTitleNumber)->slotNumber);
 				_vm->save(fileName, _textInputString);
 			}
+			_vm->_timer->removeTimerProc(&saveReminderCallback);
+			_vm->_timer->installTimerProc(&saveReminderCallback, TIMETOSAVE, this);
+			setSaveReminderState(1);
+
 			_textInput = false;
 			setMode(kPanelOption);
 			break;
@@ -1925,7 +1926,7 @@
 		rect.right = rect.left + _vm->getDisplayInfo().saveReminderWidth;
 		rect.bottom = rect.top + _vm->getDisplayInfo().saveReminderHeight;
 		_vm->_sprite->draw(backBuffer, _vm->getDisplayClip(), _vm->_sprite->_saveReminderSprites,
-			_saveReminderState == 1 ? _vm->getDisplayInfo().saveReminderFirstSpriteNumber : _vm->getDisplayInfo().saveReminderSecondSpriteNumber,
+			_vm->getDisplayInfo().saveReminderFirstSpriteNumber + _saveReminderState - 1,
 			rect, 256);
 
 	}

Modified: scummvm/trunk/engines/saga/interface.h
===================================================================
--- scummvm/trunk/engines/saga/interface.h	2008-09-24 20:35:31 UTC (rev 34644)
+++ scummvm/trunk/engines/saga/interface.h	2008-09-24 22:44:01 UTC (rev 34645)
@@ -59,8 +59,9 @@
 #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)
+#define TIMETOSAVE (1000000 * 60 * 30) // 30 minutes
+#define TIMETOBLINK_ITE	(1000000 * 1)
+#define TIMETOBLINK_IHNM	(1000000 / 10)
 
 // Converse-specific stuff
 


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