[Scummvm-git-logs] scummvm master -> 7c29b5db7d1d4988af05638c55af42f850497aa9

mduggan mgithub at guarana.org
Mon May 18 09:03:10 UTC 2020


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:
b08ac98c1d ULTIMA8: Reduce debug log spam slightly
6fe5649548 ULTIMA8: Document what most of the gumps are for in comments
fa332c4e62 ULTIMA8: Small debugging improvements
7c29b5db7d ULTIMA8: More and const correctness.


Commit: b08ac98c1dbe5ef6104a0411873666d99c19532c
    https://github.com/scummvm/scummvm/commit/b08ac98c1dbe5ef6104a0411873666d99c19532c
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2020-05-18T17:47:45+09:00

Commit Message:
ULTIMA8: Reduce debug log spam slightly

Changed paths:
    engines/ultima/ultima8/world/item.cpp


diff --git a/engines/ultima/ultima8/world/item.cpp b/engines/ultima/ultima8/world/item.cpp
index c8000f98b6..a988ffc506 100644
--- a/engines/ultima/ultima8/world/item.cpp
+++ b/engines/ultima/ultima8/world/item.cpp
@@ -1062,7 +1062,7 @@ uint32 Item::callUsecodeEvent(uint32 event, const uint8 *args, int argsize) {
 		return 0;
 	}*/
 
