[Scummvm-git-logs] scummvm master -> 2cf11a6b76b4a7279b0062bfc0866fd96cf57213

peres peres at scummvm.org
Sun Jun 27 13:06:43 UTC 2021


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

Summary:
ab4bf6b911 PARALLACTION: add method to change character cursor.
b58d814822 PARALLACTION: change cursor when swapping character.
2a467ffe9b PARALLACTION: set cursor when changing character.
2cf11a6b76 PARALLACTION: set the cursor for the menu when in the menu.


Commit: ab4bf6b91139ac1c334d70dc99dbf8246eb8850f
    https://github.com/scummvm/scummvm/commit/ab4bf6b91139ac1c334d70dc99dbf8246eb8850f
Author: peres (peres at scummvm.org)
Date: 2021-06-27T21:39:41+09:00

Commit Message:
PARALLACTION: add method to change character cursor.

Changed paths:
    engines/parallaction/input.cpp
    engines/parallaction/input.h


diff --git a/engines/parallaction/input.cpp b/engines/parallaction/input.cpp
index b314a72ddb..9f1f42fe48 100644
--- a/engines/parallaction/input.cpp
+++ b/engines/parallaction/input.cpp
@@ -571,4 +571,31 @@ void Input::setInventoryCursor(ItemName name) {
 
 }
 
+void Input::setCharacterPointer(const char *name) {
+	switch (_gameType) {
+	case GType_Nippon: {
+		error("Input::setCharacterPointer not supported for Nippon Safes");
+	}
+
+	case GType_BRA: {
+		if (_vm->getPlatform() == Common::kPlatformDOS) {
+			if (!scumm_stricmp(name, "dino")) {
+				_mouseArrow = _dinoCursor;
+			} else if (!scumm_stricmp(name, "donna")) {
+				_mouseArrow = _donnaCursor;
+			} else if (!scumm_stricmp(name, "doug")) {
+				_mouseArrow = _dougCursor;
+			}
+			setArrowCursor();
+		} else {
+			warning("Input::setCharacterPointer not yet implemented for Amiga");
+		}
+		break;
+	}
+
+	default:
+		warning("Input::setCharacterPointer: unknown gametype");
+	}
+}
+
 } // namespace Parallaction
diff --git a/engines/parallaction/input.h b/engines/parallaction/input.h
index f7a2d8c1d5..c56e18fd1c 100644
--- a/engines/parallaction/input.h
+++ b/engines/parallaction/input.h
@@ -126,6 +126,8 @@ public:
 
 	void setArrowCursor();
 	void setInventoryCursor(ItemName name);
+
+	void setCharacterPointer(const char *name);
 };
 
 } // namespace Parallaction


Commit: b58d814822ad89c16861d66bf556599fbccb4c19
    https://github.com/scummvm/scummvm/commit/b58d814822ad89c16861d66bf556599fbccb4c19
Author: peres (peres at scummvm.org)
Date: 2021-06-27T21:39:42+09:00

Commit Message:
PARALLACTION: change cursor when swapping character.

Changed paths:
    engines/parallaction/exec_br.cpp


diff --git a/engines/parallaction/exec_br.cpp b/engines/parallaction/exec_br.cpp
index 790935364d..65b2ffdb17 100644
--- a/engines/parallaction/exec_br.cpp
+++ b/engines/parallaction/exec_br.cpp
@@ -295,6 +295,8 @@ DECLARE_COMMAND_OPCODE(swap) {
 
 	_vm->_inventory = _vm->findInventory(newCharacterName);
 	_vm->_inventoryRenderer->setInventory(_vm->_inventory);
+
+	_vm->_input->changeCharacterPointer(newCharacterName);
 }
 
 


Commit: 2a467ffe9b9239b8fe494287943bed6fba79c5f1
    https://github.com/scummvm/scummvm/commit/2a467ffe9b9239b8fe494287943bed6fba79c5f1
Author: peres (peres at scummvm.org)
Date: 2021-06-27T21:39:42+09:00

Commit Message:
PARALLACTION: set cursor when changing character.

Changed paths:
    engines/parallaction/exec_br.cpp
    engines/parallaction/parallaction_br.cpp


