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

dreammaster dreammaster at scummvm.org
Fri Feb 12 05:54:31 UTC 2021


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:
6aa6e1cafc ULTIMA4: Fix crash when changing maps
a68f570b21 ULTIMA4: Turn off giddy-up mode when combat starts


Commit: 6aa6e1cafc4cbc30f6d7f484e0d1dd1d693fdd0e
    https://github.com/scummvm/scummvm/commit/6aa6e1cafc4cbc30f6d7f484e0d1dd1d693fdd0e
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-02-11T21:33:58-08:00

Commit Message:
ULTIMA4: Fix crash when changing maps

Changed paths:
    engines/ultima/ultima4/conversation/dialogueloader.h
    engines/ultima/ultima4/conversation/dialogueloader_hw.cpp
    engines/ultima/ultima4/conversation/dialogueloader_hw.h
    engines/ultima/ultima4/conversation/dialogueloader_lb.cpp
    engines/ultima/ultima4/conversation/dialogueloader_lb.h
    engines/ultima/ultima4/conversation/dialogueloader_tlk.cpp
    engines/ultima/ultima4/conversation/dialogueloader_tlk.h


diff --git a/engines/ultima/ultima4/conversation/dialogueloader.h b/engines/ultima/ultima4/conversation/dialogueloader.h
index 7dd4727a6d..8316386484 100644
--- a/engines/ultima/ultima4/conversation/dialogueloader.h
+++ b/engines/ultima/ultima4/conversation/dialogueloader.h
@@ -25,6 +25,7 @@
 
 #include "common/hashmap.h"
 #include "common/str.h"
