[Scummvm-git-logs] scummvm master -> 4d72136ed1d3ddf2859bc30b4163cbc59518871f
mduggan
mgithub at guarana.org
Sat Apr 25 09:51:12 UTC 2020
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:
4d72136ed1 ULTIMA8: Const and type correctness
Commit: 4d72136ed1d3ddf2859bc30b4163cbc59518871f
https://github.com/scummvm/scummvm/commit/4d72136ed1d3ddf2859bc30b4163cbc59518871f
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2020-04-25T18:50:56+09:00
Commit Message:
ULTIMA8: Const and type correctness
Changed paths:
engines/ultima/ultima8/world/container.cpp
engines/ultima/ultima8/world/container.h
engines/ultima/ultima8/world/current_map.cpp
engines/ultima/ultima8/world/current_map.h
engines/ultima/ultima8/world/item.cpp
engines/ultima/ultima8/world/item.h
diff --git a/engines/ultima/ultima8/world/container.cpp b/engines/ultima/ultima8/world/container.cpp
index b457fda6a0..4596eca789 100644
--- a/engines/ultima/ultima8/world/container.cpp
+++ b/engines/ultima/ultima8/world/container.cpp
@@ -273,8 +273,8 @@ uint32 Container::getContentVolume() const {
}
void Container::containerSearch(UCList *itemlist, const uint8 *loopscript,
- uint32 scriptsize, bool recurse) {
- Std::list<Item *>::iterator iter;
+ uint32 scriptsize, bool recurse) const {
+ Std::list<Item *>::const_iterator iter;
for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
// check item against loopscript
if ((*iter)->checkLoopScript(loopscript, scriptsize)) {
diff --git a/engines/ultima/ultima8/world/container.h b/engines/ultima/ultima8/world/container.h
index 3488051ec0..a5954c304a 100644
--- a/engines/ultima/ultima8/world/container.h
+++ b/engines/ultima/ultima8/world/container.h
@@ -84,7 +84,7 @@ public:
//! \param scriptsize The size (in bytes) of the loopscript
//! \param recurse If true, search through child-containers too
void containerSearch(UCList *itemlist, const uint8 *loopscript,
- uint32 scriptsize, bool recurse);
+ uint32 scriptsize, bool recurse) const;
//! Get the weight of the container and its contents
//! \return weight
diff --git a/engines/ultima/ultima8/world/current_map.cpp b/engines/ultima/ultima8/world/current_map.cpp
index 45e9d7a470..0448925895 100644
--- a/engines/ultima/ultima8/world/current_map.cpp
+++ b/engines/ultima/ultima8/world/current_map.cpp
@@ -431,7 +431,7 @@ void CurrentMap::clipMapChunks(int &minx, int &maxx, int &miny, int &maxy) const
void CurrentMap::areaSearch(UCList *itemlist, const uint8 *loopscript,
uint32 scriptsize, const Item *check, uint16 range,
- bool recurse, int32 x, int32 y) {
+ bool recurse, int32 x, int32 y) const {
int32 xd = 0, yd = 0;
// if item != 0, search an area around item. Otherwise, search an area
@@ -474,9 +474,9 @@ void CurrentMap::areaSearch(UCList *itemlist, const uint8 *loopscript,
continue;
// check item against loopscript
- if ((*iter)->checkLoopScript(loopscript, scriptsize)) {
+ if (item->checkLoopScript(loopscript, scriptsize)) {
assert(itemlist->getElementSize() == 2);
- uint16 objid = (*iter)->getObjId();
+ uint16 objid = item->getObjId();
uint8 buf[2];
buf[0] = static_cast<uint8>(objid);
buf[1] = static_cast<uint8>(objid >> 8);
@@ -485,7 +485,7 @@ void CurrentMap::areaSearch(UCList *itemlist, const uint8 *loopscript,
if (recurse) {
// recurse into child-containers
- Container *container = p_dynamic_cast<Container *>(*iter);
+ const Container *container = p_dynamic_cast<const Container *>(item);
if (container)
container->containerSearch(itemlist, loopscript,
scriptsize, recurse);
@@ -497,7 +497,7 @@ void CurrentMap::areaSearch(UCList *itemlist, const uint8 *loopscript,
void CurrentMap::surfaceSearch(UCList *itemlist, const uint8 *loopscript,
uint32 scriptsize, const Item *check,
- bool above, bool below, bool recurse) {
+ bool above, bool below, bool recurse) const {
int32 origin[3];
int32 dims[3];
check->getLocationAbsolute(origin[0], origin[1], origin[2]);
@@ -509,7 +509,7 @@ void CurrentMap::surfaceSearch(UCList *itemlist, const uint8 *loopscript,
void CurrentMap::surfaceSearch(UCList *itemlist, const uint8 *loopscript,
uint32 scriptsize, ObjId check,
int32 origin[3], int32 dims[3],
- bool above, bool below, bool recurse) {
+ bool above, bool below, bool recurse) const {
const Rect searchrange(origin[0] - dims[0], origin[1] - dims[1],
dims[0], dims[1]);
@@ -563,9 +563,9 @@ void CurrentMap::surfaceSearch(UCList *itemlist, const uint8 *loopscript,
continue;
// check item against loopscript
- if ((*iter)->checkLoopScript(loopscript, scriptsize)) {
+ if (item->checkLoopScript(loopscript, scriptsize)) {
assert(itemlist->getElementSize() == 2);
- uint16 objid = (*iter)->getObjId();
+ uint16 objid = item->getObjId();
uint8 buf[2];
buf[0] = static_cast<uint8>(objid);
buf[1] = static_cast<uint8>(objid >> 8);
@@ -606,7 +606,7 @@ bool CurrentMap::isValidPosition(int32 x, int32 y, int32 z,
ObjId *roof) const {
const ShapeInfo *si = GameData::get_instance()->
getMainShapes()->getShapeInfo(shape);
- int xd, yd, zd;
+ int32 xd, yd, zd;
// Note: this assumes the shape to be placed is not flipped
si->getFootpadWorld(xd, yd, zd, 0);
diff --git a/engines/ultima/ultima8/world/current_map.h b/engines/ultima/ultima8/world/current_map.h
index dde70d16be..7abb27867c 100644
--- a/engines/ultima/ultima8/world/current_map.h
+++ b/engines/ultima/ultima8/world/current_map.h
@@ -84,18 +84,18 @@ public:
//! \param y y coordinate of search center if item is 0.
void areaSearch(UCList *itemlist, const uint8 *loopscript,
uint32 scriptsize, const Item *item, uint16 range,
- bool recurse, int32 x = 0, int32 y = 0);
+ bool recurse, int32 x = 0, int32 y = 0) const;
// Surface search: Search above and below an item.
void surfaceSearch(UCList *itemlist, const uint8 *loopscript,
uint32 scriptsize, const Item *item, bool above,
- bool below, bool recurse = false);
+ bool below, bool recurse = false) const;
// Surface search: Search above and below an item.
void surfaceSearch(UCList *itemlist, const uint8 *loopscript,
uint32 scriptsize, ObjId id,
int32 origin[3], int32 dims[2],
- bool above, bool below, bool recurse = false);
+ bool above, bool below, bool recurse = false) const;
// Collision detection. Returns true if the box [x,y,z]-[x-xd,y-yd,z+zd]
// does not collide with any solid items.
diff --git a/engines/ultima/ultima8/world/item.cpp b/engines/ultima/ultima8/world/item.cpp
index d7c91b0eda..efab005ac4 100644
--- a/engines/ultima/ultima8/world/item.cpp
+++ b/engines/ultima/ultima8/world/item.cpp
@@ -618,7 +618,7 @@ uint32 Item::getVolume() const {
}
}
-bool Item::checkLoopScript(const uint8 *script, uint32 scriptsize) {
+bool Item::checkLoopScript(const uint8 *script, uint32 scriptsize) const {
// if really necessary this could be made static to prevent news/deletes
DynamicUCStack stack(0x40); // 64bytes should be plenty of room
diff --git a/engines/ultima/ultima8/world/item.h b/engines/ultima/ultima8/world/item.h
index 3781b5bd99..404bafe519 100644
--- a/engines/ultima/ultima8/world/item.h
+++ b/engines/ultima/ultima8/world/item.h
@@ -377,7 +377,7 @@ public:
//! \param script The loopscript to run
//! \param scriptsize The size (in bytes) of the loopscript
//! \return true if the item matches, false otherwise
- bool checkLoopScript(const uint8 *script, uint32 scriptsize);
+ bool checkLoopScript(const uint8 *script, uint32 scriptsize) const;
uint32 callUsecodeEvent_look(); // event 0
uint32 callUsecodeEvent_use(); // event 1
More information about the Scummvm-git-logs
mailing list