[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