+#include "common/stream.h"
 
 namespace Ultima {
 namespace Ultima4 {
@@ -44,7 +45,7 @@ class DialogueLoader {
 public:
 	virtual ~DialogueLoader() {}
 
-	virtual Dialogue *load(void *source) = 0;
+	virtual Dialogue *load(Common::SeekableReadStream *source) = 0;
 };
 
 class DialogueLoaders {
diff --git a/engines/ultima/ultima4/conversation/dialogueloader_hw.cpp b/engines/ultima/ultima4/conversation/dialogueloader_hw.cpp
index 49c16c1bcc..7d3d727ed2 100644
--- a/engines/ultima/ultima4/conversation/dialogueloader_hw.cpp
+++ b/engines/ultima/ultima4/conversation/dialogueloader_hw.cpp
@@ -52,7 +52,7 @@ Response *hawkwindGetIntro(const DynamicResponse *dynResp);
 /**
  * A special case dialogue loader for Hawkwind.
  */
-Dialogue *U4HWDialogueLoader::load(void *source) {
+Dialogue *U4HWDialogueLoader::load(Common::SeekableReadStream *source) {
 	Std::vector<Common::String> &hawkwindText = g_ultima->_hawkwindText;
 	hawkwindText = u4read_stringtable("hawkwind");
 
diff --git a/engines/ultima/ultima4/conversation/dialogueloader_hw.h b/engines/ultima/ultima4/conversation/dialogueloader_hw.h
index 57822bc8b7..e2178e244e 100644
--- a/engines/ultima/ultima4/conversation/dialogueloader_hw.h
+++ b/engines/ultima/ultima4/conversation/dialogueloader_hw.h
@@ -33,7 +33,7 @@ namespace Ultima4 {
  */
 class U4HWDialogueLoader : public DialogueLoader {
 public:
-	Dialogue *load(void *source) override;
+	Dialogue *load(Common::SeekableReadStream *source) override;
 };
 
 } // End of namespace Ultima4
diff --git a/engines/ultima/ultima4/conversation/dialogueloader_lb.cpp b/engines/ultima/ultima4/conversation/dialogueloader_lb.cpp
index 065317912d..539bd51ea0 100644
--- a/engines/ultima/ultima4/conversation/dialogueloader_lb.cpp
+++ b/engines/ultima/ultima4/conversation/dialogueloader_lb.cpp
@@ -39,7 +39,7 @@ Response *lordBritishGetIntro(const DynamicResponse *resp);
  * game executable.  The  "help" response is a special case that changes
  * based on the current party status.
  */
-Dialogue *U4LBDialogueLoader::load(void *source) {
+Dialogue *U4LBDialogueLoader::load(Common::SeekableReadStream *source) {
 	Std::vector<Common::String> lbKeywords = u4read_stringtable("lb_keywords");
 	Std::vector<Common::String> lbText = u4read_stringtable("lb_text");
 
diff --git a/engines/ultima/ultima4/conversation/dialogueloader_lb.h b/engines/ultima/ultima4/conversation/dialogueloader_lb.h
index 7daa9ded87..c35e8612ef 100644
--- a/engines/ultima/ultima4/conversation/dialogueloader_lb.h
+++ b/engines/ultima/ultima4/conversation/dialogueloader_lb.h
@@ -33,7 +33,7 @@ namespace Ultima4 {
  */
 class U4LBDialogueLoader : public DialogueLoader {
 public:
-	Dialogue *load(void *source) override;
+	Dialogue *load(Common::SeekableReadStream *source) override;
 };
 
 } // End of namespace Ultima4
diff --git a/engines/ultima/ultima4/conversation/dialogueloader_tlk.cpp b/engines/ultima/ultima4/conversation/dialogueloader_tlk.cpp
index 1247924ed2..a2b702b5fb 100644
--- a/engines/ultima/ultima4/conversation/dialogueloader_tlk.cpp
+++ b/engines/ultima/ultima4/conversation/dialogueloader_tlk.cpp
@@ -31,9 +31,7 @@ namespace Ultima4 {
 /**
  * A dialogue loader for standard u4dos .tlk files.
  */
-Dialogue *U4TlkDialogueLoader::load(void *source) {
-	Common::ReadStream *file = static_cast<Common::ReadStream *>(source);
-
+Dialogue *U4TlkDialogueLoader::load(Common::SeekableReadStream *source) {
 	enum QTrigger {
 		NONE = 0,
 		JOB = 3,
@@ -44,7 +42,7 @@ Dialogue *U4TlkDialogueLoader::load(void *source) {
 
 	/* there's no dialogues left in the file */
 	char tlk_buffer[288];
-	if (file->read(tlk_buffer, sizeof(tlk_buffer)) != sizeof(tlk_buffer))
+	if (source->read(tlk_buffer, sizeof(tlk_buffer)) != sizeof(tlk_buffer))
 		return nullptr;
 
 	char *ptr = &tlk_buffer[3];
diff --git a/engines/ultima/ultima4/conversation/dialogueloader_tlk.h b/engines/ultima/ultima4/conversation/dialogueloader_tlk.h
index d0b75cf928..56bc9b187a 100644
--- a/engines/ultima/ultima4/conversation/dialogueloader_tlk.h
+++ b/engines/ultima/ultima4/conversation/dialogueloader_tlk.h
@@ -33,7 +33,7 @@ namespace Ultima4 {
  */
 class U4TlkDialogueLoader : public DialogueLoader {
 public:
-	Dialogue *load(void *source) override;
+	Dialogue *load(Common::SeekableReadStream *source) override;
 };
 
 } // End of namespace Ultima4


Commit: a68f570b21dd5d70eea65f3211c2cc42caf04fdb
    https://github.com/scummvm/scummvm/commit/a68f570b21dd5d70eea65f3211c2cc42caf04fdb
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-02-11T21:54:09-08:00

Commit Message:
ULTIMA4: Turn off giddy-up mode when combat starts

Changed paths:
    engines/ultima/ultima4/controllers/combat_controller.cpp


diff --git a/engines/ultima/ultima4/controllers/combat_controller.cpp b/engines/ultima/ultima4/controllers/combat_controller.cpp
index 44d89add17..ce6f01e7ec 100644
--- a/engines/ultima/ultima4/controllers/combat_controller.cpp
+++ b/engines/ultima/ultima4/controllers/combat_controller.cpp
@@ -132,6 +132,7 @@ void CombatController::init() {
 
 void CombatController::setActive() {
 	MetaEngine::setKeybindingMode(KBMODE_COMBAT);
+	g_context->_horseSpeed = 0;
 }
 
 // Accessor Methods




More information about the Scummvm-git-logs mailing list