-	debug(6, "Item: %d (shape %d) calling usecode event %d @ %04X:%04X",
+	debug(10, "Item: %d (shape %d) calling usecode event %d @ %04X:%04X",
 			_objId, _shape, event, class_id, offset);
 
 	return callUsecode(static_cast<uint16>(class_id),


Commit: 6fe5649548f96cc293014fbb933f80348077aae7
    https://github.com/scummvm/scummvm/commit/6fe5649548f96cc293014fbb933f80348077aae7
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2020-05-18T17:47:45+09:00

Commit Message:
ULTIMA8: Document what most of the gumps are for in comments

Changed paths:
    engines/ultima/ultima8/gumps/ask_gump.h
    engines/ultima/ultima8/gumps/bark_gump.h
    engines/ultima/ultima8/gumps/book_gump.h
    engines/ultima/ultima8/gumps/container_gump.h
    engines/ultima/ultima8/gumps/credits_gump.h
    engines/ultima/ultima8/gumps/desktop_gump.h
    engines/ultima/ultima8/gumps/fast_area_vis_gump.h
    engines/ultima/ultima8/gumps/game_map_gump.h
    engines/ultima/ultima8/gumps/gump.h
    engines/ultima/ultima8/gumps/inverter_gump.h
    engines/ultima/ultima8/gumps/item_relative_gump.h
    engines/ultima/ultima8/gumps/menu_gump.h
    engines/ultima/ultima8/gumps/message_box_gump.h
    engines/ultima/ultima8/gumps/mini_stats_gump.h
    engines/ultima/ultima8/gumps/modal_gump.h
    engines/ultima/ultima8/gumps/paged_gump.h
    engines/ultima/ultima8/gumps/paperdoll_gump.h
    engines/ultima/ultima8/gumps/quit_gump.h
    engines/ultima/ultima8/gumps/readable_gump.h
    engines/ultima/ultima8/gumps/remorse_menu_gump.h
    engines/ultima/ultima8/gumps/resizable_gump.h
    engines/ultima/ultima8/gumps/scaler_gump.h
    engines/ultima/ultima8/gumps/scroll_gump.h
    engines/ultima/ultima8/gumps/shape_viewer_gump.h
    engines/ultima/ultima8/gumps/slider_gump.h
    engines/ultima/ultima8/gumps/u8_save_gump.h


diff --git a/engines/ultima/ultima8/gumps/ask_gump.h b/engines/ultima/ultima8/gumps/ask_gump.h
index 2ebc9a10c0..d05d714c64 100644
--- a/engines/ultima/ultima8/gumps/ask_gump.h
+++ b/engines/ultima/ultima8/gumps/ask_gump.h
@@ -31,6 +31,9 @@ namespace Ultima8 {
 
 class UCList;
 
+/**
+ * Represents asking a question while talking to an NPC
+ */
 class AskGump : public ItemRelativeGump {
 	UCList *_answers;
 public:
diff --git a/engines/ultima/ultima8/gumps/bark_gump.h b/engines/ultima/ultima8/gumps/bark_gump.h
index 4370d0aa23..5a04083388 100644
--- a/engines/ultima/ultima8/gumps/bark_gump.h
+++ b/engines/ultima/ultima8/gumps/bark_gump.h
@@ -29,6 +29,9 @@
 namespace Ultima {
 namespace Ultima8 {
 
+/**
+* Represents text which appears on the screen to show the name of an item, etc
+*/
 class BarkGump : public ItemRelativeGump {
 protected:
 	Std::string _barked;
diff --git a/engines/ultima/ultima8/gumps/book_gump.h b/engines/ultima/ultima8/gumps/book_gump.h
index 49cf625383..8d817a0ccc 100644
--- a/engines/ultima/ultima8/gumps/book_gump.h
+++ b/engines/ultima/ultima8/gumps/book_gump.h
@@ -30,6 +30,9 @@
 namespace Ultima {
 namespace Ultima8 {
 
+/**
+* The gump to display the text of a book
+*/
 class BookGump : public ModalGump {
 	Std::string _text;
 	ObjId _textWidgetL;
diff --git a/engines/ultima/ultima8/gumps/container_gump.h b/engines/ultima/ultima8/gumps/container_gump.h
index bbdc346d0f..8c9b31f9c7 100644
--- a/engines/ultima/ultima8/gumps/container_gump.h
+++ b/engines/ultima/ultima8/gumps/container_gump.h
@@ -32,6 +32,9 @@ namespace Ultima8 {
 class Shape;
 class Container;
 
+/**
+ * Base gump class for all containers (backpack, barrel, etc)
+ */
 class ContainerGump : public ItemRelativeGump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/gumps/credits_gump.h b/engines/ultima/ultima8/gumps/credits_gump.h
index 3f023e5aca..8089cceadd 100644
--- a/engines/ultima/ultima8/gumps/credits_gump.h
+++ b/engines/ultima/ultima8/gumps/credits_gump.h
@@ -31,6 +31,9 @@ namespace Ultima8 {
 
 class RenderedText;
 
+/**
+ * Full-screen gump for the credits roll in U8
+ */
 class CreditsGump : public ModalGump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/gumps/desktop_gump.h b/engines/ultima/ultima8/gumps/desktop_gump.h
index 0c7ec89765..ac44b9d0bb 100644
--- a/engines/ultima/ultima8/gumps/desktop_gump.h
+++ b/engines/ultima/ultima8/gumps/desktop_gump.h
@@ -29,6 +29,9 @@
 namespace Ultima {
 namespace Ultima8 {
 
+/**
+ * A virtual gump which contains all the regular game components.
+ */
 class DesktopGump : public Gump {
 	static bool _fadedModal;
 public:
diff --git a/engines/ultima/ultima8/gumps/fast_area_vis_gump.h b/engines/ultima/ultima8/gumps/fast_area_vis_gump.h
index 06e679417f..9cf16fa234 100644
--- a/engines/ultima/ultima8/gumps/fast_area_vis_gump.h
+++ b/engines/ultima/ultima8/gumps/fast_area_vis_gump.h
@@ -29,6 +29,10 @@
 namespace Ultima {
 namespace Ultima8 {
 
+/**
+ * A gump for debugging which shows all the things in the "fast" area (the area around the avatar
+ * which is being calculated for pathfinding etc)
+ */
 class FastAreaVisGump : public Gump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/gumps/game_map_gump.h b/engines/ultima/ultima8/gumps/game_map_gump.h
index e271689540..7d5218f9d3 100644
--- a/engines/ultima/ultima8/gumps/game_map_gump.h
+++ b/engines/ultima/ultima8/gumps/game_map_gump.h
@@ -33,6 +33,9 @@ namespace Ultima8 {
 class ItemSorter;
 class CameraProcess;
 
+/**
+ * The  gump which holds all the game map elements (floor, avatar, objects, etc)
+ */
 class GameMapGump : public Gump {
 protected:
 	ItemSorter *_displayList;
diff --git a/engines/ultima/ultima8/gumps/gump.h b/engines/ultima/ultima8/gumps/gump.h
index d8852a4fda..7fed3d80e3 100644
--- a/engines/ultima/ultima8/gumps/gump.h
+++ b/engines/ultima/ultima8/gumps/gump.h
@@ -41,12 +41,10 @@ class Gump;
 typedef bool (*FindGumpPredicate)(Gump *g);
 template<class T> inline bool IsOfType(Gump *g) { return dynamic_cast<T*>(g) != nullptr; }
 
-//
-// Class Gump
-//
-// Desc: Base Gump Class that all other Gumps inherit from
-//
-
+/**
+ * A Gump is a single GUI element within the game, like the backpack window, menu,
+ * conversation text, etc.  Like most windowing systems, gumps nest.
+ */
 class Gump : public Object {
 protected:
 	uint16 _owner;        // Owner item
diff --git a/engines/ultima/ultima8/gumps/inverter_gump.h b/engines/ultima/ultima8/gumps/inverter_gump.h
index 7b9cf2f5fe..cbd5667907 100644
--- a/engines/ultima/ultima8/gumps/inverter_gump.h
+++ b/engines/ultima/ultima8/gumps/inverter_gump.h
@@ -32,6 +32,9 @@ namespace Ultima8 {
 
 class RenderSurface;
 
+/**
+ * A gump to vertically invert the desktop contents - happens when certain switches in the game are switched.
+ */
 class InverterGump : public DesktopGump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/gumps/item_relative_gump.h b/engines/ultima/ultima8/gumps/item_relative_gump.h
index 40334c60fd..0e99a1add3 100644
--- a/engines/ultima/ultima8/gumps/item_relative_gump.h
+++ b/engines/ultima/ultima8/gumps/item_relative_gump.h
@@ -29,6 +29,9 @@
 namespace Ultima {
 namespace Ultima8 {
 
+/**
+ * Base class for gumps whose location is relative to an owning item (eg, inventory, bark, etc)
+ */
 class ItemRelativeGump : public Gump {
 protected:
 	int32 _ix, _iy;
diff --git a/engines/ultima/ultima8/gumps/menu_gump.h b/engines/ultima/ultima8/gumps/menu_gump.h
index 93fe3958c3..6e81a7a4dd 100644
--- a/engines/ultima/ultima8/gumps/menu_gump.h
+++ b/engines/ultima/ultima8/gumps/menu_gump.h
@@ -31,6 +31,9 @@ namespace Ultima8 {
 
 class RenderedText;
 
+/**
+ * The game menu - with entries like Read Diary, Write Diary, Credits, etc.
+ */
 class MenuGump : public ModalGump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/gumps/message_box_gump.h b/engines/ultima/ultima8/gumps/message_box_gump.h
index f3e0a704b8..292380f05b 100644
--- a/engines/ultima/ultima8/gumps/message_box_gump.h
+++ b/engines/ultima/ultima8/gumps/message_box_gump.h
@@ -32,6 +32,10 @@
 namespace Ultima {
 namespace Ultima8 {
 
+/**
+ * A modal message box (for errors, etc)
+ * In Crusader, this should be used for things like the "Targetting reticle [in]active." message
+ */
 class MessageBoxGump : public ModalGump {
 	Std::string _title;
 	Std::string _message;
diff --git a/engines/ultima/ultima8/gumps/mini_stats_gump.h b/engines/ultima/ultima8/gumps/mini_stats_gump.h
index b683b6187e..c93d1812b3 100644
--- a/engines/ultima/ultima8/gumps/mini_stats_gump.h
+++ b/engines/ultima/ultima8/gumps/mini_stats_gump.h
@@ -29,6 +29,9 @@
 namespace Ultima {
 namespace Ultima8 {
 
+/**
+ * The tiny HP/mana bars shown on the desktop which can be activated from the paperdoll gump
+ */
 class MiniStatsGump : public Gump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/gumps/modal_gump.h b/engines/ultima/ultima8/gumps/modal_gump.h
index 1df36be1d8..723817b0eb 100644
--- a/engines/ultima/ultima8/gumps/modal_gump.h
+++ b/engines/ultima/ultima8/gumps/modal_gump.h
@@ -29,6 +29,9 @@
 namespace Ultima {
 namespace Ultima8 {
 
+/**
+ * Base class for any gump which blocks the game (menu, credits, movie, etc)
+ */
 class ModalGump : public Gump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/gumps/paged_gump.h b/engines/ultima/ultima8/gumps/paged_gump.h
index c43a32b4f1..7d5f9c8254 100644
--- a/engines/ultima/ultima8/gumps/paged_gump.h
+++ b/engines/ultima/ultima8/gumps/paged_gump.h
@@ -29,6 +29,9 @@
 namespace Ultima {
 namespace Ultima8 {
 
+/**
+ * Base class for gumps which have multiple pages (books, save/load game)
+ */
 class PagedGump : public ModalGump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/gumps/paperdoll_gump.h b/engines/ultima/ultima8/gumps/paperdoll_gump.h
index f61288a9c1..1b9ffe23a6 100644
--- a/engines/ultima/ultima8/gumps/paperdoll_gump.h
+++ b/engines/ultima/ultima8/gumps/paperdoll_gump.h
@@ -31,6 +31,9 @@ namespace Ultima8 {
 
 class RenderedText;
 
+/**
+ * The gump activated by 'Z', which shows the avatar with current armor, and stats
+ */
 class PaperdollGump : public ContainerGump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/gumps/quit_gump.h b/engines/ultima/ultima8/gumps/quit_gump.h
index 57f5e72aa7..e78422f801 100644
--- a/engines/ultima/ultima8/gumps/quit_gump.h
+++ b/engines/ultima/ultima8/gumps/quit_gump.h
@@ -29,6 +29,9 @@
 namespace Ultima {
 namespace Ultima8 {
 
+/**
+ * The "are you sure you want to quit?" gump
+ */
 class QuitGump : public ModalGump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/gumps/readable_gump.h b/engines/ultima/ultima8/gumps/readable_gump.h
index 2d41de5d52..3ab763e5d7 100644
--- a/engines/ultima/ultima8/gumps/readable_gump.h
+++ b/engines/ultima/ultima8/gumps/readable_gump.h
@@ -30,6 +30,9 @@
 namespace Ultima {
 namespace Ultima8 {
 
+/**
+ * The gump for popping up text in the game you can read (plaques and gravestones)
+ */
 class ReadableGump : public ModalGump {
 	uint16 _shapeNum;
 	int _fontNum;
diff --git a/engines/ultima/ultima8/gumps/remorse_menu_gump.h b/engines/ultima/ultima8/gumps/remorse_menu_gump.h
index 920a18515b..f7fe405d93 100644
--- a/engines/ultima/ultima8/gumps/remorse_menu_gump.h
+++ b/engines/ultima/ultima8/gumps/remorse_menu_gump.h
@@ -31,6 +31,9 @@ namespace Ultima8 {
 
 class RenderedText;
 
+/**
+ * The game menu for Crusader: No Remorse.  Different enough to the U8 menu that it's implemented separately.
+ */
 class RemorseMenuGump : public ModalGump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/gumps/resizable_gump.h b/engines/ultima/ultima8/gumps/resizable_gump.h
index 2a7753c29c..801b9c4d13 100644
--- a/engines/ultima/ultima8/gumps/resizable_gump.h
+++ b/engines/ultima/ultima8/gumps/resizable_gump.h
@@ -28,11 +28,10 @@
 namespace Ultima {
 namespace Ultima8 {
 
-//
-// The resizable gump is a gump that can doesn't have a static size.
-//
-// An example of such would be the Console and the GameMap gumps
-//
+/**
+ * Base class for gumps that can doesn't have a static size.
+ * An example of such would be the Console and the GameMap gumps
+ */
 class ResizableGump : public Gump {
 public:
 	ResizableGump(int x, int y, int width, int height);
diff --git a/engines/ultima/ultima8/gumps/scaler_gump.h b/engines/ultima/ultima8/gumps/scaler_gump.h
index 709b4fecde..a35d971ab9 100644
--- a/engines/ultima/ultima8/gumps/scaler_gump.h
+++ b/engines/ultima/ultima8/gumps/scaler_gump.h
@@ -34,6 +34,10 @@ class RenderSurface;
 class Texture;
 class Scaler;
 
+/**
+ * A virtual gump which scales the contents for display.  Mostly unused since import to scummvm.
+ * TODO: Look into removing this entirely.
+ */
 class ScalerGump : public DesktopGump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/gumps/scroll_gump.h b/engines/ultima/ultima8/gumps/scroll_gump.h
index 6636cec5ac..3bde5cc698 100644
--- a/engines/ultima/ultima8/gumps/scroll_gump.h
+++ b/engines/ultima/ultima8/gumps/scroll_gump.h
@@ -30,6 +30,9 @@
 namespace Ultima {
 namespace Ultima8 {
 
+/**
+ * A paper scroll (with a spell, etc)
+ */
 class ScrollGump : public ModalGump {
 	Std::string _text;
 	ObjId _textWidget;
diff --git a/engines/ultima/ultima8/gumps/shape_viewer_gump.h b/engines/ultima/ultima8/gumps/shape_viewer_gump.h
index 6d83213a9b..6ad762d7e7 100644
--- a/engines/ultima/ultima8/gumps/shape_viewer_gump.h
+++ b/engines/ultima/ultima8/gumps/shape_viewer_gump.h
@@ -33,7 +33,9 @@ namespace Ultima8 {
 
 class ShapeArchive;
 
-
+/**
+ * A tool for viewing the shapes in the game, for debugging purposes.
+ */
 class ShapeViewerGump : public ModalGump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/gumps/slider_gump.h b/engines/ultima/ultima8/gumps/slider_gump.h
index a12450b202..c05427ff1c 100644
--- a/engines/ultima/ultima8/gumps/slider_gump.h
+++ b/engines/ultima/ultima8/gumps/slider_gump.h
@@ -32,6 +32,9 @@ namespace Ultima8 {
 class UCProcess;
 class RenderedText;
 
+/**
+ * A slider that lets you choose how many things to move (eg, when moving stacked items in the backpack)
+ */
 class SliderGump : public ModalGump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/gumps/u8_save_gump.h b/engines/ultima/ultima8/gumps/u8_save_gump.h
index 5c8e63cfe6..f7ebf6fae5 100644
--- a/engines/ultima/ultima8/gumps/u8_save_gump.h
+++ b/engines/ultima/ultima8/gumps/u8_save_gump.h
@@ -29,10 +29,11 @@
 namespace Ultima {
 namespace Ultima8 {
 
-// U8-style load/save gump.
-
 class EditWidget;
 
+/**
+ * U8-style load/save gump (a single number + editable widget entry in the paged save/load gump)
+ */
 class U8SaveGump : public Gump {
 public:
 	ENABLE_RUNTIME_CLASSTYPE()


Commit: fa332c4e6201da4f8d6ece208784e53ae49ccfe9
    https://github.com/scummvm/scummvm/commit/fa332c4e6201da4f8d6ece208784e53ae49ccfe9
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2020-05-18T18:00:50+09:00

Commit Message:
ULTIMA8: Small debugging improvements

Changed paths:
    engines/ultima/ultima8/world/actors/actor_anim_process.cpp


diff --git a/engines/ultima/ultima8/world/actors/actor_anim_process.cpp b/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
index e6eee02979..40a695caff 100644
--- a/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
+++ b/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
@@ -212,7 +212,7 @@ void ActorAnimProcess::run() {
 					if (_itemNum == watchactor) {
 						pout << "Animation ["
 						     << Kernel::get_instance()->getFrameNum()
-						     << "] falling" << Std::endl;
+						     << "] falling at end" << Std::endl;
 					}
 #endif
 					int32 dx, dy, dz;
@@ -244,7 +244,7 @@ void ActorAnimProcess::run() {
 					if (_itemNum == watchactor) {
 						pout << "Animation ["
 						     << Kernel::get_instance()->getFrameNum()
-						     << "] falling" << Std::endl;
+						     << "] falling from blocked" << Std::endl;
 					}
 #endif
 					// no inertia here because we just crashed into something
@@ -257,7 +257,7 @@ void ActorAnimProcess::run() {
 			}
 		}
 
-		AnimFrame *curframe = _tracker->getAnimFrame();
+		const AnimFrame *curframe = _tracker->getAnimFrame();
 		if (curframe && curframe->_sfx) {
 			AudioProcess *audioproc = AudioProcess::get_instance();
 			if (audioproc) audioproc->playSFX(curframe->_sfx, 0x60, _itemNum, 0);
@@ -318,7 +318,7 @@ void ActorAnimProcess::run() {
 		pout << "Animation [" << Kernel::get_instance()->getFrameNum()
 		     << "] showing frame (" << x << "," << y << "," << z << ")"
 		     << " shape (" << a->getShape() << "," << _tracker->getFrame()
-		     << ") sfx " << _tracker->getAnimFrame()->sfx
+		     << ") sfx " << _tracker->getAnimFrame()->_sfx
 		     << " rep " << _repeatCounter << " ";
 
 		if (_tracker->isDone()) pout << "D";
@@ -337,7 +337,7 @@ void ActorAnimProcess::run() {
 #ifdef WATCHACTOR
 			if (_itemNum == watchactor) {
 				pout << "Animation [" << Kernel::get_instance()->getFrameNum()
-				     << "] falling" << Std::endl;
+				     << "] falling from repeat" << Std::endl;
 			}
 #endif
 


Commit: 7c29b5db7d1d4988af05638c55af42f850497aa9
    https://github.com/scummvm/scummvm/commit/7c29b5db7d1d4988af05638c55af42f850497aa9
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2020-05-18T18:02:10+09:00

Commit Message:
ULTIMA8: More and const correctness.

Changed paths:
    engines/ultima/ultima8/gumps/u8_save_gump.cpp
    engines/ultima/ultima8/world/actors/actor.cpp
    engines/ultima/ultima8/world/actors/anim_action.h
    engines/ultima/ultima8/world/actors/animation_tracker.cpp
    engines/ultima/ultima8/world/actors/animation_tracker.h
    engines/ultima/ultima8/world/current_map.cpp
    engines/ultima/ultima8/world/current_map.h
    engines/ultima/ultima8/world/glob_egg.cpp


diff --git a/engines/ultima/ultima8/gumps/u8_save_gump.cpp b/engines/ultima/ultima8/gumps/u8_save_gump.cpp
index 925f101406..8f2709ebe2 100644
--- a/engines/ultima/ultima8/gumps/u8_save_gump.cpp
+++ b/engines/ultima/ultima8/gumps/u8_save_gump.cpp
@@ -65,8 +65,7 @@ void U8SaveGump::InitGump(Gump *newparent, bool take_focus) {
 	FrameID entry_id(GameData::GUMPS, 46, 0);
 	entry_id = _TL_SHP_(entry_id);
 
-	Shape *entryShape;
-	entryShape = GameData::get_instance()->getShape(entry_id);
+	const Shape *entryShape = GameData::get_instance()->getShape(entry_id);
 	const ShapeFrame *sf = entryShape->getFrame(entry_id._frameNum);
 	int entrywidth = sf->_width;
 	int entryheight = sf->_height;
@@ -290,7 +289,7 @@ void U8SaveGump::loadDescriptions() {
 		if (!saveFile)
 			continue;
 
-		SavegameReader *sg = new SavegameReader(saveFile, true);
+		const SavegameReader *sg = new SavegameReader(saveFile, true);
 		SavegameReader::State state = sg->isValid();
 		_descriptions[i] = "";
 
@@ -319,9 +318,9 @@ void U8SaveGump::loadDescriptions() {
 //static
 Gump *U8SaveGump::showLoadSaveGump(Gump *parent, bool save) {
 	if (save) {
-		// can't _save if game over
+		// can't save if game over
 		// FIXME: this check should probably be in Game or GUIApp
-		MainActor *av = getMainActor();
+		const MainActor *av = getMainActor();
 		if (!av || av->hasActorFlags(Actor::ACT_DEAD))
 			return nullptr;
 	}
@@ -329,10 +328,8 @@ Gump *U8SaveGump::showLoadSaveGump(Gump *parent, bool save) {
 	PagedGump *gump = new PagedGump(34, -38, 3, 35);
 	gump->InitGump(parent);
 
-	U8SaveGump *s;
-
 	for (int page = 0; page < 16; ++page) {
-		s = new U8SaveGump(save, page);
+		U8SaveGump *s = new U8SaveGump(save, page);
 		s->InitGump(gump, false);
 		gump->addPage(s);
 	}
diff --git a/engines/ultima/ultima8/world/actors/actor.cpp b/engines/ultima/ultima8/world/actors/actor.cpp
index 64c0f7233c..7e4d8adb8d 100644
--- a/engines/ultima/ultima8/world/actors/actor.cpp
+++ b/engines/ultima/ultima8/world/actors/actor.cpp
@@ -459,7 +459,7 @@ Animation::Result Actor::tryAnim(Animation::Sequence anim, int dir,
 	if (!tracker.init(this, anim, dir, state))
 		return Animation::FAILURE;
 
-	AnimAction *animaction = tracker.getAnimAction();
+	const AnimAction *animaction = tracker.getAnimAction();
 
 	if (!animaction) return Animation::FAILURE;
 
diff --git a/engines/ultima/ultima8/world/actors/anim_action.h b/engines/ultima/ultima8/world/actors/anim_action.h
index 05633c11b6..f879f1d152 100644
--- a/engines/ultima/ultima8/world/actors/anim_action.h
+++ b/engines/ultima/ultima8/world/actors/anim_action.h
@@ -44,10 +44,10 @@ struct AnimFrame {
 		AFF_SPECIAL  = 0x0800
 	};
 
-	inline bool is_flipped() {
+	inline bool is_flipped() const {
 		return (_flags & AFF_FLIPPED) != 0;
 	}
-	inline int attack_range() {
+	inline int attack_range() const {
 		return ((_flags >> 2) & 0x07);
 	}
 };
diff --git a/engines/ultima/ultima8/world/actors/animation_tracker.cpp b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
index ecad0e284f..58be2c4579 100644
--- a/engines/ultima/ultima8/world/actors/animation_tracker.cpp
+++ b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
@@ -168,7 +168,7 @@ void AnimationTracker::evaluateMaxAnimTravel(int32 &max_endx, int32 &max_endy, u
 bool AnimationTracker::step() {
 	if (_done) return false;
 
-	Actor *a = getActor(_actor);
+	const Actor *a = getActor(_actor);
 	assert(a);
 
 	if (_firstFrame)
@@ -199,7 +199,7 @@ bool AnimationTracker::step() {
 
 	_firstFrame = false;
 
-	AnimFrame &f = _animAction->frames[_dir][_currentFrame];
+	const AnimFrame &f = _animAction->frames[_dir][_currentFrame];
 
 	_shapeFrame = f._frame;
 	_flipped = f.is_flipped();
@@ -272,7 +272,7 @@ bool AnimationTracker::step() {
 
 		// Do the sweep test
 		Std::list<CurrentMap::SweepItem> collisions;
-		Std::list<CurrentMap::SweepItem>::iterator it;
+		Std::list<CurrentMap::SweepItem>::const_iterator it;
 		cm->sweepTest(start, end, dims, a->getShapeInfo()->_flags, a->getObjId(),
 		              false, &collisions);
 
@@ -417,7 +417,7 @@ bool AnimationTracker::step() {
 	return true;
 }
 
-AnimFrame *AnimationTracker::getAnimFrame() const {
+const AnimFrame *AnimationTracker::getAnimFrame() const {
 	return &_animAction->frames[_dir][_currentFrame];
 }
 
diff --git a/engines/ultima/ultima8/world/actors/animation_tracker.h b/engines/ultima/ultima8/world/actors/animation_tracker.h
index 8f5027ff86..efcc9557a3 100644
--- a/engines/ultima/ultima8/world/actors/animation_tracker.h
+++ b/engines/ultima/ultima8/world/actors/animation_tracker.h
@@ -83,12 +83,12 @@ public:
 	}
 
 	//! get the current AnimAction
-	AnimAction *getAnimAction() const {
+	const AnimAction *getAnimAction() const {
 		return _animAction;
 	}
 
 	//! get the current AnimFrame
-	AnimFrame *getAnimFrame() const;
+	const AnimFrame *getAnimFrame() const;
 
 	void setTargetedMode(int32 x_, int32 y_, int32 z_);
 
diff --git a/engines/ultima/ultima8/world/current_map.cpp b/engines/ultima/ultima8/world/current_map.cpp
index 32be0c4aa5..3a7658b7d8 100644
--- a/engines/ultima/ultima8/world/current_map.cpp
+++ b/engines/ultima/ultima8/world/current_map.cpp
@@ -697,7 +697,7 @@ bool CurrentMap::isValidPosition(int32 x, int32 y, int32 z,
 
 				// check xy overlap
 				if (!(x <= ix - ixd || x - xd >= ix ||
-				        y <= iy - iyd || y - yd >= iy)) {
+				      y <= iy - iyd || y - yd >= iy)) {
 					// check support
 					if (support == nullptr && si->is_solid() &&
 					        iz + izd == z) {
@@ -722,7 +722,7 @@ bool CurrentMap::isValidPosition(int32 x, int32 y, int32 z,
 	return valid;
 }
 
-bool CurrentMap::scanForValidPosition(int32 x, int32 y, int32 z, Item *item,
+bool CurrentMap::scanForValidPosition(int32 x, int32 y, int32 z, const Item *item,
                                       int movedir, bool wantsupport,
                                       int32 &tx, int32 &ty, int32 &tz) {
 	// TODO: clean this up. Currently the mask arrays are filled with more
@@ -890,7 +890,7 @@ bool CurrentMap::scanForValidPosition(int32 x, int32 y, int32 z, Item *item,
 bool CurrentMap::sweepTest(const int32 start[3], const int32 end[3],
                            const int32 dims[3], uint32 shapeflags,
                            ObjId item, bool blocking_only,
-                           Std::list<SweepItem> *hit) {
+                           Std::list<SweepItem> *hit) const {
 	const uint32 blockflagmask = (ShapeInfo::SI_SOLID | ShapeInfo::SI_DAMAGING);
 
 	int minx = ((start[0] - dims[0]) / _mapChunkSize) - 1;
@@ -1085,7 +1085,7 @@ bool CurrentMap::sweepTest(const int32 start[3], const int32 end[3],
 
 					// Small speed up.
 					if (sw_it != hit->end()) {
-						SweepItem &si = *sw_it;
+						const SweepItem &si = *sw_it;
 						if (si._hitTime > first) sw_it = hit->begin();
 					} else
 						sw_it = hit->begin();
diff --git a/engines/ultima/ultima8/world/current_map.h b/engines/ultima/ultima8/world/current_map.h
index 7abb27867c..0f29a0530e 100644
--- a/engines/ultima/ultima8/world/current_map.h
+++ b/engines/ultima/ultima8/world/current_map.h
@@ -125,7 +125,7 @@ public:
                          ObjId *roof = 0) const;
 
 	//! Scan for a valid position for item in directions orthogonal to movedir
-	bool scanForValidPosition(int32 x, int32 y, int32 z, Item *item,
+	bool scanForValidPosition(int32 x, int32 y, int32 z, const Item *item,
 	                          int movedir, bool wantsupport,
 	                          int32 &tx, int32 &ty, int32 &tz);
 
@@ -158,7 +158,7 @@ public:
 		// Bitmask. Bit 0 is x, 1 is y, 2 is z.
 
 		// Use this func to get the interpolated location of the hit
-		void GetInterpolatedCoords(int32 out[3], int32 start[3], int32 end[3]) {
+		void GetInterpolatedCoords(int32 out[3], int32 start[3], int32 end[3]) const {
 			for (int i = 0; i < 3; i++)
 				out[i] = start[i] + ((end[i] - start[i]) * (_hitTime >= 0 ? _hitTime : 0) + (end[i] > start[i] ? 0x2000 : -0x2000)) / 0x4000;
 		}
@@ -178,7 +178,7 @@ public:
 	//!         true if any items were hit.
 	bool sweepTest(const int32 start[3], const int32 end[3],
 	               const int32 dims[3], uint32 shapeflags,
-	               ObjId item, bool solid_only, Std::list<SweepItem> *hit);
+	               ObjId item, bool solid_only, Std::list<SweepItem> *hit) const;
 
 	TeleportEgg *findDestination(uint16 id);
 
diff --git a/engines/ultima/ultima8/world/glob_egg.cpp b/engines/ultima/ultima8/world/glob_egg.cpp
index 926193ccad..326d91d83e 100644
--- a/engines/ultima/ultima8/world/glob_egg.cpp
+++ b/engines/ultima/ultima8/world/glob_egg.cpp
@@ -53,12 +53,12 @@ void GlobEgg::enterFastArea() {
 
 	// Expand it
 	if (!(_flags & FLG_FASTAREA)) {
-		MapGlob *glob = GameData::get_instance()->getGlob(_quality);
+		const MapGlob *glob = GameData::get_instance()->getGlob(_quality);
 		if (!glob) return;
 
-		Std::vector<GlobItem>::iterator iter;
+		Std::vector<GlobItem>::const_iterator iter;
 		for (iter = glob->_contents.begin(); iter != glob->_contents.end(); ++iter) {
-			GlobItem &globitem = *iter;
+			const GlobItem &globitem = *iter;
 			Item *item = ItemFactory::createItem(globitem.shape, globitem.frame,
 			                                     0,
 			                                     FLG_DISPOSABLE | FLG_FAST_ONLY,




More information about the Scummvm-git-logs mailing list