[Scummvm-git-logs] scummvm master -> ac1fae6ff142022637ba23d6af0ba021b7ec8fc6

dreammaster noreply at scummvm.org
Sat May 27 05:56:11 UTC 2023


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:
fa0bbfb809 MM: MM1: Fixed for char info attribute display
ac1fae6ff1 MM: MM1: Keep highlighted char when viewing attributes


Commit: fa0bbfb809c2ebe56e5a62c86b468e8c41e4282f
    https://github.com/scummvm/scummvm/commit/fa0bbfb809c2ebe56e5a62c86b468e8c41e4282f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-05-26T22:41:30-07:00

Commit Message:
MM: MM1: Fixed for char info attribute display

Changed paths:
    engines/mm/mm1/views_enh/character_info.cpp
    engines/mm/mm1/views_enh/character_info.h
    engines/mm/mm1/views_enh/scroll_popup.cpp


diff --git a/engines/mm/mm1/views_enh/character_info.cpp b/engines/mm/mm1/views_enh/character_info.cpp
index 456cd52737b..2fc44a10bf2 100644
--- a/engines/mm/mm1/views_enh/character_info.cpp
+++ b/engines/mm/mm1/views_enh/character_info.cpp
@@ -20,6 +20,7 @@
  */
 
 #include "mm/mm1/views_enh/character_info.h"
+#include "mm/mm1/views_enh/scroll_popup.h"
 #include "mm/shared/utils/strings.h"
 #include "mm/mm1/globals.h"
 
@@ -82,10 +83,13 @@ CharacterInfo::CharacterInfo() :
 
 bool CharacterInfo::msgFocus(const FocusMessage &msg) {
 	_viewIcon.load("view.icn");
-	_cursorCell = 0;
+
+	// Don't reset selection after having viewed an attribute
+	if (dynamic_cast<ScrollPopup *>(msg._priorView) == nullptr)
+		_cursorCell = 0;
+
 	showCursor(true);
 	delayFrames(CURSOR_BLINK_FRAMES);
-
 	return PartyView::msgFocus(msg);
 }
 
@@ -322,6 +326,13 @@ void CharacterInfo::timeout() {
 	delayFrames(CURSOR_BLINK_FRAMES);
 }
 
+void CharacterInfo::charSwitched(Character *priorChar) {
+	PartyView::charSwitched(priorChar);
+
+	_cursorCell = 0;
+	redraw();
+}
+
 void CharacterInfo::showAttribute(int attrNum) {
 	// Switch the cursor to the selected attribute
 	showCursor(false);
diff --git a/engines/mm/mm1/views_enh/character_info.h b/engines/mm/mm1/views_enh/character_info.h
index b7a874665d1..3595755b3da 100644
--- a/engines/mm/mm1/views_enh/character_info.h
+++ b/engines/mm/mm1/views_enh/character_info.h
@@ -72,6 +72,11 @@ private:
 protected:
 	void timeout() override;
 
+	/**
+	 * Called when the selected character has been switched
+	 */
+	void charSwitched(Character *priorChar) override;
+	
 public:
 	CharacterInfo();
 	virtual ~CharacterInfo() {}
diff --git a/engines/mm/mm1/views_enh/scroll_popup.cpp b/engines/mm/mm1/views_enh/scroll_popup.cpp
index a9d970c75f5..509d948f2c2 100644
--- a/engines/mm/mm1/views_enh/scroll_popup.cpp
+++ b/engines/mm/mm1/views_enh/scroll_popup.cpp
@@ -40,7 +40,7 @@ bool ScrollPopup::msgMouseUp(const MouseUpMessage &msg) {
 }
 
 bool ScrollPopup::msgAction(const ActionMessage &msg) {
-	if (msg._action == KEYBIND_ESCAPE) {
+	if (msg._action == KEYBIND_ESCAPE || msg._action == KEYBIND_SELECT) {
 		close();
 		return true;
 	}


Commit: ac1fae6ff142022637ba23d6af0ba021b7ec8fc6
    https://github.com/scummvm/scummvm/commit/ac1fae6ff142022637ba23d6af0ba021b7ec8fc6
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-05-26T22:56:06-07:00

Commit Message:
MM: MM1: Keep highlighted char when viewing attributes

Changed paths:
    engines/mm/mm1/views_enh/character_info.cpp
    engines/mm/mm1/views_enh/character_info.h


diff --git a/engines/mm/mm1/views_enh/character_info.cpp b/engines/mm/mm1/views_enh/character_info.cpp
index 2fc44a10bf2..2302c0b031f 100644
--- a/engines/mm/mm1/views_enh/character_info.cpp
+++ b/engines/mm/mm1/views_enh/character_info.cpp
@@ -61,9 +61,13 @@ const CharacterInfo::IconPos CharacterInfo::ICONS[CHAR_ICONS_COUNT] = {
 	{ 46, 277, 99 }
 };
 
+bool CharacterInfo::AttributeView::msgFocus(const FocusMessage &msg) {
+	ScrollPopup::msgFocus(msg);
+	g_events->send("GameParty", GameMessage("CHAR_HIGHLIGHT", (int)true));
+	return true;
+}
 
-CharacterInfo::CharacterInfo() :
-		PartyView("CharacterInfo"), _statInfo("ScrollText") {
+CharacterInfo::CharacterInfo() : PartyView("CharacterInfo") {
 	_bounds = Common::Rect(0, 0, 320, 146);
 	_statInfo.setReduced(true);
 
diff --git a/engines/mm/mm1/views_enh/character_info.h b/engines/mm/mm1/views_enh/character_info.h
index 3595755b3da..bdd887da083 100644
--- a/engines/mm/mm1/views_enh/character_info.h
+++ b/engines/mm/mm1/views_enh/character_info.h
@@ -36,13 +36,19 @@ class CharacterInfo : public PartyView {
 	struct IconPos {
 		int _frame; int _x; int _y;
 	};
+	class AttributeView : public ScrollPopup {
+	public:
+		AttributeView() : ScrollPopup("ScrollText") {}
+		virtual ~AttributeView() {}
+		bool msgFocus(const FocusMessage &msg) override;
+	};
 private:
 	Shared::Xeen::SpriteResource _viewIcon;
 	static const IconPos ICONS[CHAR_ICONS_COUNT];
 	Common::String ICONS_TEXT[CHAR_ICONS_COUNT];
 	int _cursorCell = 0;
 	bool _cursorVisible = false;
-	ScrollPopup _statInfo;
+	AttributeView _statInfo;
 private:
 	/**
 	 * Draw the title text




More information about the Scummvm-git-logs mailing list