[Scummvm-git-logs] scummvm master -> 68ab4f4e8857e42e0a5c07485ff3d599fee002fb
dreammaster
paulfgilbert at gmail.com
Wed Feb 26 02:47:43 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:
68ab4f4e88 ULTIMA8: Many small improvements to const correctness
Commit: 68ab4f4e8857e42e0a5c07485ff3d599fee002fb
https://github.com/scummvm/scummvm/commit/68ab4f4e8857e42e0a5c07485ff3d599fee002fb
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2020-02-25T18:47:39-08:00
Commit Message:
ULTIMA8: Many small improvements to const correctness
Changed paths:
engines/ultima/ultima8/audio/audio_process.cpp
engines/ultima/ultima8/audio/audio_process.h
engines/ultima/ultima8/audio/audio_sample.cpp
engines/ultima/ultima8/audio/audio_sample.h
engines/ultima/ultima8/audio/music_flex.cpp
engines/ultima/ultima8/audio/music_flex.h
engines/ultima/ultima8/audio/raw_audio_sample.cpp
engines/ultima/ultima8/audio/raw_audio_sample.h
engines/ultima/ultima8/audio/sonarc_audio_sample.cpp
engines/ultima/ultima8/audio/sonarc_audio_sample.h
engines/ultima/ultima8/audio/sound_flex.cpp
engines/ultima/ultima8/audio/sound_flex.h
engines/ultima/ultima8/audio/speech_flex.cpp
engines/ultima/ultima8/filesys/archive.cpp
engines/ultima/ultima8/filesys/archive.h
engines/ultima/ultima8/filesys/archive_file.h
engines/ultima/ultima8/filesys/flex_file.cpp
engines/ultima/ultima8/filesys/flex_file.h
engines/ultima/ultima8/filesys/named_archive_file.h
engines/ultima/ultima8/filesys/raw_archive.cpp
engines/ultima/ultima8/filesys/raw_archive.h
engines/ultima/ultima8/filesys/u8_save_file.cpp
engines/ultima/ultima8/filesys/u8_save_file.h
engines/ultima/ultima8/games/remorse_game.cpp
engines/ultima/ultima8/games/treasure_loader.cpp
engines/ultima/ultima8/games/treasure_loader.h
engines/ultima/ultima8/games/u8_game.cpp
engines/ultima/ultima8/graphics/fonts/fixed_width_font.cpp
engines/ultima/ultima8/graphics/fonts/fixed_width_font.h
engines/ultima/ultima8/graphics/fonts/font_manager.cpp
engines/ultima/ultima8/graphics/fonts/font_manager.h
engines/ultima/ultima8/graphics/fonts/rendered_text.h
engines/ultima/ultima8/graphics/fonts/shape_rendered_text.cpp
engines/ultima/ultima8/graphics/fonts/shape_rendered_text.h
engines/ultima/ultima8/graphics/fonts/tt_font.cpp
engines/ultima/ultima8/graphics/point_scaler.cpp
engines/ultima/ultima8/graphics/shape_archive.cpp
engines/ultima/ultima8/graphics/shape_archive.h
engines/ultima/ultima8/graphics/type_flags.cpp
engines/ultima/ultima8/gumps/book_gump.cpp
engines/ultima/ultima8/gumps/book_gump.h
engines/ultima/ultima8/gumps/controls_gump.cpp
engines/ultima/ultima8/gumps/game_map_gump.cpp
engines/ultima/ultima8/gumps/gump.cpp
engines/ultima/ultima8/gumps/gump.h
engines/ultima/ultima8/gumps/gump_notify_process.cpp
engines/ultima/ultima8/gumps/gump_notify_process.h
engines/ultima/ultima8/gumps/menu_gump.cpp
engines/ultima/ultima8/kernel/delay_process.cpp
engines/ultima/ultima8/kernel/delay_process.h
engines/ultima/ultima8/kernel/kernel.cpp
engines/ultima/ultima8/kernel/mouse.cpp
engines/ultima/ultima8/kernel/mouse.h
engines/ultima/ultima8/kernel/object.cpp
engines/ultima/ultima8/kernel/object.h
engines/ultima/ultima8/kernel/pool.h
engines/ultima/ultima8/kernel/process.cpp
engines/ultima/ultima8/kernel/process.h
engines/ultima/ultima8/kernel/segmented_pool.cpp
engines/ultima/ultima8/kernel/segmented_pool.h
engines/ultima/ultima8/misc/p_dynamic_cast.h
engines/ultima/ultima8/usecode/bit_set.cpp
engines/ultima/ultima8/usecode/bit_set.h
engines/ultima/ultima8/usecode/uc_list.cpp
engines/ultima/ultima8/usecode/uc_list.h
engines/ultima/ultima8/usecode/uc_machine.cpp
engines/ultima/ultima8/usecode/uc_machine.h
engines/ultima/ultima8/usecode/uc_process.cpp
engines/ultima/ultima8/usecode/uc_process.h
engines/ultima/ultima8/world/actors/actor.cpp
engines/ultima/ultima8/world/actors/actor.h
engines/ultima/ultima8/world/actors/actor_anim_process.cpp
engines/ultima/ultima8/world/actors/actor_anim_process.h
engines/ultima/ultima8/world/actors/animation_tracker.cpp
engines/ultima/ultima8/world/actors/animation_tracker.h
engines/ultima/ultima8/world/actors/combat_process.cpp
engines/ultima/ultima8/world/actors/combat_process.h
engines/ultima/ultima8/world/actors/main_actor.cpp
engines/ultima/ultima8/world/actors/main_actor.h
engines/ultima/ultima8/world/actors/pathfinder.cpp
engines/ultima/ultima8/world/actors/pathfinder.h
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/egg.cpp
engines/ultima/ultima8/world/egg.h
engines/ultima/ultima8/world/gravity_process.cpp
engines/ultima/ultima8/world/gravity_process.h
engines/ultima/ultima8/world/item.cpp
engines/ultima/ultima8/world/item.h
engines/ultima/ultima8/world/world.cpp
engines/ultima/ultima8/world/world.h
diff --git a/engines/ultima/ultima8/audio/audio_process.cpp b/engines/ultima/ultima8/audio/audio_process.cpp
index c84d94e118..fe4a3551a8 100644
--- a/engines/ultima/ultima8/audio/audio_process.cpp
+++ b/engines/ultima/ultima8/audio/audio_process.cpp
@@ -322,7 +322,7 @@ void AudioProcess::setVolumeSFX(int sfxNum, uint8 volume) {
// Speech
//
-bool AudioProcess::playSpeech(Std::string &barked, int shapeNum, ObjId objId, uint32 pitchShift, uint16 volume) {
+bool AudioProcess::playSpeech(const Std::string &barked, int shapeNum, ObjId objId, uint32 pitchShift, uint16 volume) {
SpeechFlex *speechflex = GameData::get_instance()->getSpeechFlex(shapeNum);
if (!speechflex) return false;
@@ -366,7 +366,7 @@ bool AudioProcess::playSpeech(Std::string &barked, int shapeNum, ObjId objId, ui
return true;
}
-uint32 AudioProcess::getSpeechLength(Std::string &barked, int shapenum) const {
+uint32 AudioProcess::getSpeechLength(const Std::string &barked, int shapenum) const {
SpeechFlex *speechflex = GameData::get_instance()->getSpeechFlex(shapenum);
if (!speechflex) return 0;
@@ -374,7 +374,7 @@ uint32 AudioProcess::getSpeechLength(Std::string &barked, int shapenum) const {
}
-void AudioProcess::stopSpeech(Std::string &barked, int shapenum, ObjId objId) {
+void AudioProcess::stopSpeech(const Std::string &barked, int shapenum, ObjId objId) {
AudioMixer *mixer = AudioMixer::get_instance();
Std::list<SampleInfo>::iterator it;
@@ -389,7 +389,7 @@ void AudioProcess::stopSpeech(Std::string &barked, int shapenum, ObjId objId) {
}
}
-bool AudioProcess::isSpeechPlaying(Std::string &barked, int shapeNum) {
+bool AudioProcess::isSpeechPlaying(const Std::string &barked, int shapeNum) {
Std::list<SampleInfo>::iterator it;
for (it = _sampleInfo.begin(); it != _sampleInfo.end(); ++it) {
if (it->_sfxNum == -1 && it->_priority == shapeNum &&
diff --git a/engines/ultima/ultima8/audio/audio_process.h b/engines/ultima/ultima8/audio/audio_process.h
index 78b08ec9f7..a8d13b9b87 100644
--- a/engines/ultima/ultima8/audio/audio_process.h
+++ b/engines/ultima/ultima8/audio/audio_process.h
@@ -53,8 +53,8 @@ public:
SampleInfo(int32 s, int32 p, ObjId o, int32 l, int32 c, uint32 ps, uint16 v, int16 lv, int16 rv) :
_sfxNum(s), _priority(p), _objId(o), _loops(l), _channel(c),
_pitchShift(ps), _volume(v), _lVol(lv), _rVol(rv) { }
- SampleInfo(Std::string &b, int32 shpnum, ObjId o, int32 c,
- uint32 s, uint32 e, uint32 ps, uint16 v, int16 lv, int16 rv) :
+ SampleInfo(const Std::string &b, int32 shpnum, ObjId o, int32 c,
+ uint32 s, uint32 e, uint32 ps, uint16 v, int16 lv, int16 rv) :
_sfxNum(-1), _priority(shpnum), _objId(o), _loops(0), _channel(c), _barked(b),
_curSpeechStart(s), _curSpeechEnd(e), _pitchShift(ps), _volume(v),
_lVol(lv), _rVol(rv) { }
@@ -82,12 +82,12 @@ public:
void run() override;
void playSFX(int sfxNum, int priority, ObjId objId, int loops,
- bool no_duplicates, uint32 pitchShift,
- uint16 volume, int16 lVol, int16 rVol);
+ bool no_duplicates, uint32 pitchShift,
+ uint16 volume, int16 lVol, int16 rVol);
void playSFX(int sfxNum, int priority, ObjId objId, int loops,
- bool no_duplicates = false, uint32 pitchShift = 0x10000,
- uint16 volume = 0x80) {
+ bool no_duplicates = false, uint32 pitchShift = 0x10000,
+ uint16 volume = 0x80) {
playSFX(sfxNum, priority, objId, loops, no_duplicates, pitchShift, volume, -1, -1);
}
@@ -95,18 +95,18 @@ public:
bool isSFXPlaying(int sfxNum);
void setVolumeSFX(int sfxNum, uint8 volume);
- bool playSpeech(Std::string &barked, int shapenum, ObjId objId,
- uint32 pitchShift = 0x10000, uint16 volume = 256);
- void stopSpeech(Std::string &barked, int shapenum, ObjId objId);
- bool isSpeechPlaying(Std::string &barked, int shapenum);
+ bool playSpeech(const Std::string &barked, int shapenum, ObjId objId,
+ uint32 pitchShift = 0x10000, uint16 volume = 256);
+ void stopSpeech(const Std::string &barked, int shapenum, ObjId objId);
+ bool isSpeechPlaying(const Std::string &barked, int shapenum);
//! get length (in milliseconds) of speech
- uint32 getSpeechLength(Std::string &barked, int shapenum) const;
+ uint32 getSpeechLength(const Std::string &barked, int shapenum) const;
//! play a sample (without storing a SampleInfo)
//! returns channel sample is played on, or -1
int playSample(AudioSample *sample, int priority, int loops,
- uint32 pitchShift = 0x10000, int16 lVol = 256, int16 rVol = 256);
+ uint32 pitchShift = 0x10000, int16 lVol = 256, int16 rVol = 256);
//! pause all currently playing samples
void pauseAllSamples();
diff --git a/engines/ultima/ultima8/audio/audio_sample.cpp b/engines/ultima/ultima8/audio/audio_sample.cpp
index 1575091e7f..071f5187af 100644
--- a/engines/ultima/ultima8/audio/audio_sample.cpp
+++ b/engines/ultima/ultima8/audio/audio_sample.cpp
@@ -26,7 +26,7 @@
namespace Ultima {
namespace Ultima8 {
-AudioSample::AudioSample(uint8 *buffer, uint32 size) :
+AudioSample::AudioSample(const uint8 *buffer, uint32 size) :
_sampleRate(0), _bits(0), _stereo(false),
_frameSize(0), _decompressorSize(0), _length(0),
_bufferSize(size), _buffer(buffer) {
diff --git a/engines/ultima/ultima8/audio/audio_sample.h b/engines/ultima/ultima8/audio/audio_sample.h
index 54fa91c1a0..f5b97418bd 100644
--- a/engines/ultima/ultima8/audio/audio_sample.h
+++ b/engines/ultima/ultima8/audio/audio_sample.h
@@ -38,10 +38,10 @@ protected:
uint32 _length;
uint32 _bufferSize;
- uint8 *_buffer;
+ uint8 const *_buffer;
public:
- AudioSample(uint8 *buffer, uint32 size);
+ AudioSample(const uint8 *buffer, uint32 size);
virtual ~AudioSample(void);
inline uint32 getRate() const {
diff --git a/engines/ultima/ultima8/audio/music_flex.cpp b/engines/ultima/ultima8/audio/music_flex.cpp
index 1511f70fa0..503a317e27 100644
--- a/engines/ultima/ultima8/audio/music_flex.cpp
+++ b/engines/ultima/ultima8/audio/music_flex.cpp
@@ -68,7 +68,7 @@ void MusicFlex::uncache(uint32 index) {
// Caching not currently supported
}
-bool MusicFlex::isCached(uint32 index) {
+bool MusicFlex::isCached(uint32 index) const {
if (index >= _count) return false;
if (!_songs) return false;
@@ -77,13 +77,13 @@ bool MusicFlex::isCached(uint32 index) {
IDataSource *MusicFlex::getAdlibTimbres() {
uint32 size;
- uint8 *data = getRawObject(259, &size);
+ const uint8 *data = getRawObject(259, &size);
return new IBufferDataSource(data, size, false, true);
}
void MusicFlex::loadSongInfo() {
uint32 size;
- uint8 *buf = getRawObject(0, &size);
+ const uint8 *buf = getRawObject(0, &size);
if (!buf || !size) {
error("Unable to load song _info from sound/music.flx");
diff --git a/engines/ultima/ultima8/audio/music_flex.h b/engines/ultima/ultima8/audio/music_flex.h
index 9ef58ce799..479fc7e973 100644
--- a/engines/ultima/ultima8/audio/music_flex.h
+++ b/engines/ultima/ultima8/audio/music_flex.h
@@ -66,7 +66,7 @@ public:
void cache(uint32 index) override;
void uncache(uint32 index) override;
- bool isCached(uint32 index) override;
+ bool isCached(uint32 index) const override;
uint8 *getRawObject(uint32 index, uint32 *sizep = 0) {
return Archive::getRawObject(index, sizep);
diff --git a/engines/ultima/ultima8/audio/raw_audio_sample.cpp b/engines/ultima/ultima8/audio/raw_audio_sample.cpp
index 00d68561ce..fb6140497e 100644
--- a/engines/ultima/ultima8/audio/raw_audio_sample.cpp
+++ b/engines/ultima/ultima8/audio/raw_audio_sample.cpp
@@ -27,7 +27,7 @@
namespace Ultima {
namespace Ultima8 {
-RawAudioSample::RawAudioSample(uint8 *buffer_, uint32 size, uint32 rate,
+RawAudioSample::RawAudioSample(const uint8 *buffer_, uint32 size, uint32 rate,
bool signedData, bool stereo)
: AudioSample(buffer_, size), _signedData(signedData) {
_sampleRate = rate;
diff --git a/engines/ultima/ultima8/audio/raw_audio_sample.h b/engines/ultima/ultima8/audio/raw_audio_sample.h
index 617973ed8d..e3bf29c450 100644
--- a/engines/ultima/ultima8/audio/raw_audio_sample.h
+++ b/engines/ultima/ultima8/audio/raw_audio_sample.h
@@ -30,7 +30,7 @@ namespace Ultima8 {
class RawAudioSample : public AudioSample {
public:
- RawAudioSample(uint8 *buffer, uint32 size,
+ RawAudioSample(const uint8 *buffer, uint32 size,
uint32 rate, bool signeddata, bool stereo);
~RawAudioSample() override;
diff --git a/engines/ultima/ultima8/audio/sonarc_audio_sample.cpp b/engines/ultima/ultima8/audio/sonarc_audio_sample.cpp
index 192f58e73b..941c89bb18 100644
--- a/engines/ultima/ultima8/audio/sonarc_audio_sample.cpp
+++ b/engines/ultima/ultima8/audio/sonarc_audio_sample.cpp
@@ -30,7 +30,7 @@ namespace Ultima8 {
bool SonarcAudioSample::_generatedOneTable = false;
int SonarcAudioSample::_oneTable[256];
-SonarcAudioSample::SonarcAudioSample(uint8 *buffer, uint32 size) :
+SonarcAudioSample::SonarcAudioSample(uint8 const *buffer, uint32 size) :
AudioSample(buffer, size), _srcOffset(0x20) {
if (!_generatedOneTable) GenerateOneTable();
diff --git a/engines/ultima/ultima8/audio/sonarc_audio_sample.h b/engines/ultima/ultima8/audio/sonarc_audio_sample.h
index a067f2d73c..ac96b826ed 100644
--- a/engines/ultima/ultima8/audio/sonarc_audio_sample.h
+++ b/engines/ultima/ultima8/audio/sonarc_audio_sample.h
@@ -40,16 +40,16 @@ class SonarcAudioSample : public AudioSample {
static void GenerateOneTable();
static void decode_EC(int mode, int samplecount,
- const uint8 *source, int sourcesize,
- uint8 *dest);
+ const uint8 *source, int sourcesize,
+ uint8 *dest);
static void decode_LPC(int order, int nsamples,
- uint8 *dest, const uint8 *factors);
+ uint8 *dest, const uint8 *factors);
static int audio_decode(const uint8 *source, uint8 *dest);
uint32 _srcOffset;
public:
- SonarcAudioSample(uint8 *buffer, uint32 size);
+ SonarcAudioSample(const uint8 *buffer, uint32 size);
~SonarcAudioSample(void) override;
void initDecompressor(void *DecompData) const override;
diff --git a/engines/ultima/ultima8/audio/sound_flex.cpp b/engines/ultima/ultima8/audio/sound_flex.cpp
index 6c223f5878..15fa3a2824 100644
--- a/engines/ultima/ultima8/audio/sound_flex.cpp
+++ b/engines/ultima/ultima8/audio/sound_flex.cpp
@@ -68,7 +68,7 @@ void SoundFlex::uncache(uint32 index) {
_samples[index] = 0;
}
-bool SoundFlex::isCached(uint32 index) {
+bool SoundFlex::isCached(uint32 index) const {
if (index >= _count) return false;
if (!_samples) return false;
diff --git a/engines/ultima/ultima8/audio/sound_flex.h b/engines/ultima/ultima8/audio/sound_flex.h
index c0e034b7e1..ed3d848239 100644
--- a/engines/ultima/ultima8/audio/sound_flex.h
+++ b/engines/ultima/ultima8/audio/sound_flex.h
@@ -47,7 +47,7 @@ public:
void cache(uint32 index) override;
void uncache(uint32 index) override;
- bool isCached(uint32 index) override;
+ bool isCached(uint32 index) const override;
private:
AudioSample **_samples;
diff --git a/engines/ultima/ultima8/audio/speech_flex.cpp b/engines/ultima/ultima8/audio/speech_flex.cpp
index cfaa0beaa5..1fceda188a 100644
--- a/engines/ultima/ultima8/audio/speech_flex.cpp
+++ b/engines/ultima/ultima8/audio/speech_flex.cpp
@@ -33,9 +33,9 @@ DEFINE_RUNTIME_CLASSTYPE_CODE(SpeechFlex, SoundFlex)
SpeechFlex::SpeechFlex(IDataSource *ds) : SoundFlex(ds) {
uint32 size = getRawSize(0);
- uint8 *buf = getRawObject(0);
+ const uint8 *buf = getRawObject(0);
- istring strings(reinterpret_cast<char *>(buf), size);
+ istring strings(reinterpret_cast<const char *>(buf), size);
Std::vector<istring> s;
SplitString(strings, 0, s);
diff --git a/engines/ultima/ultima8/filesys/archive.cpp b/engines/ultima/ultima8/filesys/archive.cpp
index 8c59c7ffc2..9147a6e684 100644
--- a/engines/ultima/ultima8/filesys/archive.cpp
+++ b/engines/ultima/ultima8/filesys/archive.cpp
@@ -101,14 +101,14 @@ uint8 *Archive::getRawObject(uint32 index, uint32 *sizep) {
return f->getObject(index, sizep);
}
-uint32 Archive::getRawSize(uint32 index) {
+uint32 Archive::getRawSize(uint32 index) const {
ArchiveFile *f = findArchiveFile(index);
if (!f) return 0;
return f->getSize(index);
}
-ArchiveFile *Archive::findArchiveFile(uint32 index) {
+ArchiveFile *Archive::findArchiveFile(uint32 index) const {
unsigned int n = _sources.size();
for (unsigned int i = 1; i <= n; ++i) {
if (_sources[n - i]->exists(index))
diff --git a/engines/ultima/ultima8/filesys/archive.h b/engines/ultima/ultima8/filesys/archive.h
index af02839865..3b384a59ec 100644
--- a/engines/ultima/ultima8/filesys/archive.h
+++ b/engines/ultima/ultima8/filesys/archive.h
@@ -74,7 +74,7 @@ public:
virtual void uncache(uint32 index) = 0;
//! Check if an object is cached
- virtual bool isCached(uint32 index) = 0;
+ virtual bool isCached(uint32 index) const = 0;
uint32 getCount() const {
return _count;
@@ -84,12 +84,12 @@ protected:
uint32 _count;
uint8 *getRawObject(uint32 index, uint32 *sizep = 0);
- uint32 getRawSize(uint32 index);
+ uint32 getRawSize(uint32 index) const;
private:
Std::vector<ArchiveFile *> _sources;
- ArchiveFile *findArchiveFile(uint32 index);
+ ArchiveFile *findArchiveFile(uint32 index) const;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/filesys/archive_file.h b/engines/ultima/ultima8/filesys/archive_file.h
index 9bc352a538..be56461bed 100644
--- a/engines/ultima/ultima8/filesys/archive_file.h
+++ b/engines/ultima/ultima8/filesys/archive_file.h
@@ -73,12 +73,12 @@ public:
//! Get size of object; returns zero if index is invalid.
//! See also exists(uint32 index)
//! \param index index of object to get size of
- virtual uint32 getSize(uint32 index) = 0;
+ virtual uint32 getSize(uint32 index) const = 0;
//! Get size of named object; returns zero if name is invalid
//! See also exists(Std::string name)
//! \param index index of object to get size of
- virtual uint32 getSize(const Std::string &name) = 0;
+ virtual uint32 getSize(const Std::string &name) const = 0;
//! Get object as an IDataSource
//! Delete the IDataSource afterwards; that will delete the data as well
@@ -91,12 +91,12 @@ public:
//! Get upper bound for number of objects.
//! In an indexed file this is (probably) the highest index plus one,
//! while in a named file it's (probably) the actual count
- virtual uint32 getCount() = 0;
+ virtual uint32 getCount() const = 0;
//! Get the highest index in the file
//! Guaranteed to be sufficiently large for a vector that needs to
//! store the indexed entries of this file
- virtual uint32 getIndexCount() = 0;
+ virtual uint32 getIndexCount() const = 0;
//! is archive indexed?
virtual bool isIndexed() const = 0;
diff --git a/engines/ultima/ultima8/filesys/flex_file.cpp b/engines/ultima/ultima8/filesys/flex_file.cpp
index 06b9462c31..fa4275e836 100644
--- a/engines/ultima/ultima8/filesys/flex_file.cpp
+++ b/engines/ultima/ultima8/filesys/flex_file.cpp
@@ -88,7 +88,7 @@ uint8 *FlexFile::getObject(uint32 index, uint32 *sizep) {
return object;
}
-uint32 FlexFile::getSize(uint32 index) {
+uint32 FlexFile::getSize(uint32 index) const {
if (index >= _count) return 0;
_ds->seek(0x84 + 8 * index);
@@ -97,7 +97,7 @@ uint32 FlexFile::getSize(uint32 index) {
return length;
}
-bool FlexFile::nameToIndex(const Std::string &name, uint32 &index) {
+bool FlexFile::nameToIndex(const Std::string &name, uint32 &index) const {
return extractIndexFromName(name, index);
}
diff --git a/engines/ultima/ultima8/filesys/flex_file.h b/engines/ultima/ultima8/filesys/flex_file.h
index edd0ac4c30..7e33e8ca84 100644
--- a/engines/ultima/ultima8/filesys/flex_file.h
+++ b/engines/ultima/ultima8/filesys/flex_file.h
@@ -61,8 +61,8 @@ public:
}
- uint32 getSize(uint32 index) override;
- uint32 getSize(const Std::string &name) override {
+ uint32 getSize(uint32 index) const override;
+ uint32 getSize(const Std::string &name) const override {
uint32 index;
if (nameToIndex(name, index))
return getSize(index);
@@ -70,11 +70,11 @@ public:
return 0;
}
- uint32 getCount() override {
+ uint32 getCount() const override {
return _count;
}
- uint32 getIndexCount() override {
+ uint32 getIndexCount() const override {
return _count;
}
@@ -88,7 +88,7 @@ public:
static bool isFlexFile(IDataSource *ds);
protected:
- bool nameToIndex(const Std::string &name, uint32 &index);
+ bool nameToIndex(const Std::string &name, uint32 &index) const;
IDataSource *_ds;
uint32 _count;
diff --git a/engines/ultima/ultima8/filesys/named_archive_file.h b/engines/ultima/ultima8/filesys/named_archive_file.h
index 8ce9b6a565..d3b05603f0 100644
--- a/engines/ultima/ultima8/filesys/named_archive_file.h
+++ b/engines/ultima/ultima8/filesys/named_archive_file.h
@@ -49,16 +49,16 @@ public:
}
uint8 *getObject(const Std::string &name, uint32 *size = 0) override = 0;
- uint32 getSize(uint32 index) override {
+ uint32 getSize(uint32 index) const override {
Std::string name;
if (!indexToName(index, name)) return 0;
return getSize(name);
}
- uint32 getSize(const Std::string &name) override = 0;
+ uint32 getSize(const Std::string &name) const override = 0;
- uint32 getCount() override = 0;
+ uint32 getCount() const override = 0;
- uint32 getIndexCount() override {
+ uint32 getIndexCount() const override {
return _indexCount;
}
@@ -70,8 +70,8 @@ public:
}
protected:
- bool indexToName(uint32 index, Std::string &name) {
- Std::map<uint32, Std::string>::iterator iter;
+ bool indexToName(uint32 index, Std::string &name) const {
+ Std::map<uint32, Std::string>::const_iterator iter;
iter = _indexedNames.find(index);
if (iter == _indexedNames.end()) return false;
name = iter->_value;
diff --git a/engines/ultima/ultima8/filesys/raw_archive.cpp b/engines/ultima/ultima8/filesys/raw_archive.cpp
index d5874ae927..65446881b9 100644
--- a/engines/ultima/ultima8/filesys/raw_archive.cpp
+++ b/engines/ultima/ultima8/filesys/raw_archive.cpp
@@ -54,7 +54,7 @@ void RawArchive::uncache(uint32 index) {
}
}
-bool RawArchive::isCached(uint32 index) {
+bool RawArchive::isCached(uint32 index) const {
if (index >= _count) return false;
if (_objects.empty()) return false;
diff --git a/engines/ultima/ultima8/filesys/raw_archive.h b/engines/ultima/ultima8/filesys/raw_archive.h
index 8b74d17caf..7f3385b72a 100644
--- a/engines/ultima/ultima8/filesys/raw_archive.h
+++ b/engines/ultima/ultima8/filesys/raw_archive.h
@@ -44,7 +44,7 @@ public:
void cache(uint32 index) override;
void uncache(uint32 index) override;
- bool isCached(uint32 index) override;
+ bool isCached(uint32 index) const override;
//! return object. DON'T delete or modify!
virtual const uint8 *get_object_nodel(uint32 index);
diff --git a/engines/ultima/ultima8/filesys/u8_save_file.cpp b/engines/ultima/ultima8/filesys/u8_save_file.cpp
index 66f9e50232..6194e13b50 100644
--- a/engines/ultima/ultima8/filesys/u8_save_file.cpp
+++ b/engines/ultima/ultima8/filesys/u8_save_file.cpp
@@ -77,8 +77,8 @@ bool U8SaveFile::readMetadata() {
return true;
}
-bool U8SaveFile::findIndex(const Std::string &name, uint32 &index) {
- Std::map<Common::String, uint32>::iterator iter;
+bool U8SaveFile::findIndex(const Std::string &name, uint32 &index) const {
+ Std::map<Common::String, uint32>::const_iterator iter;
iter = _indices.find(name);
if (iter == _indices.end()) return false;
index = iter->_value;
@@ -109,7 +109,7 @@ uint8 *U8SaveFile::getObject(const Std::string &name, uint32 *sizep) {
}
-uint32 U8SaveFile::getSize(const Std::string &name) {
+uint32 U8SaveFile::getSize(const Std::string &name) const {
uint32 index;
if (!findIndex(name, index)) return 0;
diff --git a/engines/ultima/ultima8/filesys/u8_save_file.h b/engines/ultima/ultima8/filesys/u8_save_file.h
index a670e9b3c5..d644130706 100644
--- a/engines/ultima/ultima8/filesys/u8_save_file.h
+++ b/engines/ultima/ultima8/filesys/u8_save_file.h
@@ -45,9 +45,9 @@ public:
uint8 *getObject(const Std::string &name, uint32 *size = 0) override;
- uint32 getSize(const Std::string &name) override;
+ uint32 getSize(const Std::string &name) const override;
- uint32 getCount() override {
+ uint32 getCount() const override {
return _count;
}
@@ -63,7 +63,7 @@ protected:
private:
bool readMetadata();
- bool findIndex(const Std::string &name, uint32 &index);
+ bool findIndex(const Std::string &name, uint32 &index) const;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/games/remorse_game.cpp b/engines/ultima/ultima8/games/remorse_game.cpp
index 9c13e98551..2622a995f8 100644
--- a/engines/ultima/ultima8/games/remorse_game.cpp
+++ b/engines/ultima/ultima8/games/remorse_game.cpp
@@ -120,7 +120,7 @@ void RemorseGame::writeSaveInfo(ODataSource *ods) {
MainActor *av = getMainActor();
int32 x, y, z;
- Std::string avname = av->getName();
+ const Std::string &avname = av->getName();
uint8 namelength = static_cast<uint8>(avname.size());
ods->write1(namelength);
for (unsigned int i = 0; i < namelength; ++i)
@@ -143,8 +143,8 @@ void RemorseGame::writeSaveInfo(ODataSource *ods) {
ods->write2(av->getTotalWeight());
for (unsigned int i = 1; i <= 6; i++) {
- uint16 objid = av->getEquip(i);
- Item *item = getItem(objid);
+ const uint16 objid = av->getEquip(i);
+ const Item *item = getItem(objid);
if (item) {
ods->write4(item->getShape());
ods->write4(item->getFrame());
diff --git a/engines/ultima/ultima8/games/treasure_loader.cpp b/engines/ultima/ultima8/games/treasure_loader.cpp
index d9861a238a..7dd7864311 100644
--- a/engines/ultima/ultima8/games/treasure_loader.cpp
+++ b/engines/ultima/ultima8/games/treasure_loader.cpp
@@ -52,7 +52,7 @@ void TreasureLoader::loadDefaults() {
}
-bool TreasureLoader::parse(Std::string desc,
+bool TreasureLoader::parse(const Std::string &desc,
Std::vector<TreasureInfo> &treasure) {
treasure.clear();
@@ -72,7 +72,7 @@ bool TreasureLoader::parse(Std::string desc,
return true;
}
-bool TreasureLoader::internalParse(Std::string desc, TreasureInfo &ti,
+bool TreasureLoader::internalParse(const Std::string &desc, TreasureInfo &ti,
bool loadingDefault) {
ti._special = "";
ti._chance = 1;
@@ -143,8 +143,9 @@ bool TreasureLoader::internalParse(Std::string desc, TreasureInfo &ti,
return true;
}
-bool TreasureLoader::parseUInt32Vector(Std::string val,
+bool TreasureLoader::parseUInt32Vector(const Std::string &val_,
Std::vector<uint32> &vec) {
+ Std::string val = val_;
vec.clear();
Std::string::size_type pos;
@@ -173,7 +174,7 @@ bool TreasureLoader::parseUInt32Vector(Std::string val,
return true;
}
-bool TreasureLoader::parseUIntRange(Std::string val,
+bool TreasureLoader::parseUIntRange(const Std::string &val,
unsigned int &min, unsigned int &max) {
Std::string::size_type pos = val.find('-');
if (pos == 0 || pos == Std::string::npos || pos + 1 >= val.size())
@@ -189,13 +190,13 @@ bool TreasureLoader::parseUIntRange(Std::string val,
return ok;
}
-bool TreasureLoader::parseDouble(Std::string val, double &d) {
+bool TreasureLoader::parseDouble(const Std::string &val, double &d) {
// TODO: error checking
d = Std::atof(val.c_str());
return true;
}
-bool TreasureLoader::parseInt(Std::string val, int &i) {
+bool TreasureLoader::parseInt(const Std::string &val, int &i) {
// TODO: error checking
i = Std::strtol(val.c_str(), 0, 0);
return true;
diff --git a/engines/ultima/ultima8/games/treasure_loader.h b/engines/ultima/ultima8/games/treasure_loader.h
index 43ed25d0db..dbc9ff6d01 100644
--- a/engines/ultima/ultima8/games/treasure_loader.h
+++ b/engines/ultima/ultima8/games/treasure_loader.h
@@ -37,17 +37,17 @@ public:
void loadDefaults();
//! parse treasure string into vector of TreasureInfo objects
- bool parse(Std::string, Std::vector<TreasureInfo> &treasure);
+ bool parse(const Std::string &, Std::vector<TreasureInfo> &treasure);
private:
TreasureMap _defaultTreasure;
- bool internalParse(Std::string desc, TreasureInfo &ti, bool loadingDefault);
+ bool internalParse(const Std::string &desc, TreasureInfo &ti, bool loadingDefault);
- bool parseUInt32Vector(Std::string val, Std::vector<uint32> &vec);
- bool parseUIntRange(Std::string val, unsigned int &min, unsigned int &max);
- bool parseDouble(Std::string val, double &d);
- bool parseInt(Std::string val, int &i);
+ bool parseUInt32Vector(const Std::string &val, Std::vector<uint32> &vec);
+ bool parseUIntRange(const Std::string &val, unsigned int &min, unsigned int &max);
+ bool parseDouble(const Std::string &val, double &d);
+ bool parseInt(const Std::string &val, int &i);
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/games/u8_game.cpp b/engines/ultima/ultima8/games/u8_game.cpp
index 641a316dbb..54391e5246 100644
--- a/engines/ultima/ultima8/games/u8_game.cpp
+++ b/engines/ultima/ultima8/games/u8_game.cpp
@@ -239,8 +239,8 @@ void U8Game::writeSaveInfo(ODataSource *ods) {
MainActor *av = getMainActor();
int32 x, y, z;
- Std::string avname = av->getName();
- uint8 namelength = static_cast<uint8>(avname.size());
+ const Std::string &avname = av->getName();
+ const uint8 namelength = static_cast<uint8>(avname.size());
ods->write1(namelength);
for (unsigned int i = 0; i < namelength; ++i)
ods->write1(static_cast<uint8>(avname[i]));
diff --git a/engines/ultima/ultima8/graphics/fonts/fixed_width_font.cpp b/engines/ultima/ultima8/graphics/fonts/fixed_width_font.cpp
index 252cfbf534..b97d882650 100644
--- a/engines/ultima/ultima8/graphics/fonts/fixed_width_font.cpp
+++ b/engines/ultima/ultima8/graphics/fonts/fixed_width_font.cpp
@@ -30,7 +30,7 @@
namespace Ultima {
namespace Ultima8 {
-FixedWidthFont *FixedWidthFont::Create(Std::string iniroot) {
+FixedWidthFont *FixedWidthFont::Create(const Std::string &iniroot) {
ConfigFileManager *config = ConfigFileManager::get_instance();
FileSystem *filesys = FileSystem::get_instance();
diff --git a/engines/ultima/ultima8/graphics/fonts/fixed_width_font.h b/engines/ultima/ultima8/graphics/fonts/fixed_width_font.h
index 9ba7b3191d..a19addc218 100644
--- a/engines/ultima/ultima8/graphics/fonts/fixed_width_font.h
+++ b/engines/ultima/ultima8/graphics/fonts/fixed_width_font.h
@@ -41,7 +41,7 @@ struct FixedWidthFont {
~FixedWidthFont();
- static FixedWidthFont *Create(Std::string iniroot);
+ static FixedWidthFont *Create(const Std::string &iniroot);
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/graphics/fonts/font_manager.cpp b/engines/ultima/ultima8/graphics/fonts/font_manager.cpp
index 1b31b42b57..04f30e28dd 100644
--- a/engines/ultima/ultima8/graphics/fonts/font_manager.cpp
+++ b/engines/ultima/ultima8/graphics/fonts/font_manager.cpp
@@ -91,7 +91,7 @@ Font *FontManager::getTTFont(unsigned int fontnum) {
}
-Graphics::Font *FontManager::getTTF_Font(Std::string filename, int pointsize) {
+Graphics::Font *FontManager::getTTF_Font(const Std::string &filename, int pointsize) {
TTFId id;
id._filename = filename;
id._pointSize = pointsize;
@@ -139,7 +139,7 @@ void FontManager::setOverride(unsigned int fontnum, Font *newFont) {
}
-bool FontManager::addTTFOverride(unsigned int fontnum, Std::string filename,
+bool FontManager::addTTFOverride(unsigned int fontnum, const Std::string &filename,
int pointsize, uint32 rgb, int bordersize,
bool SJIS) {
Graphics::Font *f = getTTF_Font(filename, pointsize);
@@ -194,7 +194,7 @@ bool FontManager::addJPOverride(unsigned int fontnum,
}
-bool FontManager::loadTTFont(unsigned int fontnum, Std::string filename,
+bool FontManager::loadTTFont(unsigned int fontnum, const Std::string &filename,
int pointsize, uint32 rgb, int bordersize) {
Graphics::Font *f = getTTF_Font(filename, pointsize);
if (!f)
diff --git a/engines/ultima/ultima8/graphics/fonts/font_manager.h b/engines/ultima/ultima8/graphics/fonts/font_manager.h
index 0b61c39264..771007d093 100644
--- a/engines/ultima/ultima8/graphics/fonts/font_manager.h
+++ b/engines/ultima/ultima8/graphics/fonts/font_manager.h
@@ -69,7 +69,7 @@ private:
//! Get a (possibly cached) TTF_Font structure for filename/pointsize,
//! loading it if necessary.
- Graphics::Font *getTTF_Font(Std::string filename, int pointsize);
+ Graphics::Font *getTTF_Font(const Std::string &filename, int pointsize);
//! Override fontnum with specified font
void setOverride(unsigned int fontnum, Font *newFont);
@@ -103,7 +103,7 @@ public:
//! \param rgb the color to use for the font
//! \param bordersize the size of the black border to add
//! \param SJIS true for a Japanese game font
- bool addTTFOverride(unsigned int fontnum, Std::string filename,
+ bool addTTFOverride(unsigned int fontnum, const Std::string &filename,
int pointsize, uint32 rgb, int bordersize,
bool SJIS = false);
@@ -114,7 +114,7 @@ public:
bool addJPOverride(unsigned int fontnum, unsigned int jpfont, uint32 rgb);
//! load a TTF (for non-game fonts)
- bool loadTTFont(unsigned int ttfnum, Std::string filename,
+ bool loadTTFont(unsigned int ttfnum, const Std::string &filename,
int pointsize, uint32 rgb, int bordersize);
// Reset the game fonts
diff --git a/engines/ultima/ultima8/graphics/fonts/rendered_text.h b/engines/ultima/ultima8/graphics/fonts/rendered_text.h
index 23ef5509ca..35f28aa039 100644
--- a/engines/ultima/ultima8/graphics/fonts/rendered_text.h
+++ b/engines/ultima/ultima8/graphics/fonts/rendered_text.h
@@ -47,7 +47,7 @@ public:
//! Get dimensions.
//! \param x Returns the width
//! \param y Returns the height
- virtual void getSize(int &x, int &y) {
+ virtual void getSize(int &x, int &y) const {
x = _width;
y = _height;
}
diff --git a/engines/ultima/ultima8/graphics/fonts/shape_rendered_text.cpp b/engines/ultima/ultima8/graphics/fonts/shape_rendered_text.cpp
index d7893198ae..87e83aea5b 100644
--- a/engines/ultima/ultima8/graphics/fonts/shape_rendered_text.cpp
+++ b/engines/ultima/ultima8/graphics/fonts/shape_rendered_text.cpp
@@ -32,7 +32,7 @@ namespace Ultima8 {
DEFINE_RUNTIME_CLASSTYPE_CODE(ShapeRenderedText, RenderedText)
-ShapeRenderedText::ShapeRenderedText(Std::list<PositionedText> &lines,
+ShapeRenderedText::ShapeRenderedText(const Std::list<PositionedText> &lines,
int width, int height, int vLead,
ShapeFont *font)
: _lines(lines), _font(font) {
diff --git a/engines/ultima/ultima8/graphics/fonts/shape_rendered_text.h b/engines/ultima/ultima8/graphics/fonts/shape_rendered_text.h
index 91bbd69f3d..048d7acbbd 100644
--- a/engines/ultima/ultima8/graphics/fonts/shape_rendered_text.h
+++ b/engines/ultima/ultima8/graphics/fonts/shape_rendered_text.h
@@ -34,7 +34,7 @@ class ShapeFont;
class ShapeRenderedText : public RenderedText {
public:
- ShapeRenderedText(Std::list<PositionedText> &lines,
+ ShapeRenderedText(const Std::list<PositionedText> &lines,
int width, int height, int vlead, ShapeFont *font);
~ShapeRenderedText() override;
diff --git a/engines/ultima/ultima8/graphics/fonts/tt_font.cpp b/engines/ultima/ultima8/graphics/fonts/tt_font.cpp
index f5cff3420c..60602647a7 100644
--- a/engines/ultima/ultima8/graphics/fonts/tt_font.cpp
+++ b/engines/ultima/ultima8/graphics/fonts/tt_font.cpp
@@ -150,7 +150,7 @@ RenderedText *TTFont::renderText(const Std::string &text, unsigned int &remainin
texture->_width = resultWidth;
texture->_height = resultHeight;
- Std::list<PositionedText>::iterator iter;
+ Std::list<PositionedText>::const_iterator iter;
for (iter = lines.begin(); iter != lines.end(); ++iter) {
// convert to unicode
Common::U32String unicodeText;
diff --git a/engines/ultima/ultima8/graphics/point_scaler.cpp b/engines/ultima/ultima8/graphics/point_scaler.cpp
index 6faa6b6671..8b5c7d343b 100644
--- a/engines/ultima/ultima8/graphics/point_scaler.cpp
+++ b/engines/ultima/ultima8/graphics/point_scaler.cpp
@@ -236,7 +236,7 @@ public:
do {
pos_y = dst_y;
- uintX p = Manip::copy(*texel);
+ const uintX p = Manip::copy(*texel);
//
// Inner loops
diff --git a/engines/ultima/ultima8/graphics/shape_archive.cpp b/engines/ultima/ultima8/graphics/shape_archive.cpp
index c594f22711..fe33d83888 100644
--- a/engines/ultima/ultima8/graphics/shape_archive.cpp
+++ b/engines/ultima/ultima8/graphics/shape_archive.cpp
@@ -80,7 +80,7 @@ void ShapeArchive::uncache(uint32 shapenum) {
_shapes[shapenum] = 0;
}
-bool ShapeArchive::isCached(uint32 shapenum) {
+bool ShapeArchive::isCached(uint32 shapenum) const {
if (shapenum >= _count) return false;
if (_shapes.empty()) return false;
diff --git a/engines/ultima/ultima8/graphics/shape_archive.h b/engines/ultima/ultima8/graphics/shape_archive.h
index 92b3611e14..24050d3c8b 100644
--- a/engines/ultima/ultima8/graphics/shape_archive.h
+++ b/engines/ultima/ultima8/graphics/shape_archive.h
@@ -53,7 +53,7 @@ public:
void cache(uint32 shapenum) override;
void uncache(uint32 shapenum) override;
- bool isCached(uint32 shapenum) override;
+ bool isCached(uint32 shapenum) const override;
protected:
uint16 _id;
diff --git a/engines/ultima/ultima8/graphics/type_flags.cpp b/engines/ultima/ultima8/graphics/type_flags.cpp
index c7ea7f0597..9e89186dd1 100644
--- a/engines/ultima/ultima8/graphics/type_flags.cpp
+++ b/engines/ultima/ultima8/graphics/type_flags.cpp
@@ -176,9 +176,9 @@ void TypeFlags::loadWeaponInfo() {
// load weapons
Std::vector<istring> weaponkeys;
weaponkeys = config->listSections("weapons", true);
- for (Std::vector<istring>::iterator iter = weaponkeys.begin();
+ for (Std::vector<istring>::const_iterator iter = weaponkeys.begin();
iter != weaponkeys.end(); ++iter) {
- istring k = *iter;
+ const istring &k = *iter;
WeaponInfo *wi = new WeaponInfo;
int val;
@@ -228,9 +228,9 @@ void TypeFlags::loadArmourInfo() {
// load armour
Std::vector<istring> armourkeys;
armourkeys = config->listSections("armour", true);
- for (Std::vector<istring>::iterator iter = armourkeys.begin();
+ for (Std::vector<istring>::const_iterator iter = armourkeys.begin();
iter != armourkeys.end(); ++iter) {
- istring k = *iter;
+ const istring &k = *iter;
ArmourInfo ai;
int val;
@@ -285,9 +285,9 @@ void TypeFlags::loadMonsterInfo() {
// load monsters
Std::vector<istring> monsterkeys;
monsterkeys = config->listSections("monsters", true);
- for (Std::vector<istring>::iterator iter = monsterkeys.begin();
+ for (Std::vector<istring>::const_iterator iter = monsterkeys.begin();
iter != monsterkeys.end(); ++iter) {
- istring k = *iter;
+ const istring k = *iter;
MonsterInfo *mi = new MonsterInfo;
int val;
diff --git a/engines/ultima/ultima8/gumps/book_gump.cpp b/engines/ultima/ultima8/gumps/book_gump.cpp
index 39e22945ab..a85af17619 100644
--- a/engines/ultima/ultima8/gumps/book_gump.cpp
+++ b/engines/ultima/ultima8/gumps/book_gump.cpp
@@ -47,7 +47,7 @@ BookGump::BookGump()
}
-BookGump::BookGump(ObjId owner_, Std::string msg) :
+BookGump::BookGump(ObjId owner_, const Std::string &msg) :
ModalGump(0, 0, 100, 100, owner_), _text(msg) {
}
diff --git a/engines/ultima/ultima8/gumps/book_gump.h b/engines/ultima/ultima8/gumps/book_gump.h
index bf49078722..b625a6093b 100644
--- a/engines/ultima/ultima8/gumps/book_gump.h
+++ b/engines/ultima/ultima8/gumps/book_gump.h
@@ -38,7 +38,7 @@ public:
ENABLE_RUNTIME_CLASSTYPE()
BookGump();
- BookGump(ObjId owner_, Std::string msg);
+ BookGump(ObjId owner_, const Std::string &msg);
~BookGump() override;
// Go to the next page on mouse click
diff --git a/engines/ultima/ultima8/gumps/controls_gump.cpp b/engines/ultima/ultima8/gumps/controls_gump.cpp
index 63a297b764..4f2cb12bd2 100644
--- a/engines/ultima/ultima8/gumps/controls_gump.cpp
+++ b/engines/ultima/ultima8/gumps/controls_gump.cpp
@@ -74,7 +74,7 @@ void ControlEntryGump::init() {
Std::list<Gump *>::iterator it;
for (it = _children.begin(); it != _children.end(); ++it) {
Gump *g = *it;
- if (! g->IsClosing())
+ if ( !g->IsClosing())
g->Close();
}
diff --git a/engines/ultima/ultima8/gumps/game_map_gump.cpp b/engines/ultima/ultima8/gumps/game_map_gump.cpp
index 85b90d0a11..577272abb0 100644
--- a/engines/ultima/ultima8/gumps/game_map_gump.cpp
+++ b/engines/ultima/ultima8/gumps/game_map_gump.cpp
@@ -111,14 +111,14 @@ void GameMapGump::PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled)
// Check roof
//!! This is _not_ the right place for this...
int32 ax, ay, az, axd, ayd, azd;
- Actor *av = getMainActor();
+ const Actor *av = getMainActor();
av->getLocation(ax, ay, az);
av->getFootpadWorld(axd, ayd, azd);
map->isValidPosition(ax, ay, az, 32, 32, 8, 0, 1, 0, &roofid);
} else
roofid = camera->FindRoof(lerp_factor);
- Item *roof = getItem(roofid);
+ const Item *roof = getItem(roofid);
if (roof) {
zlimit = roof->getZ();
}
diff --git a/engines/ultima/ultima8/gumps/gump.cpp b/engines/ultima/ultima8/gumps/gump.cpp
index f9140d4305..332fd4b811 100644
--- a/engines/ultima/ultima8/gumps/gump.cpp
+++ b/engines/ultima/ultima8/gumps/gump.cpp
@@ -752,7 +752,7 @@ bool Gump::OnTextInput(int unicode) {
return handled;
}
-bool Gump::mustSave(bool toplevel) {
+bool Gump::mustSave(bool toplevel) const {
// DONT_SAVE flag
if (_flags & FLAG_DONT_SAVE)
return false;
diff --git a/engines/ultima/ultima8/gumps/gump.h b/engines/ultima/ultima8/gumps/gump.h
index 9e42f6f42b..004d4ea805 100644
--- a/engines/ultima/ultima8/gumps/gump.h
+++ b/engines/ultima/ultima8/gumps/gump.h
@@ -233,7 +233,7 @@ public:
//
//! Get the _dims
- virtual void GetDims(Rect &d) {
+ virtual void GetDims(Rect &d) const {
d = _dims;
}
@@ -373,7 +373,7 @@ public:
void SetIndex(int32 i) {
_index = i;
}
- int32 GetIndex() {
+ int32 GetIndex() const {
return _index;
}
@@ -431,10 +431,10 @@ public:
// (only for ItemRelativeGumps)
};
- inline bool IsHidden() {
+ inline bool IsHidden() const {
return (_flags & FLAG_HIDDEN) || (_parent && _parent->IsHidden());
}
- bool IsDraggable() {
+ bool IsDraggable() const {
return _flags & FLAG_DRAGGABLE;
}
virtual void HideGump() {
@@ -444,7 +444,7 @@ public:
_flags &= ~FLAG_HIDDEN;
}
- bool mustSave(bool toplevel);
+ bool mustSave(bool toplevel) const;
//
// Gump Layers
diff --git a/engines/ultima/ultima8/gumps/gump_notify_process.cpp b/engines/ultima/ultima8/gumps/gump_notify_process.cpp
index 4381a8e752..7c4407e0cb 100644
--- a/engines/ultima/ultima8/gumps/gump_notify_process.cpp
+++ b/engines/ultima/ultima8/gumps/gump_notify_process.cpp
@@ -69,7 +69,7 @@ void GumpNotifyProcess::terminate() {
void GumpNotifyProcess::run() {
}
-void GumpNotifyProcess::dumpInfo() {
+void GumpNotifyProcess::dumpInfo() const {
Process::dumpInfo();
pout << " gump: " << _gump << Std::endl;
}
diff --git a/engines/ultima/ultima8/gumps/gump_notify_process.h b/engines/ultima/ultima8/gumps/gump_notify_process.h
index affbdbe0af..fa66e04b74 100644
--- a/engines/ultima/ultima8/gumps/gump_notify_process.h
+++ b/engines/ultima/ultima8/gumps/gump_notify_process.h
@@ -52,7 +52,7 @@ public:
void run() override;
- void dumpInfo() override;
+ void dumpInfo() const override;
bool loadData(IDataSource *ids, uint32 version);
protected:
diff --git a/engines/ultima/ultima8/gumps/menu_gump.cpp b/engines/ultima/ultima8/gumps/menu_gump.cpp
index 4197102ff6..b232c28d3c 100644
--- a/engines/ultima/ultima8/gumps/menu_gump.cpp
+++ b/engines/ultima/ultima8/gumps/menu_gump.cpp
@@ -131,7 +131,7 @@ void MenuGump::InitGump(Gump *newparent, bool take_focus) {
y_ += 14;
}
- MainActor *av = getMainActor();
+ const MainActor *av = getMainActor();
Std::string name;
if (av)
name = av->getName();
diff --git a/engines/ultima/ultima8/kernel/delay_process.cpp b/engines/ultima/ultima8/kernel/delay_process.cpp
index 64c015c636..e838e017a1 100644
--- a/engines/ultima/ultima8/kernel/delay_process.cpp
+++ b/engines/ultima/ultima8/kernel/delay_process.cpp
@@ -45,7 +45,7 @@ void DelayProcess::run() {
terminate();
}
-void DelayProcess::dumpInfo() {
+void DelayProcess::dumpInfo() const {
Process::dumpInfo();
pout << "Frames left: " << _count << Std::endl;
}
diff --git a/engines/ultima/ultima8/kernel/delay_process.h b/engines/ultima/ultima8/kernel/delay_process.h
index 049563c162..0dba472b1b 100644
--- a/engines/ultima/ultima8/kernel/delay_process.h
+++ b/engines/ultima/ultima8/kernel/delay_process.h
@@ -42,7 +42,7 @@ public:
void run() override;
- void dumpInfo() override;
+ void dumpInfo() const override;
bool loadData(IDataSource *ids, uint32 version);
protected:
diff --git a/engines/ultima/ultima8/kernel/kernel.cpp b/engines/ultima/ultima8/kernel/kernel.cpp
index f9c31efddb..d6feba2844 100644
--- a/engines/ultima/ultima8/kernel/kernel.cpp
+++ b/engines/ultima/ultima8/kernel/kernel.cpp
@@ -335,7 +335,7 @@ bool Kernel::load(IDataSource *ids, uint32 version) {
if (!_pIDs->load(ids, version)) return false;
- uint32 pcount = ids->read4();
+ const uint32 pcount = ids->read4();
for (unsigned int i = 0; i < pcount; ++i) {
Process *p = loadProcess(ids, version);
@@ -347,7 +347,7 @@ bool Kernel::load(IDataSource *ids, uint32 version) {
}
Process *Kernel::loadProcess(IDataSource *ids, uint32 version) {
- uint16 classlen = ids->read2();
+ const uint16 classlen = ids->read2();
char *buf = new char[classlen + 1];
ids->read(buf, classlen);
buf[classlen] = 0;
diff --git a/engines/ultima/ultima8/kernel/mouse.cpp b/engines/ultima/ultima8/kernel/mouse.cpp
index a948fc1d02..ba41b38f5d 100644
--- a/engines/ultima/ultima8/kernel/mouse.cpp
+++ b/engines/ultima/ultima8/kernel/mouse.cpp
@@ -136,7 +136,7 @@ void Mouse::popAllCursors() {
CursorMan.popAllCursors();
}
-bool Mouse::isMouseDownEvent(Shared::MouseButton button) {
+bool Mouse::isMouseDownEvent(Shared::MouseButton button) const {
return (_mouseButton[button]._state & MBS_DOWN);
}
diff --git a/engines/ultima/ultima8/kernel/mouse.h b/engines/ultima/ultima8/kernel/mouse.h
index 4906903249..aa8bafcb65 100644
--- a/engines/ultima/ultima8/kernel/mouse.h
+++ b/engines/ultima/ultima8/kernel/mouse.h
@@ -129,7 +129,7 @@ public:
//! set current mouse cursor location
void setMouseCoords(int mx, int my);
- bool isMouseDownEvent(Shared::MouseButton button);
+ bool isMouseDownEvent(Shared::MouseButton button) const;
//! remove all existing cursors
void popAllCursors();
diff --git a/engines/ultima/ultima8/kernel/object.cpp b/engines/ultima/ultima8/kernel/object.cpp
index 13e3caf2bd..4da725684d 100644
--- a/engines/ultima/ultima8/kernel/object.cpp
+++ b/engines/ultima/ultima8/kernel/object.cpp
@@ -59,7 +59,7 @@ void Object::clearObjId() {
_objId = 0xFFFF;
}
-void Object::dumpInfo() {
+void Object::dumpInfo() const {
g_debugger->debugPrintf("Object %d (class %s)\n", getObjId(), GetClassType()._className);
}
@@ -76,7 +76,7 @@ void Object::save(ODataSource *ods) {
saveData(ods); // virtual
}
-void Object::writeObjectHeader(ODataSource *ods) {
+void Object::writeObjectHeader(ODataSource *ods) const {
const char *cname = GetClassType()._className; // note: virtual
uint16 clen = strlen(cname);
diff --git a/engines/ultima/ultima8/kernel/object.h b/engines/ultima/ultima8/kernel/object.h
index 0668b2cc79..dfc631f013 100644
--- a/engines/ultima/ultima8/kernel/object.h
+++ b/engines/ultima/ultima8/kernel/object.h
@@ -57,7 +57,7 @@ public:
virtual void clearObjId();
//! dump some info about this object to pout
- virtual void dumpInfo();
+ virtual void dumpInfo() const;
//! save this object
void save(ODataSource *ods);
@@ -76,7 +76,7 @@ public:
protected:
//! write the Object savegame header (mainly consisting of the classname)
- void writeObjectHeader(ODataSource *ods);
+ void writeObjectHeader(ODataSource *ods) const;
//! save the actual Object data
virtual void saveData(ODataSource *ods);
diff --git a/engines/ultima/ultima8/kernel/pool.h b/engines/ultima/ultima8/kernel/pool.h
index f01a00e3e6..ec2c0063a3 100644
--- a/engines/ultima/ultima8/kernel/pool.h
+++ b/engines/ultima/ultima8/kernel/pool.h
@@ -39,12 +39,12 @@ public:
virtual void *allocate(size_t size) = 0;
virtual void deallocate(void *ptr) = 0;
- virtual bool isFull() = 0;
- virtual bool isEmpty() = 0;
+ virtual bool isFull() const = 0;
+ virtual bool isEmpty() const = 0;
- virtual bool inPool(void *ptr) = 0;
+ virtual bool inPool(void *ptr) const = 0;
- virtual void printInfo() = 0;
+ virtual void printInfo() const = 0;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/kernel/process.cpp b/engines/ultima/ultima8/kernel/process.cpp
index b9322d5bf3..57f7a526c1 100644
--- a/engines/ultima/ultima8/kernel/process.cpp
+++ b/engines/ultima/ultima8/kernel/process.cpp
@@ -95,7 +95,7 @@ void Process::suspend() {
_flags |= PROC_SUSPENDED;
}
-void Process::dumpInfo() {
+void Process::dumpInfo() const {
Common::String info = Common::String::format(
"Process %d class %s, item %d, type %x, status ",
getPid(), GetClassType()._className, _itemNum, _type);
@@ -108,7 +108,7 @@ void Process::dumpInfo() {
if (_flags & PROC_RUNPAUSED) info += "R";
if (!_waiting.empty()) {
info += ", notify: ";
- for (Std::vector<ProcId>::iterator i = _waiting.begin(); i != _waiting.end(); ++i) {
+ for (Std::vector<ProcId>::const_iterator i = _waiting.begin(); i != _waiting.end(); ++i) {
if (i != _waiting.begin()) info += ", ";
info += *i;
}
diff --git a/engines/ultima/ultima8/kernel/process.h b/engines/ultima/ultima8/kernel/process.h
index 63acc7b7c8..80b88deea2 100644
--- a/engines/ultima/ultima8/kernel/process.h
+++ b/engines/ultima/ultima8/kernel/process.h
@@ -103,7 +103,7 @@ public:
}
//! dump some info about this process to pout
- virtual void dumpInfo();
+ virtual void dumpInfo() const;
//! save this process
void save(ODataSource *ods);
diff --git a/engines/ultima/ultima8/kernel/segmented_pool.cpp b/engines/ultima/ultima8/kernel/segmented_pool.cpp
index db0bcf6d94..3806bbeccf 100644
--- a/engines/ultima/ultima8/kernel/segmented_pool.cpp
+++ b/engines/ultima/ultima8/kernel/segmented_pool.cpp
@@ -153,7 +153,7 @@ void SegmentedPool::deallocate(void *ptr) {
}
}
-void SegmentedPool::printInfo() {
+void SegmentedPool::printInfo() const {
uint16 i;
size_t max, min, total;
SegmentedPoolNode *node;
diff --git a/engines/ultima/ultima8/kernel/segmented_pool.h b/engines/ultima/ultima8/kernel/segmented_pool.h
index 63d1e3f202..62c7f304be 100644
--- a/engines/ultima/ultima8/kernel/segmented_pool.h
+++ b/engines/ultima/ultima8/kernel/segmented_pool.h
@@ -51,20 +51,20 @@ public:
void *allocate(size_t size) override;
void deallocate(void *ptr) override;
- bool isFull() override {
+ bool isFull() const override {
return _freeNodeCount == 0;
}
- bool isEmpty() override {
+ bool isEmpty() const override {
return _freeNodeCount == _nodes;
}
- bool inPool(void *ptr) override {
+ bool inPool(void *ptr) const override {
return (ptr > _startOfPool && ptr < _endOfPool);
}
- void printInfo() override;
+ void printInfo() const override;
- size_t getNodeCapacity() {
+ size_t getNodeCapacity() const {
return _nodeCapacity;
}
diff --git a/engines/ultima/ultima8/misc/p_dynamic_cast.h b/engines/ultima/ultima8/misc/p_dynamic_cast.h
index bb3b393b6c..9301bada2f 100644
--- a/engines/ultima/ultima8/misc/p_dynamic_cast.h
+++ b/engines/ultima/ultima8/misc/p_dynamic_cast.h
@@ -44,17 +44,17 @@ struct RunTimeClassType {
//
#define ENABLE_RUNTIME_CLASSTYPE() \
static const RunTimeClassType ClassType; \
- virtual bool IsOfType(const RunTimeClassType & type) override; \
- virtual bool IsOfType(const char * type) override; \
- template<class Type> inline bool IsOfType() { return IsOfType(Type::ClassType); } \
- virtual const RunTimeClassType & GetClassType() override { return ClassType; }
+ virtual bool IsOfType(const RunTimeClassType & type) const override; \
+ virtual bool IsOfType(const char * type) const override; \
+ template<class Type> inline bool IsOfType() const { return IsOfType(Type::ClassType); } \
+ virtual const RunTimeClassType & GetClassType() const override { return ClassType; }
#define ENABLE_RUNTIME_CLASSTYPE_BASE() \
static const RunTimeClassType ClassType; \
- virtual bool IsOfType(const RunTimeClassType & type); \
- virtual bool IsOfType(const char * type); \
- template<class Type> inline bool IsOfType() { return IsOfType(Type::ClassType); } \
- virtual const RunTimeClassType & GetClassType() { return ClassType; }
+ virtual bool IsOfType(const RunTimeClassType & type) const; \
+ virtual bool IsOfType(const char * type) const; \
+ template<class Type> inline bool IsOfType() const { return IsOfType(Type::ClassType); } \
+ virtual const RunTimeClassType & GetClassType() const { return ClassType; }
@@ -66,13 +66,13 @@ struct RunTimeClassType {
#Classname \
}; \
\
- bool Classname::IsOfType(const RunTimeClassType &classType) \
+ bool Classname::IsOfType(const RunTimeClassType &classType) const \
{ \
if (classType == ClassType) return true; \
return false; \
} \
\
- bool Classname::IsOfType(const char *classType) \
+ bool Classname::IsOfType(const char *classType) const \
{ \
if (!Std::strcmp(classType,ClassType._className)) return true; \
return false; \
@@ -87,13 +87,13 @@ struct RunTimeClassType {
#Classname \
}; \
\
- bool Classname::IsOfType(const RunTimeClassType & classType) \
+ bool Classname::IsOfType(const RunTimeClassType & classType) const \
{ \
if (classType == ClassType) return true; \
return ParentClassname::IsOfType(classType); \
} \
\
- bool Classname::IsOfType(const char *typeName) \
+ bool Classname::IsOfType(const char *typeName) const \
{ \
if (!Std::strcmp(typeName,ClassType._className)) return true; \
return ParentClassname::IsOfType(typeName); \
@@ -109,7 +109,7 @@ struct RunTimeClassType {
#Classname \
}; \
\
- bool Classname::IsOfType(const RunTimeClassType &type) \
+ bool Classname::IsOfType(const RunTimeClassType &type) const \
{ \
typedef Parent1 P1; \
typedef Parent2 P2; \
@@ -119,7 +119,7 @@ struct RunTimeClassType {
return P2::IsOfType(type); \
} \
\
- bool Classname::IsOfType(const char * type) \
+ bool Classname::IsOfType(const char * type) const \
{ \
typedef Parent1 P1; \
typedef Parent2 P2; \
diff --git a/engines/ultima/ultima8/usecode/bit_set.cpp b/engines/ultima/ultima8/usecode/bit_set.cpp
index 28ccf3ee2f..c910367dc2 100644
--- a/engines/ultima/ultima8/usecode/bit_set.cpp
+++ b/engines/ultima/ultima8/usecode/bit_set.cpp
@@ -55,7 +55,7 @@ void BitSet::setSize(unsigned int size) {
_data[i] = 0;
}
-uint32 BitSet::getBits(unsigned int pos, unsigned int n) {
+uint32 BitSet::getBits(unsigned int pos, unsigned int n) const {
assert(n <= 32);
assert(pos + n <= _size);
if (n == 0) return 0;
diff --git a/engines/ultima/ultima8/usecode/bit_set.h b/engines/ultima/ultima8/usecode/bit_set.h
index a0e97e516e..ecda097085 100644
--- a/engines/ultima/ultima8/usecode/bit_set.h
+++ b/engines/ultima/ultima8/usecode/bit_set.h
@@ -43,7 +43,7 @@ public:
//! \param pos zero-based position (in bits)
//! \param n number of bits (no greater than 32)
//! \return the value these bits represent
- uint32 getBits(unsigned int pos, unsigned int n);
+ uint32 getBits(unsigned int pos, unsigned int n) const;
//! set a value
//! \param pos zero-based position (in bits)
diff --git a/engines/ultima/ultima8/usecode/uc_list.cpp b/engines/ultima/ultima8/usecode/uc_list.cpp
index 5b2346a87a..e54e48b1ed 100644
--- a/engines/ultima/ultima8/usecode/uc_list.cpp
+++ b/engines/ultima/ultima8/usecode/uc_list.cpp
@@ -30,11 +30,11 @@
namespace Ultima {
namespace Ultima8 {
-uint16 UCList::getStringIndex(uint32 index) {
+uint16 UCList::getStringIndex(uint32 index) const {
return _elements[index * 2] + (_elements[index * 2 + 1] << 8);
}
-Std::string &UCList::getString(uint32 index) {
+const Std::string &UCList::getString(uint32 index) const {
uint16 sindex = getStringIndex(index);
return UCMachine::get_instance()->getString(sindex);
}
@@ -47,7 +47,7 @@ void UCList::freeStrings() {
free();
}
-void UCList::copyStringList(UCList &l) {
+void UCList::copyStringList(const UCList &l) {
UCMachine *ucm = UCMachine::get_instance();
freeStrings();
for (unsigned int i = 0; i < l._size; i++) {
@@ -74,12 +74,12 @@ void UCList::unionStringList(UCList &l) {
l.free(); // NB: do _not_ free the strings in l, since they're in this one
}
-void UCList::substractStringList(UCList &l) {
+void UCList::substractStringList(const UCList &l) {
for (unsigned int i = 0; i < l._size; i++)
removeString(l.getStringIndex(i));
}
-bool UCList::stringInList(uint16 s) {
+bool UCList::stringInList(uint16 s) const {
Std::string str = UCMachine::get_instance()->getString(s);
for (unsigned int i = 0; i < _size; i++)
if (getString(i) == str)
@@ -100,7 +100,7 @@ void UCList::assignString(uint32 index, uint16 str) {
void UCList::removeString(uint16 s, bool nodel) {
// do we need to erase all occurences of str or just the first one?
// (deleting all, currently)
- Std::string str = UCMachine::get_instance()->getString(s);
+ const Std::string &str = UCMachine::get_instance()->getString(s);
for (unsigned int i = 0; i < _size; i++) {
if (getString(i) == str) {
// free string
diff --git a/engines/ultima/ultima8/usecode/uc_list.h b/engines/ultima/ultima8/usecode/uc_list.h
index ad73bf87d7..3ed5763fdb 100644
--- a/engines/ultima/ultima8/usecode/uc_list.h
+++ b/engines/ultima/ultima8/usecode/uc_list.h
@@ -61,12 +61,12 @@ public:
free();
}
- const uint8 *operator[](uint32 index) {
+ const uint8 *operator[](uint32 index) const {
// check that index isn't out of bounds...
return &(_elements[index * _elementSize]);
}
- uint16 getuint16(uint32 index) {
+ uint16 getuint16(uint32 index) const {
assert(_elementSize == 2);
uint16 t = _elements[index * _elementSize];
t += _elements[index * _elementSize + 1] << 8;
@@ -96,7 +96,7 @@ public:
}
}
- bool inList(const uint8 *e) {
+ bool inList(const uint8 *e) const {
for (unsigned int i = 0; i < _size; i++) {
bool equal = true;
for (unsigned int j = 0; j < _elementSize && equal; j++)
@@ -107,21 +107,21 @@ public:
return false;
}
- void appendList(UCList &l) {
+ void appendList(const UCList &l) {
// need to check if elementsizes match...
_elements.reserve(_elementSize * (_size + l._size));
unsigned int lsize = l._size;
for (unsigned int i = 0; i < lsize; i++)
append(l[i]);
}
- void unionList(UCList &l) { // like append, but remove duplicates
+ void unionList(const UCList &l) { // like append, but remove duplicates
// need to check if elementsizes match...
_elements.reserve(_elementSize * (_size + l._size));
for (unsigned int i = 0; i < l._size; i++)
if (!inList(l[i]))
append(l[i]);
}
- void substractList(UCList &l) {
+ void substractList(const UCList &l) {
for (unsigned int i = 0; i < l._size; i++)
remove(l[i]);
}
@@ -143,26 +143,26 @@ public:
_elements[index * _elementSize + i] = e[i];
}
- void copyList(UCList &l) { // deep copy for list
+ void copyList(const UCList &l) { // deep copy for list
free();
appendList(l);
}
void freeStrings();
- void copyStringList(UCList &l);
+ void copyStringList(const UCList &l) ;
void unionStringList(UCList &l);
- void substractStringList(UCList &l);
- bool stringInList(uint16 str);
+ void substractStringList(const UCList &l);
+ bool stringInList(uint16 str) const;
void assignString(uint32 index, uint16 str);
void removeString(uint16 str, bool nodel = false);
- uint16 getStringIndex(uint32 index);
+ uint16 getStringIndex(uint32 index) const;
void save(ODataSource *ods);
bool load(IDataSource *ids, uint32 version);
private:
- Std::string &getString(uint32 index);
+ const Std::string &getString(uint32 index) const;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/usecode/uc_machine.cpp b/engines/ultima/ultima8/usecode/uc_machine.cpp
index 2415398963..5673e5cd31 100644
--- a/engines/ultima/ultima8/usecode/uc_machine.cpp
+++ b/engines/ultima/ultima8/usecode/uc_machine.cpp
@@ -1969,10 +1969,11 @@ void UCMachine::execProcess(UCProcess *p) {
}
-Std::string &UCMachine::getString(uint16 str) {
+const Std::string &UCMachine::getString(uint16 str) const {
static Std::string emptystring("");
- Std::map<uint16, Std::string>::iterator iter = _stringHeap.find(str);
+ Std::map<uint16, Std::string>::const_iterator iter =
+ _stringHeap.find(str);
if (iter != _stringHeap.end())
return iter->_value;
@@ -2311,6 +2312,7 @@ uint32 UCMachine::I_dummyProcess(const uint8 * /*args*/, unsigned int /*argsize*
uint32 UCMachine::I_getName(const uint8 * /*args*/, unsigned int /*argsize*/) {
UCMachine *uc = UCMachine::get_instance();
MainActor *av = getMainActor();
+ // FIXME: This could be bad, we're keeping the reference to a string.c_str
return uc->assignString(av->getName().c_str());
}
diff --git a/engines/ultima/ultima8/usecode/uc_machine.h b/engines/ultima/ultima8/usecode/uc_machine.h
index 299a4de8de..2b282c33f2 100644
--- a/engines/ultima/ultima8/usecode/uc_machine.h
+++ b/engines/ultima/ultima8/usecode/uc_machine.h
@@ -54,7 +54,7 @@ public:
void execProcess(UCProcess *proc);
- Std::string &getString(uint16 str);
+ const Std::string &getString(uint16 str) const;
UCList *getList(uint16 l);
void freeString(uint16 s);
@@ -132,7 +132,7 @@ private:
}
public:
- bool trace_event() {
+ bool trace_event() const {
return (_tracingEnabled && (_traceAll || _traceEvents));
}
#endif
diff --git a/engines/ultima/ultima8/usecode/uc_process.cpp b/engines/ultima/ultima8/usecode/uc_process.cpp
index f92e3165a5..8c9b7b2303 100644
--- a/engines/ultima/ultima8/usecode/uc_process.cpp
+++ b/engines/ultima/ultima8/usecode/uc_process.cpp
@@ -148,7 +148,7 @@ void UCProcess::terminate() {
Process::terminate();
}
-void UCProcess::dumpInfo() {
+void UCProcess::dumpInfo() const {
Process::dumpInfo();
if (_classId == 0xFFFF) {
diff --git a/engines/ultima/ultima8/usecode/uc_process.h b/engines/ultima/ultima8/usecode/uc_process.h
index 80e0d15027..bf472d10d9 100644
--- a/engines/ultima/ultima8/usecode/uc_process.h
+++ b/engines/ultima/ultima8/usecode/uc_process.h
@@ -58,7 +58,7 @@ public:
}
//! dump some info about this process to pout
- void dumpInfo() override;
+ void dumpInfo() const override;
bool loadData(IDataSource *ids, uint32 version);
protected:
diff --git a/engines/ultima/ultima8/world/actors/actor.cpp b/engines/ultima/ultima8/world/actors/actor.cpp
index 0c40ce7ce3..f9228de13a 100644
--- a/engines/ultima/ultima8/world/actors/actor.cpp
+++ b/engines/ultima/ultima8/world/actors/actor.cpp
@@ -385,10 +385,10 @@ bool Actor::setEquip(Item *item, bool checkwghtvol) {
return true;
}
-uint16 Actor::getEquip(uint32 type) {
+uint16 Actor::getEquip(uint32 type) const {
const unsigned int backpack_shape = 529; //!! *cough* constant
- Std::list<Item *>::iterator iter;
+ Std::list<Item *>::const_iterator iter;
for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
uint32 cet = (*iter)->getShapeInfo()->_equipType;
bool cbackpack = ((*iter)->getShape() == backpack_shape);
@@ -531,31 +531,31 @@ uint16 Actor::cSetActivity(int activity) {
return 0;
}
-uint32 Actor::getArmourClass() {
- ShapeInfo *si = getShapeInfo();
+uint32 Actor::getArmourClass() const {
+ const ShapeInfo *si = getShapeInfo();
if (si->_monsterInfo)
return si->_monsterInfo->_armourClass;
else
return 0;
}
-uint16 Actor::getDefenseType() {
- ShapeInfo *si = getShapeInfo();
+uint16 Actor::getDefenseType() const {
+ const ShapeInfo *si = getShapeInfo();
if (si->_monsterInfo)
return si->_monsterInfo->_defenseType;
else
return 0;
}
-int16 Actor::getDefendingDex() {
+int16 Actor::getDefendingDex() const {
return getDex();
}
-int16 Actor::getAttackingDex() {
+int16 Actor::getAttackingDex() const {
return getDex();
}
-uint16 Actor::getDamageType() {
+uint16 Actor::getDamageType() const {
ShapeInfo *si = getShapeInfo();
if (si->_monsterInfo)
return si->_monsterInfo->_damageType;
@@ -564,8 +564,8 @@ uint16 Actor::getDamageType() {
}
-int Actor::getDamageAmount() {
- ShapeInfo *si = getShapeInfo();
+int Actor::getDamageAmount() const {
+ const ShapeInfo *si = getShapeInfo();
if (si->_monsterInfo) {
int min = static_cast<int>(si->_monsterInfo->_minDmg);
@@ -1062,7 +1062,7 @@ Actor *Actor::createActor(uint32 shape, uint32 frame) {
}
-void Actor::dumpInfo() {
+void Actor::dumpInfo() const {
Container::dumpInfo();
pout << "hp: " << _hitPoints << ", mp: " << _mana << ", str: " << _strength
diff --git a/engines/ultima/ultima8/world/actors/actor.h b/engines/ultima/ultima8/world/actors/actor.h
index d0ef21510a..bcb057ebd9 100644
--- a/engines/ultima/ultima8/world/actors/actor.h
+++ b/engines/ultima/ultima8/world/actors/actor.h
@@ -152,15 +152,15 @@ public:
uint16 schedule(uint32 time);
bool setEquip(Item *item, bool checkwghtvol = false);
- uint16 getEquip(uint32 type);
+ uint16 getEquip(uint32 type) const;
- virtual uint32 getArmourClass();
- virtual uint16 getDefenseType();
- virtual int16 getAttackingDex();
- virtual int16 getDefendingDex();
+ virtual uint32 getArmourClass() const;
+ virtual uint16 getDefenseType() const;
+ virtual int16 getAttackingDex() const;
+ virtual int16 getDefendingDex() const;
- uint16 getDamageType() override;
- virtual int getDamageAmount();
+ uint16 getDamageType() const override;
+ virtual int getDamageAmount() const;
//! calculate the damage an attack against this Actor does.
//! \param other the attacker (can be zero)
@@ -214,7 +214,7 @@ public:
uint16 assignObjId() override; // assign an NPC objid
- void dumpInfo() override;
+ void dumpInfo() const override;
bool loadData(IDataSource *ids, uint32 version);
diff --git a/engines/ultima/ultima8/world/actors/actor_anim_process.cpp b/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
index 026a9ed35e..1998c7d2f7 100644
--- a/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
+++ b/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
@@ -630,7 +630,7 @@ void ActorAnimProcess::terminate() {
Process::terminate();
}
-void ActorAnimProcess::dumpInfo() {
+void ActorAnimProcess::dumpInfo() const {
Process::dumpInfo();
pout << "_action: " << _action << ", _dir: " << _dir << Std::endl;
}
diff --git a/engines/ultima/ultima8/world/actors/actor_anim_process.h b/engines/ultima/ultima8/world/actors/actor_anim_process.h
index 96c365b8ab..1f136c755b 100644
--- a/engines/ultima/ultima8/world/actors/actor_anim_process.h
+++ b/engines/ultima/ultima8/world/actors/actor_anim_process.h
@@ -48,7 +48,7 @@ public:
void terminate() override;
- void dumpInfo() override;
+ void dumpInfo() const override;
Animation::Sequence getAction() const {
return _action;
diff --git a/engines/ultima/ultima8/world/actors/animation_tracker.cpp b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
index 3c0c74c89e..6dd501a352 100644
--- a/engines/ultima/ultima8/world/actors/animation_tracker.cpp
+++ b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
@@ -101,7 +101,7 @@ bool AnimationTracker::init(Actor *actor_, Animation::Sequence action_,
return true;
}
-unsigned int AnimationTracker::getNextFrame(unsigned int frame) {
+unsigned int AnimationTracker::getNextFrame(unsigned int frame) const {
frame++;
if (frame == _endFrame)
@@ -290,7 +290,7 @@ bool AnimationTracker::step() {
// If it succeeded, we proceed as usual
}
- Item *support;
+ const Item *support;
bool targetok = cm->isValidPosition(tx, ty, tz,
_startX, _startY, _startZ,
xd, yd, zd,
@@ -409,7 +409,7 @@ bool AnimationTracker::step() {
return true;
}
-AnimFrame *AnimationTracker::getAnimFrame() {
+AnimFrame *AnimationTracker::getAnimFrame() const {
return &_animAction->frames[_dir][_currentFrame];
}
@@ -452,7 +452,7 @@ void AnimationTracker::setTargetedMode(int32 x_, int32 y_, int32 z_) {
void AnimationTracker::checkWeaponHit() {
int range = _animAction->frames[_dir][_currentFrame].attack_range();
- Actor *a = getActor(_actor);
+ const Actor *a = getActor(_actor);
assert(a);
@@ -542,7 +542,7 @@ void AnimationTracker::updateActorFlags() {
}
void AnimationTracker::getInterpolatedPosition(int32 &x_, int32 &y_,
- int32 &z_, int fc) {
+ int32 &z_, int fc) const {
int32 dx = _x - _prevX;
int32 dy = _y - _prevY;
int32 dz = _z - _prevZ;
@@ -552,7 +552,7 @@ void AnimationTracker::getInterpolatedPosition(int32 &x_, int32 &y_,
z_ = _prevZ + (dz * fc) / (_animAction->_frameRepeat + 1);
}
-void AnimationTracker::getSpeed(int32 &dx, int32 &dy, int32 &dz) {
+void AnimationTracker::getSpeed(int32 &dx, int32 &dy, int32 &dz) const {
dx = _x - _prevX;
dy = _y - _prevY;
dz = _z - _prevZ;
diff --git a/engines/ultima/ultima8/world/actors/animation_tracker.h b/engines/ultima/ultima8/world/actors/animation_tracker.h
index b0c033ef52..1a2ad07841 100644
--- a/engines/ultima/ultima8/world/actors/animation_tracker.h
+++ b/engines/ultima/ultima8/world/actors/animation_tracker.h
@@ -67,29 +67,30 @@ public:
void updateActorFlags();
//! get the current position
- void getPosition(int32 &x, int32 &y, int32 &z) {
+ void getPosition(int32 &x, int32 &y, int32 &z) const {
x = _x;
y = _y;
z = _z;
}
- void getInterpolatedPosition(int32 &x_, int32 &y_, int32 &z_, int fc);
+ void getInterpolatedPosition(int32 &x_, int32 &y_, int32 &z_, int fc)
+ const;
//! get the difference between current position and previous position
- void getSpeed(int32 &dx, int32 &dy, int32 &dz);
+ void getSpeed(int32 &dx, int32 &dy, int32 &dz) const;
//! get the current (shape)frame
- uint32 getFrame() {
+ uint32 getFrame() const {
return _shapeFrame;
}
//! get the current AnimAction
- AnimAction *getAnimAction() {
+ AnimAction *getAnimAction() const {
return _animAction;
}
//! get the current AnimFrame
- AnimFrame *getAnimFrame();
+ AnimFrame *getAnimFrame() const;
void setTargetedMode(int32 x_, int32 y_, int32 z_);
@@ -115,7 +116,7 @@ private:
TargetMode
};
- unsigned int getNextFrame(unsigned int frame);
+ unsigned int getNextFrame(unsigned int frame) const;
void checkWeaponHit();
unsigned int _startFrame, _endFrame;
diff --git a/engines/ultima/ultima8/world/actors/combat_process.cpp b/engines/ultima/ultima8/world/actors/combat_process.cpp
index f3b45aa73b..a2308843a9 100644
--- a/engines/ultima/ultima8/world/actors/combat_process.cpp
+++ b/engines/ultima/ultima8/world/actors/combat_process.cpp
@@ -324,7 +324,7 @@ void CombatProcess::waitForTarget() {
}
}
-void CombatProcess::dumpInfo() {
+void CombatProcess::dumpInfo() const {
Process::dumpInfo();
pout << "Target: " << _target << Std::endl;
}
diff --git a/engines/ultima/ultima8/world/actors/combat_process.h b/engines/ultima/ultima8/world/actors/combat_process.h
index 193e214c9b..965f12913b 100644
--- a/engines/ultima/ultima8/world/actors/combat_process.h
+++ b/engines/ultima/ultima8/world/actors/combat_process.h
@@ -46,7 +46,7 @@ public:
void setTarget(ObjId target_);
ObjId seekTarget();
- void dumpInfo() override;
+ void dumpInfo() const override;
bool loadData(IDataSource *ids, uint32 version);
protected:
diff --git a/engines/ultima/ultima8/world/actors/main_actor.cpp b/engines/ultima/ultima8/world/actors/main_actor.cpp
index 6b574cc567..6a73dba6c9 100644
--- a/engines/ultima/ultima8/world/actors/main_actor.cpp
+++ b/engines/ultima/ultima8/world/actors/main_actor.cpp
@@ -166,10 +166,10 @@ void MainActor::teleport(int mapNum_, int teleport_id) {
_justTeleported = true;
}
-uint16 MainActor::getDefenseType() {
+uint16 MainActor::getDefenseType() const {
uint16 type = 0;
- Std::list<Item *>::iterator iter;
+ Std::list<Item *>::const_iterator iter;
for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
uint32 frameNum = (*iter)->getFrame();
ShapeInfo *si = (*iter)->getShapeInfo();
@@ -181,10 +181,10 @@ uint16 MainActor::getDefenseType() {
return type;
}
-uint32 MainActor::getArmourClass() {
+uint32 MainActor::getArmourClass() const {
uint32 armour = 0;
- Std::list<Item *>::iterator iter;
+ Std::list<Item *>::const_iterator iter;
for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
uint32 frameNum = (*iter)->getFrame();
ShapeInfo *si = (*iter)->getShapeInfo();
@@ -199,7 +199,7 @@ uint32 MainActor::getArmourClass() {
return armour;
}
-int16 MainActor::getDefendingDex() {
+int16 MainActor::getDefendingDex() const {
int16 dex = getDex();
Item *weapon = getItem(getEquip(ShapeInfo::SE_WEAPON));
@@ -214,7 +214,7 @@ int16 MainActor::getDefendingDex() {
return dex;
}
-int16 MainActor::getAttackingDex() {
+int16 MainActor::getAttackingDex() const {
int16 dex = getDex();
Item *weapon = getItem(getEquip(ShapeInfo::SE_WEAPON));
@@ -227,13 +227,13 @@ int16 MainActor::getAttackingDex() {
return dex;
}
-uint16 MainActor::getDamageType() {
+uint16 MainActor::getDamageType() const {
Item *weapon = getItem(getEquip(ShapeInfo::SE_WEAPON));
if (weapon) {
// weapon equipped?
- ShapeInfo *si = weapon->getShapeInfo();
+ const ShapeInfo *si = weapon->getShapeInfo();
assert(si->_weaponInfo);
return si->_weaponInfo->_damageType;
@@ -242,7 +242,7 @@ uint16 MainActor::getDamageType() {
return Actor::getDamageType();
}
-int MainActor::getDamageAmount() {
+int MainActor::getDamageAmount() const {
int damage = 0;
if (getLastAnim() == Animation::kick) {
diff --git a/engines/ultima/ultima8/world/actors/main_actor.h b/engines/ultima/ultima8/world/actors/main_actor.h
index b73e70a6ab..afadb9872a 100644
--- a/engines/ultima/ultima8/world/actors/main_actor.h
+++ b/engines/ultima/ultima8/world/actors/main_actor.h
@@ -70,20 +70,20 @@ public:
//! Get the GravityProcess of this Item, creating it if necessary
GravityProcess *ensureGravityProcess() override;
- uint32 getArmourClass() override;
- uint16 getDefenseType() override;
- int16 getAttackingDex() override;
- int16 getDefendingDex() override;
+ uint32 getArmourClass() const override;
+ uint16 getDefenseType() const override;
+ int16 getAttackingDex() const override;
+ int16 getDefendingDex() const override;
- uint16 getDamageType() override;
- int getDamageAmount() override;
+ uint16 getDamageType() const override;
+ int getDamageAmount() const override;
void setInCombat() override;
void clearInCombat() override;
ProcId die(uint16 DamageType) override;
- Std::string getName() {
+ const Std::string &getName() const {
return _name;
}
void setName(const Std::string &name) {
diff --git a/engines/ultima/ultima8/world/actors/pathfinder.cpp b/engines/ultima/ultima8/world/actors/pathfinder.cpp
index 2e06199c77..be155c12c8 100644
--- a/engines/ultima/ultima8/world/actors/pathfinder.cpp
+++ b/engines/ultima/ultima8/world/actors/pathfinder.cpp
@@ -48,7 +48,7 @@ struct PathNode {
// NOTE: this is just to keep some statistics
static unsigned int expandednodes = 0;
-void PathfindingState::load(Actor *_actor) {
+void PathfindingState::load(const Actor *_actor) {
_actor->getLocation(_x, _y, _z);
_lastAnim = _actor->getLastAnim();
_direction = _actor->getDir();
@@ -58,12 +58,12 @@ void PathfindingState::load(Actor *_actor) {
}
bool PathfindingState::checkPoint(int32 x_, int32 y_, int32 z_,
- int range) {
+ int range) const {
int distance = (_x - x_) * (_x - x_) + (_y - y_) * (_y - y_) + (_z - z_) * (_z - z_);
return distance < range * range;
}
-bool PathfindingState::checkItem(Item *item, int xyRange, int zRange) {
+bool PathfindingState::checkItem(const Item *item, int xyRange, int zRange) const {
int32 itemX, itemY, itemZ;
int32 itemXd, itemYd, itemZd;
int32 itemXmin, itemYmin;
@@ -89,7 +89,7 @@ bool PathfindingState::checkItem(Item *item, int xyRange, int zRange) {
return (range <= xyRange);
}
-bool PathfindingState::checkHit(Actor *_actor, Actor *target) {
+bool PathfindingState::checkHit(Actor *_actor, const Actor *target) {
#if 0
pout << "Trying hit in _direction " << _actor->getDirToItemCentre(*target) << Std::endl;
#endif
@@ -109,7 +109,7 @@ bool PathfindingState::checkHit(Actor *_actor, Actor *target) {
return false;
}
-bool PathNodeCmp::operator()(PathNode *n1, PathNode *n2) {
+bool PathNodeCmp::operator()(const PathNode *n1, const PathNode *n2) const {
return (n1->heuristicTotalCost < n2->heuristicTotalCost);
}
@@ -172,10 +172,10 @@ bool Pathfinder::canReach() {
return pathfind(path);
}
-bool Pathfinder::alreadyVisited(int32 x, int32 y, int32 z) {
+bool Pathfinder::alreadyVisited(int32 x, int32 y, int32 z) const {
//! this may need optimization
- Std::list<PathfindingState>::iterator iter;
+ Std::list<PathfindingState>::const_iterator iter;
for (iter = _visited.begin(); iter != _visited.end(); ++iter)
if (iter->checkPoint(x, y, z, 8))
@@ -243,7 +243,7 @@ unsigned int Pathfinder::costHeuristic(PathNode *node) {
// FIXME: these functions assume that we're using a 2x scaler...
// (and the whole system is generally a very big hack...)
-static void drawbox(Item *item) {
+static void drawbox(const Item *item) {
RenderSurface *screen = Ultima8Engine::get_instance()->getRenderScreen();
int32 cx, cy, cz;
@@ -449,9 +449,9 @@ void Pathfinder::expandNode(PathNode *node) {
tracker.evaluateMaxAnimTravel(max_endx, max_endy, dir);
if (alreadyVisited(max_endx, max_endy, state._z)) continue;
int sqrddist;
- int x_travel = ABS(max_endx - state._x);
+ const int x_travel = ABS(max_endx - state._x);
int xy_maxtravel = x_travel; // don't have the max(a,b) macro...
- int y_travel = ABS(max_endy - state._y);
+ const int y_travel = ABS(max_endy - state._y);
if (y_travel > xy_maxtravel) xy_maxtravel = y_travel;
sqrddist = x_travel * x_travel + y_travel * y_travel;
diff --git a/engines/ultima/ultima8/world/actors/pathfinder.h b/engines/ultima/ultima8/world/actors/pathfinder.h
index bb885ecc2c..bc618fd5d4 100644
--- a/engines/ultima/ultima8/world/actors/pathfinder.h
+++ b/engines/ultima/ultima8/world/actors/pathfinder.h
@@ -41,10 +41,10 @@ struct PathfindingState {
bool _firstStep;
bool _combat;
- void load(Actor *actor);
- bool checkPoint(int32 x_, int32 y_, int32 z_, int range);
- bool checkItem(Item *item, int xyRange, int zRange);
- bool checkHit(Actor *actor, Actor *target);
+ void load(const Actor *actor);
+ bool checkPoint(int32 x_, int32 y_, int32 z_, int range) const;
+ bool checkItem(const Item *item, int xyRange, int zRange) const;
+ bool checkHit(Actor *actor, const Actor *target);
};
struct PathfindingAction {
@@ -57,7 +57,7 @@ struct PathNode;
class PathNodeCmp {
public:
- bool operator()(PathNode *n1, PathNode *n2);
+ bool operator()(const PathNode *n1, const PathNode *n2) const;
};
class Pathfinder {
@@ -95,8 +95,9 @@ protected:
Std::list<PathNode *> _nodeList;
- bool alreadyVisited(int32 x, int32 y, int32 z);
- void newNode(PathNode *oldnode, PathfindingState &state, unsigned int steps);
+ bool alreadyVisited(int32 x, int32 y, int32 z) const;
+ void newNode(PathNode *oldnode, PathfindingState &state,
+ unsigned int steps);
void expandNode(PathNode *node);
unsigned int costHeuristic(PathNode *node);
bool checkTarget(PathNode *node);
diff --git a/engines/ultima/ultima8/world/container.cpp b/engines/ultima/ultima8/world/container.cpp
index c72fa296f8..5e2576273c 100644
--- a/engines/ultima/ultima8/world/container.cpp
+++ b/engines/ultima/ultima8/world/container.cpp
@@ -232,7 +232,7 @@ void Container::destroy(bool delnow) {
Item::destroy(delnow);
}
-uint32 Container::getTotalWeight() {
+uint32 Container::getTotalWeight() const {
uint32 weight = Item::getTotalWeight();
// CONSTANT!
@@ -247,7 +247,7 @@ uint32 Container::getTotalWeight() {
weight = 300;
}
- Std::list<Item *>::iterator iter;
+ Std::list<Item *>::const_iterator iter;
for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
weight += (*iter)->getTotalWeight();
@@ -256,16 +256,16 @@ uint32 Container::getTotalWeight() {
return weight;
}
-uint32 Container::getCapacity() {
+uint32 Container::getCapacity() const {
uint32 volume = getShapeInfo()->_volume;
return (volume == 0) ? 32 : volume;
}
-uint32 Container::getContentVolume() {
+uint32 Container::getContentVolume() const {
uint32 volume = 0;
- Std::list<Item *>::iterator iter;
+ Std::list<Item *>::const_iterator iter;
for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
volume += (*iter)->getVolume();
@@ -297,7 +297,7 @@ void Container::containerSearch(UCList *itemlist, const uint8 *loopscript,
}
}
-void Container::dumpInfo() {
+void Container::dumpInfo() const {
Item::dumpInfo();
pout << "Volume: " << getContentVolume() << "/" << getCapacity()
diff --git a/engines/ultima/ultima8/world/container.h b/engines/ultima/ultima8/world/container.h
index 97cbdd9492..570c69c128 100644
--- a/engines/ultima/ultima8/world/container.h
+++ b/engines/ultima/ultima8/world/container.h
@@ -88,13 +88,13 @@ public:
//! Get the weight of the container and its contents
//! \return weight
- uint32 getTotalWeight() override;
+ uint32 getTotalWeight() const override;
//! Get the container's capacity
- virtual uint32 getCapacity();
+ virtual uint32 getCapacity() const;
//! Get the total volume used up by the container's current contents
- virtual uint32 getContentVolume();
+ virtual uint32 getContentVolume() const;
//! Assign self and contents an objID
//! \return the assiged ID
@@ -106,7 +106,7 @@ public:
//! Destroy self
void destroy(bool delnow = false) override;
- void dumpInfo() override;
+ void dumpInfo() const override;
bool loadData(IDataSource *ids, uint32 version);
diff --git a/engines/ultima/ultima8/world/current_map.cpp b/engines/ultima/ultima8/world/current_map.cpp
index 214d6e5888..f81fa269af 100644
--- a/engines/ultima/ultima8/world/current_map.cpp
+++ b/engines/ultima/ultima8/world/current_map.cpp
@@ -453,7 +453,7 @@ void CurrentMap::unsetChunkFast(int32 cx, int32 cy) {
}
void CurrentMap::areaSearch(UCList *itemlist, const uint8 *loopscript,
- uint32 scriptsize, Item *check, uint16 range,
+ uint32 scriptsize, const Item *check, uint16 range,
bool recurse, int32 x, int32 y) {
int32 z;
int32 xd = 0, yd = 0, zd = 0;
@@ -480,11 +480,11 @@ void CurrentMap::areaSearch(UCList *itemlist, const uint8 *loopscript,
for (int cx = minx; cx <= maxx; cx++) {
for (int cy = miny; cy <= maxy; cy++) {
- item_list::iterator iter;
+ item_list::const_iterator iter;
for (iter = _items[cx][cy].begin();
iter != _items[cx][cy].end(); ++iter) {
- Item *item = *iter;
+ const Item *item = *iter;
if (item->getExtFlags() & Item::EXT_SPRITE) continue;
@@ -492,7 +492,7 @@ void CurrentMap::areaSearch(UCList *itemlist, const uint8 *loopscript,
int32 ix, iy, iz;
item->getLocation(ix, iy, iz);
- ShapeInfo *info = item->getShapeInfo();
+ const ShapeInfo *info = item->getShapeInfo();
int32 ixd, iyd;
//!! constants
@@ -530,8 +530,8 @@ void CurrentMap::areaSearch(UCList *itemlist, const uint8 *loopscript,
}
void CurrentMap::surfaceSearch(UCList *itemlist, const uint8 *loopscript,
- uint32 scriptsize, Item *check, bool above, bool below,
- bool recurse) {
+ uint32 scriptsize, const Item *check,
+ bool above, bool below, bool recurse) {
int32 origin[3];
int32 dims[3];
check->getLocationAbsolute(origin[0], origin[1], origin[2]);
@@ -629,9 +629,10 @@ TeleportEgg *CurrentMap::findDestination(uint16 id) {
bool CurrentMap::isValidPosition(int32 x, int32 y, int32 z,
uint32 shape,
- ObjId item, Item **support, uint16 *roof) {
+ ObjId item, const Item **support,
+ ObjId *roof) const {
int xd, yd, zd;
- ShapeInfo *si = GameData::get_instance()->
+ const ShapeInfo *si = GameData::get_instance()->
getMainShapes()->getShapeInfo(shape);
//!! constants
xd = si->_x * 32;
@@ -647,7 +648,8 @@ bool CurrentMap::isValidPosition(int32 x, int32 y, int32 z,
bool CurrentMap::isValidPosition(int32 x, int32 y, int32 z,
int xd, int yd, int zd,
uint32 shapeflags,
- ObjId item_, Item **support_, uint16 *roof_) {
+ ObjId item_, const Item **support_,
+ ObjId *roof_) const {
return isValidPosition(x, y, z,
INT_MAX_VALUE / 2, INT_MAX_VALUE / 2, INT_MAX_VALUE / 2,
xd, yd, zd,
@@ -659,13 +661,14 @@ bool CurrentMap::isValidPosition(int32 x, int32 y, int32 z,
int32 startx, int32 starty, int32 startz,
int xd, int yd, int zd,
uint32 shapeflags,
- ObjId item_, Item **support_, uint16 *roof_) {
+ ObjId item_, const Item **support_,
+ ObjId *roof_) const {
const uint32 flagmask = (ShapeInfo::SI_SOLID | ShapeInfo::SI_DAMAGING |
ShapeInfo::SI_ROOF);
const uint32 blockflagmask = (ShapeInfo::SI_SOLID | ShapeInfo::SI_DAMAGING);
bool valid = true;
- Item *support = 0;
+ const Item *support = 0;
ObjId roof = 0;
int32 roofz = 1 << 24; //!! semi-constant
@@ -682,10 +685,10 @@ bool CurrentMap::isValidPosition(int32 x, int32 y, int32 z,
for (int cx = minx; cx <= maxx; cx++) {
for (int cy = miny; cy <= maxy; cy++) {
- item_list::iterator iter;
+ item_list::const_iterator iter;
for (iter = _items[cx][cy].begin();
iter != _items[cx][cy].end(); ++iter) {
- Item *item = *iter;
+ const Item *item = *iter;
if (item->getObjId() == item_) continue;
if (item->getExtFlags() & Item::EXT_SPRITE) continue;
diff --git a/engines/ultima/ultima8/world/current_map.h b/engines/ultima/ultima8/world/current_map.h
index da97e4517a..0295408bca 100644
--- a/engines/ultima/ultima8/world/current_map.h
+++ b/engines/ultima/ultima8/world/current_map.h
@@ -85,13 +85,13 @@ public:
//! \param x x coordinate of search center if item is 0.
//! \param y y coordinate of search center if item is 0.
void areaSearch(UCList *itemlist, const uint8 *loopscript,
- uint32 scriptsize, Item *item, uint16 range, bool recurse,
- int32 x = 0, int32 y = 0);
+ uint32 scriptsize, const Item *item, uint16 range,
+ bool recurse, int32 x = 0, int32 y = 0);
// Surface search: Search above and below an item.
void surfaceSearch(UCList *itemlist, const uint8 *loopscript,
- uint32 scriptsize, Item *item, bool above, bool below,
- bool recurse = false);
+ uint32 scriptsize, const Item *item, bool above,
+ bool below, bool recurse = false);
// Surface search: Search above and below an item.
void surfaceSearch(UCList *itemlist, const uint8 *loopscript,
@@ -111,19 +111,20 @@ public:
int32 startx, int32 starty, int32 startz,
int xd, int yd, int zd, uint32 shapeflags,
ObjId item,
- Item **support = 0, ObjId *roof = 0);
+ const Item **support = 0, ObjId *roof = 0) const;
// Note that this version of isValidPosition does not look for start
// position collisions.
bool isValidPosition(int32 x, int32 y, int32 z,
int xd, int yd, int zd, uint32 shapeflags,
ObjId item,
- Item **support = 0, ObjId *roof = 0);
+ const Item **support = 0, ObjId *roof = 0) const;
// Note that this version of isValidPosition can not take 'flipped'
// into account!
bool isValidPosition(int32 x, int32 y, int32 z, uint32 shape,
- ObjId item, Item **support = 0, ObjId *roof = 0);
+ ObjId item, const Item **support = 0,
+ 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,
diff --git a/engines/ultima/ultima8/world/egg.cpp b/engines/ultima/ultima8/world/egg.cpp
index 7c97ffeaf8..019493a2b0 100644
--- a/engines/ultima/ultima8/world/egg.cpp
+++ b/engines/ultima/ultima8/world/egg.cpp
@@ -48,7 +48,7 @@ uint16 Egg::hatch() {
return callUsecodeEvent_hatch();
}
-void Egg::dumpInfo() {
+void Egg::dumpInfo() const {
Item::dumpInfo();
pout << "range: " << getXRange() << "," << getYRange()
<< ", hatched=" << _hatched << Std::endl;
diff --git a/engines/ultima/ultima8/world/egg.h b/engines/ultima/ultima8/world/egg.h
index a15ffb75ba..d85a430e88 100644
--- a/engines/ultima/ultima8/world/egg.h
+++ b/engines/ultima/ultima8/world/egg.h
@@ -63,7 +63,7 @@ public:
_hatched = false;
}
- void dumpInfo() override;
+ void dumpInfo() const override;
bool loadData(IDataSource *ids, uint32 version);
diff --git a/engines/ultima/ultima8/world/gravity_process.cpp b/engines/ultima/ultima8/world/gravity_process.cpp
index e19b34b900..839ff35007 100644
--- a/engines/ultima/ultima8/world/gravity_process.cpp
+++ b/engines/ultima/ultima8/world/gravity_process.cpp
@@ -340,7 +340,7 @@ void GravityProcess::fallStopped() {
}
}
-void GravityProcess::dumpInfo() {
+void GravityProcess::dumpInfo() const {
Process::dumpInfo();
pout << "_gravity: " << _gravity << ", speed: (" << _xSpeed << ","
diff --git a/engines/ultima/ultima8/world/gravity_process.h b/engines/ultima/ultima8/world/gravity_process.h
index 9e3fdf236c..34d2a5a180 100644
--- a/engines/ultima/ultima8/world/gravity_process.h
+++ b/engines/ultima/ultima8/world/gravity_process.h
@@ -47,7 +47,7 @@ public:
void run() override;
void terminate() override;
- void dumpInfo() override;
+ void dumpInfo() const override;
bool loadData(IDataSource *ids, uint32 version);
protected:
diff --git a/engines/ultima/ultima8/world/item.cpp b/engines/ultima/ultima8/world/item.cpp
index b1a6428932..a4488fe235 100644
--- a/engines/ultima/ultima8/world/item.cpp
+++ b/engines/ultima/ultima8/world/item.cpp
@@ -81,7 +81,7 @@ Item::Item()
Item::~Item() {
}
-void Item::dumpInfo() {
+void Item::dumpInfo() const {
pout << "Item " << getObjId() << " (class "
<< GetClassType()._className << ", _shape "
<< getShape() << ", " << getFrame() << ", (";
@@ -508,13 +508,13 @@ bool Item::isOn(Item &item2) const {
bool Item::canExistAt(int32 x_, int32 y_, int32 z_, bool needsupport) const {
CurrentMap *cm = World::get_instance()->getCurrentMap();
- Item *support;
+ const Item *support;
bool valid = cm->isValidPosition(x_, y_, z_, getShape(), getObjId(),
&support, 0);
return valid && (!needsupport || support);
}
-int Item::getDirToItemCentre(Item &item2) const {
+int Item::getDirToItemCentre(const Item &item2) const {
int32 xv, yv, zv;
getCentre(xv, yv, zv);
@@ -524,7 +524,7 @@ int Item::getDirToItemCentre(Item &item2) const {
return Get_WorldDirection(i2y - yv, i2x - xv);
}
-int Item::getRange(Item &item2, bool checkz) const {
+int Item::getRange(const Item &item2, bool checkz) const {
int32 thisX, thisY, thisZ;
int32 otherX, otherY, otherZ;
int32 thisXd, thisYd, thisZd;
@@ -572,11 +572,11 @@ Shape *Item::getShapeObject() const {
return _cachedShape;
}
-uint16 Item::getFamily() {
+uint16 Item::getFamily() const {
return static_cast<uint16>(getShapeInfo()->_family);
}
-uint32 Item::getWeight() {
+uint32 Item::getWeight() const {
uint32 weight = getShapeInfo()->_weight;
switch (getShapeInfo()->_family) {
@@ -589,11 +589,11 @@ uint32 Item::getWeight() {
}
}
-uint32 Item::getTotalWeight() {
+uint32 Item::getTotalWeight() const {
return getWeight();
}
-uint32 Item::getVolume() {
+uint32 Item::getVolume() const {
// invisible items (trap markers and such) don't take up volume
if (getFlags() & FLG_INVISIBLE) return 0;
@@ -1537,7 +1537,7 @@ void Item::explode() {
}
}
-uint16 Item::getDamageType() {
+uint16 Item::getDamageType() const {
ShapeInfo *si = getShapeInfo();
if (si->_weaponInfo) {
return si->_weaponInfo->_damageType;
diff --git a/engines/ultima/ultima8/world/item.h b/engines/ultima/ultima8/world/item.h
index 03448e50fb..a5e13fad6b 100644
--- a/engines/ultima/ultima8/world/item.h
+++ b/engines/ultima/ultima8/world/item.h
@@ -238,7 +238,7 @@ public:
//! Get the family of the shape number of this Item. (This is a
//! member of the ShapeInfo object.)
- uint16 getFamily();
+ uint16 getFamily() const;
//! Check if we can merge with another item.
bool canMergeWith(Item *other);
@@ -271,11 +271,11 @@ public:
//! Get direction from centre to another item's centre.
//! Undefined if either item is contained or equipped.
- int getDirToItemCentre(Item &item2) const;
+ int getDirToItemCentre(const Item &item2) const;
//! get 'distance' to other item. This is the maximum of the differences
//! between the x, y (and possibly z) coordinates of the items.
- int getRange(Item &item2, bool checkz = false) const;
+ int getRange(const Item &item2, bool checkz = false) const;
//! Check if this item can reach another item. (This includes LoS.)
//! \param other item to be reached
@@ -337,19 +337,19 @@ public:
virtual GravityProcess *ensureGravityProcess();
//! Get the weight of this Item
- virtual uint32 getWeight();
+ virtual uint32 getWeight() const;
//! Get the weight of this Item and its contents, if any
- virtual uint32 getTotalWeight();
+ virtual uint32 getTotalWeight() const;
//! Get the volume this item takes up in a container
- virtual uint32 getVolume();
+ virtual uint32 getVolume() const;
//! explode
void explode();
//! get the damage type this object does when hitting something
- virtual uint16 getDamageType();
+ virtual uint16 getDamageType() const;
//! receive a hit
//! \param other The item delivering the hit
@@ -440,7 +440,7 @@ public:
virtual void leaveFastArea();
//! dump some info about this item to pout
- void dumpInfo() override;
+ void dumpInfo() const override;
bool loadData(IDataSource *ids, uint32 version);
diff --git a/engines/ultima/ultima8/world/world.cpp b/engines/ultima/ultima8/world/world.cpp
index 5e7713020e..1837d662ea 100644
--- a/engines/ultima/ultima8/world/world.cpp
+++ b/engines/ultima/ultima8/world/world.cpp
@@ -313,7 +313,7 @@ void World::loadItemCachNPCData(IDataSource *itemcach, IDataSource *npcdata) {
}
-void World::worldStats() {
+void World::worldStats() const {
unsigned int i, mapcount = 0;
for (i = 0; i < _maps.size(); i++) {
@@ -324,7 +324,7 @@ void World::worldStats() {
g_debugger->debugPrintf("World memory stats:\n");
g_debugger->debugPrintf("Maps : %u/256\n", mapcount);
- Actor *av = getMainActor();
+ const Actor *av = getMainActor();
g_debugger->debugPrintf("Avatar pos.: ");
if (av) {
g_debugger->debugPrintf("map %d, (", av->getMapNum());
diff --git a/engines/ultima/ultima8/world/world.h b/engines/ultima/ultima8/world/world.h
index 2e413d3f33..dccf397e56 100644
--- a/engines/ultima/ultima8/world/world.h
+++ b/engines/ultima/ultima8/world/world.h
@@ -111,12 +111,12 @@ public:
}
//! check if the the ethereal void is empty
- bool etherealEmpty() {
+ bool etherealEmpty() const {
return _ethereal.empty();
}
//! return (but don't remove) the top item from the ethereal void
- ObjId etherealPeek() {
+ ObjId etherealPeek() const {
return _ethereal.front();
}
@@ -126,7 +126,7 @@ public:
}
//! output some statistics about the world
- void worldStats();
+ void worldStats() const;
//! save the Maps in World.
void saveMaps(ODataSource *ods);
More information about the Scummvm-git-logs
mailing list