[Scummvm-git-logs] scummvm master -> 20db21a3b7acfaf697f3a1dad7c22ffe96dab73b
mduggan
mgithub at guarana.org
Sun Jul 11 23:11:58 UTC 2021
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
20db21a3b7 ULTIMA8: Update shield zap location with Crusader move
Commit: 20db21a3b7acfaf697f3a1dad7c22ffe96dab73b
https://github.com/scummvm/scummvm/commit/20db21a3b7acfaf697f3a1dad7c22ffe96dab73b
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-07-12T08:09:44+09:00
Commit Message:
ULTIMA8: Update shield zap location with Crusader move
Changed paths:
engines/ultima/ultima8/world/actors/main_actor.cpp
engines/ultima/ultima8/world/actors/main_actor.h
engines/ultima/ultima8/world/item.h
diff --git a/engines/ultima/ultima8/world/actors/main_actor.cpp b/engines/ultima/ultima8/world/actors/main_actor.cpp
index eddb57513e..101b8a765d 100644
--- a/engines/ultima/ultima8/world/actors/main_actor.cpp
+++ b/engines/ultima/ultima8/world/actors/main_actor.cpp
@@ -349,6 +349,17 @@ const ShapeInfo *MainActor::getShapeInfoFromGameInstance() const {
return _kneelingShapeInfo;
}
+void MainActor::move(int32 x, int32 y, int32 z) {
+ Actor::move(x, y, z);
+ if (_shieldSpriteProc != 0) {
+ SpriteProcess *sprite = dynamic_cast<SpriteProcess *>(
+ Kernel::get_instance()->getProcess(_shieldSpriteProc));
+ if (sprite) {
+ sprite->move(x, y, z);
+ }
+ }
+}
+
void MainActor::teleport(int mapNum, int32 x, int32 y, int32 z) {
World *world = World::get_instance();
diff --git a/engines/ultima/ultima8/world/actors/main_actor.h b/engines/ultima/ultima8/world/actors/main_actor.h
index 2fd16e8683..2e98268590 100644
--- a/engines/ultima/ultima8/world/actors/main_actor.h
+++ b/engines/ultima/ultima8/world/actors/main_actor.h
@@ -51,6 +51,8 @@ public:
//! when Crusader is kneeling.
const ShapeInfo *getShapeInfoFromGameInstance() const override;
+ void move(int32 X, int32 Y, int32 Z) override;
+
//! Add item to avatar's inventory, but with some extra logic to do things like combine
//! ammo and credits, use batteries, etc.
int16 addItemCru(Item *item, bool showtoast);
diff --git a/engines/ultima/ultima8/world/item.h b/engines/ultima/ultima8/world/item.h
index 56faf6427e..b5e4274911 100644
--- a/engines/ultima/ultima8/world/item.h
+++ b/engines/ultima/ultima8/world/item.h
@@ -72,7 +72,7 @@ public:
//! Move an item. This moves an item to the new location, and updates
//! CurrentMap and fastArea if necessary.
- void move(int32 x, int32 y, int32 z);
+ virtual void move(int32 x, int32 y, int32 z);
//! Move, but with a point struct.
void move(const Point3 &pt);
More information about the Scummvm-git-logs
mailing list