[Scummvm-git-logs] scummvm master -> 842ed3daa341e94b738ba77db845309d532ffcff

dreammaster paulfgilbert at gmail.com
Thu Dec 3 02:13:20 UTC 2020


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
2e4f224043 XEEN: Fix dismiss button not fully implemented
842ed3daa3 XEEN: create_xeen compilation fix


Commit: 2e4f22404346fa0a38cf64a05e57e1e7db707284
    https://github.com/scummvm/scummvm/commit/2e4f22404346fa0a38cf64a05e57e1e7db707284
Author: Jonathan Phénix (greaterd at gmail.com)
Date: 2020-12-02T18:12:58-08:00

Commit Message:
XEEN: Fix dismiss button not fully implemented

Changed paths:
    devtools/create_xeen/constants.cpp
    devtools/create_xeen/create_xeen.cpp
    dists/engine-data/xeen.ccs
    engines/xeen/dialogs/dialogs_dismiss.cpp
    engines/xeen/files.cpp
    engines/xeen/interface.cpp
    engines/xeen/resources.cpp
    engines/xeen/resources.h


diff --git a/devtools/create_xeen/constants.cpp b/devtools/create_xeen/constants.cpp
index d38b862968..517914178f 100644
--- a/devtools/create_xeen/constants.cpp
+++ b/devtools/create_xeen/constants.cpp
@@ -1658,6 +1658,7 @@ const char *const HIT_SPELL_POINTS_RESTORED = "Hit Pts and Spell Pts restored.";
 const char *const TOO_DANGEROUS_TO_REST = "Too dangerous to rest here!";
 const char *const SOME_CHARS_MAY_DIE = "Some Chars may die. Rest anyway?";
 
+const char *const DISMISS_WHOM = "\t010\v005Dismiss whom?";
 const char *const CANT_DISMISS_LAST_CHAR = "You cannot dismiss your last character!";
 
 const char *const DELETE_CHAR_WITH_ELDER_WEAPON = "\v000\t000This character has an Elder Weapon and cannot be deleted!";
