[Scummvm-git-logs] scummvm master -> 0a0d043dd5684a30eac7ccec6e74119a0e74e826

sev- noreply at scummvm.org
Sun May 14 20:55:57 UTC 2023


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:
17231250a4 NUVIE: Fix passable actors not being blocked by others
12c45361be NUVIE: ULTIMA6: Fix passable actors blocking movement
e05f75c0cd NUVIE: ULTIMA6: Fix Sherry being blocked by party
0a0d043dd5 NUVIE: Fix whitespace


Commit: 17231250a4359068b5ca5b587db273257777cb7d
    https://github.com/scummvm/scummvm/commit/17231250a4359068b5ca5b587db273257777cb7d
Author: PushmePullyu (127053144+PushmePullyu at users.noreply.github.com)
Date: 2023-05-14T22:55:52+02:00

Commit Message:
NUVIE: Fix passable actors not being blocked by others

Do not allow actors marked as passable to pass others who are not.

Changed paths:
    engines/ultima/nuvie/actors/actor.cpp


diff --git a/engines/ultima/nuvie/actors/actor.cpp b/engines/ultima/nuvie/actors/actor.cpp
index 2d4debd8f84..13436cfd9a9 100644
--- a/engines/ultima/nuvie/actors/actor.cpp
+++ b/engines/ultima/nuvie/actors/actor.cpp
@@ -422,7 +422,8 @@ bool Actor::can_be_moved() {
 }
 
 bool Actor::can_be_passed(Actor *other) {
-	return (other->is_passable() || is_passable());
+// ethereal actors can always pass us
+	return (other->ethereal || is_passable());
 }
 
 uint8 Actor::get_object_readiable_location(Obj *obj) {


Commit: 12c45361bee0f233b0fbf077dbb5130287def4a9
    https://github.com/scummvm/scummvm/commit/12c45361bee0f233b0fbf077dbb5130287def4a9
Author: PushmePullyu (127053144+PushmePullyu at users.noreply.github.com)
Date: 2023-05-14T22:55:52+02:00

Commit Message:
NUVIE: ULTIMA6: Fix passable actors blocking movement

Allow others to pass actors marked as passable even if they share
the same movetype (e.g. a mouse should not block the Avatar despite
both having movetype MOVETYPE_U6_LAND).

Changed paths:
    engines/ultima/nuvie/actors/u6_actor.cpp


diff --git a/engines/ultima/nuvie/actors/u6_actor.cpp b/engines/ultima/nuvie/actors/u6_actor.cpp
index a388c265638..838eadf8d01 100644
--- a/engines/ultima/nuvie/actors/u6_actor.cpp
+++ b/engines/ultima/nuvie/actors/u6_actor.cpp
@@ -1520,7 +1520,7 @@ bool U6Actor::can_twitch() {
 
 bool U6Actor::can_be_passed(Actor *other) {
 	U6Actor *other_ = static_cast<U6Actor *>(other);
-	return (Actor::can_be_passed(other_) && other_->current_movetype != current_movetype);
+	return (Actor::can_be_passed(other_) || other_->current_movetype != current_movetype);
 }
 
 void U6Actor::print() {


Commit: e05f75c0cd96f76eba25c0596ef1d497b5e7628d
    https://github.com/scummvm/scummvm/commit/e05f75c0cd96f76eba25c0596ef1d497b5e7628d
Author: PushmePullyu (127053144+PushmePullyu at users.noreply.github.com)
Date: 2023-05-14T22:55:52+02:00

Commit Message:
NUVIE: ULTIMA6: Fix Sherry being blocked by party

Allow Sherry the mouse to move onto tiles occupied by party members.

Fixes #14396

Changed paths:
    engines/ultima/nuvie/actors/u6_actor.cpp


diff --git a/engines/ultima/nuvie/actors/u6_actor.cpp b/engines/ultima/nuvie/actors/u6_actor.cpp
index 838eadf8d01..9f0e2d08def 100644
--- a/engines/ultima/nuvie/actors/u6_actor.cpp
+++ b/engines/ultima/nuvie/actors/u6_actor.cpp
@@ -1520,7 +1520,9 @@ bool U6Actor::can_twitch() {
 
 bool U6Actor::can_be_passed(Actor *other) {
 	U6Actor *other_ = static_cast<U6Actor *>(other);
-	return (Actor::can_be_passed(other_) || other_->current_movetype != current_movetype);
+// Sherry the mouse can pass others if they are in a party with her.
+	bool is_sherry = is_in_party() && other_->is_in_party() && other_->obj_n == OBJ_U6_MOUSE;
+	return (Actor::can_be_passed(other_) || other_->current_movetype != current_movetype || is_sherry);
 }
 
 void U6Actor::print() {


Commit: 0a0d043dd5684a30eac7ccec6e74119a0e74e826
    https://github.com/scummvm/scummvm/commit/0a0d043dd5684a30eac7ccec6e74119a0e74e826
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2023-05-14T22:55:52+02:00

Commit Message:
NUVIE: Fix whitespace

Changed paths:
    engines/ultima/nuvie/actors/actor.cpp
    engines/ultima/nuvie/actors/u6_actor.cpp


diff --git a/engines/ultima/nuvie/actors/actor.cpp b/engines/ultima/nuvie/actors/actor.cpp
index 13436cfd9a9..008c539a3e8 100644
--- a/engines/ultima/nuvie/actors/actor.cpp
+++ b/engines/ultima/nuvie/actors/actor.cpp
@@ -422,7 +422,7 @@ bool Actor::can_be_moved() {
 }
 
 bool Actor::can_be_passed(Actor *other) {
-// ethereal actors can always pass us
+	// ethereal actors can always pass us
 	return (other->ethereal || is_passable());
 }
 
diff --git a/engines/ultima/nuvie/actors/u6_actor.cpp b/engines/ultima/nuvie/actors/u6_actor.cpp
index 9f0e2d08def..a35adce5d7b 100644
--- a/engines/ultima/nuvie/actors/u6_actor.cpp
+++ b/engines/ultima/nuvie/actors/u6_actor.cpp
@@ -1520,7 +1520,7 @@ bool U6Actor::can_twitch() {
 
 bool U6Actor::can_be_passed(Actor *other) {
 	U6Actor *other_ = static_cast<U6Actor *>(other);
-// Sherry the mouse can pass others if they are in a party with her.
+	// Sherry the mouse can pass others if they are in a party with her.
 	bool is_sherry = is_in_party() && other_->is_in_party() && other_->obj_n == OBJ_U6_MOUSE;
 	return (Actor::can_be_passed(other_) || other_->current_movetype != current_movetype || is_sherry);
 }




More information about the Scummvm-git-logs mailing list