[Scummvm-cvs-logs] scummvm master -> 879890e021028983dda5af3ea83156357ba239a6
bluegr
bluegr at gmail.com
Sat Oct 18 19:47:24 CEST 2014
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
f0bcacc7b3 MADS: Reset screen clip bounds before copying over a new screen
ad1aedec76 MADS: Implement the Rex Cancel button in the game options dialog
879890e021 MADS: Clear scene sprites and objects when showing a game menu
Commit: f0bcacc7b3ad9bc5bb88b9b7db8d36977e96fa08
https://github.com/scummvm/scummvm/commit/f0bcacc7b3ad9bc5bb88b9b7db8d36977e96fa08
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2014-10-18T20:12:42+03:00
Commit Message:
MADS: Reset screen clip bounds before copying over a new screen
This is needed for the in-game menu, where a dialog spawns another one
Changed paths:
engines/mads/dialogs.cpp
diff --git a/engines/mads/dialogs.cpp b/engines/mads/dialogs.cpp
index 5ea8fb1..5e38f34 100644
--- a/engines/mads/dialogs.cpp
+++ b/engines/mads/dialogs.cpp
@@ -457,6 +457,7 @@ void FullScreenDialog::display() {
_vm->_palette->setLowRange();
_vm->_screen.hLine(0, 20, MADS_SCREEN_WIDTH, 2);
_vm->_screen.hLine(0, 179, MADS_SCREEN_WIDTH, 2);
+ _vm->_screen.resetClipBounds();
_vm->_screen.copyRectToScreen(Common::Rect(0, 0, MADS_SCREEN_WIDTH, MADS_SCREEN_HEIGHT));
// Restrict the screen to the area between the two lines
Commit: ad1aedec7687019b44066bc7695f4d227cee1a5b
https://github.com/scummvm/scummvm/commit/ad1aedec7687019b44066bc7695f4d227cee1a5b
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2014-10-18T20:19:14+03:00
Commit Message:
MADS: Implement the Rex Cancel button in the game options dialog
The current options are now saved when the dialog opens, and are
restored to their original values if the user cancels
Changed paths:
engines/mads/nebular/dialogs_nebular.cpp
diff --git a/engines/mads/nebular/dialogs_nebular.cpp b/engines/mads/nebular/dialogs_nebular.cpp
index 1900a12..6e0e782 100644
--- a/engines/mads/nebular/dialogs_nebular.cpp
+++ b/engines/mads/nebular/dialogs_nebular.cpp
@@ -1061,6 +1061,14 @@ void OptionsDialog::display() {
void OptionsDialog::show() {
Nebular::GameNebular &game = *(Nebular::GameNebular *)_vm->_game;
+
+ // Previous options, restored when cancel is selected
+ bool prevEasyMouse = _vm->_easyMouse;
+ bool prevInvObjectsAnimated = _vm->_invObjectsAnimated;
+ bool prevTextWindowStill = _vm->_textWindowStill;
+ ScreenFade prevScreenFade = _vm->_screenFade;
+ StoryMode prevStoryMode = game._storyMode;
+
do {
_selectedLine = 0;
GameDialog::show();
@@ -1105,10 +1113,15 @@ void OptionsDialog::show() {
switch (_selectedLine) {
case 8: // Done
- // TODO: Copy from temporary config
+ // New options will be applied
break;
case 9: // Cancel
- // TODO: Ignore all changes to temporary config
+ // Revert all options from the saved ones
+ _vm->_easyMouse = prevEasyMouse;
+ _vm->_invObjectsAnimated = prevInvObjectsAnimated;
+ _vm->_textWindowStill = prevTextWindowStill;
+ _vm->_screenFade = prevScreenFade;
+ game._storyMode = prevStoryMode;
break;
default:
break;
Commit: 879890e021028983dda5af3ea83156357ba239a6
https://github.com/scummvm/scummvm/commit/879890e021028983dda5af3ea83156357ba239a6
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2014-10-18T20:46:17+03:00
Commit Message:
MADS: Clear scene sprites and objects when showing a game menu
This shows the game menu, albeit with the wrong palette
Changed paths:
engines/mads/nebular/dialogs_nebular.cpp
diff --git a/engines/mads/nebular/dialogs_nebular.cpp b/engines/mads/nebular/dialogs_nebular.cpp
index 6e0e782..f51d046 100644
--- a/engines/mads/nebular/dialogs_nebular.cpp
+++ b/engines/mads/nebular/dialogs_nebular.cpp
@@ -594,6 +594,9 @@ GameDialog::GameDialog(MADSEngine *vm) : FullScreenDialog(vm) {
_vm->_events->waitCursor();
scene.clearVocab();
scene._dynamicHotspots.clear();
+ // Clear scene sprites and objects
+ scene._spriteSlots.reset();
+ _vm->_game->_screenObjects.clear();
_vm->_dialogs->_defaultPosition = Common::Point(-1, -1);
_menuSpritesIndex = 0;
}
More information about the Scummvm-git-logs
mailing list