diff --git a/engines/parallaction/exec_br.cpp b/engines/parallaction/exec_br.cpp
index 65b2ffdb17..e5777ecf27 100644
--- a/engines/parallaction/exec_br.cpp
+++ b/engines/parallaction/exec_br.cpp
@@ -296,7 +296,7 @@ DECLARE_COMMAND_OPCODE(swap) {
 	_vm->_inventory = _vm->findInventory(newCharacterName);
 	_vm->_inventoryRenderer->setInventory(_vm->_inventory);
 
-	_vm->_input->changeCharacterPointer(newCharacterName);
+	_vm->_input->setCharacterPointer(newCharacterName);
 }
 
 
diff --git a/engines/parallaction/parallaction_br.cpp b/engines/parallaction/parallaction_br.cpp
index a2095498c9..5334b9ea56 100644
--- a/engines/parallaction/parallaction_br.cpp
+++ b/engines/parallaction/parallaction_br.cpp
@@ -480,6 +480,8 @@ void Parallaction_br::changeCharacter(const char *name) {
 
 		_inventory = findInventory(name);
 		_inventoryRenderer->setInventory(_inventory);
+
+		_input->setCharacterPointer(name);
 	}
 
 	_char._ani->_flags |= kFlagsActive;


Commit: 2cf11a6b76b4a7279b0062bfc0866fd96cf57213
    https://github.com/scummvm/scummvm/commit/2cf11a6b76b4a7279b0062bfc0866fd96cf57213
Author: peres (peres at scummvm.org)
Date: 2021-06-27T21:39:43+09:00

Commit Message:
PARALLACTION: set the cursor for the menu when in the menu.

Changed paths:
    engines/parallaction/input.cpp
    engines/parallaction/input.h
    engines/parallaction/parallaction_br.cpp


diff --git a/engines/parallaction/input.cpp b/engines/parallaction/input.cpp
index 9f1f42fe48..cf66f417a6 100644
--- a/engines/parallaction/input.cpp
+++ b/engines/parallaction/input.cpp
@@ -489,10 +489,6 @@ void Input::initCursors() {
 			Graphics::Surface *surf = new Graphics::Surface;
 			surf->create(_mouseComboProps_BR._width, _mouseComboProps_BR._height, Graphics::PixelFormat::createFormatCLUT8());
 			_comboArrow = new SurfaceToFrames(surf);
-
-			// TODO: choose the pointer depending on the active character
-			// For now, we pick Donna's
-			_mouseArrow = _donnaCursor;
 		} else {
 			// TODO: Where are the Amiga cursors?
 			Graphics::Surface *surf1 = new Graphics::Surface;
@@ -571,6 +567,29 @@ void Input::setInventoryCursor(ItemName name) {
 
 }
 
+void Input::setMenuPointer() {
+	switch (_gameType) {
+	case GType_Nippon: {
+		error("Input::setMenuPointer not supported for Nippon Safes");
+	}
+
+	case GType_BRA: {
+		if (_vm->getPlatform() == Common::kPlatformDOS) {
+			// Donna's cursor doubles as the cursor used
+			// in the startup menu.
+			_mouseArrow = _donnaCursor;
+			setArrowCursor();
+		} else {
+			warning("Input::setMenuPointer not yet implemented for Amiga");
+		}
+		break;
+	}
+
+	default:
+		warning("Input::setMenuPointer: unknown gametype");
+	}
+}
+
 void Input::setCharacterPointer(const char *name) {
 	switch (_gameType) {
 	case GType_Nippon: {
diff --git a/engines/parallaction/input.h b/engines/parallaction/input.h
index c56e18fd1c..b9833ec1cd 100644
--- a/engines/parallaction/input.h
+++ b/engines/parallaction/input.h
@@ -127,6 +127,7 @@ public:
 	void setArrowCursor();
 	void setInventoryCursor(ItemName name);
 
+	void setMenuPointer();
 	void setCharacterPointer(const char *name);
 };
 
diff --git a/engines/parallaction/parallaction_br.cpp b/engines/parallaction/parallaction_br.cpp
index 5334b9ea56..e3701f72e4 100644
--- a/engines/parallaction/parallaction_br.cpp
+++ b/engines/parallaction/parallaction_br.cpp
@@ -165,6 +165,7 @@ Common::Error Parallaction_br::go() {
 			_nextPart = 1;
 			_input->_inputMode = Input::kInputModeGame;
 		} else {
+			_input->setMenuPointer();
 			startGui(splash);
 			 // don't show splash after first time
 			splash = false;




More information about the Scummvm-git-logs mailing list