[Scummvm-git-logs] scummvm master -> 003605e3ea65391158fccf0fac13b6022921b997
mduggan
noreply at scummvm.org
Thu May 23 10:31:47 UTC 2024
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
db08e33af8 ULTIMA8: Avoid crash if no mouse cursors loaded yet
3d6e5973e2 ULTIMA8: Fix assertion on global set/check
003605e3ea ULTIMA8: Don't require land support in Crusader.
Commit: db08e33af8140a8e7d20ac505e37622deca73ed3
https://github.com/scummvm/scummvm/commit/db08e33af8140a8e7d20ac505e37622deca73ed3
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2024-05-23T20:27:05+10:00
Commit Message:
ULTIMA8: Avoid crash if no mouse cursors loaded yet
This can happen if skipping crusader intro movies really fast.
Changed paths:
engines/ultima/ultima8/kernel/mouse.cpp
diff --git a/engines/ultima/ultima8/kernel/mouse.cpp b/engines/ultima/ultima8/kernel/mouse.cpp
index 242e0d86ef6..08fbccc0ae9 100644
--- a/engines/ultima/ultima8/kernel/mouse.cpp
+++ b/engines/ultima/ultima8/kernel/mouse.cpp
@@ -212,6 +212,8 @@ int Mouse::getMouseFrame() {
// 38 = quill
// 39 = magnifying glass
// 40 = red cross
+ if (_cursors.empty())
+ return -1;
MouseCursor cursor = _cursors.top();
Commit: 3d6e5973e25b43b1785b0ae33f3243086d44199d
https://github.com/scummvm/scummvm/commit/3d6e5973e25b43b1785b0ae33f3243086d44199d
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2024-05-23T20:28:13+10:00
Commit Message:
ULTIMA8: Fix assertion on global set/check
Changed paths:
engines/ultima/ultima8/usecode/uc_machine.cpp
diff --git a/engines/ultima/ultima8/usecode/uc_machine.cpp b/engines/ultima/ultima8/usecode/uc_machine.cpp
index b4d6f5c7a04..2457cc07560 100644
--- a/engines/ultima/ultima8/usecode/uc_machine.cpp
+++ b/engines/ultima/ultima8/usecode/uc_machine.cpp
@@ -1235,7 +1235,7 @@ void UCMachine::execProcess(UCProcess *p) {
if (GAME_IS_U8) {
assert(_globals->getEntries(ui16a, ui16b) == (ui32a & ((1 << ui16b) - 1)));
} else {
- assert(_globals->getEntries(ui16a, ui16b) == ui32a);
+ assert(_globals->getEntries(ui16a, ui16b) == (ui32a & ((1 << (ui16b * 8)) - 1)));
}
TRACE_OP("%s\tpop\t\tglobal [%04X %02X] = %02X", op_info, ui16a, ui16b, ui32a);
Commit: 003605e3ea65391158fccf0fac13b6022921b997
https://github.com/scummvm/scummvm/commit/003605e3ea65391158fccf0fac13b6022921b997
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2024-05-23T20:30:01+10:00
Commit Message:
ULTIMA8: Don't require land support in Crusader.
Not everything that supports us in Crusader is a land, so don't require it when
calculating support. This makes movement in No Regret a lot smoother and is
probably better than the hack I tried in d4e2ebe9.
Changed paths:
engines/ultima/ultima8/world/current_map.cpp
diff --git a/engines/ultima/ultima8/world/current_map.cpp b/engines/ultima/ultima8/world/current_map.cpp
index 3d1e443890e..570de821981 100644
--- a/engines/ultima/ultima8/world/current_map.cpp
+++ b/engines/ultima/ultima8/world/current_map.cpp
@@ -798,10 +798,10 @@ PositionInfo CurrentMap::getPositionInfo(const Box &target, const Box &start, ui
}
info.valid = info.blocker == nullptr;
- // Partial support allowed if land is close. Allow up to 9 to match
- // the position adjustments in scanForValidPosition for stepping on
- // to Crusader elevators.
- if (supportz == target._z && landz + 9 >= target._z)
+ // Partial support allowed if land is close. Allow up to 8 to match the
+ // position adjustments in scanForValidPosition. In Crusader, we don't
+ // require land - just support.
+ if (supportz == target._z && (landz + 8 >= target._z || GAME_IS_CRUSADER))
info.supported = true;
// Mark supported at minimum z
More information about the Scummvm-git-logs
mailing list