@@ -2246,6 +2247,7 @@ void writeConstants(CCArchive &cc) {
 	file.syncString(HIT_SPELL_POINTS_RESTORED);
 	file.syncString(TOO_DANGEROUS_TO_REST);
 	file.syncString(SOME_CHARS_MAY_DIE);
+	file.syncString(DISMISS_WHOM);
 	file.syncString(CANT_DISMISS_LAST_CHAR);
 	file.syncString(DELETE_CHAR_WITH_ELDER_WEAPON);
 	file.syncStrings(REMOVE_DELETE, 2);
diff --git a/devtools/create_xeen/create_xeen.cpp b/devtools/create_xeen/create_xeen.cpp
index 61f57cf5da..15c0d2d2aa 100644
--- a/devtools/create_xeen/create_xeen.cpp
+++ b/devtools/create_xeen/create_xeen.cpp
@@ -39,7 +39,7 @@
 #include "constants.h"
 #include "map.h"
 
-#define VERSION_NUMBER 3
+#define VERSION_NUMBER 4
 
 Common::File outputFile;
 
diff --git a/dists/engine-data/xeen.ccs b/dists/engine-data/xeen.ccs
index 59e18c0292..ca916053cd 100644
Binary files a/dists/engine-data/xeen.ccs and b/dists/engine-data/xeen.ccs differ
diff --git a/engines/xeen/dialogs/dialogs_dismiss.cpp b/engines/xeen/dialogs/dialogs_dismiss.cpp
index 7f9c8d972f..0a20540edb 100644
--- a/engines/xeen/dialogs/dialogs_dismiss.cpp
+++ b/engines/xeen/dialogs/dialogs_dismiss.cpp
@@ -42,24 +42,23 @@ void Dismiss::execute() {
 
 	Window &w = windows[31];
 	w.open();
-	_iconSprites.draw(w, 0, Common::Point(225, 120));
-	w.update();
 
 	bool breakFlag = false;
 	while (!_vm->shouldExit() && !breakFlag) {
 		do {
 			events.updateGameCounter();
-			intf.draw3d(false);
+			intf.draw3d(false, false);
+
 			w.frame();
-			w.writeString("\r");
+			w.fill();
+			w.writeString(Res.DISMISS_WHOM);
 			_iconSprites.draw(w, 0, Common::Point(225, 120));
-			windows[3].update();
 			w.update();
 
 			do {
 				events.pollEventsAndWait();
 				checkEvents(_vm);
-			} while (!_vm->shouldExit() && !_buttonValue && events.timeElapsed() == 0);
+			} while (!_vm->shouldExit() && !_buttonValue && events.timeElapsed() < 2);
 		} while (!_vm->shouldExit() && !_buttonValue);
 
 		if (_buttonValue >= Common::KEYCODE_F1 && _buttonValue <= Common::KEYCODE_F6) {
@@ -85,6 +84,9 @@ void Dismiss::execute() {
 			breakFlag = true;
 		}
 	}
+
+	w.close();
+	intf.drawParty(true);
 }
 
 void Dismiss::loadButtons() {
diff --git a/engines/xeen/files.cpp b/engines/xeen/files.cpp
index 080246f3dd..024c7020e5 100644
--- a/engines/xeen/files.cpp
+++ b/engines/xeen/files.cpp
@@ -261,7 +261,7 @@ bool FileManager::setup() {
 
 	// Verify the version of the CC is correct
 	CCArchive *dataCc = new CCArchive("xeen.ccs", "data", true);
-	if (!f.open("VERSION", *dataCc) || f.readUint32LE() != 3) {
+	if (!f.open("VERSION", *dataCc) || f.readUint32LE() != 4) {
 		GUIErrorMessage("xeen.ccs is out of date");
 		return false;
 	}
diff --git a/engines/xeen/interface.cpp b/engines/xeen/interface.cpp
index 7d49d4b5e7..634f71cf9f 100644
--- a/engines/xeen/interface.cpp
+++ b/engines/xeen/interface.cpp
@@ -23,6 +23,7 @@
 #include "xeen/interface.h"
 #include "xeen/dialogs/dialogs_char_info.h"
 #include "xeen/dialogs/dialogs_control_panel.h"
+#include "xeen/dialogs/dialogs_dismiss.h"
 #include "xeen/dialogs/dialogs_message.h"
 #include "xeen/dialogs/dialogs_quick_fight.h"
 #include "xeen/dialogs/dialogs_info.h"
@@ -535,6 +536,11 @@ void Interface::perform() {
 		}
 		break;
 
+	case Common::KEYCODE_d:
+		// Show dismiss dialog
+		Dismiss::show(_vm);
+		break;
+
 	case Common::KEYCODE_i:
 		// Show Info dialog
 		combat._moveMonsters = false;
diff --git a/engines/xeen/resources.cpp b/engines/xeen/resources.cpp
index a21812ca80..8979cf53b2 100644
--- a/engines/xeen/resources.cpp
+++ b/engines/xeen/resources.cpp
@@ -327,6 +327,7 @@ void Resources::loadData() {
 	file.syncString(HIT_SPELL_POINTS_RESTORED);
 	file.syncString(TOO_DANGEROUS_TO_REST);
 	file.syncString(SOME_CHARS_MAY_DIE);
+	file.syncString(DISMISS_WHOM);
 	file.syncString(CANT_DISMISS_LAST_CHAR);
 	file.syncString(DELETE_CHAR_WITH_ELDER_WEAPON);
 	file.syncStrings(REMOVE_DELETE, 2);
diff --git a/engines/xeen/resources.h b/engines/xeen/resources.h
index e4f690e223..e0f280aa85 100644
--- a/engines/xeen/resources.h
+++ b/engines/xeen/resources.h
@@ -382,6 +382,7 @@ public:
 	const char *HIT_SPELL_POINTS_RESTORED;
 	const char *TOO_DANGEROUS_TO_REST;
 	const char *SOME_CHARS_MAY_DIE;
+	const char *DISMISS_WHOM;
 	const char *CANT_DISMISS_LAST_CHAR;
 	const char *DELETE_CHAR_WITH_ELDER_WEAPON;
 	const char *REMOVE_DELETE[2];


Commit: 842ed3daa341e94b738ba77db845309d532ffcff
    https://github.com/scummvm/scummvm/commit/842ed3daa341e94b738ba77db845309d532ffcff
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-12-02T18:12:58-08:00

Commit Message:
XEEN: create_xeen compilation fix

Changed paths:
    NEWS.md
    devtools/create_xeen/str.cpp


diff --git a/NEWS.md b/NEWS.md
index 3576d09a7b..b74fcafb75 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -79,6 +79,7 @@ For a more comprehensive changelog of the latest experimental code, see:
  Xeen:
    - Fixed occasional border corruption during fights.
    - Improvements to cutscenes to better match the original games.
+   - Fixes for character selection, deselection, and dismissing to better match original.
 
  AmigaOS port:
    - Add native system file browser feature
diff --git a/devtools/create_xeen/str.cpp b/devtools/create_xeen/str.cpp
index 5623f82718..d3971d11a4 100644
--- a/devtools/create_xeen/str.cpp
+++ b/devtools/create_xeen/str.cpp
@@ -1,2 +1,3 @@
 #define SCUMMVM_UTIL
-#include "../common/str.cpp"
+#include "../../common/base-str.cpp"
+#include "../../common/str.cpp"




More information about the Scummvm-git-logs mailing list