[Scummvm-git-logs] scummvm master -> f8c82f636852e44b8d837fc583d9318a447fc587
mduggan
mgithub at guarana.org
Tue Apr 14 13:20:13 UTC 2020
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
dc17a994b1 ULTIMA8: Replace usage of ODataSource with Common::WriteStream
143b593ac8 ULTIMA8: Replace usage of IDataSource with Common::ReadStream
f8c82f6368 ULTIMA8: Remove unused data source includes
Commit: dc17a994b1be0f442c50ffae1188d29882b77320
https://github.com/scummvm/scummvm/commit/dc17a994b1be0f442c50ffae1188d29882b77320
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2020-04-14T14:14:34+09:00
Commit Message:
ULTIMA8: Replace usage of ODataSource with Common::WriteStream
Changed paths:
engines/ultima/ultima8/audio/audio_process.cpp
engines/ultima/ultima8/audio/audio_process.h
engines/ultima/ultima8/audio/music_process.cpp
engines/ultima/ultima8/audio/music_process.h
engines/ultima/ultima8/games/game.h
engines/ultima/ultima8/games/game_info.cpp
engines/ultima/ultima8/games/game_info.h
engines/ultima/ultima8/games/remorse_game.cpp
engines/ultima/ultima8/games/remorse_game.h
engines/ultima/ultima8/games/start_u8_process.cpp
engines/ultima/ultima8/games/start_u8_process.h
engines/ultima/ultima8/games/u8_game.cpp
engines/ultima/ultima8/games/u8_game.h
engines/ultima/ultima8/graphics/frame_id.cpp
engines/ultima/ultima8/graphics/frame_id.h
engines/ultima/ultima8/graphics/inverter_process.cpp
engines/ultima/ultima8/graphics/inverter_process.h
engines/ultima/ultima8/graphics/palette_fader_process.cpp
engines/ultima/ultima8/graphics/palette_fader_process.h
engines/ultima/ultima8/gumps/ask_gump.cpp
engines/ultima/ultima8/gumps/ask_gump.h
engines/ultima/ultima8/gumps/bark_gump.cpp
engines/ultima/ultima8/gumps/bark_gump.h
engines/ultima/ultima8/gumps/book_gump.cpp
engines/ultima/ultima8/gumps/book_gump.h
engines/ultima/ultima8/gumps/container_gump.cpp
engines/ultima/ultima8/gumps/container_gump.h
engines/ultima/ultima8/gumps/desktop_gump.cpp
engines/ultima/ultima8/gumps/desktop_gump.h
engines/ultima/ultima8/gumps/game_map_gump.cpp
engines/ultima/ultima8/gumps/game_map_gump.h
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/item_relative_gump.cpp
engines/ultima/ultima8/gumps/item_relative_gump.h
engines/ultima/ultima8/gumps/main_menu_process.cpp
engines/ultima/ultima8/gumps/main_menu_process.h
engines/ultima/ultima8/gumps/message_box_gump.cpp
engines/ultima/ultima8/gumps/message_box_gump.h
engines/ultima/ultima8/gumps/mini_stats_gump.cpp
engines/ultima/ultima8/gumps/mini_stats_gump.h
engines/ultima/ultima8/gumps/minimap_gump.cpp
engines/ultima/ultima8/gumps/minimap_gump.h
engines/ultima/ultima8/gumps/modal_gump.cpp
engines/ultima/ultima8/gumps/modal_gump.h
engines/ultima/ultima8/gumps/movie_gump.cpp
engines/ultima/ultima8/gumps/movie_gump.h
engines/ultima/ultima8/gumps/paged_gump.cpp
engines/ultima/ultima8/gumps/paged_gump.h
engines/ultima/ultima8/gumps/paperdoll_gump.cpp
engines/ultima/ultima8/gumps/paperdoll_gump.h
engines/ultima/ultima8/gumps/quit_gump.cpp
engines/ultima/ultima8/gumps/quit_gump.h
engines/ultima/ultima8/gumps/readable_gump.cpp
engines/ultima/ultima8/gumps/readable_gump.h
engines/ultima/ultima8/gumps/scroll_gump.cpp
engines/ultima/ultima8/gumps/scroll_gump.h
engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
engines/ultima/ultima8/gumps/shape_viewer_gump.h
engines/ultima/ultima8/gumps/slider_gump.cpp
engines/ultima/ultima8/gumps/slider_gump.h
engines/ultima/ultima8/gumps/target_gump.cpp
engines/ultima/ultima8/gumps/target_gump.h
engines/ultima/ultima8/gumps/widgets/button_widget.cpp
engines/ultima/ultima8/gumps/widgets/button_widget.h
engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
engines/ultima/ultima8/gumps/widgets/sliding_widget.h
engines/ultima/ultima8/gumps/widgets/text_widget.cpp
engines/ultima/ultima8/gumps/widgets/text_widget.h
engines/ultima/ultima8/kernel/delay_process.cpp
engines/ultima/ultima8/kernel/delay_process.h
engines/ultima/ultima8/kernel/kernel.cpp
engines/ultima/ultima8/kernel/kernel.h
engines/ultima/ultima8/kernel/object.cpp
engines/ultima/ultima8/kernel/object.h
engines/ultima/ultima8/kernel/object_manager.cpp
engines/ultima/ultima8/kernel/object_manager.h
engines/ultima/ultima8/kernel/process.cpp
engines/ultima/ultima8/kernel/process.h
engines/ultima/ultima8/misc/id_man.cpp
engines/ultima/ultima8/misc/id_man.h
engines/ultima/ultima8/ultima8.cpp
engines/ultima/ultima8/ultima8.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/usecode/uc_stack.cpp
engines/ultima/ultima8/usecode/uc_stack.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/actor_bark_notify_process.cpp
engines/ultima/ultima8/world/actors/actor_bark_notify_process.h
engines/ultima/ultima8/world/actors/ambush_process.cpp
engines/ultima/ultima8/world/actors/ambush_process.h
engines/ultima/ultima8/world/actors/animation_tracker.cpp
engines/ultima/ultima8/world/actors/animation_tracker.h
engines/ultima/ultima8/world/actors/avatar_death_process.cpp
engines/ultima/ultima8/world/actors/avatar_death_process.h
engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp
engines/ultima/ultima8/world/actors/avatar_gravity_process.h
engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
engines/ultima/ultima8/world/actors/avatar_mover_process.h
engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp
engines/ultima/ultima8/world/actors/clear_feign_death_process.h
engines/ultima/ultima8/world/actors/combat_process.cpp
engines/ultima/ultima8/world/actors/combat_process.h
engines/ultima/ultima8/world/actors/grant_peace_process.cpp
engines/ultima/ultima8/world/actors/grant_peace_process.h
engines/ultima/ultima8/world/actors/heal_process.cpp
engines/ultima/ultima8/world/actors/heal_process.h
engines/ultima/ultima8/world/actors/loiter_process.cpp
engines/ultima/ultima8/world/actors/loiter_process.h
engines/ultima/ultima8/world/actors/main_actor.cpp
engines/ultima/ultima8/world/actors/main_actor.h
engines/ultima/ultima8/world/actors/pathfinder_process.cpp
engines/ultima/ultima8/world/actors/pathfinder_process.h
engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp
engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h
engines/ultima/ultima8/world/actors/resurrection_process.cpp
engines/ultima/ultima8/world/actors/resurrection_process.h
engines/ultima/ultima8/world/actors/scheduler_process.cpp
engines/ultima/ultima8/world/actors/scheduler_process.h
engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
engines/ultima/ultima8/world/actors/targeted_anim_process.h
engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp
engines/ultima/ultima8/world/actors/teleport_to_egg_process.h
engines/ultima/ultima8/world/camera_process.cpp
engines/ultima/ultima8/world/camera_process.h
engines/ultima/ultima8/world/container.cpp
engines/ultima/ultima8/world/container.h
engines/ultima/ultima8/world/create_item_process.cpp
engines/ultima/ultima8/world/create_item_process.h
engines/ultima/ultima8/world/current_map.cpp
engines/ultima/ultima8/world/current_map.h
engines/ultima/ultima8/world/destroy_item_process.cpp
engines/ultima/ultima8/world/destroy_item_process.h
engines/ultima/ultima8/world/egg.cpp
engines/ultima/ultima8/world/egg.h
engines/ultima/ultima8/world/egg_hatcher_process.cpp
engines/ultima/ultima8/world/egg_hatcher_process.h
engines/ultima/ultima8/world/fireball_process.cpp
engines/ultima/ultima8/world/fireball_process.h
engines/ultima/ultima8/world/glob_egg.cpp
engines/ultima/ultima8/world/glob_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/map.cpp
engines/ultima/ultima8/world/map.h
engines/ultima/ultima8/world/monster_egg.cpp
engines/ultima/ultima8/world/monster_egg.h
engines/ultima/ultima8/world/split_item_process.cpp
engines/ultima/ultima8/world/split_item_process.h
engines/ultima/ultima8/world/sprite_process.cpp
engines/ultima/ultima8/world/sprite_process.h
engines/ultima/ultima8/world/teleport_egg.cpp
engines/ultima/ultima8/world/teleport_egg.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 d76c59dbc4..cf18f030d9 100644
--- a/engines/ultima/ultima8/audio/audio_process.cpp
+++ b/engines/ultima/ultima8/audio/audio_process.cpp
@@ -157,23 +157,23 @@ bool AudioProcess::continueSpeech(SampleInfo &si) {
}
-void AudioProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void AudioProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeByte(static_cast<uint8>(_sampleInfo.size()));
+ ws->writeByte(static_cast<uint8>(_sampleInfo.size()));
Std::list<SampleInfo>::iterator it;
for (it = _sampleInfo.begin(); it != _sampleInfo.end(); ++it) {
- ods->writeUint16LE(it->_sfxNum);
- ods->writeUint16LE(it->_priority);
- ods->writeUint16LE(it->_objId);
- ods->writeUint16LE(it->_loops);
- ods->writeUint32LE(it->_pitchShift);
- ods->writeUint16LE(it->_volume);
+ ws->writeUint16LE(it->_sfxNum);
+ ws->writeUint16LE(it->_priority);
+ ws->writeUint16LE(it->_objId);
+ ws->writeUint16LE(it->_loops);
+ ws->writeUint32LE(it->_pitchShift);
+ ws->writeUint16LE(it->_volume);
if (it->_sfxNum == -1) { // Speech
- ods->writeUint32LE(static_cast<uint32>(it->_barked.size()));
- ods->write(it->_barked.c_str(), static_cast<uint32>(it->_barked.size()));
+ ws->writeUint32LE(static_cast<uint32>(it->_barked.size()));
+ ws->write(it->_barked.c_str(), static_cast<uint32>(it->_barked.size()));
}
}
}
diff --git a/engines/ultima/ultima8/audio/audio_process.h b/engines/ultima/ultima8/audio/audio_process.h
index a8d13b9b87..1a0da7aacd 100644
--- a/engines/ultima/ultima8/audio/audio_process.h
+++ b/engines/ultima/ultima8/audio/audio_process.h
@@ -119,7 +119,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
private:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
uint32 _paused;
//! play the next speech sample for the text in this SampleInfo
diff --git a/engines/ultima/ultima8/audio/music_process.cpp b/engines/ultima/ultima8/audio/music_process.cpp
index 772be6a526..8b2497b233 100644
--- a/engines/ultima/ultima8/audio/music_process.cpp
+++ b/engines/ultima/ultima8/audio/music_process.cpp
@@ -227,12 +227,12 @@ void MusicProcess::run() {
}
}
-void MusicProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void MusicProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint32LE(static_cast<uint32>(_trackState._wanted));
- ods->writeUint32LE(static_cast<uint32>(_trackState._lastRequest));
- ods->writeUint32LE(static_cast<uint32>(_trackState._queued));
+ ws->writeUint32LE(static_cast<uint32>(_trackState._wanted));
+ ws->writeUint32LE(static_cast<uint32>(_trackState._lastRequest));
+ ws->writeUint32LE(static_cast<uint32>(_trackState._queued));
}
bool MusicProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/audio/music_process.h b/engines/ultima/ultima8/audio/music_process.h
index e86c9ec948..bd6fbd01d3 100644
--- a/engines/ultima/ultima8/audio/music_process.h
+++ b/engines/ultima/ultima8/audio/music_process.h
@@ -59,7 +59,7 @@ public:
};
private:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
//! Play a music track
//! \param track The track number to play. Pass 0 to stop music
diff --git a/engines/ultima/ultima8/games/game.h b/engines/ultima/ultima8/games/game.h
index b8c619c8eb..074eff7aa5 100644
--- a/engines/ultima/ultima8/games/game.h
+++ b/engines/ultima/ultima8/games/game.h
@@ -50,7 +50,7 @@ public:
virtual bool startInitialUsecode(int saveSlot = -1) = 0;
//! write game-specific savegame info (avatar stats, equipment, ...)
- virtual void writeSaveInfo(ODataSource *ods) = 0;
+ virtual void writeSaveInfo(Common::WriteStream *ws) = 0;
virtual ProcId playIntroMovie(bool fade) = 0;
virtual ProcId playEndgameMovie(bool fade) = 0;
diff --git a/engines/ultima/ultima8/games/game_info.cpp b/engines/ultima/ultima8/games/game_info.cpp
index 1ce102ccf1..6631d333cf 100644
--- a/engines/ultima/ultima8/games/game_info.cpp
+++ b/engines/ultima/ultima8/games/game_info.cpp
@@ -169,7 +169,7 @@ bool GameInfo::match(GameInfo &other, bool ignoreMD5) const {
return (Std::memcmp(_md5, other._md5, 16) == 0);
}
-void GameInfo::save(ODataSource *ods) {
+void GameInfo::save(Common::WriteStream *ws) {
unsigned int l = static_cast<unsigned int>(_language);
assert(l < (sizeof(gamelangs) / sizeof(gamelangs[0])) - 1);
unsigned int t = static_cast<unsigned int>(_type);
@@ -184,7 +184,7 @@ void GameInfo::save(ODataSource *ods) {
Std::string md5Str = getPrintableMD5();
Std::string d = game + "," + lang + "," + ver + "," + md5Str + "\n";
- ods->write(d.c_str(), d.size());
+ ws->write(d.c_str(), d.size());
}
bool GameInfo::load(IDataSource *ids, uint32 version_) {
diff --git a/engines/ultima/ultima8/games/game_info.h b/engines/ultima/ultima8/games/game_info.h
index afb8f70e64..97497d4285 100644
--- a/engines/ultima/ultima8/games/game_info.h
+++ b/engines/ultima/ultima8/games/game_info.h
@@ -72,7 +72,7 @@ struct GameInfo {
bool match(GameInfo &other, bool ignoreMD5 = false) const;
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ws);
bool load(IDataSource *ids, uint32 /* version */);
};
diff --git a/engines/ultima/ultima8/games/remorse_game.cpp b/engines/ultima/ultima8/games/remorse_game.cpp
index e3add69c06..24ece1acce 100644
--- a/engines/ultima/ultima8/games/remorse_game.cpp
+++ b/engines/ultima/ultima8/games/remorse_game.cpp
@@ -119,42 +119,42 @@ void RemorseGame::playCredits() {
}
-void RemorseGame::writeSaveInfo(ODataSource *ods) {
+void RemorseGame::writeSaveInfo(Common::WriteStream *ws) {
#if 0
MainActor *av = getMainActor();
int32 x, y, z;
const Std::string &avname = av->getName();
uint8 namelength = static_cast<uint8>(avname.size());
- ods->writeByte(namelength);
+ ws->writeByte(namelength);
for (unsigned int i = 0; i < namelength; ++i)
- ods->writeByte(static_cast<uint8>(avname[i]));
+ ws->writeByte(static_cast<uint8>(avname[i]));
av->getLocation(x, y, z);
- ods->writeUint16LE(av->getMapNum());
- ods->writeUint32LE(static_cast<uint32>(x));
- ods->writeUint32LE(static_cast<uint32>(y));
- ods->writeUint32LE(static_cast<uint32>(z));
-
- ods->writeUint16LE(av->getStr());
- ods->writeUint16LE(av->getInt());
- ods->writeUint16LE(av->getDex());
- ods->writeUint16LE(av->getHP());
- ods->writeUint16LE(av->getMaxHP());
- ods->writeUint16LE(av->getMana());
- ods->writeUint16LE(av->getMaxMana());
- ods->writeUint16LE(av->getArmourClass());
- ods->writeUint16LE(av->getTotalWeight());
+ ws->writeUint16LE(av->getMapNum());
+ ws->writeUint32LE(static_cast<uint32>(x));
+ ws->writeUint32LE(static_cast<uint32>(y));
+ ws->writeUint32LE(static_cast<uint32>(z));
+
+ ws->writeUint16LE(av->getStr());
+ ws->writeUint16LE(av->getInt());
+ ws->writeUint16LE(av->getDex());
+ ws->writeUint16LE(av->getHP());
+ ws->writeUint16LE(av->getMaxHP());
+ ws->writeUint16LE(av->getMana());
+ ws->writeUint16LE(av->getMaxMana());
+ ws->writeUint16LE(av->getArmourClass());
+ ws->writeUint16LE(av->getTotalWeight());
for (unsigned int i = 1; i <= 6; i++) {
const uint16 objid = av->getEquip(i);
const Item *item = getItem(objid);
if (item) {
- ods->writeUint32LE(item->getShape());
- ods->writeUint32LE(item->getFrame());
+ ws->writeUint32LE(item->getShape());
+ ws->writeUint32LE(item->getFrame());
} else {
- ods->writeUint32LE(0);
- ods->writeUint32LE(0);
+ ws->writeUint32LE(0);
+ ws->writeUint32LE(0);
}
}
#endif
diff --git a/engines/ultima/ultima8/games/remorse_game.h b/engines/ultima/ultima8/games/remorse_game.h
index 5dd054ab17..b4816b367f 100644
--- a/engines/ultima/ultima8/games/remorse_game.h
+++ b/engines/ultima/ultima8/games/remorse_game.h
@@ -43,7 +43,7 @@ public:
bool startInitialUsecode(int saveSlot = -1) override;
//! write game-specific savegame info (avatar stats, equipment, ...)
- void writeSaveInfo(ODataSource *ods) override;
+ void writeSaveInfo(Common::WriteStream *ws) override;
ProcId playIntroMovie(bool fade) override;
ProcId playEndgameMovie(bool fade) override;
diff --git a/engines/ultima/ultima8/games/start_u8_process.cpp b/engines/ultima/ultima8/games/start_u8_process.cpp
index 57311fff74..11313f473e 100644
--- a/engines/ultima/ultima8/games/start_u8_process.cpp
+++ b/engines/ultima/ultima8/games/start_u8_process.cpp
@@ -111,10 +111,10 @@ void StartU8Process::run() {
terminate();
}
-void StartU8Process::saveData(ODataSource *ods) {
+void StartU8Process::saveData(Common::WriteStream *ws) {
CANT_HAPPEN();
- Process::saveData(ods);
+ Process::saveData(ws);
}
bool StartU8Process::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/games/start_u8_process.h b/engines/ultima/ultima8/games/start_u8_process.h
index bd36954573..1d56c42c8a 100644
--- a/engines/ultima/ultima8/games/start_u8_process.h
+++ b/engines/ultima/ultima8/games/start_u8_process.h
@@ -37,7 +37,7 @@ protected:
bool _skipStart;
int _saveSlot;
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
public:
StartU8Process(int saveSlot = -1);
diff --git a/engines/ultima/ultima8/games/u8_game.cpp b/engines/ultima/ultima8/games/u8_game.cpp
index b74e54dd6d..d0b2e55e31 100644
--- a/engines/ultima/ultima8/games/u8_game.cpp
+++ b/engines/ultima/ultima8/games/u8_game.cpp
@@ -240,41 +240,41 @@ void U8Game::playQuotes() {
}
-void U8Game::writeSaveInfo(ODataSource *ods) {
+void U8Game::writeSaveInfo(Common::WriteStream *ws) {
MainActor *av = getMainActor();
int32 x, y, z;
const Std::string &avname = av->getName();
const uint8 namelength = static_cast<uint8>(avname.size());
- ods->writeByte(namelength);
+ ws->writeByte(namelength);
for (unsigned int i = 0; i < namelength; ++i)
- ods->writeByte(static_cast<uint8>(avname[i]));
+ ws->writeByte(static_cast<uint8>(avname[i]));
av->getLocation(x, y, z);
- ods->writeUint16LE(av->getMapNum());
- ods->writeUint32LE(static_cast<uint32>(x));
- ods->writeUint32LE(static_cast<uint32>(y));
- ods->writeUint32LE(static_cast<uint32>(z));
-
- ods->writeUint16LE(av->getStr());
- ods->writeUint16LE(av->getInt());
- ods->writeUint16LE(av->getDex());
- ods->writeUint16LE(av->getHP());
- ods->writeUint16LE(av->getMaxHP());
- ods->writeUint16LE(av->getMana());
- ods->writeUint16LE(av->getMaxMana());
- ods->writeUint16LE(av->getArmourClass());
- ods->writeUint16LE(av->getTotalWeight());
+ ws->writeUint16LE(av->getMapNum());
+ ws->writeUint32LE(static_cast<uint32>(x));
+ ws->writeUint32LE(static_cast<uint32>(y));
+ ws->writeUint32LE(static_cast<uint32>(z));
+
+ ws->writeUint16LE(av->getStr());
+ ws->writeUint16LE(av->getInt());
+ ws->writeUint16LE(av->getDex());
+ ws->writeUint16LE(av->getHP());
+ ws->writeUint16LE(av->getMaxHP());
+ ws->writeUint16LE(av->getMana());
+ ws->writeUint16LE(av->getMaxMana());
+ ws->writeUint16LE(av->getArmourClass());
+ ws->writeUint16LE(av->getTotalWeight());
for (unsigned int i = 1; i <= 6; i++) {
uint16 objid = av->getEquip(i);
Item *item = getItem(objid);
if (item) {
- ods->writeUint32LE(item->getShape());
- ods->writeUint32LE(item->getFrame());
+ ws->writeUint32LE(item->getShape());
+ ws->writeUint32LE(item->getFrame());
} else {
- ods->writeUint32LE(0);
- ods->writeUint32LE(0);
+ ws->writeUint32LE(0);
+ ws->writeUint32LE(0);
}
}
}
diff --git a/engines/ultima/ultima8/games/u8_game.h b/engines/ultima/ultima8/games/u8_game.h
index 594f7c802f..c1d4517b4e 100644
--- a/engines/ultima/ultima8/games/u8_game.h
+++ b/engines/ultima/ultima8/games/u8_game.h
@@ -45,7 +45,7 @@ public:
bool startInitialUsecode(int saveSlot) override;
//! write game-specific savegame info (avatar stats, equipment, ...)
- void writeSaveInfo(ODataSource *ods) override;
+ void writeSaveInfo(Common::WriteStream *ws) override;
ProcId playIntroMovie(bool fade) override;
ProcId playEndgameMovie(bool fade) override;
diff --git a/engines/ultima/ultima8/graphics/frame_id.cpp b/engines/ultima/ultima8/graphics/frame_id.cpp
index 22be5d4cf4..b6504663a6 100644
--- a/engines/ultima/ultima8/graphics/frame_id.cpp
+++ b/engines/ultima/ultima8/graphics/frame_id.cpp
@@ -29,10 +29,10 @@
namespace Ultima {
namespace Ultima8 {
-void FrameID::save(ODataSource *ods) {
- ods->writeUint16LE(_flexId);
- ods->writeUint32LE(_shapeNum);
- ods->writeUint32LE(_frameNum);
+void FrameID::save(Common::WriteStream *ws) {
+ ws->writeUint16LE(_flexId);
+ ws->writeUint32LE(_shapeNum);
+ ws->writeUint32LE(_frameNum);
}
bool FrameID::load(IDataSource *ids) {
diff --git a/engines/ultima/ultima8/graphics/frame_id.h b/engines/ultima/ultima8/graphics/frame_id.h
index 1e6098d6c7..ed8232f22c 100644
--- a/engines/ultima/ultima8/graphics/frame_id.h
+++ b/engines/ultima/ultima8/graphics/frame_id.h
@@ -41,7 +41,7 @@ struct FrameID {
: _flexId(flex), _shapeNum(shape), _frameNum(frame) {
}
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ws);
bool load(IDataSource *ids);
};
diff --git a/engines/ultima/ultima8/graphics/inverter_process.cpp b/engines/ultima/ultima8/graphics/inverter_process.cpp
index 59b96f64b6..dc0d272ccb 100644
--- a/engines/ultima/ultima8/graphics/inverter_process.cpp
+++ b/engines/ultima/ultima8/graphics/inverter_process.cpp
@@ -76,10 +76,10 @@ void InverterProcess::run() {
}
}
-void InverterProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void InverterProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint16LE(static_cast<uint16>(_targetState));
+ ws->writeUint16LE(static_cast<uint16>(_targetState));
}
bool InverterProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/graphics/inverter_process.h b/engines/ultima/ultima8/graphics/inverter_process.h
index 497d971082..412ae025ff 100644
--- a/engines/ultima/ultima8/graphics/inverter_process.h
+++ b/engines/ultima/ultima8/graphics/inverter_process.h
@@ -51,7 +51,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
static InverterProcess *_inverter;
unsigned int _targetState;
diff --git a/engines/ultima/ultima8/graphics/palette_fader_process.cpp b/engines/ultima/ultima8/graphics/palette_fader_process.cpp
index 2775c3a4d3..52ade45055 100644
--- a/engines/ultima/ultima8/graphics/palette_fader_process.cpp
+++ b/engines/ultima/ultima8/graphics/palette_fader_process.cpp
@@ -98,17 +98,17 @@ void PaletteFaderProcess::run() {
if (!_counter--) terminate();
}
-void PaletteFaderProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void PaletteFaderProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint32LE(static_cast<uint32>(_priority));
- ods->writeUint32LE(static_cast<uint32>(_counter));
- ods->writeUint32LE(static_cast<uint32>(_maxCounter));
+ ws->writeUint32LE(static_cast<uint32>(_priority));
+ ws->writeUint32LE(static_cast<uint32>(_counter));
+ ws->writeUint32LE(static_cast<uint32>(_maxCounter));
unsigned int i;
for (i = 0; i < 12; ++i)
- ods->writeUint16LE(_oldMatrix[i]);
+ ws->writeUint16LE(_oldMatrix[i]);
for (i = 0; i < 12; ++i)
- ods->writeUint16LE(_newMatrix[i]);
+ ws->writeUint16LE(_newMatrix[i]);
}
bool PaletteFaderProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/graphics/palette_fader_process.h b/engines/ultima/ultima8/graphics/palette_fader_process.h
index 9e6c9aa0e5..4ade1c711d 100644
--- a/engines/ultima/ultima8/graphics/palette_fader_process.h
+++ b/engines/ultima/ultima8/graphics/palette_fader_process.h
@@ -59,7 +59,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/ask_gump.cpp b/engines/ultima/ultima8/gumps/ask_gump.cpp
index 0679337795..9ff2410be2 100644
--- a/engines/ultima/ultima8/gumps/ask_gump.cpp
+++ b/engines/ultima/ultima8/gumps/ask_gump.cpp
@@ -117,10 +117,10 @@ void AskGump::ChildNotify(Gump *child, uint32 message) {
}
}
-void AskGump::saveData(ODataSource *ods) {
- ItemRelativeGump::saveData(ods);
+void AskGump::saveData(Common::WriteStream *ws) {
+ ItemRelativeGump::saveData(ws);
- _answers->save(ods);
+ _answers->save(ws);
}
bool AskGump::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/gumps/ask_gump.h b/engines/ultima/ultima8/gumps/ask_gump.h
index 03984447b2..dcf8c77c30 100644
--- a/engines/ultima/ultima8/gumps/ask_gump.h
+++ b/engines/ultima/ultima8/gumps/ask_gump.h
@@ -48,7 +48,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/bark_gump.cpp b/engines/ultima/ultima8/gumps/bark_gump.cpp
index be348fe3ff..94cecb0bd2 100644
--- a/engines/ultima/ultima8/gumps/bark_gump.cpp
+++ b/engines/ultima/ultima8/gumps/bark_gump.cpp
@@ -178,16 +178,16 @@ Gump *BarkGump::OnMouseDown(int button, int32 mx, int32 my) {
return this;
}
-void BarkGump::saveData(ODataSource *ods) {
- ItemRelativeGump::saveData(ods);
-
- ods->writeUint32LE(static_cast<uint32>(_counter));
- ods->writeUint16LE(_textWidget);
- ods->writeUint32LE(_speechShapeNum);
- ods->writeUint32LE(_speechLength);
- ods->writeUint32LE(_totalTextHeight);
- ods->writeUint32LE(static_cast<uint32>(_barked.size()));
- ods->write(_barked.c_str(), _barked.size());
+void BarkGump::saveData(Common::WriteStream *ws) {
+ ItemRelativeGump::saveData(ws);
+
+ ws->writeUint32LE(static_cast<uint32>(_counter));
+ ws->writeUint16LE(_textWidget);
+ ws->writeUint32LE(_speechShapeNum);
+ ws->writeUint32LE(_speechLength);
+ ws->writeUint32LE(_totalTextHeight);
+ ws->writeUint32LE(static_cast<uint32>(_barked.size()));
+ ws->write(_barked.c_str(), _barked.size());
}
bool BarkGump::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/gumps/bark_gump.h b/engines/ultima/ultima8/gumps/bark_gump.h
index 630fc291f4..63833436d4 100644
--- a/engines/ultima/ultima8/gumps/bark_gump.h
+++ b/engines/ultima/ultima8/gumps/bark_gump.h
@@ -64,7 +64,7 @@ protected:
public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/book_gump.cpp b/engines/ultima/ultima8/gumps/book_gump.cpp
index 6e6fc5e266..833003bfe5 100644
--- a/engines/ultima/ultima8/gumps/book_gump.cpp
+++ b/engines/ultima/ultima8/gumps/book_gump.cpp
@@ -110,7 +110,7 @@ uint32 BookGump::I_readBook(const uint8 *args, unsigned int /*argsize*/) {
return gump->GetNotifyProcess()->getPid();
}
-void BookGump::saveData(ODataSource *ods) {
+void BookGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save ModalGump");
}
diff --git a/engines/ultima/ultima8/gumps/book_gump.h b/engines/ultima/ultima8/gumps/book_gump.h
index b625a6093b..e1b1e3edfb 100644
--- a/engines/ultima/ultima8/gumps/book_gump.h
+++ b/engines/ultima/ultima8/gumps/book_gump.h
@@ -58,7 +58,7 @@ protected:
public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/container_gump.cpp b/engines/ultima/ultima8/gumps/container_gump.cpp
index 25a3292686..93b48287d7 100644
--- a/engines/ultima/ultima8/gumps/container_gump.cpp
+++ b/engines/ultima/ultima8/gumps/container_gump.cpp
@@ -534,13 +534,13 @@ void ContainerGump::DropItem(Item *item, int mx, int my) {
}
}
-void ContainerGump::saveData(ODataSource *ods) {
- ItemRelativeGump::saveData(ods);
+void ContainerGump::saveData(Common::WriteStream *ws) {
+ ItemRelativeGump::saveData(ws);
- ods->writeUint32LE(static_cast<uint32>(_itemArea.x));
- ods->writeUint32LE(static_cast<uint32>(_itemArea.y));
- ods->writeUint32LE(static_cast<uint32>(_itemArea.w));
- ods->writeUint32LE(static_cast<uint32>(_itemArea.h));
+ ws->writeUint32LE(static_cast<uint32>(_itemArea.x));
+ ws->writeUint32LE(static_cast<uint32>(_itemArea.y));
+ ws->writeUint32LE(static_cast<uint32>(_itemArea.w));
+ ws->writeUint32LE(static_cast<uint32>(_itemArea.h));
}
bool ContainerGump::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/gumps/container_gump.h b/engines/ultima/ultima8/gumps/container_gump.h
index 79aedabe13..0bcddf0af8 100644
--- a/engines/ultima/ultima8/gumps/container_gump.h
+++ b/engines/ultima/ultima8/gumps/container_gump.h
@@ -75,7 +75,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
void GetItemLocation(int32 lerp_factor) override;
diff --git a/engines/ultima/ultima8/gumps/desktop_gump.cpp b/engines/ultima/ultima8/gumps/desktop_gump.cpp
index 4cc5c498d9..f96a102308 100644
--- a/engines/ultima/ultima8/gumps/desktop_gump.cpp
+++ b/engines/ultima/ultima8/gumps/desktop_gump.cpp
@@ -111,7 +111,7 @@ void DesktopGump::RenderSurfaceChanged() {
Gump::RenderSurfaceChanged();
}
-void DesktopGump::saveData(ODataSource *ods) {
+void DesktopGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save DesktopGump");
}
diff --git a/engines/ultima/ultima8/gumps/desktop_gump.h b/engines/ultima/ultima8/gumps/desktop_gump.h
index 40a58d5539..e15b41fcff 100644
--- a/engines/ultima/ultima8/gumps/desktop_gump.h
+++ b/engines/ultima/ultima8/gumps/desktop_gump.h
@@ -54,7 +54,7 @@ public:
}
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
void RenderSurfaceChanged() override;
};
diff --git a/engines/ultima/ultima8/gumps/game_map_gump.cpp b/engines/ultima/ultima8/gumps/game_map_gump.cpp
index 92ddecd221..809fd934c2 100644
--- a/engines/ultima/ultima8/gumps/game_map_gump.cpp
+++ b/engines/ultima/ultima8/gumps/game_map_gump.cpp
@@ -577,7 +577,7 @@ void GameMapGump::RenderSurfaceChanged() {
Gump::RenderSurfaceChanged();
}
-void GameMapGump::saveData(ODataSource *ods) {
+void GameMapGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save GameMapGump");
}
diff --git a/engines/ultima/ultima8/gumps/game_map_gump.h b/engines/ultima/ultima8/gumps/game_map_gump.h
index a0176d2f61..54592f9a7e 100644
--- a/engines/ultima/ultima8/gumps/game_map_gump.h
+++ b/engines/ultima/ultima8/gumps/game_map_gump.h
@@ -87,7 +87,7 @@ public:
void RenderSurfaceChanged() override;
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
bool _displayDragging;
uint32 _draggingShape;
diff --git a/engines/ultima/ultima8/gumps/gump.cpp b/engines/ultima/ultima8/gumps/gump.cpp
index fe47eb1ba1..37ec3dba33 100644
--- a/engines/ultima/ultima8/gumps/gump.cpp
+++ b/engines/ultima/ultima8/gumps/gump.cpp
@@ -781,35 +781,35 @@ bool Gump::mustSave(bool toplevel) const {
return true;
}
-void Gump::saveData(ODataSource *ods) {
- Object::saveData(ods);
-
- ods->writeUint16LE(_owner);
- ods->writeUint32LE(static_cast<uint32>(_x));
- ods->writeUint32LE(static_cast<uint32>(_y));
- ods->writeUint32LE(static_cast<uint32>(_dims.x));
- ods->writeUint32LE(static_cast<uint32>(_dims.y));
- ods->writeUint32LE(static_cast<uint32>(_dims.w));
- ods->writeUint32LE(static_cast<uint32>(_dims.h));
- ods->writeUint32LE(_flags);
- ods->writeUint32LE(static_cast<uint32>(_layer));
- ods->writeUint32LE(static_cast<uint32>(_index));
+void Gump::saveData(Common::WriteStream *ws) {
+ Object::saveData(ws);
+
+ ws->writeUint16LE(_owner);
+ ws->writeUint32LE(static_cast<uint32>(_x));
+ ws->writeUint32LE(static_cast<uint32>(_y));
+ ws->writeUint32LE(static_cast<uint32>(_dims.x));
+ ws->writeUint32LE(static_cast<uint32>(_dims.y));
+ ws->writeUint32LE(static_cast<uint32>(_dims.w));
+ ws->writeUint32LE(static_cast<uint32>(_dims.h));
+ ws->writeUint32LE(_flags);
+ ws->writeUint32LE(static_cast<uint32>(_layer));
+ ws->writeUint32LE(static_cast<uint32>(_index));
uint16 flex = 0;
uint32 shapenum = 0;
if (_shape) {
_shape->getShapeId(flex, shapenum);
}
- ods->writeUint16LE(flex);
- ods->writeUint32LE(shapenum);
+ ws->writeUint16LE(flex);
+ ws->writeUint32LE(shapenum);
- ods->writeUint32LE(_frameNum);
+ ws->writeUint32LE(_frameNum);
if (_focusChild)
- ods->writeUint16LE(_focusChild->getObjId());
+ ws->writeUint16LE(_focusChild->getObjId());
else
- ods->writeUint16LE(0);
- ods->writeUint16LE(_notifier);
- ods->writeUint32LE(_processResult);
+ ws->writeUint16LE(0);
+ ws->writeUint16LE(_notifier);
+ ws->writeUint32LE(_processResult);
unsigned int childcount = 0;
Std::list<Gump *>::iterator it;
@@ -819,11 +819,11 @@ void Gump::saveData(ODataSource *ods) {
}
// write children:
- ods->writeUint32LE(childcount);
+ ws->writeUint32LE(childcount);
for (it = _children.begin(); it != _children.end(); ++it) {
if (!(*it)->mustSave(false)) continue;
- (*it)->save(ods);
+ (*it)->save(ws);
}
}
diff --git a/engines/ultima/ultima8/gumps/gump.h b/engines/ultima/ultima8/gumps/gump.h
index 59fd92ba0a..25e4637e93 100644
--- a/engines/ultima/ultima8/gumps/gump.h
+++ b/engines/ultima/ultima8/gumps/gump.h
@@ -462,7 +462,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/gump_notify_process.cpp b/engines/ultima/ultima8/gumps/gump_notify_process.cpp
index 8956f8e121..2681aed87c 100644
--- a/engines/ultima/ultima8/gumps/gump_notify_process.cpp
+++ b/engines/ultima/ultima8/gumps/gump_notify_process.cpp
@@ -74,10 +74,10 @@ void GumpNotifyProcess::dumpInfo() const {
pout << " gump: " << _gump << Std::endl;
}
-void GumpNotifyProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void GumpNotifyProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint16LE(_gump);
+ ws->writeUint16LE(_gump);
}
bool GumpNotifyProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/gumps/gump_notify_process.h b/engines/ultima/ultima8/gumps/gump_notify_process.h
index fa66e04b74..56183d3b00 100644
--- a/engines/ultima/ultima8/gumps/gump_notify_process.h
+++ b/engines/ultima/ultima8/gumps/gump_notify_process.h
@@ -56,7 +56,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/item_relative_gump.cpp b/engines/ultima/ultima8/gumps/item_relative_gump.cpp
index 54465a0156..1d729a9a4e 100644
--- a/engines/ultima/ultima8/gumps/item_relative_gump.cpp
+++ b/engines/ultima/ultima8/gumps/item_relative_gump.cpp
@@ -171,8 +171,8 @@ void ItemRelativeGump::Move(int32 x, int32 y) {
_y += y;
}
-void ItemRelativeGump::saveData(ODataSource *ods) {
- Gump::saveData(ods);
+void ItemRelativeGump::saveData(Common::WriteStream *ws) {
+ Gump::saveData(ws);
}
bool ItemRelativeGump::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/gumps/item_relative_gump.h b/engines/ultima/ultima8/gumps/item_relative_gump.h
index 3a7b5f24f8..9e9ab6ace0 100644
--- a/engines/ultima/ultima8/gumps/item_relative_gump.h
+++ b/engines/ultima/ultima8/gumps/item_relative_gump.h
@@ -55,7 +55,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
virtual void GetItemLocation(int32 lerp_factor);
diff --git a/engines/ultima/ultima8/gumps/main_menu_process.cpp b/engines/ultima/ultima8/gumps/main_menu_process.cpp
index 5553b5abeb..fc21acac3e 100644
--- a/engines/ultima/ultima8/gumps/main_menu_process.cpp
+++ b/engines/ultima/ultima8/gumps/main_menu_process.cpp
@@ -54,10 +54,10 @@ void MainMenuProcess::run() {
terminate();
}
-void MainMenuProcess::saveData(ODataSource *ods) {
+void MainMenuProcess::saveData(Common::WriteStream *ws) {
CANT_HAPPEN();
- Process::saveData(ods);
+ Process::saveData(ws);
}
bool MainMenuProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/gumps/main_menu_process.h b/engines/ultima/ultima8/gumps/main_menu_process.h
index ac1922a39d..3dc76c79ba 100644
--- a/engines/ultima/ultima8/gumps/main_menu_process.h
+++ b/engines/ultima/ultima8/gumps/main_menu_process.h
@@ -42,7 +42,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
bool _init;
};
diff --git a/engines/ultima/ultima8/gumps/message_box_gump.cpp b/engines/ultima/ultima8/gumps/message_box_gump.cpp
index 166f5201d8..0e6d058763 100644
--- a/engines/ultima/ultima8/gumps/message_box_gump.cpp
+++ b/engines/ultima/ultima8/gumps/message_box_gump.cpp
@@ -167,7 +167,7 @@ ProcId MessageBoxGump::Show(Std::string _title, Std::string _message, uint32 tit
return gump->GetNotifyProcess()->getPid();
}
-void MessageBoxGump::saveData(ODataSource *ods) {
+void MessageBoxGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to load ModalGump");
}
diff --git a/engines/ultima/ultima8/gumps/message_box_gump.h b/engines/ultima/ultima8/gumps/message_box_gump.h
index 09a176bb5c..a96f82dbdf 100644
--- a/engines/ultima/ultima8/gumps/message_box_gump.h
+++ b/engines/ultima/ultima8/gumps/message_box_gump.h
@@ -66,7 +66,7 @@ public:
void ChildNotify(Gump *child, uint32 msg) override;
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/mini_stats_gump.cpp b/engines/ultima/ultima8/gumps/mini_stats_gump.cpp
index 52893a1d80..be2f2fdce1 100644
--- a/engines/ultima/ultima8/gumps/mini_stats_gump.cpp
+++ b/engines/ultima/ultima8/gumps/mini_stats_gump.cpp
@@ -126,8 +126,8 @@ void MiniStatsGump::OnMouseDouble(int button, int32 mx, int32 my) {
Close();
}
-void MiniStatsGump::saveData(ODataSource *ods) {
- Gump::saveData(ods);
+void MiniStatsGump::saveData(Common::WriteStream *ws) {
+ Gump::saveData(ws);
}
bool MiniStatsGump::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/gumps/mini_stats_gump.h b/engines/ultima/ultima8/gumps/mini_stats_gump.h
index be9151c9ca..6feb8c9643 100644
--- a/engines/ultima/ultima8/gumps/mini_stats_gump.h
+++ b/engines/ultima/ultima8/gumps/mini_stats_gump.h
@@ -52,7 +52,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/minimap_gump.cpp b/engines/ultima/ultima8/gumps/minimap_gump.cpp
index 71ed552846..70a089e62b 100644
--- a/engines/ultima/ultima8/gumps/minimap_gump.cpp
+++ b/engines/ultima/ultima8/gumps/minimap_gump.cpp
@@ -195,8 +195,8 @@ uint32 MiniMapGump::sampleAtPoint(int x, int y, CurrentMap *currentmap) {
}
}
-void MiniMapGump::saveData(ODataSource *ods) {
- Gump::saveData(ods);
+void MiniMapGump::saveData(Common::WriteStream *ws) {
+ Gump::saveData(ws);
}
bool MiniMapGump::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/gumps/minimap_gump.h b/engines/ultima/ultima8/gumps/minimap_gump.h
index 713a4044d7..9d31a2186c 100644
--- a/engines/ultima/ultima8/gumps/minimap_gump.h
+++ b/engines/ultima/ultima8/gumps/minimap_gump.h
@@ -53,7 +53,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/modal_gump.cpp b/engines/ultima/ultima8/gumps/modal_gump.cpp
index 917082ee95..3419a5eee6 100644
--- a/engines/ultima/ultima8/gumps/modal_gump.cpp
+++ b/engines/ultima/ultima8/gumps/modal_gump.cpp
@@ -98,7 +98,7 @@ Gump *ModalGump::OnMouseDown(int button, int32 mx, int32 my) {
}
-void ModalGump::saveData(ODataSource *ods) {
+void ModalGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save ModalGump");
}
diff --git a/engines/ultima/ultima8/gumps/modal_gump.h b/engines/ultima/ultima8/gumps/modal_gump.h
index 329ba70718..27b8c72c38 100644
--- a/engines/ultima/ultima8/gumps/modal_gump.h
+++ b/engines/ultima/ultima8/gumps/modal_gump.h
@@ -51,7 +51,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/movie_gump.cpp b/engines/ultima/ultima8/gumps/movie_gump.cpp
index 9989ebea15..f0cd018d17 100644
--- a/engines/ultima/ultima8/gumps/movie_gump.cpp
+++ b/engines/ultima/ultima8/gumps/movie_gump.cpp
@@ -116,7 +116,7 @@ bool MovieGump::loadData(IDataSource *ids) {
return false;
}
-void MovieGump::saveData(ODataSource *ods) {
+void MovieGump::saveData(Common::WriteStream *ws) {
}
diff --git a/engines/ultima/ultima8/gumps/movie_gump.h b/engines/ultima/ultima8/gumps/movie_gump.h
index 7674780da1..76ec7c0f90 100644
--- a/engines/ultima/ultima8/gumps/movie_gump.h
+++ b/engines/ultima/ultima8/gumps/movie_gump.h
@@ -56,7 +56,7 @@ public:
bool loadData(IDataSource *ids);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
SKFPlayer *_player;
};
diff --git a/engines/ultima/ultima8/gumps/paged_gump.cpp b/engines/ultima/ultima8/gumps/paged_gump.cpp
index 70bf894d8d..f549027956 100644
--- a/engines/ultima/ultima8/gumps/paged_gump.cpp
+++ b/engines/ultima/ultima8/gumps/paged_gump.cpp
@@ -160,7 +160,7 @@ bool PagedGump::loadData(IDataSource *ids) {
return false;
}
-void PagedGump::saveData(ODataSource *ods) {
+void PagedGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save ModalGump");
}
diff --git a/engines/ultima/ultima8/gumps/paged_gump.h b/engines/ultima/ultima8/gumps/paged_gump.h
index ffb374ab65..081058562b 100644
--- a/engines/ultima/ultima8/gumps/paged_gump.h
+++ b/engines/ultima/ultima8/gumps/paged_gump.h
@@ -55,7 +55,7 @@ public:
bool loadData(IDataSource *ids);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
int _leftOff, _rightOff, _topOff, _gumpShape;
Std::vector<Gump *> _gumps;
Gump *_nextButton;
diff --git a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
index e09d80ec5b..86e8a43004 100644
--- a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
+++ b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
@@ -409,10 +409,10 @@ void PaperdollGump::ChildNotify(Gump *child, uint32 message) {
}
-void PaperdollGump::saveData(ODataSource *ods) {
- ContainerGump::saveData(ods);
+void PaperdollGump::saveData(Common::WriteStream *ws) {
+ ContainerGump::saveData(ws);
- ods->writeUint16LE(_statButtonId);
+ ws->writeUint16LE(_statButtonId);
}
bool PaperdollGump::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/gumps/paperdoll_gump.h b/engines/ultima/ultima8/gumps/paperdoll_gump.h
index 4a9cb52a13..5172985ac9 100644
--- a/engines/ultima/ultima8/gumps/paperdoll_gump.h
+++ b/engines/ultima/ultima8/gumps/paperdoll_gump.h
@@ -65,7 +65,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
//! Paint the stats
void PaintStats(RenderSurface *, int32 lerp_factor);
diff --git a/engines/ultima/ultima8/gumps/quit_gump.cpp b/engines/ultima/ultima8/gumps/quit_gump.cpp
index c518c7cb5c..549720714f 100644
--- a/engines/ultima/ultima8/gumps/quit_gump.cpp
+++ b/engines/ultima/ultima8/gumps/quit_gump.cpp
@@ -146,7 +146,7 @@ bool QuitGump::loadData(IDataSource *ids) {
return true;
}
-void QuitGump::saveData(ODataSource *ods) {
+void QuitGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save ModalGump");
}
diff --git a/engines/ultima/ultima8/gumps/quit_gump.h b/engines/ultima/ultima8/gumps/quit_gump.h
index 3dafdcd96a..afe5c80330 100644
--- a/engines/ultima/ultima8/gumps/quit_gump.h
+++ b/engines/ultima/ultima8/gumps/quit_gump.h
@@ -48,7 +48,7 @@ public:
bool loadData(IDataSource *ids);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
ObjId _yesWidget, _noWidget;
};
diff --git a/engines/ultima/ultima8/gumps/readable_gump.cpp b/engines/ultima/ultima8/gumps/readable_gump.cpp
index ba11a79c36..0ed190bc11 100644
--- a/engines/ultima/ultima8/gumps/readable_gump.cpp
+++ b/engines/ultima/ultima8/gumps/readable_gump.cpp
@@ -122,7 +122,7 @@ uint32 ReadableGump::I_readPlaque(const uint8 *args, unsigned int /*argsize*/) {
return gump->GetNotifyProcess()->getPid();
}
-void ReadableGump::saveData(ODataSource *ods) {
+void ReadableGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to load ModalGump");
}
diff --git a/engines/ultima/ultima8/gumps/readable_gump.h b/engines/ultima/ultima8/gumps/readable_gump.h
index 22aed6926f..04b1406944 100644
--- a/engines/ultima/ultima8/gumps/readable_gump.h
+++ b/engines/ultima/ultima8/gumps/readable_gump.h
@@ -53,7 +53,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/scroll_gump.cpp b/engines/ultima/ultima8/gumps/scroll_gump.cpp
index 151cbae502..117294af04 100644
--- a/engines/ultima/ultima8/gumps/scroll_gump.cpp
+++ b/engines/ultima/ultima8/gumps/scroll_gump.cpp
@@ -98,7 +98,7 @@ uint32 ScrollGump::I_readScroll(const uint8 *args, unsigned int /*argsize*/) {
return gump->GetNotifyProcess()->getPid();
}
-void ScrollGump::saveData(ODataSource *ods) {
+void ScrollGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save ModalGump");
}
diff --git a/engines/ultima/ultima8/gumps/scroll_gump.h b/engines/ultima/ultima8/gumps/scroll_gump.h
index 20f11be434..0f0d422ea7 100644
--- a/engines/ultima/ultima8/gumps/scroll_gump.h
+++ b/engines/ultima/ultima8/gumps/scroll_gump.h
@@ -57,7 +57,7 @@ protected:
public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp b/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
index 459a641448..7b7bf07b65 100644
--- a/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
+++ b/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
@@ -279,7 +279,7 @@ bool ShapeViewerGump::loadData(IDataSource *ids) {
return false;
}
-void ShapeViewerGump::saveData(ODataSource *ods) {
+void ShapeViewerGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save ModalGump");
}
diff --git a/engines/ultima/ultima8/gumps/shape_viewer_gump.h b/engines/ultima/ultima8/gumps/shape_viewer_gump.h
index fdfbc0e9c0..bb53a19ce6 100644
--- a/engines/ultima/ultima8/gumps/shape_viewer_gump.h
+++ b/engines/ultima/ultima8/gumps/shape_viewer_gump.h
@@ -53,7 +53,7 @@ public:
bool loadData(IDataSource *ids);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
Std::vector<Std::pair<Std::string, ShapeArchive *> > _flexes;
unsigned int _curFlex;
diff --git a/engines/ultima/ultima8/gumps/slider_gump.cpp b/engines/ultima/ultima8/gumps/slider_gump.cpp
index 16b7c6504b..61c879296f 100644
--- a/engines/ultima/ultima8/gumps/slider_gump.cpp
+++ b/engines/ultima/ultima8/gumps/slider_gump.cpp
@@ -242,7 +242,7 @@ void SliderGump::setUsecodeNotify(UCProcess *ucp) {
_usecodeNotifyPID = ucp->getPid();
}
-void SliderGump::saveData(ODataSource *ods) {
+void SliderGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save ModalGump");
}
diff --git a/engines/ultima/ultima8/gumps/slider_gump.h b/engines/ultima/ultima8/gumps/slider_gump.h
index 2c15a6b6d6..34171ba92a 100644
--- a/engines/ultima/ultima8/gumps/slider_gump.h
+++ b/engines/ultima/ultima8/gumps/slider_gump.h
@@ -57,7 +57,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
int16 _min;
int16 _max;
diff --git a/engines/ultima/ultima8/gumps/target_gump.cpp b/engines/ultima/ultima8/gumps/target_gump.cpp
index 2523a1c49a..757c1725f3 100644
--- a/engines/ultima/ultima8/gumps/target_gump.cpp
+++ b/engines/ultima/ultima8/gumps/target_gump.cpp
@@ -109,7 +109,7 @@ uint32 TargetGump::I_target(const uint8 * /*args*/, unsigned int /*argsize*/) {
-void TargetGump::saveData(ODataSource *ods) {
+void TargetGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save ModalGump");
}
diff --git a/engines/ultima/ultima8/gumps/target_gump.h b/engines/ultima/ultima8/gumps/target_gump.h
index 865ab9108a..157eddf0c5 100644
--- a/engines/ultima/ultima8/gumps/target_gump.h
+++ b/engines/ultima/ultima8/gumps/target_gump.h
@@ -51,7 +51,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
private:
bool _targetTracing;
diff --git a/engines/ultima/ultima8/gumps/widgets/button_widget.cpp b/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
index fabe8b8e69..88a3b460b0 100644
--- a/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
@@ -179,7 +179,7 @@ void ButtonWidget::OnMouseLeft() {
}
}
-void ButtonWidget::saveData(ODataSource *ods) {
+void ButtonWidget::saveData(Common::WriteStream *ws) {
// HACK ALERT
int w = 0, h = 0;
if (_textWidget != 0) {
@@ -189,7 +189,7 @@ void ButtonWidget::saveData(ODataSource *ods) {
_dims.h = _origH;
}
- Gump::saveData(ods);
+ Gump::saveData(ws);
// HACK ALERT
if (_textWidget != 0) {
@@ -202,23 +202,23 @@ void ButtonWidget::saveData(ODataSource *ods) {
if (_shapeUp) {
_shapeUp->getShapeId(flex, shapenum);
}
- ods->writeUint16LE(flex);
- ods->writeUint32LE(shapenum);
- ods->writeUint32LE(_frameNumUp);
+ ws->writeUint16LE(flex);
+ ws->writeUint32LE(shapenum);
+ ws->writeUint32LE(_frameNumUp);
flex = 0;
shapenum = 0;
if (_shapeDown) {
_shapeDown->getShapeId(flex, shapenum);
}
- ods->writeUint16LE(flex);
- ods->writeUint32LE(shapenum);
- ods->writeUint32LE(_frameNumDown);
- ods->writeUint16LE(_textWidget);
- ods->writeUint32LE(_mouseOverBlendCol);
+ ws->writeUint16LE(flex);
+ ws->writeUint32LE(shapenum);
+ ws->writeUint32LE(_frameNumDown);
+ ws->writeUint16LE(_textWidget);
+ ws->writeUint32LE(_mouseOverBlendCol);
uint8 m = (_mouseOver ? 1 : 0);
- ods->writeByte(m);
+ ws->writeByte(m);
}
bool ButtonWidget::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/gumps/widgets/button_widget.h b/engines/ultima/ultima8/gumps/widgets/button_widget.h
index 8b916654e4..26d1da838e 100644
--- a/engines/ultima/ultima8/gumps/widgets/button_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/button_widget.h
@@ -80,7 +80,7 @@ protected:
public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp b/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
index 686688b005..489feadd93 100644
--- a/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
@@ -59,8 +59,8 @@ uint16 SlidingWidget::TraceObjId(int32 mx, int32 my) {
return 0;
}
-void SlidingWidget::saveData(ODataSource *ods) {
- Gump::saveData(ods);
+void SlidingWidget::saveData(Common::WriteStream *ws) {
+ Gump::saveData(ws);
}
bool SlidingWidget::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/gumps/widgets/sliding_widget.h b/engines/ultima/ultima8/gumps/widgets/sliding_widget.h
index 0e9ea2e14f..5a8b653601 100644
--- a/engines/ultima/ultima8/gumps/widgets/sliding_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/sliding_widget.h
@@ -42,7 +42,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/gumps/widgets/text_widget.cpp b/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
index 28380f3e97..2257b0e812 100644
--- a/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
@@ -214,19 +214,19 @@ Gump *TextWidget::OnMouseMotion(int32 mx, int32 my) {
}
-void TextWidget::saveData(ODataSource *ods) {
- Gump::saveData(ods);
-
- ods->writeByte(_gameFont ? 1 : 0);
- ods->writeUint32LE(static_cast<uint32>(_fontNum));
- ods->writeUint32LE(_blendColour);
- ods->writeUint32LE(static_cast<uint32>(_currentStart));
- ods->writeUint32LE(static_cast<uint32>(_currentEnd));
- ods->writeUint32LE(static_cast<uint32>(_targetWidth));
- ods->writeUint32LE(static_cast<uint32>(_targetHeight));
- ods->writeUint16LE(static_cast<uint16>(_textAlign));
- ods->writeUint32LE(_text.size());
- ods->write(_text.c_str(), _text.size());
+void TextWidget::saveData(Common::WriteStream *ws) {
+ Gump::saveData(ws);
+
+ ws->writeByte(_gameFont ? 1 : 0);
+ ws->writeUint32LE(static_cast<uint32>(_fontNum));
+ ws->writeUint32LE(_blendColour);
+ ws->writeUint32LE(static_cast<uint32>(_currentStart));
+ ws->writeUint32LE(static_cast<uint32>(_currentEnd));
+ ws->writeUint32LE(static_cast<uint32>(_targetWidth));
+ ws->writeUint32LE(static_cast<uint32>(_targetHeight));
+ ws->writeUint16LE(static_cast<uint16>(_textAlign));
+ ws->writeUint32LE(_text.size());
+ ws->write(_text.c_str(), _text.size());
}
bool TextWidget::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/gumps/widgets/text_widget.h b/engines/ultima/ultima8/gumps/widgets/text_widget.h
index 6e598cef04..892d491ae4 100644
--- a/engines/ultima/ultima8/gumps/widgets/text_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/text_widget.h
@@ -102,7 +102,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/kernel/delay_process.cpp b/engines/ultima/ultima8/kernel/delay_process.cpp
index ac3f209296..ff250dcf4e 100644
--- a/engines/ultima/ultima8/kernel/delay_process.cpp
+++ b/engines/ultima/ultima8/kernel/delay_process.cpp
@@ -59,9 +59,9 @@ bool DelayProcess::loadData(IDataSource *ids, uint32 version) {
return true;
}
-void DelayProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
- ods->writeUint32LE(static_cast<uint32>(_count));
+void DelayProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
+ ws->writeUint32LE(static_cast<uint32>(_count));
}
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/kernel/delay_process.h b/engines/ultima/ultima8/kernel/delay_process.h
index 0dba472b1b..ea08d7b006 100644
--- a/engines/ultima/ultima8/kernel/delay_process.h
+++ b/engines/ultima/ultima8/kernel/delay_process.h
@@ -46,7 +46,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
int _count;
};
diff --git a/engines/ultima/ultima8/kernel/kernel.cpp b/engines/ultima/ultima8/kernel/kernel.cpp
index 5f6ca93aac..5a6d06e8e8 100644
--- a/engines/ultima/ultima8/kernel/kernel.cpp
+++ b/engines/ultima/ultima8/kernel/kernel.cpp
@@ -321,12 +321,12 @@ void Kernel::killProcessesNotOfType(ObjId objid, uint16 processtype, bool fail)
}
}
-void Kernel::save(ODataSource *ods) {
- ods->writeUint32LE(_frameNum);
- _pIDs->save(ods);
- ods->writeUint32LE(_processes.size());
+void Kernel::save(Common::WriteStream *ws) {
+ ws->writeUint32LE(_frameNum);
+ _pIDs->save(ws);
+ ws->writeUint32LE(_processes.size());
for (ProcessIterator it = _processes.begin(); it != _processes.end(); ++it) {
- (*it)->save(ods);
+ (*it)->save(ws);
}
}
diff --git a/engines/ultima/ultima8/kernel/kernel.h b/engines/ultima/ultima8/kernel/kernel.h
index 75da62deb0..c99e09f54c 100644
--- a/engines/ultima/ultima8/kernel/kernel.h
+++ b/engines/ultima/ultima8/kernel/kernel.h
@@ -98,7 +98,7 @@ public:
void kernelStats();
void processTypes();
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ws);
bool load(IDataSource *ids, uint32 version);
void pause() {
diff --git a/engines/ultima/ultima8/kernel/object.cpp b/engines/ultima/ultima8/kernel/object.cpp
index 7975ad611a..42e87eacb5 100644
--- a/engines/ultima/ultima8/kernel/object.cpp
+++ b/engines/ultima/ultima8/kernel/object.cpp
@@ -71,24 +71,24 @@ ProcId Object::callUsecode(uint16 classid, uint16 offset,
}
-void Object::save(ODataSource *ods) {
- writeObjectHeader(ods);
- saveData(ods); // virtual
+void Object::save(Common::WriteStream *ws) {
+ writeObjectHeader(ws);
+ saveData(ws); // virtual
}
-void Object::writeObjectHeader(ODataSource *ods) const {
+void Object::writeObjectHeader(Common::WriteStream *ws) const {
const char *cname = GetClassType()._className; // note: virtual
uint16 clen = strlen(cname);
- ods->writeUint16LE(clen);
- ods->write(cname, clen);
+ ws->writeUint16LE(clen);
+ ws->write(cname, clen);
}
-void Object::saveData(ODataSource *ods) {
+void Object::saveData(Common::WriteStream *ws) {
// note: Object is unversioned. If we ever want to version it,
// increase the global savegame version
- ods->writeUint16LE(_objId);
+ ws->writeUint16LE(_objId);
}
bool Object::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/kernel/object.h b/engines/ultima/ultima8/kernel/object.h
index dfc631f013..61f0d29e7b 100644
--- a/engines/ultima/ultima8/kernel/object.h
+++ b/engines/ultima/ultima8/kernel/object.h
@@ -60,7 +60,7 @@ public:
virtual void dumpInfo() const;
//! save this object
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ws);
//! Spawn a usecode function on this object
//! \param classid The usecode class to run
@@ -76,10 +76,10 @@ public:
protected:
//! write the Object savegame header (mainly consisting of the classname)
- void writeObjectHeader(ODataSource *ods) const;
+ void writeObjectHeader(Common::WriteStream *ws) const;
//! save the actual Object data
- virtual void saveData(ODataSource *ods);
+ virtual void saveData(Common::WriteStream *ws);
ObjId _objId;
};
diff --git a/engines/ultima/ultima8/kernel/object_manager.cpp b/engines/ultima/ultima8/kernel/object_manager.cpp
index 2dce59685f..fdb7b6b767 100644
--- a/engines/ultima/ultima8/kernel/object_manager.cpp
+++ b/engines/ultima/ultima8/kernel/object_manager.cpp
@@ -211,9 +211,9 @@ void ObjectManager::allow64kObjects() {
}
-void ObjectManager::save(ODataSource *ods) {
- _objIDs->save(ods);
- _actorIDs->save(ods);
+void ObjectManager::save(Common::WriteStream *ws) {
+ _objIDs->save(ws);
+ _actorIDs->save(ws);
for (unsigned int i = 0; i < _objects.size(); ++i) {
Object *object = _objects[i];
@@ -229,10 +229,10 @@ void ObjectManager::save(ODataSource *ods) {
// FIXME: This leaks _objIDs. See comment in ObjectManager::load().
if (gump && !gump->mustSave(true)) continue;
- object->save(ods);
+ object->save(ws);
}
- ods->writeUint16LE(0);
+ ws->writeUint16LE(0);
}
diff --git a/engines/ultima/ultima8/kernel/object_manager.h b/engines/ultima/ultima8/kernel/object_manager.h
index 68d171ed00..aae02a3dbe 100644
--- a/engines/ultima/ultima8/kernel/object_manager.h
+++ b/engines/ultima/ultima8/kernel/object_manager.h
@@ -64,7 +64,7 @@ public:
void objectStats();
void objectTypes();
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ws);
bool load(IDataSource *ids, uint32 version);
Object *loadObject(IDataSource *ids, uint32 version);
diff --git a/engines/ultima/ultima8/kernel/process.cpp b/engines/ultima/ultima8/kernel/process.cpp
index 03ebe33890..6221ba7806 100644
--- a/engines/ultima/ultima8/kernel/process.cpp
+++ b/engines/ultima/ultima8/kernel/process.cpp
@@ -121,28 +121,28 @@ void Process::dumpInfo() const {
g_debugger->debugPrintf("%s\n", info.c_str());
}
-void Process::save(ODataSource *ods) {
- writeProcessHeader(ods);
- saveData(ods); // virtual
+void Process::save(Common::WriteStream *ws) {
+ writeProcessHeader(ws);
+ saveData(ws); // virtual
}
-void Process::writeProcessHeader(ODataSource *ods) {
+void Process::writeProcessHeader(Common::WriteStream *ws) {
const char *cname = GetClassType()._className; // virtual
uint16 clen = strlen(cname);
- ods->writeUint16LE(clen);
- ods->write(cname, clen);
+ ws->writeUint16LE(clen);
+ ws->write(cname, clen);
}
-void Process::saveData(ODataSource *ods) {
- ods->writeUint16LE(_pid);
- ods->writeUint32LE(_flags);
- ods->writeUint16LE(_itemNum);
- ods->writeUint16LE(_type);
- ods->writeUint32LE(_result);
- ods->writeUint32LE(static_cast<uint32>(_waiting.size()));
+void Process::saveData(Common::WriteStream *ws) {
+ ws->writeUint16LE(_pid);
+ ws->writeUint32LE(_flags);
+ ws->writeUint16LE(_itemNum);
+ ws->writeUint16LE(_type);
+ ws->writeUint32LE(_result);
+ ws->writeUint32LE(static_cast<uint32>(_waiting.size()));
for (unsigned int i = 0; i < _waiting.size(); ++i)
- ods->writeUint16LE(_waiting[i]);
+ ws->writeUint16LE(_waiting[i]);
}
bool Process::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/kernel/process.h b/engines/ultima/ultima8/kernel/process.h
index d3cdadd8f6..81bab455b0 100644
--- a/engines/ultima/ultima8/kernel/process.h
+++ b/engines/ultima/ultima8/kernel/process.h
@@ -115,16 +115,16 @@ public:
virtual void dumpInfo() const;
//! save this process
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ods);
//! load Process data
bool loadData(IDataSource *ids, uint32 version);
protected:
//! save the Process data
- virtual void saveData(ODataSource *ods);
+ virtual void saveData(Common::WriteStream *ws);
- void writeProcessHeader(ODataSource *ods);
+ void writeProcessHeader(Common::WriteStream *ods);
//! process id
ProcId _pid;
diff --git a/engines/ultima/ultima8/misc/id_man.cpp b/engines/ultima/ultima8/misc/id_man.cpp
index da9ee898b6..39a03d9dd8 100644
--- a/engines/ultima/ultima8/misc/id_man.cpp
+++ b/engines/ultima/ultima8/misc/id_man.cpp
@@ -183,18 +183,18 @@ void idMan::clearID(uint16 id) {
assert(!_first || _last);
}
-void idMan::save(ODataSource *ods) {
- ods->writeUint16LE(_begin);
- ods->writeUint16LE(_end);
- ods->writeUint16LE(_maxEnd);
- ods->writeUint16LE(_startCount);
- ods->writeUint16LE(_usedCount);
+void idMan::save(Common::WriteStream *ws) {
+ ws->writeUint16LE(_begin);
+ ws->writeUint16LE(_end);
+ ws->writeUint16LE(_maxEnd);
+ ws->writeUint16LE(_startCount);
+ ws->writeUint16LE(_usedCount);
uint16 cur = _first;
while (cur) {
- ods->writeUint16LE(cur);
+ ws->writeUint16LE(cur);
cur = _ids[cur];
}
- ods->writeUint16LE(0); // terminator
+ ws->writeUint16LE(0); // terminator
}
bool idMan::load(IDataSource *ds, uint32 version) {
diff --git a/engines/ultima/ultima8/misc/id_man.h b/engines/ultima/ultima8/misc/id_man.h
index 80778d0772..5da79164be 100644
--- a/engines/ultima/ultima8/misc/id_man.h
+++ b/engines/ultima/ultima8/misc/id_man.h
@@ -96,7 +96,7 @@ public:
_maxEnd = maxEnd;
}
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ws);
bool load(IDataSource *ids, uint32 version);
private:
diff --git a/engines/ultima/ultima8/ultima8.cpp b/engines/ultima/ultima8/ultima8.cpp
index d099bf4d08..0a06ddcaca 100644
--- a/engines/ultima/ultima8/ultima8.cpp
+++ b/engines/ultima/ultima8/ultima8.cpp
@@ -910,24 +910,24 @@ void Ultima8Engine::handleDelayedEvents() {
}
-void Ultima8Engine::writeSaveInfo(ODataSource *ods) {
+void Ultima8Engine::writeSaveInfo(Common::WriteStream *ws) {
TimeDate timeInfo;
g_system->getTimeAndDate(timeInfo);
- ods->writeUint16LE(static_cast<uint16>(timeInfo.tm_year + 1900));
- ods->writeByte(static_cast<uint8>(timeInfo.tm_mon + 1));
- ods->writeByte(static_cast<uint8>(timeInfo.tm_mday));
- ods->writeByte(static_cast<uint8>(timeInfo.tm_hour));
- ods->writeByte(static_cast<uint8>(timeInfo.tm_min));
- ods->writeByte(static_cast<uint8>(timeInfo.tm_sec));
- ods->writeUint32LE(_saveCount);
- ods->writeUint32LE(getGameTimeInSeconds());
+ ws->writeUint16LE(static_cast<uint16>(timeInfo.tm_year + 1900));
+ ws->writeByte(static_cast<uint8>(timeInfo.tm_mon + 1));
+ ws->writeByte(static_cast<uint8>(timeInfo.tm_mday));
+ ws->writeByte(static_cast<uint8>(timeInfo.tm_hour));
+ ws->writeByte(static_cast<uint8>(timeInfo.tm_min));
+ ws->writeByte(static_cast<uint8>(timeInfo.tm_sec));
+ ws->writeUint32LE(_saveCount);
+ ws->writeUint32LE(getGameTimeInSeconds());
uint8 c = (_hasCheated ? 1 : 0);
- ods->writeByte(c);
+ ws->writeByte(c);
// write _game-specific info
- _game->writeSaveInfo(ods);
+ _game->writeSaveInfo(ws);
}
bool Ultima8Engine::canSaveGameStateCurrently(bool isAutosave) {
@@ -1377,24 +1377,24 @@ uint32 Ultima8Engine::getGameTimeInSeconds() {
}
-void Ultima8Engine::save(ODataSource *ods) {
+void Ultima8Engine::save(Common::WriteStream *ws) {
uint8 s = (_avatarInStasis ? 1 : 0);
- ods->writeByte(s);
+ ws->writeByte(s);
int32 absoluteTime = Kernel::get_instance()->getFrameNum() + _timeOffset;
- ods->writeUint32LE(static_cast<uint32>(absoluteTime));
- ods->writeUint16LE(_avatarMoverProcess->getPid());
+ ws->writeUint32LE(static_cast<uint32>(absoluteTime));
+ ws->writeUint16LE(_avatarMoverProcess->getPid());
Palette *pal = PaletteManager::get_instance()->getPalette(PaletteManager::Pal_Game);
- for (int i = 0; i < 12; i++) ods->writeUint16LE(pal->_matrix[i]);
- ods->writeUint16LE(pal->_transform);
+ for (int i = 0; i < 12; i++) ws->writeUint16LE(pal->_matrix[i]);
+ ws->writeUint16LE(pal->_transform);
- ods->writeUint16LE(static_cast<uint16>(_inversion));
+ ws->writeUint16LE(static_cast<uint16>(_inversion));
- ods->writeUint32LE(_saveCount);
+ ws->writeUint32LE(_saveCount);
uint8 c = (_hasCheated ? 1 : 0);
- ods->writeByte(c);
+ ws->writeByte(c);
}
bool Ultima8Engine::load(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/ultima8.h b/engines/ultima/ultima8/ultima8.h
index 7ecca762f4..c8c3327d12 100644
--- a/engines/ultima/ultima8/ultima8.h
+++ b/engines/ultima/ultima8/ultima8.h
@@ -143,10 +143,10 @@ private:
private:
//! write savegame info (time, ..., game-specifics)
- void writeSaveInfo(ODataSource *ods);
+ void writeSaveInfo(Common::WriteStream *ws);
//! save CoreApp/Ultima8Engine data
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ws);
//! load CoreApp/Ultima8Engine data
bool load(IDataSource *ids, uint32 version);
diff --git a/engines/ultima/ultima8/usecode/bit_set.cpp b/engines/ultima/ultima8/usecode/bit_set.cpp
index 6dcf0cdb3b..070ce47b3a 100644
--- a/engines/ultima/ultima8/usecode/bit_set.cpp
+++ b/engines/ultima/ultima8/usecode/bit_set.cpp
@@ -115,9 +115,9 @@ void BitSet::setBits(unsigned int pos, unsigned int n, uint32 bits) {
_data[lastbyte] |= (bits >> shift) & lastmask;
}
-void BitSet::save(ODataSource *ods) {
- ods->writeUint32LE(_size);
- ods->write(_data, _bytes);
+void BitSet::save(Common::WriteStream *ws) {
+ ws->writeUint32LE(_size);
+ ws->write(_data, _bytes);
}
bool BitSet::load(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/usecode/bit_set.h b/engines/ultima/ultima8/usecode/bit_set.h
index ecda097085..b2e642338e 100644
--- a/engines/ultima/ultima8/usecode/bit_set.h
+++ b/engines/ultima/ultima8/usecode/bit_set.h
@@ -51,7 +51,7 @@ public:
//! \param bits the value to set
void setBits(unsigned int pos, unsigned int n, uint32 bits);
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ws);
bool load(IDataSource *ids, uint32 version);
private:
diff --git a/engines/ultima/ultima8/usecode/uc_list.cpp b/engines/ultima/ultima8/usecode/uc_list.cpp
index ce0d4344d2..70ac554aa5 100644
--- a/engines/ultima/ultima8/usecode/uc_list.cpp
+++ b/engines/ultima/ultima8/usecode/uc_list.cpp
@@ -116,10 +116,10 @@ void UCList::removeString(uint16 s, bool nodel) {
}
}
-void UCList::save(ODataSource *ods) {
- ods->writeUint32LE(_elementSize);
- ods->writeUint32LE(_size);
- ods->write(&(_elements[0]), _size * _elementSize);
+void UCList::save(Common::WriteStream *ws) {
+ ws->writeUint32LE(_elementSize);
+ ws->writeUint32LE(_size);
+ ws->write(&(_elements[0]), _size * _elementSize);
}
diff --git a/engines/ultima/ultima8/usecode/uc_list.h b/engines/ultima/ultima8/usecode/uc_list.h
index 3ed5763fdb..99d00d55cc 100644
--- a/engines/ultima/ultima8/usecode/uc_list.h
+++ b/engines/ultima/ultima8/usecode/uc_list.h
@@ -158,7 +158,7 @@ public:
uint16 getStringIndex(uint32 index) const;
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ws);
bool load(IDataSource *ids, uint32 version);
private:
diff --git a/engines/ultima/ultima8/usecode/uc_machine.cpp b/engines/ultima/ultima8/usecode/uc_machine.cpp
index 0abe2a67ea..d58f319b16 100644
--- a/engines/ultima/ultima8/usecode/uc_machine.cpp
+++ b/engines/ultima/ultima8/usecode/uc_machine.cpp
@@ -2231,30 +2231,30 @@ void UCMachine::usecodeStats() const {
#endif
}
-void UCMachine::saveGlobals(ODataSource *ods) {
- _globals->save(ods);
+void UCMachine::saveGlobals(Common::WriteStream *ws) {
+ _globals->save(ws);
}
-void UCMachine::saveStrings(ODataSource *ods) {
- _stringIDs->save(ods);
- ods->writeUint32LE(static_cast<uint32>(_stringHeap.size()));
+void UCMachine::saveStrings(Common::WriteStream *ws) {
+ _stringIDs->save(ws);
+ ws->writeUint32LE(static_cast<uint32>(_stringHeap.size()));
Std::map<uint16, Std::string>::iterator iter;
for (iter = _stringHeap.begin(); iter != _stringHeap.end(); ++iter) {
- ods->writeUint16LE((*iter)._key);
- ods->writeUint32LE((*iter)._value.size());
- ods->write((*iter)._value.c_str(), (*iter)._value.size());
+ ws->writeUint16LE((*iter)._key);
+ ws->writeUint32LE((*iter)._value.size());
+ ws->write((*iter)._value.c_str(), (*iter)._value.size());
}
}
-void UCMachine::saveLists(ODataSource *ods) {
- _listIDs->save(ods);
- ods->writeUint32LE(_listHeap.size());
+void UCMachine::saveLists(Common::WriteStream *ws) {
+ _listIDs->save(ws);
+ ws->writeUint32LE(_listHeap.size());
Std::map<uint16, UCList *>::iterator iter;
for (iter = _listHeap.begin(); iter != _listHeap.end(); ++iter) {
- ods->writeUint16LE((*iter)._key);
- (*iter)._value->save(ods);
+ ws->writeUint16LE((*iter)._key);
+ (*iter)._value->save(ws);
}
}
diff --git a/engines/ultima/ultima8/usecode/uc_machine.h b/engines/ultima/ultima8/usecode/uc_machine.h
index 6370540962..80a19dbf5a 100644
--- a/engines/ultima/ultima8/usecode/uc_machine.h
+++ b/engines/ultima/ultima8/usecode/uc_machine.h
@@ -76,9 +76,9 @@ public:
bool assignPointer(uint32 ptr, const uint8 *data, uint32 size);
bool dereferencePointer(uint32 ptr, uint8 *data, uint32 size);
- void saveGlobals(ODataSource *ods);
- void saveStrings(ODataSource *ods);
- void saveLists(ODataSource *ods);
+ void saveGlobals(Common::WriteStream *ws);
+ void saveStrings(Common::WriteStream *ws);
+ void saveLists(Common::WriteStream *ws);
bool loadGlobals(IDataSource *ids, uint32 version);
bool loadStrings(IDataSource *ids, uint32 version);
diff --git a/engines/ultima/ultima8/usecode/uc_process.cpp b/engines/ultima/ultima8/usecode/uc_process.cpp
index bdfe83906e..ac5fefbf1f 100644
--- a/engines/ultima/ultima8/usecode/uc_process.cpp
+++ b/engines/ultima/ultima8/usecode/uc_process.cpp
@@ -160,20 +160,20 @@ void UCProcess::dumpInfo() const {
}
}
-void UCProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
-
- ods->writeUint16LE(_bp);
- ods->writeUint16LE(_classId);
- ods->writeUint16LE(_ip);
- ods->writeUint32LE(_temp32);
- ods->writeUint32LE(static_cast<uint32>(_freeOnTerminate.size()));
+void UCProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
+
+ ws->writeUint16LE(_bp);
+ ws->writeUint16LE(_classId);
+ ws->writeUint16LE(_ip);
+ ws->writeUint32LE(_temp32);
+ ws->writeUint32LE(static_cast<uint32>(_freeOnTerminate.size()));
Std::list<Std::pair<uint16, int> >::iterator iter;
for (iter = _freeOnTerminate.begin(); iter != _freeOnTerminate.end(); ++iter) {
- ods->writeUint16LE(iter->first);
- ods->writeUint32LE(static_cast<uint32>(iter->second));
+ ws->writeUint16LE(iter->first);
+ ws->writeUint32LE(static_cast<uint32>(iter->second));
}
- _stack.save(ods);
+ _stack.save(ws);
}
bool UCProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/usecode/uc_process.h b/engines/ultima/ultima8/usecode/uc_process.h
index bf472d10d9..d2331b3947 100644
--- a/engines/ultima/ultima8/usecode/uc_process.h
+++ b/engines/ultima/ultima8/usecode/uc_process.h
@@ -62,7 +62,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
void load(uint16 classid_, uint16 offset_, uint32 this_ptr = 0,
int thissize = 0, const uint8 *args = 0, int argsize = 0);
diff --git a/engines/ultima/ultima8/usecode/uc_stack.cpp b/engines/ultima/ultima8/usecode/uc_stack.cpp
index 3506e61f9e..2de9795e57 100644
--- a/engines/ultima/ultima8/usecode/uc_stack.cpp
+++ b/engines/ultima/ultima8/usecode/uc_stack.cpp
@@ -28,11 +28,11 @@
namespace Ultima {
namespace Ultima8 {
-void UCStack::save(ODataSource *ods) {
- ods->writeUint32LE(_size);
- ods->writeUint32LE(getSP());
+void UCStack::save(Common::WriteStream *ws) {
+ ws->writeUint32LE(_size);
+ ws->writeUint32LE(getSP());
- ods->write(_bufPtr, stacksize());
+ ws->write(_bufPtr, stacksize());
}
bool UCStack::load(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/usecode/uc_stack.h b/engines/ultima/ultima8/usecode/uc_stack.h
index 56236b3426..fdb8cb6935 100644
--- a/engines/ultima/ultima8/usecode/uc_stack.h
+++ b/engines/ultima/ultima8/usecode/uc_stack.h
@@ -173,7 +173,7 @@ public:
#ifdef USE_DYNAMIC_UCSTACK
#define UCStack DynamicUCStack
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ods);
bool load(IDataSource *ids, uint32 version);
#endif
};
@@ -185,7 +185,7 @@ public:
UCStack() : BaseUCStack(0x1000, _bufArray) { }
~UCStack() override { }
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ods);
bool load(IDataSource *ids, uint32 version);
};
#endif
diff --git a/engines/ultima/ultima8/world/actors/actor.cpp b/engines/ultima/ultima8/world/actors/actor.cpp
index ab0ab880cb..07d9b2a055 100644
--- a/engines/ultima/ultima8/world/actors/actor.cpp
+++ b/engines/ultima/ultima8/world/actors/actor.cpp
@@ -1073,21 +1073,21 @@ void Actor::dumpInfo() const {
<< Std::dec << Std::endl;
}
-void Actor::saveData(ODataSource *ods) {
- Container::saveData(ods);
- ods->writeUint16LE(_strength);
- ods->writeUint16LE(_dexterity);
- ods->writeUint16LE(_intelligence);
- ods->writeUint16LE(_hitPoints);
- ods->writeUint16LE(_mana);
- ods->writeUint16LE(_alignment);
- ods->writeUint16LE(_enemyAlignment);
- ods->writeUint16LE(_lastAnim);
- ods->writeUint16LE(_animFrame);
- ods->writeUint16LE(_direction);
- ods->writeUint32LE(_fallStart);
- ods->writeUint32LE(_actorFlags);
- ods->writeByte(_unk0C);
+void Actor::saveData(Common::WriteStream *ws) {
+ Container::saveData(ws);
+ ws->writeUint16LE(_strength);
+ ws->writeUint16LE(_dexterity);
+ ws->writeUint16LE(_intelligence);
+ ws->writeUint16LE(_hitPoints);
+ ws->writeUint16LE(_mana);
+ ws->writeUint16LE(_alignment);
+ ws->writeUint16LE(_enemyAlignment);
+ ws->writeUint16LE(_lastAnim);
+ ws->writeUint16LE(_animFrame);
+ ws->writeUint16LE(_direction);
+ ws->writeUint32LE(_fallStart);
+ ws->writeUint32LE(_actorFlags);
+ ws->writeByte(_unk0C);
}
bool Actor::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/actor.h b/engines/ultima/ultima8/world/actors/actor.h
index bcb057ebd9..13326dffac 100644
--- a/engines/ultima/ultima8/world/actors/actor.h
+++ b/engines/ultima/ultima8/world/actors/actor.h
@@ -292,7 +292,7 @@ public:
};
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
int16 _strength;
int16 _dexterity;
diff --git a/engines/ultima/ultima8/world/actors/actor_anim_process.cpp b/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
index d60561da3c..dcdc29aefc 100644
--- a/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
+++ b/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
@@ -631,26 +631,26 @@ void ActorAnimProcess::dumpInfo() const {
pout << "_action: " << _action << ", _dir: " << _dir << Std::endl;
}
-void ActorAnimProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void ActorAnimProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
uint8 ff = _firstFrame ? 1 : 0;
- ods->writeByte(ff);
+ ws->writeByte(ff);
uint8 ab = _animAborted ? 1 : 0;
- ods->writeByte(ab);
+ ws->writeByte(ab);
uint8 attacked = _attackedSomething ? 1 : 0;
- ods->writeByte(attacked);
- ods->writeByte(static_cast<uint8>(_dir));
- ods->writeUint16LE(static_cast<uint16>(_action));
- ods->writeUint16LE(static_cast<uint16>(_steps));
- ods->writeUint16LE(static_cast<uint16>(_repeatCounter));
- ods->writeUint16LE(static_cast<uint16>(_currentStep));
+ ws->writeByte(attacked);
+ ws->writeByte(static_cast<uint8>(_dir));
+ ws->writeUint16LE(static_cast<uint16>(_action));
+ ws->writeUint16LE(static_cast<uint16>(_steps));
+ ws->writeUint16LE(static_cast<uint16>(_repeatCounter));
+ ws->writeUint16LE(static_cast<uint16>(_currentStep));
if (_tracker) {
- ods->writeByte(1);
- _tracker->save(ods);
+ ws->writeByte(1);
+ _tracker->save(ws);
} else
- ods->writeByte(0);
+ ws->writeByte(0);
}
bool ActorAnimProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/actor_anim_process.h b/engines/ultima/ultima8/world/actors/actor_anim_process.h
index 1f136c755b..66e9d3fa54 100644
--- a/engines/ultima/ultima8/world/actors/actor_anim_process.h
+++ b/engines/ultima/ultima8/world/actors/actor_anim_process.h
@@ -56,7 +56,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
virtual bool init();
diff --git a/engines/ultima/ultima8/world/actors/actor_bark_notify_process.cpp b/engines/ultima/ultima8/world/actors/actor_bark_notify_process.cpp
index 50d36d4287..ceb6fc66a0 100644
--- a/engines/ultima/ultima8/world/actors/actor_bark_notify_process.cpp
+++ b/engines/ultima/ultima8/world/actors/actor_bark_notify_process.cpp
@@ -76,8 +76,8 @@ void ActorBarkNotifyProcess::run() {
waitFor(delaypid);
}
-void ActorBarkNotifyProcess::saveData(ODataSource *ods) {
- GumpNotifyProcess::saveData(ods);
+void ActorBarkNotifyProcess::saveData(Common::WriteStream *ws) {
+ GumpNotifyProcess::saveData(ws);
}
bool ActorBarkNotifyProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/actor_bark_notify_process.h b/engines/ultima/ultima8/world/actors/actor_bark_notify_process.h
index 673406bfb7..2a6c4a8b52 100644
--- a/engines/ultima/ultima8/world/actors/actor_bark_notify_process.h
+++ b/engines/ultima/ultima8/world/actors/actor_bark_notify_process.h
@@ -40,7 +40,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/actors/ambush_process.cpp b/engines/ultima/ultima8/world/actors/ambush_process.cpp
index a2f2418fb2..e8918fdfff 100644
--- a/engines/ultima/ultima8/world/actors/ambush_process.cpp
+++ b/engines/ultima/ultima8/world/actors/ambush_process.cpp
@@ -74,10 +74,10 @@ void AmbushProcess::run() {
terminate();
}
-void AmbushProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void AmbushProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint32LE(_delayCount);
+ ws->writeUint32LE(_delayCount);
}
bool AmbushProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/ambush_process.h b/engines/ultima/ultima8/world/actors/ambush_process.h
index 24eb571ed2..3f6001f7f8 100644
--- a/engines/ultima/ultima8/world/actors/ambush_process.h
+++ b/engines/ultima/ultima8/world/actors/ambush_process.h
@@ -42,7 +42,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
uint32 _delayCount;
};
diff --git a/engines/ultima/ultima8/world/actors/animation_tracker.cpp b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
index 08d7a1bc5f..855d86fa3e 100644
--- a/engines/ultima/ultima8/world/actors/animation_tracker.cpp
+++ b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
@@ -559,51 +559,51 @@ void AnimationTracker::getSpeed(int32 &dx, int32 &dy, int32 &dz) const {
}
-void AnimationTracker::save(ODataSource *ods) {
- ods->writeUint32LE(_startFrame);
- ods->writeUint32LE(_endFrame);
+void AnimationTracker::save(Common::WriteStream *ws) {
+ ws->writeUint32LE(_startFrame);
+ ws->writeUint32LE(_endFrame);
uint8 ff = _firstFrame ? 1 : 0;
- ods->writeByte(ff);
- ods->writeUint32LE(_currentFrame);
+ ws->writeByte(ff);
+ ws->writeUint32LE(_currentFrame);
- ods->writeUint16LE(_actor);
- ods->writeByte(static_cast<uint8>(_dir));
+ ws->writeUint16LE(_actor);
+ ws->writeByte(static_cast<uint8>(_dir));
if (_animAction) {
- ods->writeUint32LE(_animAction->_shapeNum);
- ods->writeUint32LE(_animAction->_action);
+ ws->writeUint32LE(_animAction->_shapeNum);
+ ws->writeUint32LE(_animAction->_action);
} else {
- ods->writeUint32LE(0);
- ods->writeUint32LE(0);
+ ws->writeUint32LE(0);
+ ws->writeUint32LE(0);
}
- ods->writeUint32LE(static_cast<uint32>(_prevX));
- ods->writeUint32LE(static_cast<uint32>(_prevY));
- ods->writeUint32LE(static_cast<uint32>(_prevZ));
- ods->writeUint32LE(static_cast<uint32>(_x));
- ods->writeUint32LE(static_cast<uint32>(_y));
- ods->writeUint32LE(static_cast<uint32>(_z));
+ ws->writeUint32LE(static_cast<uint32>(_prevX));
+ ws->writeUint32LE(static_cast<uint32>(_prevY));
+ ws->writeUint32LE(static_cast<uint32>(_prevZ));
+ ws->writeUint32LE(static_cast<uint32>(_x));
+ ws->writeUint32LE(static_cast<uint32>(_y));
+ ws->writeUint32LE(static_cast<uint32>(_z));
- ods->writeUint16LE(static_cast<uint16>(_mode));
+ ws->writeUint16LE(static_cast<uint16>(_mode));
if (_mode == TargetMode) {
- ods->writeUint32LE(static_cast<uint32>(_targetDx));
- ods->writeUint32LE(static_cast<uint32>(_targetDy));
- ods->writeUint32LE(static_cast<uint32>(_targetDz));
- ods->writeUint32LE(static_cast<uint32>(_targetOffGroundLeft));
+ ws->writeUint32LE(static_cast<uint32>(_targetDx));
+ ws->writeUint32LE(static_cast<uint32>(_targetDy));
+ ws->writeUint32LE(static_cast<uint32>(_targetDz));
+ ws->writeUint32LE(static_cast<uint32>(_targetOffGroundLeft));
}
uint8 fs = _firstStep ? 1 : 0;
- ods->writeByte(fs);
+ ws->writeByte(fs);
uint8 fl = _flipped ? 1 : 0;
- ods->writeByte(fl);
- ods->writeUint32LE(_shapeFrame);
+ ws->writeByte(fl);
+ ws->writeUint32LE(_shapeFrame);
uint8 flag = _done ? 1 : 0;
- ods->writeByte(flag);
+ ws->writeByte(flag);
flag = _blocked ? 1 : 0;
- ods->writeByte(flag);
+ ws->writeByte(flag);
flag = _unsupported ? 1 : 0;
- ods->writeByte(flag);
- ods->writeUint16LE(_hitObject);
+ ws->writeByte(flag);
+ ws->writeUint16LE(_hitObject);
}
bool AnimationTracker::load(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/animation_tracker.h b/engines/ultima/ultima8/world/actors/animation_tracker.h
index 1a2ad07841..60a652ae55 100644
--- a/engines/ultima/ultima8/world/actors/animation_tracker.h
+++ b/engines/ultima/ultima8/world/actors/animation_tracker.h
@@ -108,7 +108,7 @@ public:
}
bool load(IDataSource *ids, uint32 version);
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ods);
private:
enum Mode {
diff --git a/engines/ultima/ultima8/world/actors/avatar_death_process.cpp b/engines/ultima/ultima8/world/actors/avatar_death_process.cpp
index 908318e0d2..cfc48e6b80 100644
--- a/engines/ultima/ultima8/world/actors/avatar_death_process.cpp
+++ b/engines/ultima/ultima8/world/actors/avatar_death_process.cpp
@@ -81,8 +81,8 @@ void AvatarDeathProcess::run() {
terminate();
}
-void AvatarDeathProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void AvatarDeathProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
}
bool AvatarDeathProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/avatar_death_process.h b/engines/ultima/ultima8/world/actors/avatar_death_process.h
index 8a297565f2..3aadbe535e 100644
--- a/engines/ultima/ultima8/world/actors/avatar_death_process.h
+++ b/engines/ultima/ultima8/world/actors/avatar_death_process.h
@@ -41,7 +41,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp b/engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp
index 7b4123dc5b..0a7d70f868 100644
--- a/engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp
+++ b/engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp
@@ -77,8 +77,8 @@ void AvatarGravityProcess::run() {
}
-void AvatarGravityProcess::saveData(ODataSource *ods) {
- GravityProcess::saveData(ods);
+void AvatarGravityProcess::saveData(Common::WriteStream *ws) {
+ GravityProcess::saveData(ws);
}
bool AvatarGravityProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/avatar_gravity_process.h b/engines/ultima/ultima8/world/actors/avatar_gravity_process.h
index 322cb1fa9d..1694028233 100644
--- a/engines/ultima/ultima8/world/actors/avatar_gravity_process.h
+++ b/engines/ultima/ultima8/world/actors/avatar_gravity_process.h
@@ -42,7 +42,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp b/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
index 2e7e461c53..c36ff1da0c 100644
--- a/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
+++ b/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
@@ -818,12 +818,12 @@ void AvatarMoverProcess::OnMouseUp(int button) {
}
-void AvatarMoverProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void AvatarMoverProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint32LE(_lastAttack);
- ods->writeUint32LE(_idleTime);
- ods->writeUint16LE(static_cast<uint8>(_lastHeadShakeAnim));
+ ws->writeUint32LE(_lastAttack);
+ ws->writeUint32LE(_idleTime);
+ ws->writeUint16LE(static_cast<uint8>(_lastHeadShakeAnim));
}
bool AvatarMoverProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/avatar_mover_process.h b/engines/ultima/ultima8/world/actors/avatar_mover_process.h
index 5292e74059..5443ec0315 100644
--- a/engines/ultima/ultima8/world/actors/avatar_mover_process.h
+++ b/engines/ultima/ultima8/world/actors/avatar_mover_process.h
@@ -49,7 +49,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
void handleHangingMode();
void handleCombatMode();
diff --git a/engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp b/engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp
index 0dbebeee2c..ed2fbb5a9b 100644
--- a/engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp
+++ b/engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp
@@ -65,8 +65,8 @@ void ClearFeignDeathProcess::run() {
terminate();
}
-void ClearFeignDeathProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void ClearFeignDeathProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
}
bool ClearFeignDeathProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/clear_feign_death_process.h b/engines/ultima/ultima8/world/actors/clear_feign_death_process.h
index be3b62badd..3de9ea438f 100644
--- a/engines/ultima/ultima8/world/actors/clear_feign_death_process.h
+++ b/engines/ultima/ultima8/world/actors/clear_feign_death_process.h
@@ -42,7 +42,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/actors/combat_process.cpp b/engines/ultima/ultima8/world/actors/combat_process.cpp
index 1ff86ccddb..f63886f0c9 100644
--- a/engines/ultima/ultima8/world/actors/combat_process.cpp
+++ b/engines/ultima/ultima8/world/actors/combat_process.cpp
@@ -329,12 +329,12 @@ void CombatProcess::dumpInfo() const {
pout << "Target: " << _target << Std::endl;
}
-void CombatProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void CombatProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint16LE(_target);
- ods->writeUint16LE(_fixedTarget);
- ods->writeByte(static_cast<uint8>(_combatMode));
+ ws->writeUint16LE(_target);
+ ws->writeUint16LE(_fixedTarget);
+ ws->writeByte(static_cast<uint8>(_combatMode));
}
bool CombatProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/combat_process.h b/engines/ultima/ultima8/world/actors/combat_process.h
index 965f12913b..80beec9b59 100644
--- a/engines/ultima/ultima8/world/actors/combat_process.h
+++ b/engines/ultima/ultima8/world/actors/combat_process.h
@@ -50,7 +50,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
bool isValidTarget(Actor *target_);
bool isEnemy(Actor *target_);
diff --git a/engines/ultima/ultima8/world/actors/grant_peace_process.cpp b/engines/ultima/ultima8/world/actors/grant_peace_process.cpp
index 467d7bf5b1..f7a6f33ebd 100644
--- a/engines/ultima/ultima8/world/actors/grant_peace_process.cpp
+++ b/engines/ultima/ultima8/world/actors/grant_peace_process.cpp
@@ -218,11 +218,11 @@ uint32 GrantPeaceProcess::I_castGrantPeace(const uint8 *args,
return 0;
}
-void GrantPeaceProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void GrantPeaceProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
uint8 ht = _haveTarget ? 1 : 0;
- ods->writeByte(ht);
+ ws->writeByte(ht);
}
bool GrantPeaceProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/grant_peace_process.h b/engines/ultima/ultima8/world/actors/grant_peace_process.h
index 5a1fdab84e..3192dc15f6 100644
--- a/engines/ultima/ultima8/world/actors/grant_peace_process.h
+++ b/engines/ultima/ultima8/world/actors/grant_peace_process.h
@@ -45,7 +45,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
bool _haveTarget;
};
diff --git a/engines/ultima/ultima8/world/actors/heal_process.cpp b/engines/ultima/ultima8/world/actors/heal_process.cpp
index 1cc5a4b6cf..854d46211f 100644
--- a/engines/ultima/ultima8/world/actors/heal_process.cpp
+++ b/engines/ultima/ultima8/world/actors/heal_process.cpp
@@ -114,11 +114,11 @@ uint32 HealProcess::I_feedAvatar(const uint8 *args, unsigned int /*argsize*/) {
}
-void HealProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void HealProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint16LE(_healCounter);
- ods->writeUint16LE(_hungerCounter);
+ ws->writeUint16LE(_healCounter);
+ ws->writeUint16LE(_hungerCounter);
}
bool HealProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/heal_process.h b/engines/ultima/ultima8/world/actors/heal_process.h
index dbc7612102..6d47446910 100644
--- a/engines/ultima/ultima8/world/actors/heal_process.h
+++ b/engines/ultima/ultima8/world/actors/heal_process.h
@@ -42,7 +42,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
void feedAvatar(uint16 food);
diff --git a/engines/ultima/ultima8/world/actors/loiter_process.cpp b/engines/ultima/ultima8/world/actors/loiter_process.cpp
index 052b1c1108..d47aced53b 100644
--- a/engines/ultima/ultima8/world/actors/loiter_process.cpp
+++ b/engines/ultima/ultima8/world/actors/loiter_process.cpp
@@ -104,10 +104,10 @@ void LoiterProcess::run() {
}
}
-void LoiterProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void LoiterProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint32LE(_count);
+ ws->writeUint32LE(_count);
}
bool LoiterProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/loiter_process.h b/engines/ultima/ultima8/world/actors/loiter_process.h
index caef240e6b..43e4955fdc 100644
--- a/engines/ultima/ultima8/world/actors/loiter_process.h
+++ b/engines/ultima/ultima8/world/actors/loiter_process.h
@@ -42,7 +42,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
int32 _count;
};
diff --git a/engines/ultima/ultima8/world/actors/main_actor.cpp b/engines/ultima/ultima8/world/actors/main_actor.cpp
index 3b20017141..47429c406b 100644
--- a/engines/ultima/ultima8/world/actors/main_actor.cpp
+++ b/engines/ultima/ultima8/world/actors/main_actor.cpp
@@ -393,17 +393,17 @@ void MainActor::getWeaponOverlay(const WeaponOverlayFrame *&frame_, uint32 &shap
if (frame_ == 0) shape_ = 0;
}
-void MainActor::saveData(ODataSource *ods) {
- Actor::saveData(ods);
+void MainActor::saveData(Common::WriteStream *ws) {
+ Actor::saveData(ws);
uint8 jt = _justTeleported ? 1 : 0;
- ods->writeByte(jt);
- ods->writeUint32LE(_accumStr);
- ods->writeUint32LE(_accumDex);
- ods->writeUint32LE(_accumInt);
+ ws->writeByte(jt);
+ ws->writeUint32LE(_accumStr);
+ ws->writeUint32LE(_accumDex);
+ ws->writeUint32LE(_accumInt);
uint8 namelength = static_cast<uint8>(_name.size());
- ods->writeByte(namelength);
+ ws->writeByte(namelength);
for (unsigned int i = 0; i < namelength; ++i)
- ods->writeByte(static_cast<uint8>(_name[i]));
+ ws->writeByte(static_cast<uint8>(_name[i]));
}
diff --git a/engines/ultima/ultima8/world/actors/main_actor.h b/engines/ultima/ultima8/world/actors/main_actor.h
index afadb9872a..2746dd7d9a 100644
--- a/engines/ultima/ultima8/world/actors/main_actor.h
+++ b/engines/ultima/ultima8/world/actors/main_actor.h
@@ -107,7 +107,7 @@ public:
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
void useInventoryItem(uint32 shapenum);
diff --git a/engines/ultima/ultima8/world/actors/pathfinder_process.cpp b/engines/ultima/ultima8/world/actors/pathfinder_process.cpp
index 0e3c0224f3..75ce66a2e6 100644
--- a/engines/ultima/ultima8/world/actors/pathfinder_process.cpp
+++ b/engines/ultima/ultima8/world/actors/pathfinder_process.cpp
@@ -245,20 +245,20 @@ void PathfinderProcess::run() {
waitFor(animpid);
}
-void PathfinderProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void PathfinderProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint16LE(_targetItem);
- ods->writeUint16LE(static_cast<uint16>(_targetX));
- ods->writeUint16LE(static_cast<uint16>(_targetY));
- ods->writeUint16LE(static_cast<uint16>(_targetZ));
- ods->writeByte(_hitMode ? 1 : 0);
- ods->writeUint16LE(static_cast<uint16>(_currentStep));
+ ws->writeUint16LE(_targetItem);
+ ws->writeUint16LE(static_cast<uint16>(_targetX));
+ ws->writeUint16LE(static_cast<uint16>(_targetY));
+ ws->writeUint16LE(static_cast<uint16>(_targetZ));
+ ws->writeByte(_hitMode ? 1 : 0);
+ ws->writeUint16LE(static_cast<uint16>(_currentStep));
- ods->writeUint16LE(static_cast<uint16>(_path.size()));
+ ws->writeUint16LE(static_cast<uint16>(_path.size()));
for (unsigned int i = 0; i < _path.size(); ++i) {
- ods->writeUint16LE(static_cast<uint16>(_path[i]._action));
- ods->writeUint16LE(static_cast<uint16>(_path[i]._direction));
+ ws->writeUint16LE(static_cast<uint16>(_path[i]._action));
+ ws->writeUint16LE(static_cast<uint16>(_path[i]._direction));
}
}
diff --git a/engines/ultima/ultima8/world/actors/pathfinder_process.h b/engines/ultima/ultima8/world/actors/pathfinder_process.h
index a26f5efb75..9f2fb25941 100644
--- a/engines/ultima/ultima8/world/actors/pathfinder_process.h
+++ b/engines/ultima/ultima8/world/actors/pathfinder_process.h
@@ -49,7 +49,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
int32 _targetX, _targetY, _targetZ;
ObjId _targetItem;
diff --git a/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp b/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp
index a89c232bbf..1f1917bbe4 100644
--- a/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp
+++ b/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp
@@ -158,10 +158,10 @@ void QuickAvatarMoverProcess::startMover(int x, int y, int z, int dir) {
}
}
-void QuickAvatarMoverProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void QuickAvatarMoverProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint32LE(_dir);
+ ws->writeUint32LE(_dir);
// don't save more information. We plan to terminate upon load
}
diff --git a/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h b/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h
index 89fb9acfbd..b9b3bab22f 100644
--- a/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h
+++ b/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h
@@ -59,7 +59,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
int _dx, _dy, _dz, _dir;
static ProcId _amp[6];
diff --git a/engines/ultima/ultima8/world/actors/resurrection_process.cpp b/engines/ultima/ultima8/world/actors/resurrection_process.cpp
index 27b46f0f9c..622f497698 100644
--- a/engines/ultima/ultima8/world/actors/resurrection_process.cpp
+++ b/engines/ultima/ultima8/world/actors/resurrection_process.cpp
@@ -81,8 +81,8 @@ void ResurrectionProcess::run() {
terminate();
}
-void ResurrectionProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void ResurrectionProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
}
bool ResurrectionProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/resurrection_process.h b/engines/ultima/ultima8/world/actors/resurrection_process.h
index c62c2cef5a..75ee853541 100644
--- a/engines/ultima/ultima8/world/actors/resurrection_process.h
+++ b/engines/ultima/ultima8/world/actors/resurrection_process.h
@@ -42,7 +42,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/actors/scheduler_process.cpp b/engines/ultima/ultima8/world/actors/scheduler_process.cpp
index ae26b0a8d2..d1d5c32cf4 100644
--- a/engines/ultima/ultima8/world/actors/scheduler_process.cpp
+++ b/engines/ultima/ultima8/world/actors/scheduler_process.cpp
@@ -80,11 +80,11 @@ void SchedulerProcess::run() {
}
}
-void SchedulerProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void SchedulerProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint32LE(_lastRun);
- ods->writeUint16LE(_nextActor);
+ ws->writeUint32LE(_lastRun);
+ ws->writeUint16LE(_nextActor);
}
bool SchedulerProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/scheduler_process.h b/engines/ultima/ultima8/world/actors/scheduler_process.h
index fb4ff84abe..d56199907d 100644
--- a/engines/ultima/ultima8/world/actors/scheduler_process.h
+++ b/engines/ultima/ultima8/world/actors/scheduler_process.h
@@ -40,7 +40,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
uint32 _lastRun;
uint16 _nextActor;
diff --git a/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp b/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
index 00830c25a8..905693b3d5 100644
--- a/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
+++ b/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
@@ -53,12 +53,12 @@ bool TargetedAnimProcess::init() {
}
-void TargetedAnimProcess::saveData(ODataSource *ods) {
- ActorAnimProcess::saveData(ods);
+void TargetedAnimProcess::saveData(Common::WriteStream *ws) {
+ ActorAnimProcess::saveData(ws);
- ods->writeUint32LE(static_cast<uint32>(_x));
- ods->writeUint32LE(static_cast<uint32>(_y));
- ods->writeUint32LE(static_cast<uint32>(_z));
+ ws->writeUint32LE(static_cast<uint32>(_x));
+ ws->writeUint32LE(static_cast<uint32>(_y));
+ ws->writeUint32LE(static_cast<uint32>(_z));
}
diff --git a/engines/ultima/ultima8/world/actors/targeted_anim_process.h b/engines/ultima/ultima8/world/actors/targeted_anim_process.h
index bfc28f77d7..0dd8e9f39b 100644
--- a/engines/ultima/ultima8/world/actors/targeted_anim_process.h
+++ b/engines/ultima/ultima8/world/actors/targeted_anim_process.h
@@ -42,7 +42,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
bool init() override;
diff --git a/engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp b/engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp
index 39b0d90461..3aa74ad208 100644
--- a/engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp
+++ b/engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp
@@ -53,11 +53,11 @@ void TeleportToEggProcess::run() {
terminate();
}
-void TeleportToEggProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void TeleportToEggProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint32LE(static_cast<uint32>(_mapNum));
- ods->writeUint32LE(static_cast<uint32>(_teleportId));
+ ws->writeUint32LE(static_cast<uint32>(_mapNum));
+ ws->writeUint32LE(static_cast<uint32>(_teleportId));
}
bool TeleportToEggProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/actors/teleport_to_egg_process.h b/engines/ultima/ultima8/world/actors/teleport_to_egg_process.h
index f3c712ad2f..debe38d9ff 100644
--- a/engines/ultima/ultima8/world/actors/teleport_to_egg_process.h
+++ b/engines/ultima/ultima8/world/actors/teleport_to_egg_process.h
@@ -42,7 +42,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
int _mapNum;
int _teleportId;
diff --git a/engines/ultima/ultima8/world/camera_process.cpp b/engines/ultima/ultima8/world/camera_process.cpp
index 69d6ebd9cb..b0f681126a 100644
--- a/engines/ultima/ultima8/world/camera_process.cpp
+++ b/engines/ultima/ultima8/world/camera_process.cpp
@@ -269,22 +269,22 @@ uint16 CameraProcess::FindRoof(int32 factor) {
return roofid;
}
-void CameraProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
-
- ods->writeUint32LE(static_cast<uint32>(_sx));
- ods->writeUint32LE(static_cast<uint32>(_sy));
- ods->writeUint32LE(static_cast<uint32>(_sz));
- ods->writeUint32LE(static_cast<uint32>(_ex));
- ods->writeUint32LE(static_cast<uint32>(_ey));
- ods->writeUint32LE(static_cast<uint32>(_ez));
- ods->writeUint32LE(static_cast<uint32>(_time));
- ods->writeUint32LE(static_cast<uint32>(_elapsed));
- ods->writeUint16LE(_itemNum);
- ods->writeUint32LE(_lastFrameNum);
- ods->writeUint32LE(static_cast<uint32>(_earthquake));
- ods->writeUint32LE(static_cast<uint32>(_eqX));
- ods->writeUint32LE(static_cast<uint32>(_eqY));
+void CameraProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
+
+ ws->writeUint32LE(static_cast<uint32>(_sx));
+ ws->writeUint32LE(static_cast<uint32>(_sy));
+ ws->writeUint32LE(static_cast<uint32>(_sz));
+ ws->writeUint32LE(static_cast<uint32>(_ex));
+ ws->writeUint32LE(static_cast<uint32>(_ey));
+ ws->writeUint32LE(static_cast<uint32>(_ez));
+ ws->writeUint32LE(static_cast<uint32>(_time));
+ ws->writeUint32LE(static_cast<uint32>(_elapsed));
+ ws->writeUint16LE(_itemNum);
+ ws->writeUint32LE(_lastFrameNum);
+ ws->writeUint32LE(static_cast<uint32>(_earthquake));
+ ws->writeUint32LE(static_cast<uint32>(_eqX));
+ ws->writeUint32LE(static_cast<uint32>(_eqY));
}
bool CameraProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/camera_process.h b/engines/ultima/ultima8/world/camera_process.h
index 505585b814..51a0891791 100644
--- a/engines/ultima/ultima8/world/camera_process.h
+++ b/engines/ultima/ultima8/world/camera_process.h
@@ -85,7 +85,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
private:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
int32 _sx, _sy, _sz;
int32 _ex, _ey, _ez;
diff --git a/engines/ultima/ultima8/world/container.cpp b/engines/ultima/ultima8/world/container.cpp
index 59531c6e57..85b7be4fea 100644
--- a/engines/ultima/ultima8/world/container.cpp
+++ b/engines/ultima/ultima8/world/container.cpp
@@ -305,12 +305,12 @@ void Container::dumpInfo() const {
<< ", total weight: " << getTotalWeight() << Std::endl;
}
-void Container::saveData(ODataSource *ods) {
- Item::saveData(ods);
- ods->writeUint32LE(static_cast<uint32>(_contents.size()));
+void Container::saveData(Common::WriteStream *ws) {
+ Item::saveData(ws);
+ ws->writeUint32LE(static_cast<uint32>(_contents.size()));
Std::list<Item *>::iterator iter;
for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
- (*iter)->save(ods);
+ (*iter)->save(ws);
}
}
diff --git a/engines/ultima/ultima8/world/container.h b/engines/ultima/ultima8/world/container.h
index 570c69c128..e8b9f8c036 100644
--- a/engines/ultima/ultima8/world/container.h
+++ b/engines/ultima/ultima8/world/container.h
@@ -115,7 +115,7 @@ public:
protected:
//! save Container data
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
Std::list<Item *> _contents;
};
diff --git a/engines/ultima/ultima8/world/create_item_process.cpp b/engines/ultima/ultima8/world/create_item_process.cpp
index 82bfde12de..a296675a09 100644
--- a/engines/ultima/ultima8/world/create_item_process.cpp
+++ b/engines/ultima/ultima8/world/create_item_process.cpp
@@ -63,19 +63,19 @@ void CreateItemProcess::run() {
terminate();
}
-void CreateItemProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
-
- ods->writeUint32LE(_shape);
- ods->writeUint32LE(_frame);
- ods->writeUint16LE(_quality);
- ods->writeUint16LE(_flags);
- ods->writeUint16LE(_npcNum);
- ods->writeUint16LE(_mapNum);
- ods->writeUint32LE(_extendedFlags);
- ods->writeUint32LE(static_cast<uint32>(_x));
- ods->writeUint32LE(static_cast<uint32>(_y));
- ods->writeUint32LE(static_cast<uint32>(_z));
+void CreateItemProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
+
+ ws->writeUint32LE(_shape);
+ ws->writeUint32LE(_frame);
+ ws->writeUint16LE(_quality);
+ ws->writeUint16LE(_flags);
+ ws->writeUint16LE(_npcNum);
+ ws->writeUint16LE(_mapNum);
+ ws->writeUint32LE(_extendedFlags);
+ ws->writeUint32LE(static_cast<uint32>(_x));
+ ws->writeUint32LE(static_cast<uint32>(_y));
+ ws->writeUint32LE(static_cast<uint32>(_z));
}
bool CreateItemProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/create_item_process.h b/engines/ultima/ultima8/world/create_item_process.h
index 4b3471b33f..6bfffb5ddb 100644
--- a/engines/ultima/ultima8/world/create_item_process.h
+++ b/engines/ultima/ultima8/world/create_item_process.h
@@ -44,7 +44,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
uint32 _shape;
uint32 _frame;
diff --git a/engines/ultima/ultima8/world/current_map.cpp b/engines/ultima/ultima8/world/current_map.cpp
index 041f5605fc..6684cafdd7 100644
--- a/engines/ultima/ultima8/world/current_map.cpp
+++ b/engines/ultima/ultima8/world/current_map.cpp
@@ -1268,10 +1268,10 @@ void CurrentMap::setWholeMapFast() {
}
}
-void CurrentMap::save(ODataSource *ods) {
+void CurrentMap::save(Common::WriteStream *ws) {
for (unsigned int i = 0; i < MAP_NUM_CHUNKS; ++i) {
for (unsigned int j = 0; j < MAP_NUM_CHUNKS / 32; ++j) {
- ods->writeUint32LE(_fast[i][j]);
+ ws->writeUint32LE(_fast[i][j]);
}
}
}
diff --git a/engines/ultima/ultima8/world/current_map.h b/engines/ultima/ultima8/world/current_map.h
index d4ee592459..a1aff90087 100644
--- a/engines/ultima/ultima8/world/current_map.h
+++ b/engines/ultima/ultima8/world/current_map.h
@@ -200,7 +200,7 @@ public:
// Set the entire map as being 'fast'
void setWholeMapFast();
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ws);
bool load(IDataSource *ids, uint32 version);
INTRINSIC(I_canExistAt);
diff --git a/engines/ultima/ultima8/world/destroy_item_process.cpp b/engines/ultima/ultima8/world/destroy_item_process.cpp
index 5946508e6e..ea315a13f5 100644
--- a/engines/ultima/ultima8/world/destroy_item_process.cpp
+++ b/engines/ultima/ultima8/world/destroy_item_process.cpp
@@ -77,8 +77,8 @@ void DestroyItemProcess::run() {
// NOTE: we're terminated here because this process belongs to the item
}
-void DestroyItemProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void DestroyItemProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
}
bool DestroyItemProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/destroy_item_process.h b/engines/ultima/ultima8/world/destroy_item_process.h
index 22c5992ce6..c44890faf8 100644
--- a/engines/ultima/ultima8/world/destroy_item_process.h
+++ b/engines/ultima/ultima8/world/destroy_item_process.h
@@ -46,7 +46,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/egg.cpp b/engines/ultima/ultima8/world/egg.cpp
index f42adb10c2..2c9a33ed3f 100644
--- a/engines/ultima/ultima8/world/egg.cpp
+++ b/engines/ultima/ultima8/world/egg.cpp
@@ -59,11 +59,11 @@ void Egg::leaveFastArea() {
Item::leaveFastArea();
}
-void Egg::saveData(ODataSource *ods) {
- Item::saveData(ods);
+void Egg::saveData(Common::WriteStream *ws) {
+ Item::saveData(ws);
uint8 h = _hatched ? 1 : 0;
- ods->writeByte(h);
+ ws->writeByte(h);
}
bool Egg::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/egg.h b/engines/ultima/ultima8/world/egg.h
index d85a430e88..37face7187 100644
--- a/engines/ultima/ultima8/world/egg.h
+++ b/engines/ultima/ultima8/world/egg.h
@@ -75,7 +75,7 @@ public:
INTRINSIC(I_setEggId);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
bool _hatched;
};
diff --git a/engines/ultima/ultima8/world/egg_hatcher_process.cpp b/engines/ultima/ultima8/world/egg_hatcher_process.cpp
index 6da2e96ad2..7f81d7f1f4 100644
--- a/engines/ultima/ultima8/world/egg_hatcher_process.cpp
+++ b/engines/ultima/ultima8/world/egg_hatcher_process.cpp
@@ -96,8 +96,8 @@ void EggHatcherProcess::run() {
if (!nearteleporter) av->setJustTeleported(false); // clear flag
}
-void EggHatcherProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void EggHatcherProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
}
diff --git a/engines/ultima/ultima8/world/egg_hatcher_process.h b/engines/ultima/ultima8/world/egg_hatcher_process.h
index 002b57cd70..cf40ad1f03 100644
--- a/engines/ultima/ultima8/world/egg_hatcher_process.h
+++ b/engines/ultima/ultima8/world/egg_hatcher_process.h
@@ -46,7 +46,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
private:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
Std::vector<uint16> _eggs;
};
diff --git a/engines/ultima/ultima8/world/fireball_process.cpp b/engines/ultima/ultima8/world/fireball_process.cpp
index 97bea0e8b6..f75f3f80a8 100644
--- a/engines/ultima/ultima8/world/fireball_process.cpp
+++ b/engines/ultima/ultima8/world/fireball_process.cpp
@@ -203,16 +203,16 @@ uint32 FireballProcess::I_TonysBalls(const uint8 *args,
return 0;
}
-void FireballProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
-
- ods->writeUint32LE(static_cast<uint32>(_xSpeed));
- ods->writeUint32LE(static_cast<uint32>(_ySpeed));
- ods->writeUint16LE(_target);
- ods->writeUint16LE(_tail[0]);
- ods->writeUint16LE(_tail[1]);
- ods->writeUint16LE(_tail[2]);
- ods->writeUint16LE(_age);
+void FireballProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
+
+ ws->writeUint32LE(static_cast<uint32>(_xSpeed));
+ ws->writeUint32LE(static_cast<uint32>(_ySpeed));
+ ws->writeUint16LE(_target);
+ ws->writeUint16LE(_tail[0]);
+ ws->writeUint16LE(_tail[1]);
+ ws->writeUint16LE(_tail[2]);
+ ws->writeUint16LE(_age);
}
bool FireballProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/fireball_process.h b/engines/ultima/ultima8/world/fireball_process.h
index 942cca3ff4..ec331f9d27 100644
--- a/engines/ultima/ultima8/world/fireball_process.h
+++ b/engines/ultima/ultima8/world/fireball_process.h
@@ -47,7 +47,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
void explode();
diff --git a/engines/ultima/ultima8/world/glob_egg.cpp b/engines/ultima/ultima8/world/glob_egg.cpp
index e3d8c6554c..0b12aa663b 100644
--- a/engines/ultima/ultima8/world/glob_egg.cpp
+++ b/engines/ultima/ultima8/world/glob_egg.cpp
@@ -79,8 +79,8 @@ void GlobEgg::enterFastArea() {
Item::enterFastArea();
}
-void GlobEgg::saveData(ODataSource *ods) {
- Item::saveData(ods);
+void GlobEgg::saveData(Common::WriteStream *ws) {
+ Item::saveData(ws);
}
bool GlobEgg::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/glob_egg.h b/engines/ultima/ultima8/world/glob_egg.h
index fdb33f4259..aab2d1f418 100644
--- a/engines/ultima/ultima8/world/glob_egg.h
+++ b/engines/ultima/ultima8/world/glob_egg.h
@@ -44,7 +44,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/gravity_process.cpp b/engines/ultima/ultima8/world/gravity_process.cpp
index 4e620041f9..0c2938e6eb 100644
--- a/engines/ultima/ultima8/world/gravity_process.cpp
+++ b/engines/ultima/ultima8/world/gravity_process.cpp
@@ -346,13 +346,13 @@ void GravityProcess::dumpInfo() const {
}
-void GravityProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void GravityProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint32LE(static_cast<uint32>(_gravity));
- ods->writeUint32LE(static_cast<uint32>(_xSpeed));
- ods->writeUint32LE(static_cast<uint32>(_ySpeed));
- ods->writeUint32LE(static_cast<uint32>(_zSpeed));
+ ws->writeUint32LE(static_cast<uint32>(_gravity));
+ ws->writeUint32LE(static_cast<uint32>(_xSpeed));
+ ws->writeUint32LE(static_cast<uint32>(_ySpeed));
+ ws->writeUint32LE(static_cast<uint32>(_zSpeed));
}
bool GravityProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/gravity_process.h b/engines/ultima/ultima8/world/gravity_process.h
index 34d2a5a180..717e9202c1 100644
--- a/engines/ultima/ultima8/world/gravity_process.h
+++ b/engines/ultima/ultima8/world/gravity_process.h
@@ -51,7 +51,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
void fallStopped();
diff --git a/engines/ultima/ultima8/world/item.cpp b/engines/ultima/ultima8/world/item.cpp
index a96afc2cc5..6c008916d8 100644
--- a/engines/ultima/ultima8/world/item.cpp
+++ b/engines/ultima/ultima8/world/item.cpp
@@ -1758,25 +1758,25 @@ bool Item::canMergeWith(Item *other) {
}
-void Item::saveData(ODataSource *ods) {
- Object::saveData(ods);
- ods->writeUint16LE(static_cast<uint16>(_extendedFlags));
- ods->writeUint16LE(_flags);
- ods->writeUint16LE(static_cast<uint16>(_shape));
- ods->writeUint16LE(static_cast<uint16>(_frame));
- ods->writeUint16LE(static_cast<uint16>(_x));
- ods->writeUint16LE(static_cast<uint16>(_y));
- ods->writeUint16LE(static_cast<uint16>(_z));
- ods->writeUint16LE(_quality);
- ods->writeUint16LE(_npcNum);
- ods->writeUint16LE(_mapNum);
+void Item::saveData(Common::WriteStream *ws) {
+ Object::saveData(ws);
+ ws->writeUint16LE(static_cast<uint16>(_extendedFlags));
+ ws->writeUint16LE(_flags);
+ ws->writeUint16LE(static_cast<uint16>(_shape));
+ ws->writeUint16LE(static_cast<uint16>(_frame));
+ ws->writeUint16LE(static_cast<uint16>(_x));
+ ws->writeUint16LE(static_cast<uint16>(_y));
+ ws->writeUint16LE(static_cast<uint16>(_z));
+ ws->writeUint16LE(_quality);
+ ws->writeUint16LE(_npcNum);
+ ws->writeUint16LE(_mapNum);
if (getObjId() != 0xFFFF) {
// these only make sense in currently loaded items
- ods->writeUint16LE(_gump);
- ods->writeUint16LE(_gravityPid);
+ ws->writeUint16LE(_gump);
+ ws->writeUint16LE(_gravityPid);
}
if ((_flags & FLG_ETHEREAL) && (_flags & (FLG_CONTAINED | FLG_EQUIPPED)))
- ods->writeUint16LE(_parent);
+ ws->writeUint16LE(_parent);
}
bool Item::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/item.h b/engines/ultima/ultima8/world/item.h
index 856f4f4df8..e30bcfd167 100644
--- a/engines/ultima/ultima8/world/item.h
+++ b/engines/ultima/ultima8/world/item.h
@@ -557,7 +557,7 @@ protected:
ProcId _gravityPid; // Item's GravityTracker (or 0)
//! save the actual Item data
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
private:
diff --git a/engines/ultima/ultima8/world/map.cpp b/engines/ultima/ultima8/world/map.cpp
index 1f907ecd5e..5f6f9d0d2d 100644
--- a/engines/ultima/ultima8/world/map.cpp
+++ b/engines/ultima/ultima8/world/map.cpp
@@ -278,12 +278,12 @@ void Map::loadFixedFormatObjects(Std::list<Item *> &itemlist, IDataSource *ds,
}
-void Map::save(ODataSource *ods) {
- ods->writeUint32LE(static_cast<uint32>(_dynamicItems.size()));
+void Map::save(Common::WriteStream *ws) {
+ ws->writeUint32LE(static_cast<uint32>(_dynamicItems.size()));
Std::list<Item *>::iterator iter;
for (iter = _dynamicItems.begin(); iter != _dynamicItems.end(); ++iter) {
- (*iter)->save(ods);
+ (*iter)->save(ws);
}
}
diff --git a/engines/ultima/ultima8/world/map.h b/engines/ultima/ultima8/world/map.h
index 3df7f68c60..f6661133b8 100644
--- a/engines/ultima/ultima8/world/map.h
+++ b/engines/ultima/ultima8/world/map.h
@@ -48,7 +48,7 @@ public:
return _fixedItems.size() == 0 && _dynamicItems.size() == 0;
}
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ods);
bool load(IDataSource *ids, uint32 version);
private:
diff --git a/engines/ultima/ultima8/world/monster_egg.cpp b/engines/ultima/ultima8/world/monster_egg.cpp
index d4dc83a6f0..08a93b052d 100644
--- a/engines/ultima/ultima8/world/monster_egg.cpp
+++ b/engines/ultima/ultima8/world/monster_egg.cpp
@@ -90,8 +90,8 @@ uint16 MonsterEgg::hatch() {
return objID;
}
-void MonsterEgg::saveData(ODataSource *ods) {
- Item::saveData(ods);
+void MonsterEgg::saveData(Common::WriteStream *ws) {
+ Item::saveData(ws);
}
bool MonsterEgg::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/monster_egg.h b/engines/ultima/ultima8/world/monster_egg.h
index c294aae92d..8c2cc0b406 100644
--- a/engines/ultima/ultima8/world/monster_egg.h
+++ b/engines/ultima/ultima8/world/monster_egg.h
@@ -55,7 +55,7 @@ public:
INTRINSIC(I_getMonId);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/split_item_process.cpp b/engines/ultima/ultima8/world/split_item_process.cpp
index 392996d7ac..80bcb6ccb7 100644
--- a/engines/ultima/ultima8/world/split_item_process.cpp
+++ b/engines/ultima/ultima8/world/split_item_process.cpp
@@ -90,10 +90,10 @@ void SplitItemProcess::run() {
terminate();
}
-void SplitItemProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
+void SplitItemProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
- ods->writeUint16LE(_target);
+ ws->writeUint16LE(_target);
}
bool SplitItemProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/split_item_process.h b/engines/ultima/ultima8/world/split_item_process.h
index e9a5a4d1ff..30ab796b22 100644
--- a/engines/ultima/ultima8/world/split_item_process.h
+++ b/engines/ultima/ultima8/world/split_item_process.h
@@ -42,7 +42,7 @@ public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
ObjId _target;
};
diff --git a/engines/ultima/ultima8/world/sprite_process.cpp b/engines/ultima/ultima8/world/sprite_process.cpp
index 42b5032ae0..fb6412b672 100644
--- a/engines/ultima/ultima8/world/sprite_process.cpp
+++ b/engines/ultima/ultima8/world/sprite_process.cpp
@@ -111,20 +111,20 @@ uint32 SpriteProcess::I_createSprite(const uint8 *args, unsigned int argsize) {
return Kernel::get_instance()->addProcess(p);
}
-void SpriteProcess::saveData(ODataSource *ods) {
- Process::saveData(ods);
-
- ods->writeUint32LE(static_cast<uint32>(_shape));
- ods->writeUint32LE(static_cast<uint32>(_frame));
- ods->writeUint32LE(static_cast<uint32>(_firstFrame));
- ods->writeUint32LE(static_cast<uint32>(_lastFrame));
- ods->writeUint32LE(static_cast<uint32>(_repeats));
- ods->writeUint32LE(static_cast<uint32>(_delay));
- ods->writeUint32LE(static_cast<uint32>(_x));
- ods->writeUint32LE(static_cast<uint32>(_y));
- ods->writeUint32LE(static_cast<uint32>(_z));
- ods->writeUint32LE(static_cast<uint32>(_delayCounter));
- ods->writeByte(_initialized ? 1 : 0);
+void SpriteProcess::saveData(Common::WriteStream *ws) {
+ Process::saveData(ws);
+
+ ws->writeUint32LE(static_cast<uint32>(_shape));
+ ws->writeUint32LE(static_cast<uint32>(_frame));
+ ws->writeUint32LE(static_cast<uint32>(_firstFrame));
+ ws->writeUint32LE(static_cast<uint32>(_lastFrame));
+ ws->writeUint32LE(static_cast<uint32>(_repeats));
+ ws->writeUint32LE(static_cast<uint32>(_delay));
+ ws->writeUint32LE(static_cast<uint32>(_x));
+ ws->writeUint32LE(static_cast<uint32>(_y));
+ ws->writeUint32LE(static_cast<uint32>(_z));
+ ws->writeUint32LE(static_cast<uint32>(_delayCounter));
+ ws->writeByte(_initialized ? 1 : 0);
}
bool SpriteProcess::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/sprite_process.h b/engines/ultima/ultima8/world/sprite_process.h
index 1d01950ca0..d17670bd69 100644
--- a/engines/ultima/ultima8/world/sprite_process.h
+++ b/engines/ultima/ultima8/world/sprite_process.h
@@ -75,7 +75,7 @@ protected:
public:
bool loadData(IDataSource *ids, uint32 version);
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/world/teleport_egg.cpp b/engines/ultima/ultima8/world/teleport_egg.cpp
index f3ebbcf52f..e71783b343 100644
--- a/engines/ultima/ultima8/world/teleport_egg.cpp
+++ b/engines/ultima/ultima8/world/teleport_egg.cpp
@@ -53,8 +53,8 @@ uint16 TeleportEgg::hatch() {
return 0;
}
-void TeleportEgg::saveData(ODataSource *ods) {
- Egg::saveData(ods);
+void TeleportEgg::saveData(Common::WriteStream *ws) {
+ Egg::saveData(ws);
}
bool TeleportEgg::loadData(IDataSource *ids, uint32 version) {
diff --git a/engines/ultima/ultima8/world/teleport_egg.h b/engines/ultima/ultima8/world/teleport_egg.h
index b62f1e4b67..82fa24fa9a 100644
--- a/engines/ultima/ultima8/world/teleport_egg.h
+++ b/engines/ultima/ultima8/world/teleport_egg.h
@@ -47,7 +47,7 @@ public:
uint16 hatch() override;
protected:
- void saveData(ODataSource *ods) override;
+ void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/world/world.cpp b/engines/ultima/ultima8/world/world.cpp
index 12486504bd..9a6974f607 100644
--- a/engines/ultima/ultima8/world/world.cpp
+++ b/engines/ultima/ultima8/world/world.cpp
@@ -336,13 +336,13 @@ void World::worldStats() const {
}
}
-void World::save(ODataSource *ods) {
- ods->writeUint32LE(_currentMap->getNum());
+void World::save(Common::WriteStream *ws) {
+ ws->writeUint32LE(_currentMap->getNum());
- ods->writeUint16LE(_currentMap->_eggHatcher);
+ ws->writeUint16LE(_currentMap->_eggHatcher);
uint16 es = static_cast<uint16>(_ethereal.size());
- ods->writeUint32LE(es);
+ ws->writeUint32LE(es);
// empty stack and refill it again
uint16 *e = new uint16[es];
@@ -354,7 +354,7 @@ void World::save(ODataSource *ods) {
}
for (i = 0; i < es; ++i) {
- ods->writeUint16LE(e[i]);
+ ws->writeUint16LE(e[i]);
}
delete[] e;
}
@@ -374,10 +374,10 @@ bool World::load(IDataSource *ids, uint32 version) {
return true;
}
-void World::saveMaps(ODataSource *ods) {
- ods->writeUint32LE(static_cast<uint32>(_maps.size()));
+void World::saveMaps(Common::WriteStream *ws) {
+ ws->writeUint32LE(static_cast<uint32>(_maps.size()));
for (unsigned int i = 0; i < _maps.size(); ++i) {
- _maps[i]->save(ods);
+ _maps[i]->save(ws);
}
}
diff --git a/engines/ultima/ultima8/world/world.h b/engines/ultima/ultima8/world/world.h
index dccf397e56..5ca0be483d 100644
--- a/engines/ultima/ultima8/world/world.h
+++ b/engines/ultima/ultima8/world/world.h
@@ -129,13 +129,13 @@ public:
void worldStats() const;
//! save the Maps in World.
- void saveMaps(ODataSource *ods);
+ void saveMaps(Common::WriteStream *ws);
//! load Maps
bool loadMaps(IDataSource *ids, uint32 version);
//! save the rest of the World data (ethereal items, current map number).
- void save(ODataSource *ods);
+ void save(Common::WriteStream *ws);
//! load World data
bool load(IDataSource *ids, uint32 version);
Commit: 143b593ac8c3ad848976c9450a928145edf2c1df
https://github.com/scummvm/scummvm/commit/143b593ac8c3ad848976c9450a928145edf2c1df
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2020-04-14T18:21:43+09:00
Commit Message:
ULTIMA8: Replace usage of IDataSource with Common::ReadStream
Changed paths:
engines/ultima/ultima8/audio/audio_process.cpp
engines/ultima/ultima8/audio/audio_process.h
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/music_process.cpp
engines/ultima/ultima8/audio/music_process.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/audio/speech_flex.h
engines/ultima/ultima8/conf/ini_file.cpp
engines/ultima/ultima8/convert/u8/convert_usecode_u8.h
engines/ultima/ultima8/filesys/archive.cpp
engines/ultima/ultima8/filesys/archive.h
engines/ultima/ultima8/filesys/archive_file.cpp
engines/ultima/ultima8/filesys/archive_file.h
engines/ultima/ultima8/filesys/file_system.cpp
engines/ultima/ultima8/filesys/file_system.h
engines/ultima/ultima8/filesys/flex_file.cpp
engines/ultima/ultima8/filesys/flex_file.h
engines/ultima/ultima8/filesys/odata_source.h
engines/ultima/ultima8/filesys/raw_archive.h
engines/ultima/ultima8/filesys/savegame.h
engines/ultima/ultima8/filesys/u8_save_file.cpp
engines/ultima/ultima8/filesys/u8_save_file.h
engines/ultima/ultima8/games/game.h
engines/ultima/ultima8/games/game_data.cpp
engines/ultima/ultima8/games/game_info.h
engines/ultima/ultima8/games/remorse_game.cpp
engines/ultima/ultima8/games/start_u8_process.cpp
engines/ultima/ultima8/games/start_u8_process.h
engines/ultima/ultima8/games/u8_game.cpp
engines/ultima/ultima8/games/u8_game.h
engines/ultima/ultima8/graphics/anim_dat.cpp
engines/ultima/ultima8/graphics/anim_dat.h
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/font_shape_archive.h
engines/ultima/ultima8/graphics/frame_id.cpp
engines/ultima/ultima8/graphics/frame_id.h
engines/ultima/ultima8/graphics/gump_shape_archive.cpp
engines/ultima/ultima8/graphics/gump_shape_archive.h
engines/ultima/ultima8/graphics/inverter_process.cpp
engines/ultima/ultima8/graphics/inverter_process.h
engines/ultima/ultima8/graphics/main_shape_archive.cpp
engines/ultima/ultima8/graphics/main_shape_archive.h
engines/ultima/ultima8/graphics/palette.cpp
engines/ultima/ultima8/graphics/palette.h
engines/ultima/ultima8/graphics/palette_fader_process.cpp
engines/ultima/ultima8/graphics/palette_fader_process.h
engines/ultima/ultima8/graphics/palette_manager.cpp
engines/ultima/ultima8/graphics/palette_manager.h
engines/ultima/ultima8/graphics/shape_archive.h
engines/ultima/ultima8/graphics/skf_player.cpp
engines/ultima/ultima8/graphics/skf_player.h
engines/ultima/ultima8/graphics/texture.cpp
engines/ultima/ultima8/graphics/texture.h
engines/ultima/ultima8/graphics/texture_bitmap.cpp
engines/ultima/ultima8/graphics/texture_bitmap.h
engines/ultima/ultima8/graphics/texture_png.cpp
engines/ultima/ultima8/graphics/texture_png.h
engines/ultima/ultima8/graphics/texture_targa.cpp
engines/ultima/ultima8/graphics/texture_targa.h
engines/ultima/ultima8/graphics/type_flags.cpp
engines/ultima/ultima8/graphics/type_flags.h
engines/ultima/ultima8/graphics/wpn_ovlay_dat.cpp
engines/ultima/ultima8/gumps/ask_gump.cpp
engines/ultima/ultima8/gumps/ask_gump.h
engines/ultima/ultima8/gumps/bark_gump.cpp
engines/ultima/ultima8/gumps/bark_gump.h
engines/ultima/ultima8/gumps/book_gump.cpp
engines/ultima/ultima8/gumps/book_gump.h
engines/ultima/ultima8/gumps/container_gump.cpp
engines/ultima/ultima8/gumps/container_gump.h
engines/ultima/ultima8/gumps/desktop_gump.cpp
engines/ultima/ultima8/gumps/desktop_gump.h
engines/ultima/ultima8/gumps/game_map_gump.cpp
engines/ultima/ultima8/gumps/game_map_gump.h
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/item_relative_gump.cpp
engines/ultima/ultima8/gumps/item_relative_gump.h
engines/ultima/ultima8/gumps/main_menu_process.cpp
engines/ultima/ultima8/gumps/main_menu_process.h
engines/ultima/ultima8/gumps/message_box_gump.cpp
engines/ultima/ultima8/gumps/message_box_gump.h
engines/ultima/ultima8/gumps/mini_stats_gump.cpp
engines/ultima/ultima8/gumps/mini_stats_gump.h
engines/ultima/ultima8/gumps/minimap_gump.cpp
engines/ultima/ultima8/gumps/minimap_gump.h
engines/ultima/ultima8/gumps/modal_gump.cpp
engines/ultima/ultima8/gumps/modal_gump.h
engines/ultima/ultima8/gumps/movie_gump.cpp
engines/ultima/ultima8/gumps/movie_gump.h
engines/ultima/ultima8/gumps/paged_gump.cpp
engines/ultima/ultima8/gumps/paged_gump.h
engines/ultima/ultima8/gumps/paperdoll_gump.cpp
engines/ultima/ultima8/gumps/paperdoll_gump.h
engines/ultima/ultima8/gumps/quit_gump.cpp
engines/ultima/ultima8/gumps/quit_gump.h
engines/ultima/ultima8/gumps/readable_gump.cpp
engines/ultima/ultima8/gumps/readable_gump.h
engines/ultima/ultima8/gumps/scroll_gump.cpp
engines/ultima/ultima8/gumps/scroll_gump.h
engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
engines/ultima/ultima8/gumps/shape_viewer_gump.h
engines/ultima/ultima8/gumps/slider_gump.cpp
engines/ultima/ultima8/gumps/slider_gump.h
engines/ultima/ultima8/gumps/target_gump.cpp
engines/ultima/ultima8/gumps/target_gump.h
engines/ultima/ultima8/gumps/widgets/button_widget.cpp
engines/ultima/ultima8/gumps/widgets/button_widget.h
engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
engines/ultima/ultima8/gumps/widgets/sliding_widget.h
engines/ultima/ultima8/gumps/widgets/text_widget.cpp
engines/ultima/ultima8/gumps/widgets/text_widget.h
engines/ultima/ultima8/kernel/delay_process.cpp
engines/ultima/ultima8/kernel/delay_process.h
engines/ultima/ultima8/kernel/kernel.cpp
engines/ultima/ultima8/kernel/kernel.h
engines/ultima/ultima8/kernel/mouse.cpp
engines/ultima/ultima8/kernel/object.cpp
engines/ultima/ultima8/kernel/object.h
engines/ultima/ultima8/kernel/object_manager.cpp
engines/ultima/ultima8/kernel/object_manager.h
engines/ultima/ultima8/kernel/process.cpp
engines/ultima/ultima8/kernel/process.h
engines/ultima/ultima8/misc/debugger.cpp
engines/ultima/ultima8/misc/id_man.cpp
engines/ultima/ultima8/misc/id_man.h
engines/ultima/ultima8/ultima8.cpp
engines/ultima/ultima8/ultima8.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/usecode/uc_stack.cpp
engines/ultima/ultima8/usecode/uc_stack.h
engines/ultima/ultima8/usecode/usecode_flex.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/actor_bark_notify_process.cpp
engines/ultima/ultima8/world/actors/actor_bark_notify_process.h
engines/ultima/ultima8/world/actors/ambush_process.cpp
engines/ultima/ultima8/world/actors/ambush_process.h
engines/ultima/ultima8/world/actors/animation_tracker.cpp
engines/ultima/ultima8/world/actors/animation_tracker.h
engines/ultima/ultima8/world/actors/avatar_death_process.cpp
engines/ultima/ultima8/world/actors/avatar_death_process.h
engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp
engines/ultima/ultima8/world/actors/avatar_gravity_process.h
engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
engines/ultima/ultima8/world/actors/avatar_mover_process.h
engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp
engines/ultima/ultima8/world/actors/clear_feign_death_process.h
engines/ultima/ultima8/world/actors/combat_process.cpp
engines/ultima/ultima8/world/actors/combat_process.h
engines/ultima/ultima8/world/actors/grant_peace_process.cpp
engines/ultima/ultima8/world/actors/grant_peace_process.h
engines/ultima/ultima8/world/actors/heal_process.cpp
engines/ultima/ultima8/world/actors/heal_process.h
engines/ultima/ultima8/world/actors/loiter_process.cpp
engines/ultima/ultima8/world/actors/loiter_process.h
engines/ultima/ultima8/world/actors/main_actor.cpp
engines/ultima/ultima8/world/actors/main_actor.h
engines/ultima/ultima8/world/actors/pathfinder_process.cpp
engines/ultima/ultima8/world/actors/pathfinder_process.h
engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp
engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h
engines/ultima/ultima8/world/actors/resurrection_process.cpp
engines/ultima/ultima8/world/actors/resurrection_process.h
engines/ultima/ultima8/world/actors/scheduler_process.cpp
engines/ultima/ultima8/world/actors/scheduler_process.h
engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
engines/ultima/ultima8/world/actors/targeted_anim_process.h
engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp
engines/ultima/ultima8/world/actors/teleport_to_egg_process.h
engines/ultima/ultima8/world/camera_process.cpp
engines/ultima/ultima8/world/camera_process.h
engines/ultima/ultima8/world/container.cpp
engines/ultima/ultima8/world/container.h
engines/ultima/ultima8/world/create_item_process.cpp
engines/ultima/ultima8/world/create_item_process.h
engines/ultima/ultima8/world/current_map.cpp
engines/ultima/ultima8/world/current_map.h
engines/ultima/ultima8/world/destroy_item_process.cpp
engines/ultima/ultima8/world/destroy_item_process.h
engines/ultima/ultima8/world/egg.cpp
engines/ultima/ultima8/world/egg.h
engines/ultima/ultima8/world/egg_hatcher_process.cpp
engines/ultima/ultima8/world/egg_hatcher_process.h
engines/ultima/ultima8/world/fireball_process.cpp
engines/ultima/ultima8/world/fireball_process.h
engines/ultima/ultima8/world/glob_egg.cpp
engines/ultima/ultima8/world/glob_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/item_factory.h
engines/ultima/ultima8/world/map.cpp
engines/ultima/ultima8/world/map.h
engines/ultima/ultima8/world/map_glob.cpp
engines/ultima/ultima8/world/map_glob.h
engines/ultima/ultima8/world/monster_egg.cpp
engines/ultima/ultima8/world/monster_egg.h
engines/ultima/ultima8/world/split_item_process.cpp
engines/ultima/ultima8/world/split_item_process.h
engines/ultima/ultima8/world/sprite_process.cpp
engines/ultima/ultima8/world/sprite_process.h
engines/ultima/ultima8/world/teleport_egg.cpp
engines/ultima/ultima8/world/teleport_egg.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 cf18f030d9..f56b288693 100644
--- a/engines/ultima/ultima8/audio/audio_process.cpp
+++ b/engines/ultima/ultima8/audio/audio_process.cpp
@@ -178,18 +178,18 @@ void AudioProcess::saveData(Common::WriteStream *ws) {
}
}
-bool AudioProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool AudioProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- uint32 count = ids->readByte();
+ uint32 count = rs->readByte();
while (count--) {
- int16 sfxNum = ids->readUint16LE();
- int16 priority = ids->readUint16LE();
- int16 objId = ids->readUint16LE();
- int16 loops = ids->readUint16LE();
- uint32 pitchShift = ids->readUint32LE();
- uint16 volume = ids->readUint16LE();
+ int16 sfxNum = rs->readUint16LE();
+ int16 priority = rs->readUint16LE();
+ int16 objId = rs->readUint16LE();
+ int16 loops = rs->readUint16LE();
+ uint32 pitchShift = rs->readUint32LE();
+ uint16 volume = rs->readUint16LE();
if (sfxNum != -1) { // SFX
int16 lVol = 0;
@@ -200,10 +200,10 @@ bool AudioProcess::loadData(IDataSource *ids, uint32 version) {
}
playSFX(sfxNum, priority, objId, loops, false, pitchShift, volume, lVol, rVol);
} else { // Speech
- uint32 slen = ids->readUint32LE();
+ uint32 slen = rs->readUint32LE();
char *buf = new char[slen + 1];
- ids->read(buf, slen);
+ rs->read(buf, slen);
buf[slen] = 0;
Std::string text = buf;
delete[] buf;
diff --git a/engines/ultima/ultima8/audio/audio_process.h b/engines/ultima/ultima8/audio/audio_process.h
index 1a0da7aacd..8e0cb87905 100644
--- a/engines/ultima/ultima8/audio/audio_process.h
+++ b/engines/ultima/ultima8/audio/audio_process.h
@@ -116,7 +116,7 @@ public:
//! stop all samples except speech
void stopAllExceptSpeech();
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
private:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/audio/audio_sample.h b/engines/ultima/ultima8/audio/audio_sample.h
index 63574955ab..38bd4bfed0 100644
--- a/engines/ultima/ultima8/audio/audio_sample.h
+++ b/engines/ultima/ultima8/audio/audio_sample.h
@@ -26,8 +26,6 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
-
class AudioSample {
protected:
uint32 _sampleRate;
diff --git a/engines/ultima/ultima8/audio/music_flex.cpp b/engines/ultima/ultima8/audio/music_flex.cpp
index 25d3d96b56..09db8ac7a2 100644
--- a/engines/ultima/ultima8/audio/music_flex.cpp
+++ b/engines/ultima/ultima8/audio/music_flex.cpp
@@ -24,6 +24,7 @@
#include "ultima/ultima8/audio/music_flex.h"
#include "ultima/ultima8/filesys/idata_source.h"
+#include "common/memstream.h"
namespace Ultima {
namespace Ultima8 {
@@ -31,7 +32,7 @@ namespace Ultima8 {
DEFINE_RUNTIME_CLASSTYPE_CODE(MusicFlex, Archive)
-MusicFlex::MusicFlex(IDataSource *ds) : Archive(ds), _songs(nullptr) {
+MusicFlex::MusicFlex(Common::SeekableReadStream *rs) : Archive(rs), _songs(nullptr) {
Std::memset(_info, 0, sizeof(SongInfo *) * 128);
loadSongInfo();
}
@@ -85,10 +86,10 @@ bool MusicFlex::isCached(uint32 index) const {
return (_songs[index] != nullptr);
}
-IDataSource *MusicFlex::getAdlibTimbres() {
+Common::SeekableReadStream *MusicFlex::getAdlibTimbres() {
uint32 size;
const uint8 *data = getRawObject(259, &size);
- return new IBufferDataSource(data, size, false, true);
+ return new Common::MemoryReadStream(data, size, DisposeAfterUse::YES);
}
void MusicFlex::loadSongInfo() {
diff --git a/engines/ultima/ultima8/audio/music_flex.h b/engines/ultima/ultima8/audio/music_flex.h
index 1d883f0ca8..490566d6bd 100644
--- a/engines/ultima/ultima8/audio/music_flex.h
+++ b/engines/ultima/ultima8/audio/music_flex.h
@@ -45,7 +45,7 @@ public:
int *_transitions[128];
};
- MusicFlex(IDataSource *ds);
+ MusicFlex(Common::SeekableReadStream *rs);
~MusicFlex() override;
//! Get an xmidi
@@ -55,7 +55,7 @@ public:
const SongInfo *getSongInfo(uint32 index) const;
//! Get the Adlib Timbres (index 259)
- IDataSource *getAdlibTimbres();
+ Common::SeekableReadStream *getAdlibTimbres();
void cache(uint32 index) override;
void uncache(uint32 index) override;
diff --git a/engines/ultima/ultima8/audio/music_process.cpp b/engines/ultima/ultima8/audio/music_process.cpp
index 8b2497b233..45b0645e9b 100644
--- a/engines/ultima/ultima8/audio/music_process.cpp
+++ b/engines/ultima/ultima8/audio/music_process.cpp
@@ -235,14 +235,14 @@ void MusicProcess::saveData(Common::WriteStream *ws) {
ws->writeUint32LE(static_cast<uint32>(_trackState._queued));
}
-bool MusicProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool MusicProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _trackState._wanted = static_cast<int32>(ids->readUint32LE());
+ _trackState._wanted = static_cast<int32>(rs->readUint32LE());
if (version >= 4) {
- _trackState._lastRequest = static_cast<int32>(ids->readUint32LE());
- _trackState._queued = static_cast<int32>(ids->readUint32LE());
+ _trackState._lastRequest = static_cast<int32>(rs->readUint32LE());
+ _trackState._queued = static_cast<int32>(rs->readUint32LE());
} else {
_trackState._lastRequest = _trackState._wanted;
_trackState._queued = 0;
diff --git a/engines/ultima/ultima8/audio/music_process.h b/engines/ultima/ultima8/audio/music_process.h
index bd6fbd01d3..50bb41e043 100644
--- a/engines/ultima/ultima8/audio/music_process.h
+++ b/engines/ultima/ultima8/audio/music_process.h
@@ -113,7 +113,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/audio/sound_flex.cpp b/engines/ultima/ultima8/audio/sound_flex.cpp
index 6e6e65ddb6..5b35b6e76f 100644
--- a/engines/ultima/ultima8/audio/sound_flex.cpp
+++ b/engines/ultima/ultima8/audio/sound_flex.cpp
@@ -32,7 +32,7 @@ namespace Ultima8 {
DEFINE_RUNTIME_CLASSTYPE_CODE(SoundFlex, Archive)
-SoundFlex::SoundFlex(IDataSource *ds) : Archive(ds), _samples(nullptr) {
+SoundFlex::SoundFlex(Common::SeekableReadStream *rs) : Archive(rs), _samples(nullptr) {
}
SoundFlex::~SoundFlex() {
diff --git a/engines/ultima/ultima8/audio/sound_flex.h b/engines/ultima/ultima8/audio/sound_flex.h
index 127434e201..1bf002b447 100644
--- a/engines/ultima/ultima8/audio/sound_flex.h
+++ b/engines/ultima/ultima8/audio/sound_flex.h
@@ -35,7 +35,7 @@ class SoundFlex : protected Archive {
public:
ENABLE_RUNTIME_CLASSTYPE()
- SoundFlex(IDataSource *ds);
+ SoundFlex(Common::SeekableReadStream *rs);
~SoundFlex() override;
//! Get an audiosample
diff --git a/engines/ultima/ultima8/audio/speech_flex.cpp b/engines/ultima/ultima8/audio/speech_flex.cpp
index f01c0ff3fd..6370c789ef 100644
--- a/engines/ultima/ultima8/audio/speech_flex.cpp
+++ b/engines/ultima/ultima8/audio/speech_flex.cpp
@@ -31,7 +31,7 @@ namespace Ultima8 {
// p_dynamic_class stuff
DEFINE_RUNTIME_CLASSTYPE_CODE(SpeechFlex, SoundFlex)
-SpeechFlex::SpeechFlex(IDataSource *ds) : SoundFlex(ds) {
+SpeechFlex::SpeechFlex(Common::SeekableReadStream *rs) : SoundFlex(rs) {
uint32 size = getRawSize(0);
const uint8 *buf = getRawObject(0);
diff --git a/engines/ultima/ultima8/audio/speech_flex.h b/engines/ultima/ultima8/audio/speech_flex.h
index c9ae9c9cf3..95cb2f03e3 100644
--- a/engines/ultima/ultima8/audio/speech_flex.h
+++ b/engines/ultima/ultima8/audio/speech_flex.h
@@ -37,7 +37,7 @@ public:
// p_dynamic_class stuff
ENABLE_RUNTIME_CLASSTYPE()
- SpeechFlex(IDataSource *ds);
+ SpeechFlex(Common::SeekableReadStream *rs);
~SpeechFlex(void) override;
int getIndexForPhrase(const Std::string &phrase,
diff --git a/engines/ultima/ultima8/conf/ini_file.cpp b/engines/ultima/ultima8/conf/ini_file.cpp
index c740252267..68387f5d50 100644
--- a/engines/ultima/ultima8/conf/ini_file.cpp
+++ b/engines/ultima/ultima8/conf/ini_file.cpp
@@ -293,7 +293,7 @@ void INIFile::write() {
if (!_isFile || _readOnly)
return;
- ODataSource *f = FileSystem::get_instance()->WriteFile(_filename, true);
+ Common::WriteStream *f = FileSystem::get_instance()->WriteFile(_filename, true);
if (!f) return;
Std::string s = dump();
diff --git a/engines/ultima/ultima8/convert/u8/convert_usecode_u8.h b/engines/ultima/ultima8/convert/u8/convert_usecode_u8.h
index dd242f6df1..d73478a982 100644
--- a/engines/ultima/ultima8/convert/u8/convert_usecode_u8.h
+++ b/engines/ultima/ultima8/convert/u8/convert_usecode_u8.h
@@ -40,18 +40,18 @@ public:
{
uint32 _maxOffset;
};
- uint32 readUint32LE(IDataSource *) { return 0; }
+ uint32 readUint32LE(Common::SeekableReadStream *) { return 0; }
uint32 _curOffset;
virtual const char* const *intrinsics()=0;
virtual const char* const *event_names()=0;
- virtual void readheader(IDataSource *ucfile, UsecodeHeader &uch, uint32 &curOffset)=0;
- virtual void readevents(IDataSource *ucfile, const UsecodeHeader &uch)=0;
- virtual void readOp(TempOp &op, IDataSource *ucfile, uint32 &dbg_symbol_offset, Std::vector<DebugSymbol> &debugSymbols, bool &done)=0;
- virtual Node *readOp(IDataSource *ucfile, uint32 &dbg_symbol_offset, Std::vector<DebugSymbol> &debugSymbols, bool &done)=0;
- void readOpGeneric(TempOp &, IDataSource *, uint32 &, Std::vector<DebugSymbol> &,
+ virtual void readheader(Common::SeekableReadStream *ucfile, UsecodeHeader &uch, uint32 &curOffset)=0;
+ virtual void readevents(Common::SeekableReadStream *ucfile, const UsecodeHeader &uch)=0;
+ virtual void readOp(TempOp &op, Common::SeekableReadStream *ucfile, uint32 &dbg_symbol_offset, Std::vector<DebugSymbol> &debugSymbols, bool &done)=0;
+ virtual Node *readOp(Common::SeekableReadStream *ucfile, uint32 &dbg_symbol_offset, Std::vector<DebugSymbol> &debugSymbols, bool &done)=0;
+ void readOpGeneric(TempOp &, Common::SeekableReadStream *, uint32 &, Std::vector<DebugSymbol> &,
bool &, const bool ) { }
- Node *readOpGeneric(IDataSource *, uint32 &, Std::vector<DebugSymbol> &,
+ Node *readOpGeneric(Common::SeekableReadStream *, uint32 &, Std::vector<DebugSymbol> &,
bool &, const bool ) { return nullptr; }
};
@@ -67,8 +67,8 @@ class ConvertUsecodeU8 : public ConvertUsecode {
public:
const char* const *intrinsics() override { return _intrinsics; };
const char* const *event_names() override { return _event_names; };
- void readheader(IDataSource *ucfile, UsecodeHeader &uch, uint32 &curOffset_) override;
- void readevents(IDataSource *ucfile, const UsecodeHeader &/*uch*/) override
+ void readheader(Common::SeekableReadStream *ucfile, UsecodeHeader &uch, uint32 &curOffset_) override;
+ void readevents(Common::SeekableReadStream *ucfile, const UsecodeHeader &/*uch*/) override
{
#ifndef INCLUDE_CONVERTUSECODEU8_WITHOUT_BRINGING_IN_FOLD
EventMap.clear();
@@ -83,9 +83,9 @@ public:
#endif
}
- void readOp(TempOp &op, IDataSource *ucfile, uint32 &dbg_symbol_offset, Std::vector<DebugSymbol> &debugSymbols, bool &done) override
+ void readOp(TempOp &op, Common::SeekableReadStream *ucfile, uint32 &dbg_symbol_offset, Std::vector<DebugSymbol> &debugSymbols, bool &done) override
{ readOpGeneric(op, ucfile, dbg_symbol_offset, debugSymbols, done, false); };
- Node *readOp(IDataSource *ucfile, uint32 &dbg_symbol_offset, Std::vector<DebugSymbol> &debugSymbols, bool &done) override
+ Node *readOp(Common::SeekableReadStream *ucfile, uint32 &dbg_symbol_offset, Std::vector<DebugSymbol> &debugSymbols, bool &done) override
{ return readOpGeneric(ucfile, dbg_symbol_offset, debugSymbols, done, false); };
@@ -409,7 +409,7 @@ const char * const ConvertUsecodeU8::_event_names[] = {
0
};
-void ConvertUsecodeU8::readheader(IDataSource *ucfile, UsecodeHeader &uch, uint32 &curOffset_) {
+void ConvertUsecodeU8::readheader(Common::SeekableReadStream *ucfile, UsecodeHeader &uch, uint32 &curOffset_) {
#ifdef DISASM_DEBUG
perr << Std::setfill('0') << Std::hex;
perr << "unknown1: " << Std::setw(4) << readUint32LE(ucfile) << endl; // unknown
diff --git a/engines/ultima/ultima8/filesys/archive.cpp b/engines/ultima/ultima8/filesys/archive.cpp
index 360e1cbef8..82a51af926 100644
--- a/engines/ultima/ultima8/filesys/archive.cpp
+++ b/engines/ultima/ultima8/filesys/archive.cpp
@@ -49,8 +49,8 @@ Archive::Archive(ArchiveFile *af) : _count(0) {
addSource(af);
}
-Archive::Archive(IDataSource *ids) : _count(0) {
- addSource(ids);
+Archive::Archive(Common::SeekableReadStream *rs) : _count(0) {
+ addSource(rs);
}
bool Archive::addSource(ArchiveFile *af) {
@@ -62,15 +62,15 @@ bool Archive::addSource(ArchiveFile *af) {
return true;
}
-bool Archive::addSource(IDataSource *ids) {
+bool Archive::addSource(Common::SeekableReadStream *rs) {
ArchiveFile *s = nullptr;
- if (!ids) return false;
+ if (!rs) return false;
- if (FlexFile::isFlexFile(ids)) {
- s = new FlexFile(ids);
- } else if (U8SaveFile::isU8SaveFile(ids)) {
- s = new U8SaveFile(ids);
+ if (FlexFile::isFlexFile(rs)) {
+ s = new FlexFile(rs);
+ } else if (U8SaveFile::isU8SaveFile(rs)) {
+ s = new U8SaveFile(rs);
}
if (!s) return false;
diff --git a/engines/ultima/ultima8/filesys/archive.h b/engines/ultima/ultima8/filesys/archive.h
index 3b384a59ec..b8ba8d4880 100644
--- a/engines/ultima/ultima8/filesys/archive.h
+++ b/engines/ultima/ultima8/filesys/archive.h
@@ -31,7 +31,6 @@ namespace Ultima {
namespace Ultima8 {
class ArchiveFile;
-class IDataSource;
class Archive {
public:
@@ -45,7 +44,7 @@ public:
//! create Archive with a single input source, autodetecting the type
//! Will create FlexFile, U8SaveFile or ZipFile; ids will be deleted.
- explicit Archive(IDataSource *ids);
+ explicit Archive(Common::SeekableReadStream *rs);
virtual ~Archive();
@@ -56,7 +55,7 @@ public:
bool addSource(ArchiveFile *af);
//! add input source, autodetecting the type (as the constructor)
- bool addSource(IDataSource *ids);
+ bool addSource(Common::SeekableReadStream *rs);
//! Cache all objects
void cache();
diff --git a/engines/ultima/ultima8/filesys/archive_file.cpp b/engines/ultima/ultima8/filesys/archive_file.cpp
index 54bbd75819..bcf52a14f1 100644
--- a/engines/ultima/ultima8/filesys/archive_file.cpp
+++ b/engines/ultima/ultima8/filesys/archive_file.cpp
@@ -24,6 +24,7 @@
#include "ultima/ultima8/filesys/archive_file.h"
#include "ultima/ultima8/filesys/idata_source.h"
+#include "common/memstream.h"
namespace Ultima {
namespace Ultima8 {
@@ -49,24 +50,24 @@ bool ArchiveFile::extractIndexFromName(const Std::string &name, uint32 &index) {
return true;
}
-IDataSource *ArchiveFile::getDataSource(uint32 index, bool is_text) {
+Common::SeekableReadStream *ArchiveFile::getDataSource(uint32 index, bool is_text) {
uint32 size;
uint8 *buf = getObject(index, &size);
if (!buf)
return nullptr;
- return new IBufferDataSource(buf, size, is_text, true);
+ return new Common::MemoryReadStream(buf, size, DisposeAfterUse::YES);
}
-IDataSource *ArchiveFile::getDataSource(const Std::string &name, bool is_text) {
+Common::SeekableReadStream *ArchiveFile::getDataSource(const Std::string &name, bool is_text) {
uint32 size;
uint8 *buf = getObject(name, &size);
if (!buf)
return nullptr;
- return new IBufferDataSource(buf, size, is_text, true);
+ return new Common::MemoryReadStream(buf, size, DisposeAfterUse::YES);
}
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/filesys/archive_file.h b/engines/ultima/ultima8/filesys/archive_file.h
index be56461bed..54db7dfde6 100644
--- a/engines/ultima/ultima8/filesys/archive_file.h
+++ b/engines/ultima/ultima8/filesys/archive_file.h
@@ -29,8 +29,6 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
-
class ArchiveFile {
public:
ENABLE_RUNTIME_CLASSTYPE_BASE()
@@ -80,13 +78,13 @@ public:
//! \param index index of object to get size of
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
- IDataSource *getDataSource(uint32 index, bool is_text = false);
+ //! Get object as a Common::SeekableReadStream
+ //! Delete the SeekableReadStream afterwards; that will delete the data as well
+ Common::SeekableReadStream *getDataSource(uint32 index, bool is_text = false);
- //! Get named object as an IDataSource
- //! Delete the IDataSource afterwards; that will delete the data as well
- IDataSource *getDataSource(const Std::string &name, bool is_text = false);
+ //! Get named as a Common::SeekableReadStream
+ //! Delete the SeekableReadStream afterwards; that will delete the data as well
+ Common::SeekableReadStream *getDataSource(const Std::string &name, bool is_text = false);
//! Get upper bound for number of objects.
//! In an indexed file this is (probably) the highest index plus one,
diff --git a/engines/ultima/ultima8/filesys/file_system.cpp b/engines/ultima/ultima8/filesys/file_system.cpp
index 54881028fc..dc17daa848 100644
--- a/engines/ultima/ultima8/filesys/file_system.cpp
+++ b/engines/ultima/ultima8/filesys/file_system.cpp
@@ -66,14 +66,14 @@ IDataSource *FileSystem::ReadFile(const string &vfn, bool is_text) {
}
// Open a streaming file as writeable. Streamed (0 on failure)
-ODataSource *FileSystem::WriteFile(const string &vfn, bool is_text) {
+Common::WriteStream *FileSystem::WriteFile(const string &vfn, bool is_text) {
string filename = vfn;
Common::WriteStream *writeStream;
if (!rawOpen(writeStream, filename))
return nullptr;
- return new OFileDataSource(writeStream);
+ return writeStream;
}
bool FileSystem::rawOpen(Common::SeekableReadStream *&in, const string &fname) {
diff --git a/engines/ultima/ultima8/filesys/file_system.h b/engines/ultima/ultima8/filesys/file_system.h
index fe8a7e05d2..b534310652 100644
--- a/engines/ultima/ultima8/filesys/file_system.h
+++ b/engines/ultima/ultima8/filesys/file_system.h
@@ -53,8 +53,8 @@ public:
//! Open a file as writable. Streamed.
//! \param vfn the (virtual) filename
//! \param is_text open in text mode?
- //! \return nullptr on failure
- ODataSource *WriteFile(const Std::string &vfn, bool is_text = false);
+ //! \return a new writestream, or nullptr on failure
+ Common::WriteStream *WriteFile(const Std::string &vfn, bool is_text = false);
//! Mount a virtual path
//! \param vpath the name of the vpath (should start with '@')
diff --git a/engines/ultima/ultima8/filesys/flex_file.cpp b/engines/ultima/ultima8/filesys/flex_file.cpp
index d912a65bfe..2b2e3f8a6f 100644
--- a/engines/ultima/ultima8/filesys/flex_file.cpp
+++ b/engines/ultima/ultima8/filesys/flex_file.cpp
@@ -31,25 +31,25 @@ DEFINE_RUNTIME_CLASSTYPE_CODE(FlexFile, ArchiveFile)
-FlexFile::FlexFile(IDataSource *ds_) : _ds(ds_), _count(0) {
- _valid = isFlexFile(_ds);
+FlexFile::FlexFile(Common::SeekableReadStream *rs_) : _rs(rs_), _count(0) {
+ _valid = isFlexFile(_rs);
if (_valid) {
- _ds->seek(0x54);
- _count = _ds->readUint32LE();
+ _rs->seek(0x54);
+ _count = _rs->readUint32LE();
}
}
FlexFile::~FlexFile() {
- delete _ds;
+ delete _rs;
}
//static
-bool FlexFile::isFlexFile(IDataSource *_ds) {
- _ds->seek(0);
+bool FlexFile::isFlexFile(Common::SeekableReadStream *_rs) {
+ _rs->seek(0);
int i;
char buf[0x52];
- _ds->read(buf, 0x52);
+ _rs->read(buf, 0x52);
for (i = 0; i < 0x52; ++i) {
if (buf[i] == 0x1A) break;
@@ -65,8 +65,8 @@ bool FlexFile::isFlexFile(IDataSource *_ds) {
}
uint32 FlexFile::getOffset(uint32 index) {
- _ds->seek(0x80 + 8 * index);
- return _ds->readUint32LE();
+ _rs->seek(0x80 + 8 * index);
+ return _rs->readUint32LE();
}
uint8 *FlexFile::getObject(uint32 index, uint32 *sizep) {
@@ -80,8 +80,8 @@ uint8 *FlexFile::getObject(uint32 index, uint32 *sizep) {
uint8 *object = new uint8[size];
uint32 offset = getOffset(index);
- _ds->seek(offset);
- _ds->read(object, size);
+ _rs->seek(offset);
+ _rs->read(object, size);
if (sizep) *sizep = size;
@@ -91,8 +91,8 @@ uint8 *FlexFile::getObject(uint32 index, uint32 *sizep) {
uint32 FlexFile::getSize(uint32 index) const {
if (index >= _count) return 0;
- _ds->seek(0x84 + 8 * index);
- uint32 length = _ds->readUint32LE();
+ _rs->seek(0x84 + 8 * index);
+ uint32 length = _rs->readUint32LE();
return length;
}
diff --git a/engines/ultima/ultima8/filesys/flex_file.h b/engines/ultima/ultima8/filesys/flex_file.h
index e0b6cf9a4d..819b04b5cf 100644
--- a/engines/ultima/ultima8/filesys/flex_file.h
+++ b/engines/ultima/ultima8/filesys/flex_file.h
@@ -29,15 +29,13 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
-
class FlexFile : public ArchiveFile {
public:
ENABLE_RUNTIME_CLASSTYPE()
//! create FlexFile from datasource; FlexFile takes ownership of ds
//! and deletes it when destructed
- explicit FlexFile(IDataSource *ds);
+ explicit FlexFile(Common::SeekableReadStream *rs);
~FlexFile() override;
bool exists(uint32 index) override {
@@ -85,12 +83,12 @@ public:
return false;
}
- static bool isFlexFile(IDataSource *ds);
+ static bool isFlexFile(Common::SeekableReadStream *rs);
protected:
bool nameToIndex(const Std::string &name, uint32 &index) const;
- IDataSource *_ds;
+ Common::SeekableReadStream *_rs;
uint32 _count;
private:
diff --git a/engines/ultima/ultima8/filesys/odata_source.h b/engines/ultima/ultima8/filesys/odata_source.h
index c4a2f1bc46..a616d9a53c 100644
--- a/engines/ultima/ultima8/filesys/odata_source.h
+++ b/engines/ultima/ultima8/filesys/odata_source.h
@@ -61,44 +61,6 @@ public:
};
-class OFileDataSource : public ODataSource {
-private:
- Common::WriteStream *_out;
-
-public:
- OFileDataSource(Common::WriteStream *data_stream) : _out(data_stream) {
- }
-
- ~OFileDataSource() override {
- FORGET_OBJECT(_out);
- }
-
- uint32 write(const void *b, uint32 len) override {
- return _out->write(b, len);
- }
-
- bool seek(int32 pos, int whence = SEEK_SET) override {
- Common::SeekableWriteStream *ws = dynamic_cast<Common::SeekableWriteStream *>(_out);
- assert(ws);
- return ws->seek(pos, whence);
- }
-
- int32 size() const override {
- Common::SeekableWriteStream *ws = dynamic_cast<Common::SeekableWriteStream *>(_out);
- assert(ws);
- return ws->size();
- }
-
- int32 pos() const override {
- return _out->pos();
- }
-
- Common::WriteStream *GetRawStream() override {
- return _out;
- }
-};
-
-
class OAutoBufferDataSource: public ODataSource {
protected:
uint8 *_buf;
diff --git a/engines/ultima/ultima8/filesys/raw_archive.h b/engines/ultima/ultima8/filesys/raw_archive.h
index 7f3385b72a..f2c180bc4c 100644
--- a/engines/ultima/ultima8/filesys/raw_archive.h
+++ b/engines/ultima/ultima8/filesys/raw_archive.h
@@ -38,7 +38,7 @@ public:
RawArchive() : Archive() { }
explicit RawArchive(ArchiveFile *af) : Archive(af) { }
- explicit RawArchive(IDataSource *ids) : Archive(ids) { }
+ explicit RawArchive(Common::SeekableReadStream *rs) : Archive(rs) { }
~RawArchive() override;
diff --git a/engines/ultima/ultima8/filesys/savegame.h b/engines/ultima/ultima8/filesys/savegame.h
index 4fd09a318c..ad505eb11f 100644
--- a/engines/ultima/ultima8/filesys/savegame.h
+++ b/engines/ultima/ultima8/filesys/savegame.h
@@ -34,7 +34,6 @@ namespace Ultima8 {
class ZipFile;
class IDataSource;
-class ODataSource;
class OAutoBufferDataSource;
class SavegameReader {
diff --git a/engines/ultima/ultima8/filesys/u8_save_file.cpp b/engines/ultima/ultima8/filesys/u8_save_file.cpp
index 48a28f24c2..ad3d101e7c 100644
--- a/engines/ultima/ultima8/filesys/u8_save_file.cpp
+++ b/engines/ultima/ultima8/filesys/u8_save_file.cpp
@@ -31,45 +31,45 @@ namespace Ultima8 {
DEFINE_RUNTIME_CLASSTYPE_CODE(U8SaveFile, NamedArchiveFile)
-U8SaveFile::U8SaveFile(IDataSource *ds_) : _ds(ds_), _count(0) {
- _valid = isU8SaveFile(_ds);
+U8SaveFile::U8SaveFile(Common::SeekableReadStream *rs_) : _rs(rs_), _count(0) {
+ _valid = isU8SaveFile(_rs);
if (_valid)
_valid = readMetadata();
}
U8SaveFile::~U8SaveFile() {
- delete _ds;
+ delete _rs;
}
//static
-bool U8SaveFile::isU8SaveFile(IDataSource *_ds) {
- _ds->seek(0);
+bool U8SaveFile::isU8SaveFile(Common::SeekableReadStream *_rs) {
+ _rs->seek(0);
char buf[24];
- _ds->read(buf, 23);
+ _rs->read(buf, 23);
buf[23] = '\0';
return (Std::strncmp(buf, "Ultima 8 SaveGame File.", 23) == 0);
}
bool U8SaveFile::readMetadata() {
- _ds->seek(0x18);
- _count = _ds->readUint16LE();
+ _rs->seek(0x18);
+ _count = _rs->readUint16LE();
_offsets.resize(_count);
_sizes.resize(_count);
for (unsigned int i = 0; i < _count; ++i) {
- uint32 namelen = _ds->readUint32LE();
+ uint32 namelen = _rs->readUint32LE();
char *buf = new char[namelen];
- _ds->read(buf, static_cast<int32>(namelen));
+ _rs->read(buf, static_cast<int32>(namelen));
Std::string filename = buf;
_indices[filename] = i;
storeIndexedName(filename);
delete[] buf;
- _sizes[i] = _ds->readUint32LE();
- _offsets[i] = _ds->pos();
- _ds->skip(_sizes[i]); // skip data
+ _sizes[i] = _rs->readUint32LE();
+ _offsets[i] = _rs->pos();
+ _rs->skip(_sizes[i]); // skip data
}
return true;
@@ -100,8 +100,8 @@ uint8 *U8SaveFile::getObject(const Std::string &name, uint32 *sizep) {
uint8 *object = new uint8[size];
uint32 offset = _offsets[index];
- _ds->seek(offset);
- _ds->read(object, size);
+ _rs->seek(offset);
+ _rs->read(object, size);
if (sizep) *sizep = size;
diff --git a/engines/ultima/ultima8/filesys/u8_save_file.h b/engines/ultima/ultima8/filesys/u8_save_file.h
index d644130706..de081cf655 100644
--- a/engines/ultima/ultima8/filesys/u8_save_file.h
+++ b/engines/ultima/ultima8/filesys/u8_save_file.h
@@ -30,15 +30,13 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
-
class U8SaveFile : public NamedArchiveFile {
public:
ENABLE_RUNTIME_CLASSTYPE()
//! create U8SaveFile from datasource; U8SaveFile takes ownership of ds
//! and deletes it when destructed
- explicit U8SaveFile(IDataSource *ds);
+ explicit U8SaveFile(Common::SeekableReadStream *rs);
~U8SaveFile() override;
bool exists(const Std::string &name) override;
@@ -51,10 +49,10 @@ public:
return _count;
}
- static bool isU8SaveFile(IDataSource *ds);
+ static bool isU8SaveFile(Common::SeekableReadStream *rs);
protected:
- IDataSource *_ds;
+ Common::SeekableReadStream *_rs;
uint32 _count;
Std::map<Common::String, uint32> _indices;
diff --git a/engines/ultima/ultima8/games/game.h b/engines/ultima/ultima8/games/game.h
index 074eff7aa5..7e1e49cee2 100644
--- a/engines/ultima/ultima8/games/game.h
+++ b/engines/ultima/ultima8/games/game.h
@@ -29,8 +29,6 @@
namespace Ultima {
namespace Ultima8 {
-class ODataSource;
-
class Game {
public:
Game();
diff --git a/engines/ultima/ultima8/games/game_data.cpp b/engines/ultima/ultima8/games/game_data.cpp
index 9178acdcac..dd44fb478c 100644
--- a/engines/ultima/ultima8/games/game_data.cpp
+++ b/engines/ultima/ultima8/games/game_data.cpp
@@ -226,7 +226,7 @@ FrameID GameData::translate(FrameID f) {
void GameData::loadU8Data() {
FileSystem *filesystem = FileSystem::get_instance();
- IDataSource *fd = filesystem->ReadFile("@game/static/fixed.dat");
+ Common::SeekableReadStream *fd = filesystem->ReadFile("@game/static/fixed.dat");
if (!fd)
error("Unable to load static/fixed.dat");;
@@ -241,7 +241,7 @@ void GameData::loadU8Data() {
filename += "usecode.flx";
- IDataSource *uds = filesystem->ReadFile(filename);
+ Common::SeekableReadStream *uds = filesystem->ReadFile(filename);
if (!uds)
error("Unable to load %s", filename.c_str());
@@ -249,7 +249,7 @@ void GameData::loadU8Data() {
// Load main shapes
pout << "Load Shapes" << Std::endl;
- IDataSource *sf = filesystem->ReadFile("@game/static/u8shapes.flx");
+ Common::SeekableReadStream *sf = filesystem->ReadFile("@game/static/u8shapes.flx");
if (!sf) sf = filesystem->ReadFile("@game/static/u8shapes.cmp");
if (!sf)
@@ -266,7 +266,7 @@ void GameData::loadU8Data() {
config->readConfigFile("@data/u8.ini", "game", true);
// Load typeflags
- IDataSource *tfs = filesystem->ReadFile("@game/static/typeflag.dat");
+ Common::SeekableReadStream *tfs = filesystem->ReadFile("@game/static/typeflag.dat");
if (!tfs)
error("Unable to load static/typeflag.dat");
@@ -274,7 +274,7 @@ void GameData::loadU8Data() {
delete tfs;
// Load animdat
- IDataSource *af = filesystem->ReadFile("@game/static/anim.dat");
+ Common::SeekableReadStream *af = filesystem->ReadFile("@game/static/anim.dat");
if (!af)
error("Unable to load static/anim.dat");
@@ -282,7 +282,7 @@ void GameData::loadU8Data() {
delete af;
// Load weapon overlay data
- IDataSource *wod = filesystem->ReadFile("@game/static/wpnovlay.dat");
+ Common::SeekableReadStream *wod = filesystem->ReadFile("@game/static/wpnovlay.dat");
if (!wod)
error("Unable to load static/wpnovlay.dat");
@@ -292,7 +292,7 @@ void GameData::loadU8Data() {
delete overlayflex;
// Load _globs
- IDataSource *gds = filesystem->ReadFile("@game/static/glob.flx");
+ Common::SeekableReadStream *gds = filesystem->ReadFile("@game/static/glob.flx");
if (!gds)
error("Unable to load static/glob.flx");
@@ -301,20 +301,20 @@ void GameData::loadU8Data() {
_globs.resize(globflex->getCount());
for (unsigned int i = 0; i < globflex->getCount(); ++i) {
MapGlob *glob = 0;
- IDataSource *globds = globflex->get_datasource(i);
+ Common::SeekableReadStream *globrs = globflex->get_datasource(i);
- if (globds && globds->size()) {
+ if (globrs && globrs->size()) {
glob = new MapGlob();
- glob->read(globds);
+ glob->read(globrs);
}
- delete globds;
+ delete globrs;
_globs[i] = glob;
}
delete globflex;
// Load fonts
- IDataSource *fds = filesystem->ReadFile("@game/static/u8fonts.flx");
+ Common::SeekableReadStream *fds = filesystem->ReadFile("@game/static/u8fonts.flx");
if (!fds)
error("Unable to load static/u8fonts.flx");
@@ -331,14 +331,14 @@ void GameData::loadU8Data() {
_mouse->setPalette(PaletteManager::get_instance()->getPalette(PaletteManager::Pal_Game));
delete msds;
- IDataSource *gumpds = filesystem->ReadFile("@game/static/u8gumps.flx");
+ Common::SeekableReadStream *gumpds = filesystem->ReadFile("@game/static/u8gumps.flx");
if (!gumpds)
error("Unable to load static/u8gumps.flx");
_gumps = new GumpShapeArchive(gumpds, GUMPS,
PaletteManager::get_instance()->getPalette(PaletteManager::Pal_Game));
- IDataSource *gumpageds = filesystem->ReadFile("@game/static/gumpage.dat");
+ Common::SeekableReadStream *gumpageds = filesystem->ReadFile("@game/static/gumpage.dat");
if (!gumpageds)
error("Unable to load static/gumpage.dat");
@@ -346,13 +346,13 @@ void GameData::loadU8Data() {
delete gumpageds;
- IDataSource *mf = filesystem->ReadFile("@game/sound/music.flx");
+ Common::SeekableReadStream *mf = filesystem->ReadFile("@game/sound/music.flx");
if (!mf)
error("Unable to load sound/music.flx");
_music = new MusicFlex(mf);
- IDataSource *sndflx = filesystem->ReadFile("@game/sound/sound.flx");
+ Common::SeekableReadStream *sndflx = filesystem->ReadFile("@game/sound/sound.flx");
if (!sndflx)
error("Unable to load sound/sound.flx");
@@ -461,7 +461,7 @@ SpeechFlex *GameData::getSpeechFlex(uint32 shapeNum) {
return nullptr;
}
- IDataSource *sflx = filesystem->ReadFile(u8_sound_ + langletter + num_flx);
+ Common::SeekableReadStream *sflx = filesystem->ReadFile(u8_sound_ + langletter + num_flx);
if (sflx) {
*s = new SpeechFlex(sflx);
}
@@ -475,7 +475,7 @@ SpeechFlex *GameData::getSpeechFlex(uint32 shapeNum) {
void GameData::loadRemorseData() {
FileSystem *filesystem = FileSystem::get_instance();
- IDataSource *fd = filesystem->ReadFile("@game/static/_fixed.dat");
+ Common::SeekableReadStream *fd = filesystem->ReadFile("@game/static/_fixed.dat");
if (!fd)
error("Unable to load static/_fixed.dat");
@@ -490,7 +490,7 @@ void GameData::loadRemorseData() {
filename += "usecode.flx";
- IDataSource *uds = filesystem->ReadFile(filename);
+ Common::SeekableReadStream *uds = filesystem->ReadFile(filename);
if (!uds)
error("Unable to load %s", filename.c_str());
@@ -498,7 +498,7 @@ void GameData::loadRemorseData() {
// Load main shapes
pout << "Load Shapes" << Std::endl;
- IDataSource *sf = filesystem->ReadFile("@game/static/shapes.flx");
+ Common::SeekableReadStream *sf = filesystem->ReadFile("@game/static/shapes.flx");
if (!sf)
error("Unable to load static/shapes.flx");
@@ -517,7 +517,7 @@ void GameData::loadRemorseData() {
config->readConfigFile("@data/remorse.ini", "game", true);
// Load typeflags
- IDataSource *tfs = filesystem->ReadFile("@game/static/typeflag.dat");
+ Common::SeekableReadStream *tfs = filesystem->ReadFile("@game/static/typeflag.dat");
if (!tfs)
error("Unable to load static/typeflag.dat");
@@ -525,7 +525,7 @@ void GameData::loadRemorseData() {
delete tfs;
// Load animdat
- IDataSource *af = filesystem->ReadFile("@game/static/anim.dat");
+ Common::SeekableReadStream *af = filesystem->ReadFile("@game/static/anim.dat");
if (!af)
error("Unable to load static/anim.dat");
@@ -533,7 +533,7 @@ void GameData::loadRemorseData() {
delete af;
// Load weapon overlay data
- IDataSource *wod = filesystem->ReadFile("@game/static/wpnovlay.dat");
+ Common::SeekableReadStream *wod = filesystem->ReadFile("@game/static/wpnovlay.dat");
if (!wod)
error("Unable to load static/wpnovlay.dat");
@@ -543,7 +543,7 @@ void GameData::loadRemorseData() {
delete overlayflex;
// Load globs
- IDataSource *gds = filesystem->ReadFile("@game/static/glob.flx");
+ Common::SeekableReadStream *gds = filesystem->ReadFile("@game/static/glob.flx");
if (!gds)
error("Unable to load static/glob.flx");
@@ -552,20 +552,20 @@ void GameData::loadRemorseData() {
_globs.resize(globflex->getCount());
for (unsigned int i = 0; i < globflex->getCount(); ++i) {
MapGlob *glob = 0;
- IDataSource *globds = globflex->get_datasource(i);
+ Common::SeekableReadStream *globrs = globflex->get_datasource(i);
- if (globds && globds->size()) {
+ if (globrs && globrs->size()) {
glob = new MapGlob();
- glob->read(globds);
+ glob->read(globrs);
}
- delete globds;
+ delete globrs;
_globs[i] = glob;
}
delete globflex;
// Load fonts
- IDataSource *fds = filesystem->ReadFile("@game/static/_fonts.flx");
+ Common::SeekableReadStream *fds = filesystem->ReadFile("@game/static/_fonts.flx");
if (!fds)
error("Unable to load static/_fonts.flx");
@@ -582,7 +582,7 @@ void GameData::loadRemorseData() {
_mouse->setPalette(PaletteManager::get_instance()->getPalette(PaletteManager::Pal_Game));
delete msds;
- IDataSource *gumpds = filesystem->ReadFile("@game/static/_gumps.flx");
+ Common::SeekableReadStream *gumpds = filesystem->ReadFile("@game/static/_gumps.flx");
if (!gumpds)
error("Unable to load static/_gumps.flx");
@@ -590,7 +590,7 @@ void GameData::loadRemorseData() {
PaletteManager::get_instance()->getPalette(PaletteManager::Pal_Game));
#if 0
- IDataSource *gumpageds = filesystem->ReadFile("@game/static/gumpage.dat");
+ Common::SeekableReadStream *gumpageds = filesystem->ReadFile("@game/static/gumpage.dat");
if (!gumpageds)
error("Unable to load static/gumpage.dat");
@@ -598,22 +598,22 @@ void GameData::loadRemorseData() {
delete gumpageds;
#endif
- IDataSource *dummyds = filesystem->ReadFile("@data/empty.flx");
+ Common::SeekableReadStream *dummyrs = filesystem->ReadFile("@data/empty.flx");
_music = nullptr; //new MusicFlex(dummyds);
- delete dummyds;
+ delete dummyrs;
#if 0
- IDataSource *mf = filesystem->ReadFile("@game/sound/_music.flx");
+ Common::SeekableReadStream *mf = filesystem->ReadFile("@game/sound/_music.flx");
if (!mf)
error("Unable to load sound/_music.flx");
_music = new MusicFlex(mf);
#endif
- dummyds = filesystem->ReadFile("@data/empty.flx");
- _soundFlex = new SoundFlex(dummyds);
- delete dummyds;
+ dummyrs = filesystem->ReadFile("@data/empty.flx");
+ _soundFlex = new SoundFlex(dummyrs);
+ delete dummyrs;
#if 0
- IDataSource *sndflx = filesystem->ReadFile("@game/sound/sound.flx");
+ Common::SeekableReadStream *sndflx = filesystem->ReadFile("@game/sound/sound.flx");
if (!sndflx)
error("Unable to load sound/sound.flx");
diff --git a/engines/ultima/ultima8/games/game_info.h b/engines/ultima/ultima8/games/game_info.h
index 97497d4285..7fa02bb1c7 100644
--- a/engines/ultima/ultima8/games/game_info.h
+++ b/engines/ultima/ultima8/games/game_info.h
@@ -29,7 +29,6 @@ namespace Ultima {
namespace Ultima8 {
class IDataSource;
-class ODataSource;
//! GameInfo contains detailed information about the game
struct GameInfo {
diff --git a/engines/ultima/ultima8/games/remorse_game.cpp b/engines/ultima/ultima8/games/remorse_game.cpp
index 24ece1acce..a692d96570 100644
--- a/engines/ultima/ultima8/games/remorse_game.cpp
+++ b/engines/ultima/ultima8/games/remorse_game.cpp
@@ -34,6 +34,7 @@
#include "ultima/ultima8/filesys/raw_archive.h"
#include "ultima/ultima8/world/item_factory.h"
#include "ultima/ultima8/world/actors/main_actor.h"
+#include "common/memstream.h"
namespace Ultima {
namespace Ultima8 {
@@ -54,13 +55,13 @@ RemorseGame::~RemorseGame() {
bool RemorseGame::loadFiles() {
// Load palette
pout << "Load Palette" << Std::endl;
- IDataSource *pf = FileSystem::get_instance()->ReadFile("@game/static/gamepal.pal");
+ Common::SeekableReadStream *pf = FileSystem::get_instance()->ReadFile("@game/static/gamepal.pal");
if (!pf) {
perr << "Unable to load static/gamepal.pal." << Std::endl;
return false;
}
- IBufferDataSource xfds(U8XFormPal, 1024);
+ Common::MemoryReadStream xfds(U8XFormPal, 1024);
PaletteManager::get_instance()->load(PaletteManager::Pal_Game, *pf, xfds);
delete pf;
diff --git a/engines/ultima/ultima8/games/start_u8_process.cpp b/engines/ultima/ultima8/games/start_u8_process.cpp
index 11313f473e..9a68ec8ebc 100644
--- a/engines/ultima/ultima8/games/start_u8_process.cpp
+++ b/engines/ultima/ultima8/games/start_u8_process.cpp
@@ -117,8 +117,8 @@ void StartU8Process::saveData(Common::WriteStream *ws) {
Process::saveData(ws);
}
-bool StartU8Process::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool StartU8Process::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
return true;
}
diff --git a/engines/ultima/ultima8/games/start_u8_process.h b/engines/ultima/ultima8/games/start_u8_process.h
index 1d56c42c8a..8a863f329a 100644
--- a/engines/ultima/ultima8/games/start_u8_process.h
+++ b/engines/ultima/ultima8/games/start_u8_process.h
@@ -46,7 +46,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/games/u8_game.cpp b/engines/ultima/ultima8/games/u8_game.cpp
index d0b2e55e31..f88ab21228 100644
--- a/engines/ultima/ultima8/games/u8_game.cpp
+++ b/engines/ultima/ultima8/games/u8_game.cpp
@@ -44,6 +44,7 @@
#include "ultima/ultima8/audio/music_process.h"
#include "ultima/ultima8/games/start_u8_process.h"
#include "ultima/ultima8/world/get_object.h"
+#include "common/memstream.h"
namespace Ultima {
namespace Ultima8 {
@@ -71,14 +72,14 @@ U8Game::~U8Game() {
bool U8Game::loadFiles() {
// Load palette
pout << "Load Palette" << Std::endl;
- IDataSource *pf = FileSystem::get_instance()->ReadFile("@game/static/u8pal.pal");
+ Common::SeekableReadStream *pf = FileSystem::get_instance()->ReadFile("@game/static/u8pal.pal");
if (!pf) {
perr << "Unabl-e to load static/u8pal.pal." << Std::endl;
return false;
}
pf->seek(4); // seek past header
- IBufferDataSource xfds(U8XFormPal, 1024);
+ Common::MemoryReadStream xfds(U8XFormPal, 1024);
PaletteManager::get_instance()->load(PaletteManager::Pal_Game, *pf, xfds);
delete pf;
@@ -102,26 +103,26 @@ bool U8Game::startGame() {
// reserve ObjId 666 for the Guardian Bark hack
objman->reserveObjId(666);
- IDataSource *saveds = FileSystem::get_instance()->ReadFile("@game/savegame/u8save.000");
- if (!saveds) {
+ Common::SeekableReadStream *savers = FileSystem::get_instance()->ReadFile("@game/savegame/u8save.000");
+ if (!savers) {
perr << "Unable to load savegame/u8save.000." << Std::endl;
return false;
}
- U8SaveFile *u8save = new U8SaveFile(saveds);
+ U8SaveFile *u8save = new U8SaveFile(savers);
- IDataSource *nfd = u8save->getDataSource("NONFIXED.DAT");
+ Common::SeekableReadStream *nfd = u8save->getDataSource("NONFIXED.DAT");
if (!nfd) {
perr << "Unable to load savegame/u8save.000/NONFIXED.DAT." << Std::endl;
return false;
}
World::get_instance()->loadNonFixed(nfd); // deletes nfd
- IDataSource *icd = u8save->getDataSource("ITEMCACH.DAT");
+ Common::SeekableReadStream *icd = u8save->getDataSource("ITEMCACH.DAT");
if (!icd) {
perr << "Unable to load savegame/u8save.000/ITEMCACH.DAT." << Std::endl;
return false;
}
- IDataSource *npcd = u8save->getDataSource("NPCDATA.DAT");
+ Common::SeekableReadStream *npcd = u8save->getDataSource("NPCDATA.DAT");
if (!npcd) {
perr << "Unable to load savegame/u8save.000/NPCDATA.DAT." << Std::endl;
return false;
@@ -167,7 +168,7 @@ ProcId U8Game::playIntroMovie(bool fade) {
filename += "intro.skf";
FileSystem *filesys = FileSystem::get_instance();
- IDataSource *skf = filesys->ReadFile(filename);
+ Common::SeekableReadStream *skf = filesys->ReadFile(filename);
if (!skf) {
pout << "U8Game::playIntro: movie not found." << Std::endl;
return 0;
@@ -180,7 +181,7 @@ ProcId U8Game::playIntroMovie(bool fade) {
ProcId U8Game::playEndgameMovie(bool fade) {
Std::string filename = "@game/static/endgame.skf";
FileSystem *filesys = FileSystem::get_instance();
- IDataSource *skf = filesys->ReadFile(filename);
+ Common::SeekableReadStream *skf = filesys->ReadFile(filename);
if (!skf) {
pout << "U8Game::playEndgame: movie not found." << Std::endl;
return 0;
@@ -201,14 +202,14 @@ void U8Game::playCredits() {
filename += langletter;
filename += "credits.dat";
- IDataSource *ids = FileSystem::get_instance()->ReadFile(filename);
- if (!ids) {
+ Common::SeekableReadStream *rs = FileSystem::get_instance()->ReadFile(filename);
+ if (!rs) {
perr << "U8Game::playCredits: error opening credits file: "
<< filename << Std::endl;
return;
}
- Std::string text = getCreditText(ids);
- delete ids;
+ Std::string text = getCreditText(rs);
+ delete rs;
MusicProcess *musicproc = MusicProcess::get_instance();
if (musicproc) musicproc->playMusic(51); // CONSTANT!
@@ -222,14 +223,14 @@ void U8Game::playCredits() {
void U8Game::playQuotes() {
Std::string filename = "@game/static/quotes.dat";
- IDataSource *ids = FileSystem::get_instance()->ReadFile(filename);
- if (!ids) {
+ Common::SeekableReadStream *rs = FileSystem::get_instance()->ReadFile(filename);
+ if (!rs) {
perr << "U8Game::playCredits: error opening credits file: "
<< filename << Std::endl;
return;
}
- Std::string text = getCreditText(ids);
- delete ids;
+ Std::string text = getCreditText(rs);
+ delete rs;
MusicProcess *musicproc = MusicProcess::get_instance();
if (musicproc) musicproc->playMusic(113); // CONSTANT!
@@ -279,12 +280,12 @@ void U8Game::writeSaveInfo(Common::WriteStream *ws) {
}
}
-Std::string U8Game::getCreditText(IDataSource *ids) {
+Std::string U8Game::getCreditText(Common::SeekableReadStream *rs) {
Std::string text;
- unsigned int size = ids->size();
+ unsigned int size = rs->size();
text.resize(size);
for (unsigned int i = 0; i < size; ++i) {
- uint8 c = ids->readByte();
+ uint8 c = rs->readByte();
int x;
switch (i) {
case 0:
diff --git a/engines/ultima/ultima8/games/u8_game.h b/engines/ultima/ultima8/games/u8_game.h
index c1d4517b4e..677ef9d7dc 100644
--- a/engines/ultima/ultima8/games/u8_game.h
+++ b/engines/ultima/ultima8/games/u8_game.h
@@ -28,8 +28,6 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
-
class U8Game: public Game {
public:
U8Game();
@@ -53,7 +51,7 @@ public:
void playQuotes() override;
protected:
- Std::string getCreditText(IDataSource *ids);
+ Std::string getCreditText(Common::SeekableReadStream *rs);
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/graphics/anim_dat.cpp b/engines/ultima/ultima8/graphics/anim_dat.cpp
index 545368eaae..7f5d541de2 100644
--- a/engines/ultima/ultima8/graphics/anim_dat.cpp
+++ b/engines/ultima/ultima8/graphics/anim_dat.cpp
@@ -58,7 +58,7 @@ AnimAction *AnimDat::getAnim(uint32 shape, uint32 action) const {
}
-void AnimDat::load(IDataSource *ds) {
+void AnimDat::load(Common::SeekableReadStream *rs) {
AnimFrame f;
// CONSTANT !
@@ -69,8 +69,8 @@ void AnimDat::load(IDataSource *ds) {
actioncount = 256;
for (unsigned int shape = 0; shape < _anims.size(); shape++) {
- ds->seek(4 * shape);
- uint32 offset = ds->readUint32LE();
+ rs->seek(4 * shape);
+ uint32 offset = rs->readUint32LE();
if (offset == 0) {
_anims[shape] = nullptr;
@@ -83,8 +83,8 @@ void AnimDat::load(IDataSource *ds) {
a->_actions.resize(actioncount);
for (unsigned int action = 0; action < actioncount; action++) {
- ds->seek(offset + action * 4);
- uint32 actionoffset = ds->readUint32LE();
+ rs->seek(offset + action * 4);
+ uint32 actionoffset = rs->readUint32LE();
if (actionoffset == 0) {
a->_actions[action] = 0;
@@ -96,12 +96,12 @@ void AnimDat::load(IDataSource *ds) {
a->_actions[action]->_shapeNum = shape;
a->_actions[action]->_action = action;
- ds->seek(actionoffset);
- uint32 actionsize = ds->readByte();
+ rs->seek(actionoffset);
+ uint32 actionsize = rs->readByte();
a->_actions[action]->_size = actionsize;
- a->_actions[action]->_flags = ds->readByte();
- a->_actions[action]->_frameRepeat = ds->readByte();
- a->_actions[action]->_flags |= ds->readByte() << 8;
+ a->_actions[action]->_flags = rs->readByte();
+ a->_actions[action]->_frameRepeat = rs->readByte();
+ a->_actions[action]->_flags |= rs->readByte() << 8;
unsigned int dirCount = 8;
if (GAME_IS_CRUSADER &&
@@ -115,28 +115,28 @@ void AnimDat::load(IDataSource *ds) {
for (unsigned int j = 0; j < actionsize; j++) {
if (GAME_IS_U8) {
- f._frame = ds->readByte(); // & 0x7FF;
- uint8 x = ds->readByte();
+ f._frame = rs->readByte(); // & 0x7FF;
+ uint8 x = rs->readByte();
f._frame += (x & 0x7) << 8;
- f._deltaZ = ds->readSByte();
- f._sfx = ds->readByte();
- f._deltaDir = ds->readSByte();
- f._flags = ds->readByte();
+ f._deltaZ = rs->readSByte();
+ f._sfx = rs->readByte();
+ f._deltaDir = rs->readSByte();
+ f._flags = rs->readByte();
f._flags += (x & 0xF8) << 8;
} else if (GAME_IS_CRUSADER) {
// byte 0: low byte of frame
- f._frame = ds->readByte();
+ f._frame = rs->readByte();
// byte 1: low nibble part of frame
- uint8 x = ds->readByte();
+ uint8 x = rs->readByte();
f._frame += (x & 0xF) << 8;
// byte 2, 3: unknown; byte 3 might contain flags
- ds->skip(2);
+ rs->skip(2);
// byte 4: deltadir (signed)
- f._deltaDir = ds->readSByte();
+ f._deltaDir = rs->readSByte();
// byte 5: flags?
- f._flags = ds->readByte();
+ f._flags = rs->readByte();
// byte 6, 7: unknown
- ds->skip(2);
+ rs->skip(2);
f._deltaZ = 0;
f._sfx = 0;
diff --git a/engines/ultima/ultima8/graphics/anim_dat.h b/engines/ultima/ultima8/graphics/anim_dat.h
index 451c59733c..7c196832e2 100644
--- a/engines/ultima/ultima8/graphics/anim_dat.h
+++ b/engines/ultima/ultima8/graphics/anim_dat.h
@@ -28,7 +28,6 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
struct AnimAction;
class ActorAnim;
@@ -37,7 +36,7 @@ public:
AnimDat();
~AnimDat();
- void load(IDataSource *ds);
+ void load(Common::SeekableReadStream *rs);
ActorAnim *getAnim(uint32 shape) const;
AnimAction *getAnim(uint32 shape, uint32 action) const;
diff --git a/engines/ultima/ultima8/graphics/fonts/fixed_width_font.cpp b/engines/ultima/ultima8/graphics/fonts/fixed_width_font.cpp
index 504054425f..45aa48f9de 100644
--- a/engines/ultima/ultima8/graphics/fonts/fixed_width_font.cpp
+++ b/engines/ultima/ultima8/graphics/fonts/fixed_width_font.cpp
@@ -40,22 +40,22 @@ FixedWidthFont *FixedWidthFont::Create(const Std::string &iniroot) {
return nullptr;
}
- IDataSource *ds = filesys->ReadFile(filename);
+ Common::SeekableReadStream *rs = filesys->ReadFile(filename);
- if (!ds) {
+ if (!rs) {
perr << "Error: Unable to open file " << filename << Std::endl;
return nullptr;
}
- Texture *fonttex = Texture::Create(ds, filename.c_str());
+ Texture *fonttex = Texture::Create(rs, filename.c_str());
if (!fonttex) {
perr << "Error: Unable to read texture " << filename << Std::endl;
- // FIXME: This leaks ds
+ // FIXME: This leaks rs
return nullptr;
}
- delete ds;
+ delete rs;
FixedWidthFont *fwf = new FixedWidthFont;
diff --git a/engines/ultima/ultima8/graphics/fonts/fixed_width_font.h b/engines/ultima/ultima8/graphics/fonts/fixed_width_font.h
index fe80e64c81..053ae9232d 100644
--- a/engines/ultima/ultima8/graphics/fonts/fixed_width_font.h
+++ b/engines/ultima/ultima8/graphics/fonts/fixed_width_font.h
@@ -29,7 +29,6 @@ namespace Ultima {
namespace Ultima8 {
class Texture;
-class IDataSource;
struct FixedWidthFont {
int _width;
diff --git a/engines/ultima/ultima8/graphics/fonts/font_manager.cpp b/engines/ultima/ultima8/graphics/fonts/font_manager.cpp
index 8dace64046..3d9cc578fc 100644
--- a/engines/ultima/ultima8/graphics/fonts/font_manager.cpp
+++ b/engines/ultima/ultima8/graphics/fonts/font_manager.cpp
@@ -102,7 +102,7 @@ Graphics::Font *FontManager::getTTF_Font(const Std::string &filename, int points
if (iter != _ttfFonts.end())
return iter->_value;
- IDataSource *fontids;
+ Common::SeekableReadStream *fontids;
fontids = FileSystem::get_instance()->ReadFile("@data/" + filename);
if (!fontids) {
perr << "Failed to open TTF: @data/" << filename << Std::endl;
@@ -110,9 +110,8 @@ Graphics::Font *FontManager::getTTF_Font(const Std::string &filename, int points
}
// open font using ScummVM TTF API
- // Note: The RWops and IDataSource will be deleted by the TTF_Font
- Common::SeekableReadStream *rs = fontids->GetRawStream();
- Graphics::Font *font = Graphics::loadTTFFont(*rs, pointsize);
+ // Note: The RWops and ReadStream will be deleted by the TTF_Font
+ Graphics::Font *font = Graphics::loadTTFFont(*fontids, pointsize);
if (!font) {
perr << "Failed to open TTF: @data/" << filename << Std::endl;
diff --git a/engines/ultima/ultima8/graphics/fonts/font_manager.h b/engines/ultima/ultima8/graphics/fonts/font_manager.h
index 771007d093..68319d19f6 100644
--- a/engines/ultima/ultima8/graphics/fonts/font_manager.h
+++ b/engines/ultima/ultima8/graphics/fonts/font_manager.h
@@ -33,7 +33,6 @@ class Font;
// This is TTF_Font struct
typedef struct _TTF_Font TTF_Font;
-class IDataSource;
class TTFont;
diff --git a/engines/ultima/ultima8/graphics/fonts/font_shape_archive.h b/engines/ultima/ultima8/graphics/fonts/font_shape_archive.h
index 706bff5eaa..4a851db90d 100644
--- a/engines/ultima/ultima8/graphics/fonts/font_shape_archive.h
+++ b/engines/ultima/ultima8/graphics/fonts/font_shape_archive.h
@@ -41,9 +41,9 @@ public:
FontShapeArchive(ArchiveFile *af, uint16 id_, Palette *pal_ = 0,
const ConvertShapeFormat *format_ = 0)
: ShapeArchive(af, id_, pal_, format_) { }
- FontShapeArchive(IDataSource *ds, uint16 id_, Palette *pal_ = 0,
+ FontShapeArchive(Common::SeekableReadStream *rs, uint16 id_, Palette *pal_ = 0,
const ConvertShapeFormat *format_ = 0)
- : ShapeArchive(ds, id_, pal_, format_) { }
+ : ShapeArchive(rs, id_, pal_, format_) { }
~FontShapeArchive() override { }
diff --git a/engines/ultima/ultima8/graphics/frame_id.cpp b/engines/ultima/ultima8/graphics/frame_id.cpp
index b6504663a6..481d7c9806 100644
--- a/engines/ultima/ultima8/graphics/frame_id.cpp
+++ b/engines/ultima/ultima8/graphics/frame_id.cpp
@@ -35,10 +35,10 @@ void FrameID::save(Common::WriteStream *ws) {
ws->writeUint32LE(_frameNum);
}
-bool FrameID::load(IDataSource *ids) {
- _flexId = ids->readUint16LE();
- _shapeNum = ids->readUint32LE();
- _frameNum = ids->readUint32LE();
+bool FrameID::load(Common::ReadStream *rs) {
+ _flexId = rs->readUint16LE();
+ _shapeNum = rs->readUint32LE();
+ _frameNum = rs->readUint32LE();
return true;
}
diff --git a/engines/ultima/ultima8/graphics/frame_id.h b/engines/ultima/ultima8/graphics/frame_id.h
index ed8232f22c..7f83737c0e 100644
--- a/engines/ultima/ultima8/graphics/frame_id.h
+++ b/engines/ultima/ultima8/graphics/frame_id.h
@@ -28,9 +28,6 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
-class ODataSource;
-
struct FrameID {
uint16 _flexId;
uint32 _shapeNum;
@@ -42,7 +39,7 @@ struct FrameID {
}
void save(Common::WriteStream *ws);
- bool load(IDataSource *ids);
+ bool load(Common::ReadStream *rs);
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/graphics/gump_shape_archive.cpp b/engines/ultima/ultima8/graphics/gump_shape_archive.cpp
index 664042f247..a157489b42 100644
--- a/engines/ultima/ultima8/graphics/gump_shape_archive.cpp
+++ b/engines/ultima/ultima8/graphics/gump_shape_archive.cpp
@@ -36,15 +36,15 @@ GumpShapeArchive::~GumpShapeArchive() {
delete _gumpItemArea[i];
}
-void GumpShapeArchive::loadGumpage(IDataSource *ds) {
- unsigned int total = ds->size() / 8;
+void GumpShapeArchive::loadGumpage(Common::SeekableReadStream *rs) {
+ unsigned int total = rs->size() / 8;
_gumpItemArea.resize(total + 1);
for (unsigned int i = 1; i <= total; ++i) {
int x, y, w, h;
- x = static_cast<int16>(ds->readUint16LE());
- y = static_cast<int16>(ds->readUint16LE());
- w = static_cast<int16>(ds->readUint16LE()) - x;
- h = static_cast<int16>(ds->readUint16LE()) - y;
+ x = static_cast<int16>(rs->readUint16LE());
+ y = static_cast<int16>(rs->readUint16LE());
+ w = static_cast<int16>(rs->readUint16LE()) - x;
+ h = static_cast<int16>(rs->readUint16LE()) - y;
_gumpItemArea[i] = new Rect(x, y, w, h);
}
}
diff --git a/engines/ultima/ultima8/graphics/gump_shape_archive.h b/engines/ultima/ultima8/graphics/gump_shape_archive.h
index c79cd323ce..300bb4e4e2 100644
--- a/engines/ultima/ultima8/graphics/gump_shape_archive.h
+++ b/engines/ultima/ultima8/graphics/gump_shape_archive.h
@@ -41,13 +41,13 @@ public:
GumpShapeArchive(ArchiveFile *af, uint16 id_, Palette *pal_ = 0,
const ConvertShapeFormat *format_ = 0)
: ShapeArchive(af, id_, pal_, format_) { }
- GumpShapeArchive(IDataSource *ds, uint16 id_, Palette *pal_ = 0,
+ GumpShapeArchive(Common::SeekableReadStream *rs, uint16 id_, Palette *pal_ = 0,
const ConvertShapeFormat *format_ = 0)
- : ShapeArchive(ds, id_, pal_, format_) { }
+ : ShapeArchive(rs, id_, pal_, format_) { }
~GumpShapeArchive() override;
- void loadGumpage(IDataSource *ds);
+ void loadGumpage(Common::SeekableReadStream *rs);
Rect *getGumpItemArea(uint32 shapenum);
protected:
diff --git a/engines/ultima/ultima8/graphics/inverter_process.cpp b/engines/ultima/ultima8/graphics/inverter_process.cpp
index dc0d272ccb..6d9b3d21dc 100644
--- a/engines/ultima/ultima8/graphics/inverter_process.cpp
+++ b/engines/ultima/ultima8/graphics/inverter_process.cpp
@@ -82,10 +82,10 @@ void InverterProcess::saveData(Common::WriteStream *ws) {
ws->writeUint16LE(static_cast<uint16>(_targetState));
}
-bool InverterProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool InverterProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _targetState = ids->readUint16LE();
+ _targetState = rs->readUint16LE();
_inverter = this; //static
return true;
diff --git a/engines/ultima/ultima8/graphics/inverter_process.h b/engines/ultima/ultima8/graphics/inverter_process.h
index 412ae025ff..43ff4772fb 100644
--- a/engines/ultima/ultima8/graphics/inverter_process.h
+++ b/engines/ultima/ultima8/graphics/inverter_process.h
@@ -49,7 +49,7 @@ public:
INTRINSIC(I_invertScreen);
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/graphics/main_shape_archive.cpp b/engines/ultima/ultima8/graphics/main_shape_archive.cpp
index 4a821f5a5c..5915511d3a 100644
--- a/engines/ultima/ultima8/graphics/main_shape_archive.cpp
+++ b/engines/ultima/ultima8/graphics/main_shape_archive.cpp
@@ -42,14 +42,14 @@ MainShapeArchive::~MainShapeArchive() {
}
}
-void MainShapeArchive::loadTypeFlags(IDataSource *ds) {
+void MainShapeArchive::loadTypeFlags(Common::SeekableReadStream *rs) {
if (_typeFlags) {
delete _typeFlags;
_typeFlags = nullptr;
}
_typeFlags = new TypeFlags;
- _typeFlags->load(ds);
+ _typeFlags->load(rs);
}
ShapeInfo *MainShapeArchive::getShapeInfo(uint32 shapenum) {
@@ -58,14 +58,14 @@ ShapeInfo *MainShapeArchive::getShapeInfo(uint32 shapenum) {
return _typeFlags->getShapeInfo(shapenum);
}
-void MainShapeArchive::loadAnimDat(IDataSource *ds) {
+void MainShapeArchive::loadAnimDat(Common::SeekableReadStream *rs) {
if (_animDat) {
delete _animDat;
_animDat = nullptr;
}
_animDat = new AnimDat;
- _animDat->load(ds);
+ _animDat->load(rs);
}
ActorAnim *MainShapeArchive::getAnim(uint32 shape) const {
diff --git a/engines/ultima/ultima8/graphics/main_shape_archive.h b/engines/ultima/ultima8/graphics/main_shape_archive.h
index 1f8171f4ca..59e8510330 100644
--- a/engines/ultima/ultima8/graphics/main_shape_archive.h
+++ b/engines/ultima/ultima8/graphics/main_shape_archive.h
@@ -45,16 +45,16 @@ public:
MainShapeArchive(ArchiveFile *af, uint16 id_, Palette *pal_ = 0,
const ConvertShapeFormat *format_ = 0)
: ShapeArchive(af, id_, pal_, format_), _typeFlags(0), _animDat(0) { }
- MainShapeArchive(IDataSource *ds, uint16 id_, Palette *pal_ = 0,
+ MainShapeArchive(Common::SeekableReadStream *rs, uint16 id_, Palette *pal_ = 0,
const ConvertShapeFormat *format_ = 0)
- : ShapeArchive(ds, id_, pal_, format_), _typeFlags(0), _animDat(0) { }
+ : ShapeArchive(rs, id_, pal_, format_), _typeFlags(0), _animDat(0) { }
~MainShapeArchive() override;
- void loadTypeFlags(IDataSource *ds);
+ void loadTypeFlags(Common::SeekableReadStream *rs);
ShapeInfo *getShapeInfo(uint32 shapenum);
- void loadAnimDat(IDataSource *ds);
+ void loadAnimDat(Common::SeekableReadStream *rs);
ActorAnim *getAnim(uint32 shape) const;
AnimAction *getAnim(uint32 shape, uint32 action) const;
diff --git a/engines/ultima/ultima8/graphics/palette.cpp b/engines/ultima/ultima8/graphics/palette.cpp
index e402abbc52..291ee6c871 100644
--- a/engines/ultima/ultima8/graphics/palette.cpp
+++ b/engines/ultima/ultima8/graphics/palette.cpp
@@ -28,15 +28,15 @@
namespace Ultima {
namespace Ultima8 {
-void Palette::load(IDataSource &ds, IDataSource &xformds) {
- load(ds);
+void Palette::load(Common::ReadStream &rs, Common::ReadStream &xformrs) {
+ load(rs);
for (int i = 0; i < 256; i++)
- _xform_untransformed[i] = xformds.readUint32LE();
+ _xform_untransformed[i] = xformrs.readUint32LE();
}
-void Palette::load(IDataSource &ds) {
+void Palette::load(Common::ReadStream &rs) {
int i;
- ds.read(_palette, 768);
+ rs.read(_palette, 768);
// convert from 0-63 to 0-255 _palette
for (i = 0; i < 256; i++) {
diff --git a/engines/ultima/ultima8/graphics/palette.h b/engines/ultima/ultima8/graphics/palette.h
index 7fd55c6909..f77a0fd3a6 100644
--- a/engines/ultima/ultima8/graphics/palette.h
+++ b/engines/ultima/ultima8/graphics/palette.h
@@ -26,8 +26,6 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
-
enum PalTransforms {
// Normal untransformed palette
Transform_None = 0,
@@ -57,8 +55,8 @@ enum PalTransforms {
};
struct Palette {
- void load(IDataSource &ds, IDataSource &xformds);
- void load(IDataSource &ds);
+ void load(Common::ReadStream &rs, Common::ReadStream &xformrs);
+ void load(Common::ReadStream &rs);
// 256 rgb entries
uint8 _palette[768];
diff --git a/engines/ultima/ultima8/graphics/palette_fader_process.cpp b/engines/ultima/ultima8/graphics/palette_fader_process.cpp
index 52ade45055..b529e92935 100644
--- a/engines/ultima/ultima8/graphics/palette_fader_process.cpp
+++ b/engines/ultima/ultima8/graphics/palette_fader_process.cpp
@@ -111,18 +111,18 @@ void PaletteFaderProcess::saveData(Common::WriteStream *ws) {
ws->writeUint16LE(_newMatrix[i]);
}
-bool PaletteFaderProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool PaletteFaderProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _priority = static_cast<int>(ids->readUint32LE());
- _counter = static_cast<int>(ids->readUint32LE());
- _maxCounter = static_cast<int>(ids->readUint32LE());
+ _priority = static_cast<int>(rs->readUint32LE());
+ _counter = static_cast<int>(rs->readUint32LE());
+ _maxCounter = static_cast<int>(rs->readUint32LE());
unsigned int i;
for (i = 0; i < 12; ++i)
- _oldMatrix[i] = ids->readUint16LE();
+ _oldMatrix[i] = rs->readUint16LE();
for (i = 0; i < 12; ++i)
- _newMatrix[i] = ids->readUint16LE();
+ _newMatrix[i] = rs->readUint16LE();
_fader = this; //static
return true;
diff --git a/engines/ultima/ultima8/graphics/palette_fader_process.h b/engines/ultima/ultima8/graphics/palette_fader_process.h
index 4ade1c711d..098d3905f7 100644
--- a/engines/ultima/ultima8/graphics/palette_fader_process.h
+++ b/engines/ultima/ultima8/graphics/palette_fader_process.h
@@ -57,7 +57,7 @@ public:
INTRINSIC(I_fadeFromBlack);
INTRINSIC(I_lightningBolt);
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/graphics/palette_manager.cpp b/engines/ultima/ultima8/graphics/palette_manager.cpp
index ea87e381bb..6908b68944 100644
--- a/engines/ultima/ultima8/graphics/palette_manager.cpp
+++ b/engines/ultima/ultima8/graphics/palette_manager.cpp
@@ -87,7 +87,7 @@ void PaletteManager::RenderSurfaceChanged(RenderSurface *rs) {
_renderSurface->CreateNativePalette(_palettes[i]);
}
-void PaletteManager::load(PalIndex index, IDataSource &ds, IDataSource &xformds) {
+void PaletteManager::load(PalIndex index, Common::ReadStream &rs, Common::ReadStream &xformrs) {
if (_palettes.size() <= static_cast<unsigned int>(index))
_palettes.resize(index + 1);
@@ -95,13 +95,13 @@ void PaletteManager::load(PalIndex index, IDataSource &ds, IDataSource &xformds)
delete _palettes[index];
Palette *pal = new Palette;
- pal->load(ds, xformds);
+ pal->load(rs, xformrs);
_renderSurface->CreateNativePalette(pal); // convert to native format
_palettes[index] = pal;
}
-void PaletteManager::load(PalIndex index, IDataSource &ds) {
+void PaletteManager::load(PalIndex index, Common::ReadStream &rs) {
if (_palettes.size() <= static_cast<unsigned int>(index))
_palettes.resize(index + 1);
@@ -109,7 +109,7 @@ void PaletteManager::load(PalIndex index, IDataSource &ds) {
delete _palettes[index];
Palette *pal = new Palette;
- pal->load(ds);
+ pal->load(rs);
_renderSurface->CreateNativePalette(pal); // convert to native format
_palettes[index] = pal;
diff --git a/engines/ultima/ultima8/graphics/palette_manager.h b/engines/ultima/ultima8/graphics/palette_manager.h
index 6be518807c..898cfadf42 100644
--- a/engines/ultima/ultima8/graphics/palette_manager.h
+++ b/engines/ultima/ultima8/graphics/palette_manager.h
@@ -29,7 +29,6 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
class RenderSurface;
class PaletteManager {
@@ -47,8 +46,8 @@ public:
Pal_JPFontStart = 16
};
- void load(PalIndex index, IDataSource &ds, IDataSource &xformds);
- void load(PalIndex index, IDataSource &ds);
+ void load(PalIndex index, Common::ReadStream &rs, Common::ReadStream &xformrs);
+ void load(PalIndex index, Common::ReadStream &rs);
Palette *getPalette(PalIndex index);
void duplicate(PalIndex src, PalIndex dest);
diff --git a/engines/ultima/ultima8/graphics/shape_archive.h b/engines/ultima/ultima8/graphics/shape_archive.h
index 24050d3c8b..02119ab200 100644
--- a/engines/ultima/ultima8/graphics/shape_archive.h
+++ b/engines/ultima/ultima8/graphics/shape_archive.h
@@ -43,9 +43,9 @@ public:
ShapeArchive(ArchiveFile *af, uint16 id, Palette *pal = 0,
const ConvertShapeFormat *format = 0)
: Archive(af), _id(id), _format(format), _palette(pal) { }
- ShapeArchive(IDataSource *ds, uint16 id, Palette *pal = 0,
+ ShapeArchive(Common::SeekableReadStream *rs, uint16 id, Palette *pal = 0,
const ConvertShapeFormat *format = 0)
- : Archive(ds), _id(id), _format(format), _palette(pal) { }
+ : Archive(rs), _id(id), _format(format), _palette(pal) { }
~ShapeArchive() override;
diff --git a/engines/ultima/ultima8/graphics/skf_player.cpp b/engines/ultima/ultima8/graphics/skf_player.cpp
index fd70a2308b..01ee01aa32 100644
--- a/engines/ultima/ultima8/graphics/skf_player.cpp
+++ b/engines/ultima/ultima8/graphics/skf_player.cpp
@@ -71,7 +71,7 @@ SKFPlayer::SKFPlayer(RawArchive *movie, int width, int height, bool introMusicHa
_timer(0), _frameRate(15), _fadeColour(0), _fadeLevel(0), _buffer(nullptr),
_subs(nullptr), _introMusicHack(introMusicHack), _lastUpdate(0),
_subtitleY(0) {
- IDataSource *eventlist = _skf->get_datasource(0);
+ Common::ReadStream *eventlist = _skf->get_datasource(0);
if (!eventlist) {
perr << "No eventlist found in SKF" << Std::endl;
return;
@@ -92,7 +92,7 @@ SKFPlayer::~SKFPlayer() {
delete _subs;
}
-void SKFPlayer::parseEventList(IDataSource *eventlist) {
+void SKFPlayer::parseEventList(Common::ReadStream *eventlist) {
uint16 frame = eventlist->readUint16LE();
while (frame != 0xFFFF) {
SKFEvent *ev = new SKFEvent;
diff --git a/engines/ultima/ultima8/graphics/skf_player.h b/engines/ultima/ultima8/graphics/skf_player.h
index dc102fd4ee..31a4f04b18 100644
--- a/engines/ultima/ultima8/graphics/skf_player.h
+++ b/engines/ultima/ultima8/graphics/skf_player.h
@@ -32,7 +32,6 @@ struct SKFEvent;
class RawArchive;
class RenderSurface;
class RenderedText;
-class IDataSource;
struct Palette;
class SKFPlayer {
@@ -51,7 +50,7 @@ public:
private:
- void parseEventList(IDataSource *eventlist);
+ void parseEventList(Common::ReadStream *rs);
int _width, _height;
RawArchive *_skf;
diff --git a/engines/ultima/ultima8/graphics/texture.cpp b/engines/ultima/ultima8/graphics/texture.cpp
index 2430d9dc1a..a0ebfff456 100644
--- a/engines/ultima/ultima8/graphics/texture.cpp
+++ b/engines/ultima/ultima8/graphics/texture.cpp
@@ -46,7 +46,7 @@ Texture::~Texture() {
#define TRY_TYPE(TextureType) \
tex = new TextureType(); \
/* If read failed, delete the texture. */ \
- if (!tex->Read(ds)) { \
+ if (!tex->Read(rs)) { \
delete tex; \
tex = nullptr; \
} \
@@ -65,7 +65,7 @@ void Texture::create(uint16 width, uint16 height, TextureFormat textureFormat) {
// Create a texture from a Data Source
// (filename is used to help detection of type)
//
-Texture *Texture::Create(IDataSource *ds, const char *filename) {
+Texture *Texture::Create(Common::SeekableReadStream *rs, const char *filename) {
Texture *tex;
if (filename) {
diff --git a/engines/ultima/ultima8/graphics/texture.h b/engines/ultima/ultima8/graphics/texture.h
index a50719227b..154b77d0d9 100644
--- a/engines/ultima/ultima8/graphics/texture.h
+++ b/engines/ultima/ultima8/graphics/texture.h
@@ -82,8 +82,6 @@ enum TextureFormat {
};
-class IDataSource;
-
//
// Basic 32 Bit Texture
//
@@ -132,14 +130,14 @@ public:
}
// Create a texture from a Data Source (filename is use to help detection of type)
- static Texture *Create(IDataSource *ds, const char *filename = NULL);
+ static Texture *Create(Common::SeekableReadStream *rs, const char *filename = NULL);
// Loads the data from the passed surfcae
void loadSurface(const Graphics::Surface *surf);
protected:
// Read from a File. No filetype supported by this class
- virtual bool Read(IDataSource * /*ds*/) {
+ virtual bool Read(Common::SeekableReadStream *rs) {
return false;
}
};
diff --git a/engines/ultima/ultima8/graphics/texture_bitmap.cpp b/engines/ultima/ultima8/graphics/texture_bitmap.cpp
index f6ed20646e..f93455ab6e 100644
--- a/engines/ultima/ultima8/graphics/texture_bitmap.cpp
+++ b/engines/ultima/ultima8/graphics/texture_bitmap.cpp
@@ -31,8 +31,7 @@ namespace Ultima8 {
//
// Read from a Data Source
//
-bool TextureBitmap::Read(IDataSource *ds) {
- Common::SeekableReadStream *rs = ds->GetRawStream();
+bool TextureBitmap::Read(Common::SeekableReadStream *rs) {
Image::BitmapDecoder decoder;
if (!decoder.loadStream(*rs))
diff --git a/engines/ultima/ultima8/graphics/texture_bitmap.h b/engines/ultima/ultima8/graphics/texture_bitmap.h
index 522b147f15..d26393c28c 100644
--- a/engines/ultima/ultima8/graphics/texture_bitmap.h
+++ b/engines/ultima/ultima8/graphics/texture_bitmap.h
@@ -33,7 +33,7 @@ struct TextureBitmap : public Texture {
TextureBitmap() : Texture() {}
// False on Error
- bool Read(IDataSource *ds) override;
+ bool Read(Common::SeekableReadStream *rs) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/graphics/texture_png.cpp b/engines/ultima/ultima8/graphics/texture_png.cpp
index 6be2a75227..a17145ee64 100644
--- a/engines/ultima/ultima8/graphics/texture_png.cpp
+++ b/engines/ultima/ultima8/graphics/texture_png.cpp
@@ -29,8 +29,7 @@
namespace Ultima {
namespace Ultima8 {
-bool TexturePNG::Read(IDataSource *ds) {
- Common::SeekableReadStream *rs = ds->GetRawStream();
+bool TexturePNG::Read(Common::SeekableReadStream *rs) {
Image::PNGDecoder decoder;
if (!decoder.loadStream(*rs))
diff --git a/engines/ultima/ultima8/graphics/texture_png.h b/engines/ultima/ultima8/graphics/texture_png.h
index 354abbb9e8..cd9df3fdf4 100644
--- a/engines/ultima/ultima8/graphics/texture_png.h
+++ b/engines/ultima/ultima8/graphics/texture_png.h
@@ -32,7 +32,7 @@ struct TexturePNG : public Texture {
TexturePNG() : Texture() {}
// False on Error
- bool Read(IDataSource *ds) override;
+ bool Read(Common::SeekableReadStream *rs) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/graphics/texture_targa.cpp b/engines/ultima/ultima8/graphics/texture_targa.cpp
index 59cf3b2100..d549d419ee 100644
--- a/engines/ultima/ultima8/graphics/texture_targa.cpp
+++ b/engines/ultima/ultima8/graphics/texture_targa.cpp
@@ -28,8 +28,7 @@
namespace Ultima {
namespace Ultima8 {
-bool TextureTarga::Read(IDataSource *ds) {
- Common::SeekableReadStream *rs = ds->GetRawStream();
+bool TextureTarga::Read(Common::SeekableReadStream *rs) {
Image::TGADecoder decoder;
if (!decoder.loadStream(*rs))
diff --git a/engines/ultima/ultima8/graphics/texture_targa.h b/engines/ultima/ultima8/graphics/texture_targa.h
index 79f5d16e02..05f9d4ad1a 100644
--- a/engines/ultima/ultima8/graphics/texture_targa.h
+++ b/engines/ultima/ultima8/graphics/texture_targa.h
@@ -35,7 +35,7 @@ struct TextureTarga : public Texture {
TextureTarga() : Texture() {}
// False on Error
- bool Read(IDataSource *ds) override;
+ bool Read(Common::SeekableReadStream *rs) override;
};
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/graphics/type_flags.cpp b/engines/ultima/ultima8/graphics/type_flags.cpp
index 4483e85aa2..5c7939440e 100644
--- a/engines/ultima/ultima8/graphics/type_flags.cpp
+++ b/engines/ultima/ultima8/graphics/type_flags.cpp
@@ -50,7 +50,7 @@ ShapeInfo *TypeFlags::getShapeInfo(uint32 shapenum) {
}
-void TypeFlags::load(IDataSource *ds) {
+void TypeFlags::load(Common::SeekableReadStream *rs) {
// TODO: detect U8/crusader format somehow?!
// (Or probably pass it as parameter)
// The 'parsing' below is only for U8
@@ -60,7 +60,7 @@ void TypeFlags::load(IDataSource *ds) {
blocksize = 9;
}
- uint32 size = ds->size();
+ uint32 size = rs->size();
uint32 count = size / blocksize;
_shapeInfo.clear();
@@ -68,7 +68,7 @@ void TypeFlags::load(IDataSource *ds) {
for (uint32 i = 0; i < count; ++i) {
uint8 data[9];
- ds->read(data, blocksize);
+ rs->read(data, blocksize);
ShapeInfo si;
si._flags = 0;
diff --git a/engines/ultima/ultima8/graphics/type_flags.h b/engines/ultima/ultima8/graphics/type_flags.h
index c91c1c4c92..d5512de15f 100644
--- a/engines/ultima/ultima8/graphics/type_flags.h
+++ b/engines/ultima/ultima8/graphics/type_flags.h
@@ -29,14 +29,12 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
-
class TypeFlags {
public:
TypeFlags();
~TypeFlags();
- void load(IDataSource *ds);
+ void load(Common::SeekableReadStream *rs);
ShapeInfo *getShapeInfo(uint32 shape);
private:
diff --git a/engines/ultima/ultima8/graphics/wpn_ovlay_dat.cpp b/engines/ultima/ultima8/graphics/wpn_ovlay_dat.cpp
index e76da5982f..b85253868c 100644
--- a/engines/ultima/ultima8/graphics/wpn_ovlay_dat.cpp
+++ b/engines/ultima/ultima8/graphics/wpn_ovlay_dat.cpp
@@ -68,10 +68,10 @@ void WpnOvlayDat::load(RawArchive *overlaydat) {
_overlay.resize(overlaydat->getCount());
for (unsigned int action = 0; action < _overlay.size(); action++) {
- IDataSource *ds = overlaydat->get_datasource(action);
+ Common::SeekableReadStream *rs = overlaydat->get_datasource(action);
_overlay[action] = nullptr;
- if (ds && ds->size()) {
+ if (rs && rs->size()) {
// get Avatar's animation
AnimAction *anim = msf->getAnim(1, action);
if (!anim) {
@@ -85,7 +85,7 @@ void WpnOvlayDat::load(RawArchive *overlaydat) {
unsigned int animlength = anim->_size;
unsigned int dircount = anim->_dirCount;
- unsigned int typecount = ds->size() / (4 * dircount * animlength);
+ unsigned int typecount = rs->size() / (4 * dircount * animlength);
awo->_overlay.resize(typecount);
for (unsigned int type = 0; type < typecount; type++) {
@@ -97,10 +97,10 @@ void WpnOvlayDat::load(RawArchive *overlaydat) {
for (unsigned int frame = 0; frame < animlength; frame++) {
unsigned int offset = type * 8 * animlength
+ dir * animlength + frame;
- ds->seek(4 * offset);
- f._xOff = ds->readSByte();
- f._yOff = ds->readSByte();
- f._frame = ds->readUint16LE();
+ rs->seek(4 * offset);
+ f._xOff = rs->readSByte();
+ f._yOff = rs->readSByte();
+ f._frame = rs->readUint16LE();
awo->_overlay[type]._frames[dir][frame] = f;
}
@@ -108,8 +108,7 @@ void WpnOvlayDat::load(RawArchive *overlaydat) {
}
}
-
- delete ds;
+ delete rs;
}
}
diff --git a/engines/ultima/ultima8/gumps/ask_gump.cpp b/engines/ultima/ultima8/gumps/ask_gump.cpp
index 9ff2410be2..e93fc7b699 100644
--- a/engines/ultima/ultima8/gumps/ask_gump.cpp
+++ b/engines/ultima/ultima8/gumps/ask_gump.cpp
@@ -123,11 +123,11 @@ void AskGump::saveData(Common::WriteStream *ws) {
_answers->save(ws);
}
-bool AskGump::loadData(IDataSource *ids, uint32 version) {
- if (!ItemRelativeGump::loadData(ids, version)) return false;
+bool AskGump::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!ItemRelativeGump::loadData(rs, version)) return false;
_answers = new UCList(2);
- _answers->load(ids, version);
+ _answers->load(rs, version);
// HACK ALERT
int px = 0, py = 0;
diff --git a/engines/ultima/ultima8/gumps/ask_gump.h b/engines/ultima/ultima8/gumps/ask_gump.h
index dcf8c77c30..2ebc9a10c0 100644
--- a/engines/ultima/ultima8/gumps/ask_gump.h
+++ b/engines/ultima/ultima8/gumps/ask_gump.h
@@ -46,7 +46,7 @@ public:
void ChildNotify(Gump *child, uint32 message) override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/gumps/bark_gump.cpp b/engines/ultima/ultima8/gumps/bark_gump.cpp
index 94cecb0bd2..c6887ecbf2 100644
--- a/engines/ultima/ultima8/gumps/bark_gump.cpp
+++ b/engines/ultima/ultima8/gumps/bark_gump.cpp
@@ -190,19 +190,19 @@ void BarkGump::saveData(Common::WriteStream *ws) {
ws->write(_barked.c_str(), _barked.size());
}
-bool BarkGump::loadData(IDataSource *ids, uint32 version) {
- if (!ItemRelativeGump::loadData(ids, version)) return false;
+bool BarkGump::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!ItemRelativeGump::loadData(rs, version)) return false;
- _counter = static_cast<int32>(ids->readUint32LE());
- _textWidget = ids->readUint16LE();
- _speechShapeNum = ids->readUint32LE();
- _speechLength = ids->readUint32LE();
- _totalTextHeight = ids->readUint32LE();
+ _counter = static_cast<int32>(rs->readUint32LE());
+ _textWidget = rs->readUint16LE();
+ _speechShapeNum = rs->readUint32LE();
+ _speechLength = rs->readUint32LE();
+ _totalTextHeight = rs->readUint32LE();
- uint32 slen = ids->readUint32LE();
+ uint32 slen = rs->readUint32LE();
if (slen > 0) {
char *buf = new char[slen + 1];
- ids->read(buf, slen);
+ rs->read(buf, slen);
buf[slen] = 0;
_barked = buf;
delete[] buf;
diff --git a/engines/ultima/ultima8/gumps/bark_gump.h b/engines/ultima/ultima8/gumps/bark_gump.h
index 63833436d4..a439eb8a81 100644
--- a/engines/ultima/ultima8/gumps/bark_gump.h
+++ b/engines/ultima/ultima8/gumps/bark_gump.h
@@ -62,7 +62,7 @@ protected:
int _textDelay;
public:
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/gumps/book_gump.cpp b/engines/ultima/ultima8/gumps/book_gump.cpp
index 833003bfe5..838fb8ab27 100644
--- a/engines/ultima/ultima8/gumps/book_gump.cpp
+++ b/engines/ultima/ultima8/gumps/book_gump.cpp
@@ -114,7 +114,7 @@ void BookGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save ModalGump");
}
-bool BookGump::loadData(IDataSource *ids, uint32 version) {
+bool BookGump::loadData(Common::ReadStream *rs, uint32 version) {
CANT_HAPPEN_MSG("Trying to load ModalGump");
return false;
diff --git a/engines/ultima/ultima8/gumps/book_gump.h b/engines/ultima/ultima8/gumps/book_gump.h
index e1b1e3edfb..be97dbb159 100644
--- a/engines/ultima/ultima8/gumps/book_gump.h
+++ b/engines/ultima/ultima8/gumps/book_gump.h
@@ -56,7 +56,7 @@ protected:
void NextText();
public:
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/gumps/container_gump.cpp b/engines/ultima/ultima8/gumps/container_gump.cpp
index 93b48287d7..1970149158 100644
--- a/engines/ultima/ultima8/gumps/container_gump.cpp
+++ b/engines/ultima/ultima8/gumps/container_gump.cpp
@@ -543,13 +543,13 @@ void ContainerGump::saveData(Common::WriteStream *ws) {
ws->writeUint32LE(static_cast<uint32>(_itemArea.h));
}
-bool ContainerGump::loadData(IDataSource *ids, uint32 version) {
- if (!ItemRelativeGump::loadData(ids, version)) return false;
+bool ContainerGump::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!ItemRelativeGump::loadData(rs, version)) return false;
- int32 iax = static_cast<int32>(ids->readUint32LE());
- int32 iay = static_cast<int32>(ids->readUint32LE());
- int32 iaw = static_cast<int32>(ids->readUint32LE());
- int32 iah = static_cast<int32>(ids->readUint32LE());
+ int32 iax = static_cast<int32>(rs->readUint32LE());
+ int32 iay = static_cast<int32>(rs->readUint32LE());
+ int32 iaw = static_cast<int32>(rs->readUint32LE());
+ int32 iah = static_cast<int32>(rs->readUint32LE());
_itemArea.Set(iax, iay, iaw, iah);
return true;
diff --git a/engines/ultima/ultima8/gumps/container_gump.h b/engines/ultima/ultima8/gumps/container_gump.h
index 0bcddf0af8..7be82c4ad6 100644
--- a/engines/ultima/ultima8/gumps/container_gump.h
+++ b/engines/ultima/ultima8/gumps/container_gump.h
@@ -73,7 +73,7 @@ public:
void OnMouseClick(int button, int32 mx, int32 my) override;
void OnMouseDouble(int button, int32 mx, int32 my) override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/gumps/desktop_gump.cpp b/engines/ultima/ultima8/gumps/desktop_gump.cpp
index f96a102308..de9fe1f540 100644
--- a/engines/ultima/ultima8/gumps/desktop_gump.cpp
+++ b/engines/ultima/ultima8/gumps/desktop_gump.cpp
@@ -115,7 +115,7 @@ void DesktopGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save DesktopGump");
}
-bool DesktopGump::loadData(IDataSource *ids, uint32 version) {
+bool DesktopGump::loadData(Common::ReadStream *rs, uint32 version) {
CANT_HAPPEN_MSG("Trying to save DesktopGump");
return false;
diff --git a/engines/ultima/ultima8/gumps/desktop_gump.h b/engines/ultima/ultima8/gumps/desktop_gump.h
index e15b41fcff..0c7ec89765 100644
--- a/engines/ultima/ultima8/gumps/desktop_gump.h
+++ b/engines/ultima/ultima8/gumps/desktop_gump.h
@@ -45,7 +45,7 @@ public:
void DraggingChild(Gump *gump, int mx, int my) override;
void StopDraggingChild(Gump *gump) override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
void RenderSurfaceChanged(RenderSurface *surf);
diff --git a/engines/ultima/ultima8/gumps/game_map_gump.cpp b/engines/ultima/ultima8/gumps/game_map_gump.cpp
index 809fd934c2..f9d88d36d7 100644
--- a/engines/ultima/ultima8/gumps/game_map_gump.cpp
+++ b/engines/ultima/ultima8/gumps/game_map_gump.cpp
@@ -581,7 +581,7 @@ void GameMapGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save GameMapGump");
}
-bool GameMapGump::loadData(IDataSource *ids, uint32 version) {
+bool GameMapGump::loadData(Common::ReadStream *rs, uint32 version) {
CANT_HAPPEN_MSG("Trying to load GameMapGump");
return false;
diff --git a/engines/ultima/ultima8/gumps/game_map_gump.h b/engines/ultima/ultima8/gumps/game_map_gump.h
index 54592f9a7e..23c44b4103 100644
--- a/engines/ultima/ultima8/gumps/game_map_gump.h
+++ b/engines/ultima/ultima8/gumps/game_map_gump.h
@@ -75,7 +75,7 @@ public:
void IncSortOrder(int count);
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
static void Set_highlightItems(bool highlight) {
_highlightItems = highlight;
diff --git a/engines/ultima/ultima8/gumps/gump.cpp b/engines/ultima/ultima8/gumps/gump.cpp
index 37ec3dba33..41e3a37c25 100644
--- a/engines/ultima/ultima8/gumps/gump.cpp
+++ b/engines/ultima/ultima8/gumps/gump.cpp
@@ -827,40 +827,40 @@ void Gump::saveData(Common::WriteStream *ws) {
}
}
-bool Gump::loadData(IDataSource *ids, uint32 version) {
- if (!Object::loadData(ids, version)) return false;
+bool Gump::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Object::loadData(rs, version)) return false;
- _owner = ids->readUint16LE();
- _x = static_cast<int32>(ids->readUint32LE());
- _y = static_cast<int32>(ids->readUint32LE());
+ _owner = rs->readUint16LE();
+ _x = static_cast<int32>(rs->readUint32LE());
+ _y = static_cast<int32>(rs->readUint32LE());
- int dx = static_cast<int32>(ids->readUint32LE());
- int dy = static_cast<int32>(ids->readUint32LE());
- int dw = static_cast<int32>(ids->readUint32LE());
- int dh = static_cast<int32>(ids->readUint32LE());
+ int dx = static_cast<int32>(rs->readUint32LE());
+ int dy = static_cast<int32>(rs->readUint32LE());
+ int dw = static_cast<int32>(rs->readUint32LE());
+ int dh = static_cast<int32>(rs->readUint32LE());
_dims.Set(dx, dy, dw, dh);
- _flags = ids->readUint32LE();
- _layer = static_cast<int32>(ids->readUint32LE());
- _index = static_cast<int32>(ids->readUint32LE());
+ _flags = rs->readUint32LE();
+ _layer = static_cast<int32>(rs->readUint32LE());
+ _index = static_cast<int32>(rs->readUint32LE());
_shape = nullptr;
- ShapeArchive *flex = GameData::get_instance()->getShapeFlex(ids->readUint16LE());
- uint32 shapenum = ids->readUint32LE();
+ ShapeArchive *flex = GameData::get_instance()->getShapeFlex(rs->readUint16LE());
+ uint32 shapenum = rs->readUint32LE();
if (flex) {
_shape = flex->getShape(shapenum);
}
- _frameNum = ids->readUint32LE();
- uint16 focusid = ids->readUint16LE();
+ _frameNum = rs->readUint32LE();
+ uint16 focusid = rs->readUint16LE();
_focusChild = nullptr;
- _notifier = ids->readUint16LE();
- _processResult = ids->readUint32LE();
+ _notifier = rs->readUint16LE();
+ _processResult = rs->readUint32LE();
// read children
- uint32 childcount = ids->readUint32LE();
+ uint32 childcount = rs->readUint32LE();
for (unsigned int i = 0; i < childcount; ++i) {
- Object *obj = ObjectManager::get_instance()->loadObject(ids, version);
+ Object *obj = ObjectManager::get_instance()->loadObject(rs, version);
Gump *child = p_dynamic_cast<Gump *>(obj);
if (!child) return false;
diff --git a/engines/ultima/ultima8/gumps/gump.h b/engines/ultima/ultima8/gumps/gump.h
index 25e4637e93..cc29a3eb64 100644
--- a/engines/ultima/ultima8/gumps/gump.h
+++ b/engines/ultima/ultima8/gumps/gump.h
@@ -460,7 +460,7 @@ public:
LAYER_CONSOLE = 16 // Layer for the console
};
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/gumps/gump_notify_process.cpp b/engines/ultima/ultima8/gumps/gump_notify_process.cpp
index 2681aed87c..e1c7fae3c1 100644
--- a/engines/ultima/ultima8/gumps/gump_notify_process.cpp
+++ b/engines/ultima/ultima8/gumps/gump_notify_process.cpp
@@ -80,10 +80,10 @@ void GumpNotifyProcess::saveData(Common::WriteStream *ws) {
ws->writeUint16LE(_gump);
}
-bool GumpNotifyProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool GumpNotifyProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _gump = ids->readUint16LE();
+ _gump = rs->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/gumps/gump_notify_process.h b/engines/ultima/ultima8/gumps/gump_notify_process.h
index 56183d3b00..9cfa703185 100644
--- a/engines/ultima/ultima8/gumps/gump_notify_process.h
+++ b/engines/ultima/ultima8/gumps/gump_notify_process.h
@@ -54,7 +54,7 @@ public:
void dumpInfo() const override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/gumps/item_relative_gump.cpp b/engines/ultima/ultima8/gumps/item_relative_gump.cpp
index 1d729a9a4e..f007873510 100644
--- a/engines/ultima/ultima8/gumps/item_relative_gump.cpp
+++ b/engines/ultima/ultima8/gumps/item_relative_gump.cpp
@@ -175,8 +175,8 @@ void ItemRelativeGump::saveData(Common::WriteStream *ws) {
Gump::saveData(ws);
}
-bool ItemRelativeGump::loadData(IDataSource *ids, uint32 version) {
- if (!Gump::loadData(ids, version)) return false;
+bool ItemRelativeGump::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Gump::loadData(rs, version)) return false;
return true;
}
diff --git a/engines/ultima/ultima8/gumps/item_relative_gump.h b/engines/ultima/ultima8/gumps/item_relative_gump.h
index 9e9ab6ace0..40334c60fd 100644
--- a/engines/ultima/ultima8/gumps/item_relative_gump.h
+++ b/engines/ultima/ultima8/gumps/item_relative_gump.h
@@ -53,7 +53,7 @@ public:
void Move(int32 x, int32 y) override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/gumps/main_menu_process.cpp b/engines/ultima/ultima8/gumps/main_menu_process.cpp
index fc21acac3e..c3a5edb0f9 100644
--- a/engines/ultima/ultima8/gumps/main_menu_process.cpp
+++ b/engines/ultima/ultima8/gumps/main_menu_process.cpp
@@ -60,8 +60,8 @@ void MainMenuProcess::saveData(Common::WriteStream *ws) {
Process::saveData(ws);
}
-bool MainMenuProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool MainMenuProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
return true;
}
diff --git a/engines/ultima/ultima8/gumps/main_menu_process.h b/engines/ultima/ultima8/gumps/main_menu_process.h
index 3dc76c79ba..3add7e6cb4 100644
--- a/engines/ultima/ultima8/gumps/main_menu_process.h
+++ b/engines/ultima/ultima8/gumps/main_menu_process.h
@@ -40,7 +40,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/gumps/message_box_gump.cpp b/engines/ultima/ultima8/gumps/message_box_gump.cpp
index 0e6d058763..ddbc58d717 100644
--- a/engines/ultima/ultima8/gumps/message_box_gump.cpp
+++ b/engines/ultima/ultima8/gumps/message_box_gump.cpp
@@ -171,7 +171,7 @@ void MessageBoxGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to load ModalGump");
}
-bool MessageBoxGump::loadData(IDataSource *ids, uint32 version) {
+bool MessageBoxGump::loadData(Common::ReadStream *rs, uint32 version) {
CANT_HAPPEN_MSG("Trying to load ModalGump");
return false;
diff --git a/engines/ultima/ultima8/gumps/message_box_gump.h b/engines/ultima/ultima8/gumps/message_box_gump.h
index a96f82dbdf..f3e0a704b8 100644
--- a/engines/ultima/ultima8/gumps/message_box_gump.h
+++ b/engines/ultima/ultima8/gumps/message_box_gump.h
@@ -48,7 +48,7 @@ public:
void InitGump(Gump *newparent, bool take_focus = true) override;
void Close(bool no_del = false) override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
void PaintThis(RenderSurface *, int32 lerp_factor, bool scaled) override;
diff --git a/engines/ultima/ultima8/gumps/mini_stats_gump.cpp b/engines/ultima/ultima8/gumps/mini_stats_gump.cpp
index be2f2fdce1..10a3934345 100644
--- a/engines/ultima/ultima8/gumps/mini_stats_gump.cpp
+++ b/engines/ultima/ultima8/gumps/mini_stats_gump.cpp
@@ -130,8 +130,8 @@ void MiniStatsGump::saveData(Common::WriteStream *ws) {
Gump::saveData(ws);
}
-bool MiniStatsGump::loadData(IDataSource *ids, uint32 version) {
- if (!Gump::loadData(ids, version)) return false;
+bool MiniStatsGump::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Gump::loadData(rs, version)) return false;
return true;
}
diff --git a/engines/ultima/ultima8/gumps/mini_stats_gump.h b/engines/ultima/ultima8/gumps/mini_stats_gump.h
index 6feb8c9643..130ac5bfbc 100644
--- a/engines/ultima/ultima8/gumps/mini_stats_gump.h
+++ b/engines/ultima/ultima8/gumps/mini_stats_gump.h
@@ -50,7 +50,7 @@ public:
Gump *OnMouseDown(int button, int32 mx, int32 my) override;
void OnMouseDouble(int button, int32 mx, int32 my) override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/gumps/minimap_gump.cpp b/engines/ultima/ultima8/gumps/minimap_gump.cpp
index 70a089e62b..5251cba7aa 100644
--- a/engines/ultima/ultima8/gumps/minimap_gump.cpp
+++ b/engines/ultima/ultima8/gumps/minimap_gump.cpp
@@ -199,8 +199,8 @@ void MiniMapGump::saveData(Common::WriteStream *ws) {
Gump::saveData(ws);
}
-bool MiniMapGump::loadData(IDataSource *ids, uint32 version) {
- if (!Gump::loadData(ids, version))
+bool MiniMapGump::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Gump::loadData(rs, version))
return false;
_lastMapNum = 0;
diff --git a/engines/ultima/ultima8/gumps/minimap_gump.h b/engines/ultima/ultima8/gumps/minimap_gump.h
index 9d31a2186c..7e5a08049b 100644
--- a/engines/ultima/ultima8/gumps/minimap_gump.h
+++ b/engines/ultima/ultima8/gumps/minimap_gump.h
@@ -51,7 +51,7 @@ public:
void PaintThis(RenderSurface *surf, int32 lerp_factor, bool scaled) override;
uint16 TraceObjId(int32 mx, int32 my) override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/gumps/modal_gump.cpp b/engines/ultima/ultima8/gumps/modal_gump.cpp
index 3419a5eee6..67ca3f62cd 100644
--- a/engines/ultima/ultima8/gumps/modal_gump.cpp
+++ b/engines/ultima/ultima8/gumps/modal_gump.cpp
@@ -102,7 +102,7 @@ void ModalGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save ModalGump");
}
-bool ModalGump::loadData(IDataSource *ids, uint32 version) {
+bool ModalGump::loadData(Common::ReadStream *rs, uint32 version) {
CANT_HAPPEN_MSG("Trying to load ModalGump");
return false;
}
diff --git a/engines/ultima/ultima8/gumps/modal_gump.h b/engines/ultima/ultima8/gumps/modal_gump.h
index 27b8c72c38..4abec224fa 100644
--- a/engines/ultima/ultima8/gumps/modal_gump.h
+++ b/engines/ultima/ultima8/gumps/modal_gump.h
@@ -49,7 +49,7 @@ public:
Gump *OnMouseDown(int button, int32 mx, int32 my) override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/gumps/movie_gump.cpp b/engines/ultima/ultima8/gumps/movie_gump.cpp
index f0cd018d17..ccc604b3d5 100644
--- a/engines/ultima/ultima8/gumps/movie_gump.cpp
+++ b/engines/ultima/ultima8/gumps/movie_gump.cpp
@@ -112,7 +112,7 @@ ProcId MovieGump::U8MovieViewer(RawArchive *movie, bool fade, bool introMusicHac
}
}
-bool MovieGump::loadData(IDataSource *ids) {
+bool MovieGump::loadData(Common::ReadStream *rs) {
return false;
}
diff --git a/engines/ultima/ultima8/gumps/movie_gump.h b/engines/ultima/ultima8/gumps/movie_gump.h
index 76ec7c0f90..149f0a60d2 100644
--- a/engines/ultima/ultima8/gumps/movie_gump.h
+++ b/engines/ultima/ultima8/gumps/movie_gump.h
@@ -54,7 +54,7 @@ public:
static ProcId U8MovieViewer(RawArchive *skf, bool fade, bool introMusicHack = false);
- bool loadData(IDataSource *ids);
+ bool loadData(Common::ReadStream *rs);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/gumps/paged_gump.cpp b/engines/ultima/ultima8/gumps/paged_gump.cpp
index f549027956..3547dca447 100644
--- a/engines/ultima/ultima8/gumps/paged_gump.cpp
+++ b/engines/ultima/ultima8/gumps/paged_gump.cpp
@@ -155,7 +155,7 @@ void PagedGump::addPage(Gump *g) {
_nextButton->UnhideGump();
}
-bool PagedGump::loadData(IDataSource *ids) {
+bool PagedGump::loadData(Common::ReadStream *rs) {
CANT_HAPPEN_MSG("Trying to load ModalGump");
return false;
}
diff --git a/engines/ultima/ultima8/gumps/paged_gump.h b/engines/ultima/ultima8/gumps/paged_gump.h
index 081058562b..c43a32b4f1 100644
--- a/engines/ultima/ultima8/gumps/paged_gump.h
+++ b/engines/ultima/ultima8/gumps/paged_gump.h
@@ -53,7 +53,7 @@ public:
_buttonsEnabled = enabled;
}
- bool loadData(IDataSource *ids);
+ bool loadData(Common::ReadStream *rs);
protected:
void saveData(Common::WriteStream *ws) override;
int _leftOff, _rightOff, _topOff, _gumpShape;
diff --git a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
index 86e8a43004..0955f9ff48 100644
--- a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
+++ b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
@@ -415,10 +415,10 @@ void PaperdollGump::saveData(Common::WriteStream *ws) {
ws->writeUint16LE(_statButtonId);
}
-bool PaperdollGump::loadData(IDataSource *ids, uint32 version) {
- if (!ContainerGump::loadData(ids, version)) return false;
+bool PaperdollGump::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!ContainerGump::loadData(rs, version)) return false;
- _statButtonId = ids->readUint16LE();
+ _statButtonId = rs->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/gumps/paperdoll_gump.h b/engines/ultima/ultima8/gumps/paperdoll_gump.h
index 5172985ac9..f61288a9c1 100644
--- a/engines/ultima/ultima8/gumps/paperdoll_gump.h
+++ b/engines/ultima/ultima8/gumps/paperdoll_gump.h
@@ -63,7 +63,7 @@ public:
bool DraggingItem(Item *item, int mx, int my) override;
void DropItem(Item *item, int mx, int my) override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/gumps/quit_gump.cpp b/engines/ultima/ultima8/gumps/quit_gump.cpp
index 549720714f..be85978360 100644
--- a/engines/ultima/ultima8/gumps/quit_gump.cpp
+++ b/engines/ultima/ultima8/gumps/quit_gump.cpp
@@ -141,7 +141,7 @@ void QuitGump::verifyQuit() {
gump->setRelativePosition(CENTER);
}
-bool QuitGump::loadData(IDataSource *ids) {
+bool QuitGump::loadData(Common::ReadStream *rs) {
CANT_HAPPEN_MSG("Trying to load ModalGump");
return true;
}
diff --git a/engines/ultima/ultima8/gumps/quit_gump.h b/engines/ultima/ultima8/gumps/quit_gump.h
index afe5c80330..3e9e136a09 100644
--- a/engines/ultima/ultima8/gumps/quit_gump.h
+++ b/engines/ultima/ultima8/gumps/quit_gump.h
@@ -46,7 +46,7 @@ public:
static void verifyQuit();
- bool loadData(IDataSource *ids);
+ bool loadData(Common::ReadStream *rs);
protected:
void saveData(Common::WriteStream *ws) override;
ObjId _yesWidget, _noWidget;
diff --git a/engines/ultima/ultima8/gumps/readable_gump.cpp b/engines/ultima/ultima8/gumps/readable_gump.cpp
index 0ed190bc11..ff30766d3b 100644
--- a/engines/ultima/ultima8/gumps/readable_gump.cpp
+++ b/engines/ultima/ultima8/gumps/readable_gump.cpp
@@ -126,7 +126,7 @@ void ReadableGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to load ModalGump");
}
-bool ReadableGump::loadData(IDataSource *ids, uint32 version) {
+bool ReadableGump::loadData(Common::ReadStream *rs, uint32 version) {
CANT_HAPPEN_MSG("Trying to load ModalGump");
return false;
diff --git a/engines/ultima/ultima8/gumps/readable_gump.h b/engines/ultima/ultima8/gumps/readable_gump.h
index 04b1406944..ed3ce0ff72 100644
--- a/engines/ultima/ultima8/gumps/readable_gump.h
+++ b/engines/ultima/ultima8/gumps/readable_gump.h
@@ -51,7 +51,7 @@ public:
INTRINSIC(I_readGrave);
INTRINSIC(I_readPlaque);
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/gumps/scroll_gump.cpp b/engines/ultima/ultima8/gumps/scroll_gump.cpp
index 117294af04..729689395d 100644
--- a/engines/ultima/ultima8/gumps/scroll_gump.cpp
+++ b/engines/ultima/ultima8/gumps/scroll_gump.cpp
@@ -102,7 +102,7 @@ void ScrollGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save ModalGump");
}
-bool ScrollGump::loadData(IDataSource *ids, uint32 version) {
+bool ScrollGump::loadData(Common::ReadStream *rs, uint32 version) {
CANT_HAPPEN_MSG("Trying to load ModalGump");
return false;
diff --git a/engines/ultima/ultima8/gumps/scroll_gump.h b/engines/ultima/ultima8/gumps/scroll_gump.h
index 0f0d422ea7..b50751ed1d 100644
--- a/engines/ultima/ultima8/gumps/scroll_gump.h
+++ b/engines/ultima/ultima8/gumps/scroll_gump.h
@@ -55,7 +55,7 @@ protected:
void NextText();
public:
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp b/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
index 7b7bf07b65..d95f948f40 100644
--- a/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
+++ b/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
@@ -244,7 +244,7 @@ void ShapeViewerGump::U8ShapeViewer() {
_flex.second = gamedata->getFonts();
_flexes.push_back(_flex);
FileSystem *filesys = FileSystem::get_instance();
- IDataSource *eintro = filesys->ReadFile("@game/static/eintro.skf");
+ Common::SeekableReadStream *eintro = filesys->ReadFile("@game/static/eintro.skf");
if (eintro) {
ShapeArchive *eintroshapes = new ShapeArchive(eintro, GameData::OTHER,
PaletteManager::get_instance()->getPalette(PaletteManager::Pal_Game),
@@ -255,7 +255,7 @@ void ShapeViewerGump::U8ShapeViewer() {
// !! memory leak
}
- IDataSource *endgame = filesys->ReadFile("@game/static/endgame.skf");
+ Common::SeekableReadStream *endgame = filesys->ReadFile("@game/static/endgame.skf");
if (endgame) {
ShapeArchive *endgameshapes = new ShapeArchive(endgame, GameData::OTHER,
PaletteManager::get_instance()->getPalette(PaletteManager::Pal_Game),
@@ -274,7 +274,7 @@ void ShapeViewerGump::U8ShapeViewer() {
gump->InitGump(0);
}
-bool ShapeViewerGump::loadData(IDataSource *ids) {
+bool ShapeViewerGump::loadData(Common::ReadStream *rs) {
CANT_HAPPEN_MSG("Trying to load ModalGump");
return false;
}
diff --git a/engines/ultima/ultima8/gumps/shape_viewer_gump.h b/engines/ultima/ultima8/gumps/shape_viewer_gump.h
index bb53a19ce6..92183e3857 100644
--- a/engines/ultima/ultima8/gumps/shape_viewer_gump.h
+++ b/engines/ultima/ultima8/gumps/shape_viewer_gump.h
@@ -51,7 +51,7 @@ public:
static void U8ShapeViewer();
- bool loadData(IDataSource *ids);
+ bool loadData(Common::ReadStream *rs);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/gumps/slider_gump.cpp b/engines/ultima/ultima8/gumps/slider_gump.cpp
index 61c879296f..95ad8e9082 100644
--- a/engines/ultima/ultima8/gumps/slider_gump.cpp
+++ b/engines/ultima/ultima8/gumps/slider_gump.cpp
@@ -246,7 +246,7 @@ void SliderGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save ModalGump");
}
-bool SliderGump::loadData(IDataSource *ids, uint32 version) {
+bool SliderGump::loadData(Common::ReadStream *rs, uint32 version) {
CANT_HAPPEN_MSG("Trying to load ModalGump");
return false;
diff --git a/engines/ultima/ultima8/gumps/slider_gump.h b/engines/ultima/ultima8/gumps/slider_gump.h
index 34171ba92a..a12450b202 100644
--- a/engines/ultima/ultima8/gumps/slider_gump.h
+++ b/engines/ultima/ultima8/gumps/slider_gump.h
@@ -55,7 +55,7 @@ public:
bool OnKeyDown(int key, int mod) override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/gumps/target_gump.cpp b/engines/ultima/ultima8/gumps/target_gump.cpp
index 757c1725f3..ac489743b5 100644
--- a/engines/ultima/ultima8/gumps/target_gump.cpp
+++ b/engines/ultima/ultima8/gumps/target_gump.cpp
@@ -113,7 +113,7 @@ void TargetGump::saveData(Common::WriteStream *ws) {
CANT_HAPPEN_MSG("Trying to save ModalGump");
}
-bool TargetGump::loadData(IDataSource *ids, uint32 versin) {
+bool TargetGump::loadData(Common::ReadStream *rs, uint32 versin) {
CANT_HAPPEN_MSG("Trying to load ModalGump");
return false;
}
diff --git a/engines/ultima/ultima8/gumps/target_gump.h b/engines/ultima/ultima8/gumps/target_gump.h
index 157eddf0c5..476d0e8c12 100644
--- a/engines/ultima/ultima8/gumps/target_gump.h
+++ b/engines/ultima/ultima8/gumps/target_gump.h
@@ -49,7 +49,7 @@ public:
INTRINSIC(I_target);
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/gumps/widgets/button_widget.cpp b/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
index 88a3b460b0..8e887e7fdc 100644
--- a/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
@@ -221,27 +221,27 @@ void ButtonWidget::saveData(Common::WriteStream *ws) {
ws->writeByte(m);
}
-bool ButtonWidget::loadData(IDataSource *ids, uint32 version) {
- if (!Gump::loadData(ids, version)) return false;
+bool ButtonWidget::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Gump::loadData(rs, version)) return false;
_shapeUp = nullptr;
- ShapeArchive *flex = GameData::get_instance()->getShapeFlex(ids->readUint16LE());
- uint32 shapenum = ids->readUint32LE();
+ ShapeArchive *flex = GameData::get_instance()->getShapeFlex(rs->readUint16LE());
+ uint32 shapenum = rs->readUint32LE();
if (flex) {
_shapeUp = flex->getShape(shapenum);
}
- _frameNumUp = ids->readUint32LE();
+ _frameNumUp = rs->readUint32LE();
_shapeDown = nullptr;
- flex = GameData::get_instance()->getShapeFlex(ids->readUint16LE());
- shapenum = ids->readUint32LE();
+ flex = GameData::get_instance()->getShapeFlex(rs->readUint16LE());
+ shapenum = rs->readUint32LE();
if (flex) {
_shapeDown = flex->getShape(shapenum);
}
- _frameNumDown = ids->readUint32LE();
- _textWidget = ids->readUint16LE();
- _mouseOverBlendCol = ids->readUint32LE();
- _mouseOver = (ids->readByte() != 0);
+ _frameNumDown = rs->readUint32LE();
+ _textWidget = rs->readUint16LE();
+ _mouseOverBlendCol = rs->readUint32LE();
+ _mouseOver = (rs->readByte() != 0);
// HACK ALERT
if (_textWidget != 0) {
diff --git a/engines/ultima/ultima8/gumps/widgets/button_widget.h b/engines/ultima/ultima8/gumps/widgets/button_widget.h
index 26d1da838e..7fd3377a7a 100644
--- a/engines/ultima/ultima8/gumps/widgets/button_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/button_widget.h
@@ -78,7 +78,7 @@ protected:
int _origW, _origH;
public:
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp b/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
index 489feadd93..ac34e98d8f 100644
--- a/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
@@ -63,8 +63,8 @@ void SlidingWidget::saveData(Common::WriteStream *ws) {
Gump::saveData(ws);
}
-bool SlidingWidget::loadData(IDataSource *ids, uint32 version) {
- if (!Gump::loadData(ids, version)) return false;
+bool SlidingWidget::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Gump::loadData(rs, version)) return false;
return true;
}
diff --git a/engines/ultima/ultima8/gumps/widgets/sliding_widget.h b/engines/ultima/ultima8/gumps/widgets/sliding_widget.h
index 5a8b653601..12ac43e016 100644
--- a/engines/ultima/ultima8/gumps/widgets/sliding_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/sliding_widget.h
@@ -40,7 +40,7 @@ public:
void InitGump(Gump *newparent, bool take_focus = true) override;
uint16 TraceObjId(int32 mx, int32 my) override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/gumps/widgets/text_widget.cpp b/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
index 2257b0e812..7b00a96e26 100644
--- a/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
@@ -229,22 +229,22 @@ void TextWidget::saveData(Common::WriteStream *ws) {
ws->write(_text.c_str(), _text.size());
}
-bool TextWidget::loadData(IDataSource *ids, uint32 version) {
- if (!Gump::loadData(ids, version)) return false;
-
- _gameFont = (ids->readByte() != 0);
- _fontNum = static_cast<int>(ids->readUint32LE());
- _blendColour = ids->readUint32LE();
- _currentStart = static_cast<int>(ids->readUint32LE());
- _currentEnd = static_cast<int>(ids->readUint32LE());
- _targetWidth = static_cast<int>(ids->readUint32LE());
- _targetHeight = static_cast<int>(ids->readUint32LE());
- _textAlign = static_cast<Font::TextAlign>(ids->readUint16LE());
-
- uint32 slen = ids->readUint32LE();
+bool TextWidget::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Gump::loadData(rs, version)) return false;
+
+ _gameFont = (rs->readByte() != 0);
+ _fontNum = static_cast<int>(rs->readUint32LE());
+ _blendColour = rs->readUint32LE();
+ _currentStart = static_cast<int>(rs->readUint32LE());
+ _currentEnd = static_cast<int>(rs->readUint32LE());
+ _targetWidth = static_cast<int>(rs->readUint32LE());
+ _targetHeight = static_cast<int>(rs->readUint32LE());
+ _textAlign = static_cast<Font::TextAlign>(rs->readUint16LE());
+
+ uint32 slen = rs->readUint32LE();
if (slen > 0) {
char *buf = new char[slen + 1];
- ids->read(buf, slen);
+ rs->read(buf, slen);
buf[slen] = 0;
_text = buf;
delete[] buf;
diff --git a/engines/ultima/ultima8/gumps/widgets/text_widget.h b/engines/ultima/ultima8/gumps/widgets/text_widget.h
index 892d491ae4..8b38199a1c 100644
--- a/engines/ultima/ultima8/gumps/widgets/text_widget.h
+++ b/engines/ultima/ultima8/gumps/widgets/text_widget.h
@@ -99,7 +99,7 @@ protected:
Font *getFont() const;
public:
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/kernel/delay_process.cpp b/engines/ultima/ultima8/kernel/delay_process.cpp
index ff250dcf4e..f986799cea 100644
--- a/engines/ultima/ultima8/kernel/delay_process.cpp
+++ b/engines/ultima/ultima8/kernel/delay_process.cpp
@@ -51,10 +51,10 @@ void DelayProcess::dumpInfo() const {
}
-bool DelayProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool DelayProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _count = static_cast<int>(ids->readUint32LE());
+ _count = static_cast<int>(rs->readUint32LE());
return true;
}
diff --git a/engines/ultima/ultima8/kernel/delay_process.h b/engines/ultima/ultima8/kernel/delay_process.h
index ea08d7b006..6a816cf8fa 100644
--- a/engines/ultima/ultima8/kernel/delay_process.h
+++ b/engines/ultima/ultima8/kernel/delay_process.h
@@ -44,7 +44,7 @@ public:
void dumpInfo() const override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/kernel/kernel.cpp b/engines/ultima/ultima8/kernel/kernel.cpp
index 5a6d06e8e8..0cc24b97cc 100644
--- a/engines/ultima/ultima8/kernel/kernel.cpp
+++ b/engines/ultima/ultima8/kernel/kernel.cpp
@@ -330,15 +330,15 @@ void Kernel::save(Common::WriteStream *ws) {
}
}
-bool Kernel::load(IDataSource *ids, uint32 version) {
- _frameNum = ids->readUint32LE();
+bool Kernel::load(Common::ReadStream *rs, uint32 version) {
+ _frameNum = rs->readUint32LE();
- if (!_pIDs->load(ids, version)) return false;
+ if (!_pIDs->load(rs, version)) return false;
- const uint32 pcount = ids->readUint32LE();
+ const uint32 pcount = rs->readUint32LE();
for (unsigned int i = 0; i < pcount; ++i) {
- Process *p = loadProcess(ids, version);
+ Process *p = loadProcess(rs, version);
if (!p) return false;
_processes.push_back(p);
}
@@ -346,10 +346,10 @@ bool Kernel::load(IDataSource *ids, uint32 version) {
return true;
}
-Process *Kernel::loadProcess(IDataSource *ids, uint32 version) {
- const uint16 classlen = ids->readUint16LE();
+Process *Kernel::loadProcess(Common::ReadStream *rs, uint32 version) {
+ const uint16 classlen = rs->readUint16LE();
char *buf = new char[classlen + 1];
- ids->read(buf, classlen);
+ rs->read(buf, classlen);
buf[classlen] = 0;
Std::string classname = buf;
@@ -366,7 +366,7 @@ Process *Kernel::loadProcess(IDataSource *ids, uint32 version) {
_loading = true;
- Process *p = (*(iter->_value))(ids, version);
+ Process *p = (*(iter->_value))(rs, version);
_loading = false;
diff --git a/engines/ultima/ultima8/kernel/kernel.h b/engines/ultima/ultima8/kernel/kernel.h
index c99e09f54c..cd70851938 100644
--- a/engines/ultima/ultima8/kernel/kernel.h
+++ b/engines/ultima/ultima8/kernel/kernel.h
@@ -32,10 +32,8 @@ namespace Ultima8 {
class Debugger;
class Process;
class idMan;
-class IDataSource;
-class ODataSource;
-typedef Process *(*ProcessLoadFunc)(IDataSource *, uint32 version);
+typedef Process *(*ProcessLoadFunc)(Common::ReadStream *rs, uint32 version);
typedef Std::list<Process *>::const_iterator ProcessIter;
typedef Std::list<Process *>::iterator ProcessIterator;
@@ -99,7 +97,7 @@ public:
void processTypes();
void save(Common::WriteStream *ws);
- bool load(IDataSource *ids, uint32 version);
+ bool load(Common::ReadStream *rs, uint32 version);
void pause() {
_paused++;
@@ -130,7 +128,7 @@ public:
INTRINSIC(I_getNumProcesses);
INTRINSIC(I_resetRef);
private:
- Process *loadProcess(IDataSource *ids, uint32 version);
+ Process *loadProcess(Common::ReadStream *rs, uint32 version);
Std::list<Process *> _processes;
idMan *_pIDs;
diff --git a/engines/ultima/ultima8/kernel/mouse.cpp b/engines/ultima/ultima8/kernel/mouse.cpp
index 6b49085856..ff87a1136b 100644
--- a/engines/ultima/ultima8/kernel/mouse.cpp
+++ b/engines/ultima/ultima8/kernel/mouse.cpp
@@ -53,7 +53,7 @@ Mouse::Mouse() : _flashingCursorTime(0), _mouseOverGump(0), _defaultMouse(nullpt
void Mouse::setup() {
FileSystem *filesys = FileSystem::get_instance();
- IDataSource *dm = filesys->ReadFile("@data/mouse.tga");
+ Common::SeekableReadStream *dm = filesys->ReadFile("@data/mouse.tga");
_defaultMouse = dm ? Texture::Create(dm, "@data/mouse.tga") : 0;
if (!_defaultMouse)
diff --git a/engines/ultima/ultima8/kernel/object.cpp b/engines/ultima/ultima8/kernel/object.cpp
index 42e87eacb5..0b9bc6189e 100644
--- a/engines/ultima/ultima8/kernel/object.cpp
+++ b/engines/ultima/ultima8/kernel/object.cpp
@@ -91,8 +91,8 @@ void Object::saveData(Common::WriteStream *ws) {
ws->writeUint16LE(_objId);
}
-bool Object::loadData(IDataSource *ids, uint32 version) {
- _objId = ids->readUint16LE();
+bool Object::loadData(Common::ReadStream *rs, uint32 version) {
+ _objId = rs->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/kernel/object.h b/engines/ultima/ultima8/kernel/object.h
index 61f0d29e7b..b97208bb1e 100644
--- a/engines/ultima/ultima8/kernel/object.h
+++ b/engines/ultima/ultima8/kernel/object.h
@@ -30,8 +30,6 @@ namespace Ultima {
namespace Ultima8 {
class Usecode;
-class ODataSource;
-class IDataSource;
class Object {
public:
@@ -72,7 +70,7 @@ public:
ProcId callUsecode(uint16 classid, uint16 offset,
const uint8 *args = 0, int argsize = 0);
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
//! write the Object savegame header (mainly consisting of the classname)
diff --git a/engines/ultima/ultima8/kernel/object_manager.cpp b/engines/ultima/ultima8/kernel/object_manager.cpp
index fdb7b6b767..b091f343a3 100644
--- a/engines/ultima/ultima8/kernel/object_manager.cpp
+++ b/engines/ultima/ultima8/kernel/object_manager.cpp
@@ -59,9 +59,9 @@ ObjectManager *ObjectManager::_objectManager = nullptr;
// every object separately
template<class T>
struct ObjectLoader {
- static Object *load(IDataSource *ids, uint32 version) {
+ static Object *load(Common::ReadStream *rs, uint32 version) {
T *p = new T();
- bool ok = p->loadData(ids, version);
+ bool ok = p->loadData(rs, version);
if (!ok) {
delete p;
p = nullptr;
@@ -236,22 +236,22 @@ void ObjectManager::save(Common::WriteStream *ws) {
}
-bool ObjectManager::load(IDataSource *ids, uint32 version) {
- if (!_objIDs->load(ids, version)) return false;
- if (!_actorIDs->load(ids, version)) return false;
+bool ObjectManager::load(Common::ReadStream *rs, uint32 version) {
+ if (!_objIDs->load(rs, version)) return false;
+ if (!_actorIDs->load(rs, version)) return false;
do {
// peek ahead for terminator
- uint16 classlen = ids->readUint16LE();
+ uint16 classlen = rs->readUint16LE();
if (classlen == 0) break;
char *buf = new char[classlen + 1];
- ids->read(buf, classlen);
+ rs->read(buf, classlen);
buf[classlen] = 0;
Std::string classname = buf;
delete[] buf;
- Object *obj = loadObject(ids, classname, version);
+ Object *obj = loadObject(rs, classname, version);
if (!obj) return false;
// top level gumps have to be added to the correct core gump
@@ -290,19 +290,19 @@ bool ObjectManager::load(IDataSource *ids, uint32 version) {
return true;
}
-Object *ObjectManager::loadObject(IDataSource *ids, uint32 version) {
- uint16 classlen = ids->readUint16LE();
+Object *ObjectManager::loadObject(Common::ReadStream *rs, uint32 version) {
+ uint16 classlen = rs->readUint16LE();
char *buf = new char[classlen + 1];
- ids->read(buf, classlen);
+ rs->read(buf, classlen);
buf[classlen] = 0;
Std::string classname = buf;
delete[] buf;
- return loadObject(ids, classname, version);
+ return loadObject(rs, classname, version);
}
-Object *ObjectManager::loadObject(IDataSource *ids, Std::string classname,
+Object *ObjectManager::loadObject(Common::ReadStream *rs, Std::string classname,
uint32 version) {
Std::map<Common::String, ObjectLoadFunc>::iterator iter;
iter = _objectLoaders.find(classname);
@@ -312,7 +312,7 @@ Object *ObjectManager::loadObject(IDataSource *ids, Std::string classname,
return nullptr;
}
- Object *obj = (*(iter->_value))(ids, version);
+ Object *obj = (*(iter->_value))(rs, version);
if (!obj) {
perr << "Error loading object of type " << classname << Std::endl;
diff --git a/engines/ultima/ultima8/kernel/object_manager.h b/engines/ultima/ultima8/kernel/object_manager.h
index aae02a3dbe..1b34b58165 100644
--- a/engines/ultima/ultima8/kernel/object_manager.h
+++ b/engines/ultima/ultima8/kernel/object_manager.h
@@ -31,10 +31,8 @@ namespace Ultima8 {
class idMan;
class Object;
class Actor;
-class IDataSource;
-class ODataSource;
-typedef Object *(*ObjectLoadFunc)(IDataSource *, uint32);
+typedef Object *(*ObjectLoadFunc)(Common::ReadStream *rs, uint32);
class ObjectManager {
public:
@@ -65,10 +63,10 @@ public:
void objectTypes();
void save(Common::WriteStream *ws);
- bool load(IDataSource *ids, uint32 version);
+ bool load(Common::ReadStream *rs, uint32 version);
- Object *loadObject(IDataSource *ids, uint32 version);
- Object *loadObject(IDataSource *ids, Std::string classname, uint32 version);
+ Object *loadObject(Common::ReadStream *rs, uint32 version);
+ Object *loadObject(Common::ReadStream *rs, Std::string classname, uint32 version);
Std::vector<Object *> _objects;
idMan *_objIDs;
diff --git a/engines/ultima/ultima8/kernel/process.cpp b/engines/ultima/ultima8/kernel/process.cpp
index 6221ba7806..0e5caacce0 100644
--- a/engines/ultima/ultima8/kernel/process.cpp
+++ b/engines/ultima/ultima8/kernel/process.cpp
@@ -145,16 +145,16 @@ void Process::saveData(Common::WriteStream *ws) {
ws->writeUint16LE(_waiting[i]);
}
-bool Process::loadData(IDataSource *ids, uint32 version) {
- _pid = ids->readUint16LE();
- _flags = ids->readUint32LE();
- _itemNum = ids->readUint16LE();
- _type = ids->readUint16LE();
- _result = ids->readUint32LE();
- uint32 waitcount = ids->readUint32LE();
+bool Process::loadData(Common::ReadStream *rs, uint32 version) {
+ _pid = rs->readUint16LE();
+ _flags = rs->readUint32LE();
+ _itemNum = rs->readUint16LE();
+ _type = rs->readUint16LE();
+ _result = rs->readUint32LE();
+ uint32 waitcount = rs->readUint32LE();
_waiting.resize(waitcount);
for (unsigned int i = 0; i < waitcount; ++i)
- _waiting[i] = ids->readUint16LE();
+ _waiting[i] = rs->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/kernel/process.h b/engines/ultima/ultima8/kernel/process.h
index 81bab455b0..346fce9979 100644
--- a/engines/ultima/ultima8/kernel/process.h
+++ b/engines/ultima/ultima8/kernel/process.h
@@ -31,8 +31,6 @@ namespace Ultima {
namespace Ultima8 {
class Debugger;
-class IDataSource;
-class ODataSource;
class Process {
friend class Kernel;
@@ -118,7 +116,7 @@ public:
void save(Common::WriteStream *ods);
//! load Process data
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
//! save the Process data
diff --git a/engines/ultima/ultima8/misc/debugger.cpp b/engines/ultima/ultima8/misc/debugger.cpp
index 1d36bb2e99..91ffdfa34a 100644
--- a/engines/ultima/ultima8/misc/debugger.cpp
+++ b/engines/ultima/ultima8/misc/debugger.cpp
@@ -796,12 +796,12 @@ bool Debugger::cmdDumpMap(int argc, const char **argv) {
sprintf(buf, "%02d", World::get_instance()->getCurrentMap()->getNum());
filename += buf;
filename += ".png";
- ODataSource *ds = FileSystem::get_instance()->WriteFile(filename);
+ Common::WriteStream *ws = FileSystem::get_instance()->WriteFile(filename);
Std::string pngcomment = "Map ";
pngcomment += buf;
pngcomment += ", dumped by Pentagram.";
- PNGWriter *pngw = new PNGWriter(ds);
+ PNGWriter *pngw = new PNGWriter(ws);
pngw->init(awidth, aheight, pngcomment);
// Now render the map
@@ -843,7 +843,7 @@ bool Debugger::cmdDumpMap(int argc, const char **argv) {
pngw->finish();
delete pngw;
- delete ds;
+ delete ws;
delete g;
delete s;
@@ -1431,7 +1431,7 @@ bool Debugger::cmdPlayMovie(int argc, const char **argv) {
Std::string filename = Common::String::format("@game/static/%s.skf", argv[1]);
FileSystem *filesys = FileSystem::get_instance();
- IDataSource *skf = filesys->ReadFile(filename);
+ Common::SeekableReadStream *skf = filesys->ReadFile(filename);
if (!skf) {
debugPrintf("movie not found.\n");
return true;
diff --git a/engines/ultima/ultima8/misc/id_man.cpp b/engines/ultima/ultima8/misc/id_man.cpp
index 39a03d9dd8..c45cfb57dd 100644
--- a/engines/ultima/ultima8/misc/id_man.cpp
+++ b/engines/ultima/ultima8/misc/id_man.cpp
@@ -197,12 +197,12 @@ void idMan::save(Common::WriteStream *ws) {
ws->writeUint16LE(0); // terminator
}
-bool idMan::load(IDataSource *ds, uint32 version) {
- _begin = ds->readUint16LE();
- _end = ds->readUint16LE();
- _maxEnd = ds->readUint16LE();
- _startCount = ds->readUint16LE();
- uint16 realusedcount = ds->readUint16LE();
+bool idMan::load(Common::ReadStream *rs, uint32 version) {
+ _begin = rs->readUint16LE();
+ _end = rs->readUint16LE();
+ _maxEnd = rs->readUint16LE();
+ _startCount = rs->readUint16LE();
+ uint16 realusedcount = rs->readUint16LE();
_ids.resize(_end + 1);
@@ -211,10 +211,10 @@ bool idMan::load(IDataSource *ds, uint32 version) {
}
_first = _last = 0;
- uint16 cur = ds->readUint16LE();
+ uint16 cur = rs->readUint16LE();
while (cur) {
clearID(cur);
- cur = ds->readUint16LE();
+ cur = rs->readUint16LE();
}
_usedCount = realusedcount;
diff --git a/engines/ultima/ultima8/misc/id_man.h b/engines/ultima/ultima8/misc/id_man.h
index 5da79164be..0fdbdb7f41 100644
--- a/engines/ultima/ultima8/misc/id_man.h
+++ b/engines/ultima/ultima8/misc/id_man.h
@@ -28,9 +28,6 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
-class ODataSource;
-
//
// idMan. Used to allocate and keep track of unused ids.
// Supposed to be used by Kernel and World for pID and ObjId
@@ -97,7 +94,7 @@ public:
}
void save(Common::WriteStream *ws);
- bool load(IDataSource *ids, uint32 version);
+ bool load(Common::ReadStream *rs, uint32 version);
private:
//! double the amount of available IDs (up to the maximum passed
diff --git a/engines/ultima/ultima8/ultima8.cpp b/engines/ultima/ultima8/ultima8.cpp
index 0a06ddcaca..29c581b1c9 100644
--- a/engines/ultima/ultima8/ultima8.cpp
+++ b/engines/ultima/ultima8/ultima8.cpp
@@ -119,9 +119,9 @@ using Std::string;
// every process
template<class T>
struct ProcessLoader {
- static Process *load(IDataSource *ids, uint32 version) {
+ static Process *load(Common::ReadStream *rs, uint32 version) {
T *p = new T();
- bool ok = p->loadData(ids, version);
+ bool ok = p->loadData(rs, version);
if (!ok) {
delete p;
p = nullptr;
@@ -1397,31 +1397,31 @@ void Ultima8Engine::save(Common::WriteStream *ws) {
ws->writeByte(c);
}
-bool Ultima8Engine::load(IDataSource *ids, uint32 version) {
- _avatarInStasis = (ids->readByte() != 0);
+bool Ultima8Engine::load(Common::ReadStream *rs, uint32 version) {
+ _avatarInStasis = (rs->readByte() != 0);
// no gump should be moused over after load
_mouse->resetMouseOverGump();
- int32 absoluteTime = static_cast<int32>(ids->readUint32LE());
+ int32 absoluteTime = static_cast<int32>(rs->readUint32LE());
_timeOffset = absoluteTime - Kernel::get_instance()->getFrameNum();
- uint16 amppid = ids->readUint16LE();
+ uint16 amppid = rs->readUint16LE();
_avatarMoverProcess = p_dynamic_cast<AvatarMoverProcess *>(Kernel::get_instance()->getProcess(amppid));
int16 matrix[12];
for (int i = 0; i < 12; i++)
- matrix[i] = ids->readUint16LE();
+ matrix[i] = rs->readUint16LE();
PaletteManager::get_instance()->transformPalette(PaletteManager::Pal_Game, matrix);
Palette *pal = PaletteManager::get_instance()->getPalette(PaletteManager::Pal_Game);
- pal->_transform = static_cast<PalTransforms>(ids->readUint16LE());
+ pal->_transform = static_cast<PalTransforms>(rs->readUint16LE());
- _inversion = ids->readUint16LE();
+ _inversion = rs->readUint16LE();
- _saveCount = ids->readUint32LE();
+ _saveCount = rs->readUint32LE();
- _hasCheated = (ids->readByte() != 0);
+ _hasCheated = (rs->readByte() != 0);
return true;
}
diff --git a/engines/ultima/ultima8/ultima8.h b/engines/ultima/ultima8/ultima8.h
index c8c3327d12..2397a8e5dc 100644
--- a/engines/ultima/ultima8/ultima8.h
+++ b/engines/ultima/ultima8/ultima8.h
@@ -25,6 +25,7 @@
#define ULTIMA8_ULTIMA8
#include "common/scummsys.h"
+#include "common/stream.h"
#include "common/system.h"
#include "common/archive.h"
#include "common/error.h"
@@ -70,8 +71,6 @@ class ObjectManager;
class FontManager;
class Mouse;
class AvatarMoverProcess;
-class IDataSource;
-class ODataSource;
class Texture;
class AudioMixer;
@@ -149,7 +148,7 @@ private:
void save(Common::WriteStream *ws);
//! load CoreApp/Ultima8Engine data
- bool load(IDataSource *ids, uint32 version);
+ bool load(Common::ReadStream *rs, uint32 version);
//! reset engine (including World, UCMachine, a.o.)
void resetEngine();
diff --git a/engines/ultima/ultima8/usecode/bit_set.cpp b/engines/ultima/ultima8/usecode/bit_set.cpp
index 070ce47b3a..2b5a9fddae 100644
--- a/engines/ultima/ultima8/usecode/bit_set.cpp
+++ b/engines/ultima/ultima8/usecode/bit_set.cpp
@@ -120,10 +120,10 @@ void BitSet::save(Common::WriteStream *ws) {
ws->write(_data, _bytes);
}
-bool BitSet::load(IDataSource *ids, uint32 version) {
- uint32 s = ids->readUint32LE();
+bool BitSet::load(Common::ReadStream *rs, uint32 version) {
+ uint32 s = rs->readUint32LE();
setSize(s);
- ids->read(_data, _bytes);
+ rs->read(_data, _bytes);
return true;
}
diff --git a/engines/ultima/ultima8/usecode/bit_set.h b/engines/ultima/ultima8/usecode/bit_set.h
index b2e642338e..a1c21df49a 100644
--- a/engines/ultima/ultima8/usecode/bit_set.h
+++ b/engines/ultima/ultima8/usecode/bit_set.h
@@ -26,9 +26,6 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
-class ODataSource;
-
class BitSet {
public:
BitSet();
@@ -52,7 +49,7 @@ public:
void setBits(unsigned int pos, unsigned int n, uint32 bits);
void save(Common::WriteStream *ws);
- bool load(IDataSource *ids, uint32 version);
+ bool load(Common::ReadStream *rs, uint32 version);
private:
unsigned int _size;
diff --git a/engines/ultima/ultima8/usecode/uc_list.cpp b/engines/ultima/ultima8/usecode/uc_list.cpp
index 70ac554aa5..c4245c9980 100644
--- a/engines/ultima/ultima8/usecode/uc_list.cpp
+++ b/engines/ultima/ultima8/usecode/uc_list.cpp
@@ -123,11 +123,11 @@ void UCList::save(Common::WriteStream *ws) {
}
-bool UCList::load(IDataSource *ids, uint32 version) {
- _elementSize = ids->readUint32LE();
- _size = ids->readUint32LE();
+bool UCList::load(Common::ReadStream *rs, uint32 version) {
+ _elementSize = rs->readUint32LE();
+ _size = rs->readUint32LE();
_elements.resize(_size * _elementSize);
- ids->read(&(_elements[0]), _size * _elementSize);
+ rs->read(&(_elements[0]), _size * _elementSize);
return true;
}
diff --git a/engines/ultima/ultima8/usecode/uc_list.h b/engines/ultima/ultima8/usecode/uc_list.h
index 99d00d55cc..f499c8d3b1 100644
--- a/engines/ultima/ultima8/usecode/uc_list.h
+++ b/engines/ultima/ultima8/usecode/uc_list.h
@@ -29,9 +29,6 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
-class ODataSource;
-
// stringlists: _elementSize = 2, each element is actually a stringref
// see for example the 0x0E opcode: there is no way to see if the
// created list is a stringlist or not
@@ -159,7 +156,7 @@ public:
uint16 getStringIndex(uint32 index) const;
void save(Common::WriteStream *ws);
- bool load(IDataSource *ids, uint32 version);
+ bool load(Common::ReadStream *rs, uint32 version);
private:
const Std::string &getString(uint32 index) const;
diff --git a/engines/ultima/ultima8/usecode/uc_machine.cpp b/engines/ultima/ultima8/usecode/uc_machine.cpp
index d58f319b16..63ed2802f2 100644
--- a/engines/ultima/ultima8/usecode/uc_machine.cpp
+++ b/engines/ultima/ultima8/usecode/uc_machine.cpp
@@ -2258,20 +2258,20 @@ void UCMachine::saveLists(Common::WriteStream *ws) {
}
}
-bool UCMachine::loadGlobals(IDataSource *ids, uint32 version) {
- return _globals->load(ids, version);
+bool UCMachine::loadGlobals(Common::ReadStream *rs, uint32 version) {
+ return _globals->load(rs, version);
}
-bool UCMachine::loadStrings(IDataSource *ids, uint32 version) {
- if (!_stringIDs->load(ids, version)) return false;
+bool UCMachine::loadStrings(Common::ReadStream *rs, uint32 version) {
+ if (!_stringIDs->load(rs, version)) return false;
- uint32 stringcount = ids->readUint32LE();
+ uint32 stringcount = rs->readUint32LE();
for (unsigned int i = 0; i < stringcount; ++i) {
- uint16 sid = ids->readUint16LE();
- uint32 len = ids->readUint32LE();
+ uint16 sid = rs->readUint16LE();
+ uint32 len = rs->readUint32LE();
if (len) {
char *buf = new char[len + 1];
- ids->read(buf, len);
+ rs->read(buf, len);
buf[len] = 0;
_stringHeap[sid] = buf;
delete[] buf;
@@ -2283,14 +2283,14 @@ bool UCMachine::loadStrings(IDataSource *ids, uint32 version) {
return true;
}
-bool UCMachine::loadLists(IDataSource *ids, uint32 version) {
- if (!_listIDs->load(ids, version)) return false;
+bool UCMachine::loadLists(Common::ReadStream *rs, uint32 version) {
+ if (!_listIDs->load(rs, version)) return false;
- uint32 listcount = ids->readUint32LE();
+ uint32 listcount = rs->readUint32LE();
for (unsigned int i = 0; i < listcount; ++i) {
- uint16 lid = ids->readUint16LE();
+ uint16 lid = rs->readUint16LE();
UCList *l = new UCList(2); // the "2" will be ignored by load()
- bool ret = l->load(ids, version);
+ bool ret = l->load(rs, version);
if (!ret) return false;
_listHeap[lid] = l;
diff --git a/engines/ultima/ultima8/usecode/uc_machine.h b/engines/ultima/ultima8/usecode/uc_machine.h
index 80a19dbf5a..5356576849 100644
--- a/engines/ultima/ultima8/usecode/uc_machine.h
+++ b/engines/ultima/ultima8/usecode/uc_machine.h
@@ -34,8 +34,6 @@ class Debugger;
class Process;
class UCProcess;
class ConvertUsecode;
-class IDataSource;
-class ODataSource;
class BitSet;
class UCList;
class idMan;
@@ -80,9 +78,9 @@ public:
void saveStrings(Common::WriteStream *ws);
void saveLists(Common::WriteStream *ws);
- bool loadGlobals(IDataSource *ids, uint32 version);
- bool loadStrings(IDataSource *ids, uint32 version);
- bool loadLists(IDataSource *ids, uint32 version);
+ bool loadGlobals(Common::ReadStream *rs, uint32 version);
+ bool loadStrings(Common::ReadStream *rs, uint32 version);
+ bool loadLists(Common::ReadStream *rs, uint32 version);
INTRINSIC(I_true);
INTRINSIC(I_dummyProcess);
diff --git a/engines/ultima/ultima8/usecode/uc_process.cpp b/engines/ultima/ultima8/usecode/uc_process.cpp
index ac5fefbf1f..ab20e3e13a 100644
--- a/engines/ultima/ultima8/usecode/uc_process.cpp
+++ b/engines/ultima/ultima8/usecode/uc_process.cpp
@@ -176,21 +176,21 @@ void UCProcess::saveData(Common::WriteStream *ws) {
_stack.save(ws);
}
-bool UCProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
-
- _bp = ids->readUint16LE();
- _classId = ids->readUint16LE();
- _ip = ids->readUint16LE();
- _temp32 = ids->readUint32LE();
- uint32 freecount = ids->readUint32LE();
+bool UCProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
+
+ _bp = rs->readUint16LE();
+ _classId = rs->readUint16LE();
+ _ip = rs->readUint16LE();
+ _temp32 = rs->readUint32LE();
+ uint32 freecount = rs->readUint32LE();
for (unsigned int i = 0; i < freecount; ++i) {
Std::pair<uint16, int> p;
- p.first = ids->readUint16LE();
- p.second = static_cast<int>(ids->readUint32LE());
+ p.first = rs->readUint16LE();
+ p.second = static_cast<int>(rs->readUint32LE());
_freeOnTerminate.push_back(p);
}
- _stack.load(ids, version);
+ _stack.load(rs, version);
return true;
}
diff --git a/engines/ultima/ultima8/usecode/uc_process.h b/engines/ultima/ultima8/usecode/uc_process.h
index d2331b3947..16b4a24fb9 100644
--- a/engines/ultima/ultima8/usecode/uc_process.h
+++ b/engines/ultima/ultima8/usecode/uc_process.h
@@ -30,9 +30,6 @@ namespace Ultima {
namespace Ultima8 {
class Usecode;
-class IDataSource;
-class ODataSource;
-
// probably won't inherit from Process directly in the future
class UCProcess : public Process {
@@ -60,7 +57,7 @@ public:
//! dump some info about this process to pout
void dumpInfo() const override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/usecode/uc_stack.cpp b/engines/ultima/ultima8/usecode/uc_stack.cpp
index 2de9795e57..c791a6dba4 100644
--- a/engines/ultima/ultima8/usecode/uc_stack.cpp
+++ b/engines/ultima/ultima8/usecode/uc_stack.cpp
@@ -35,8 +35,8 @@ void UCStack::save(Common::WriteStream *ws) {
ws->write(_bufPtr, stacksize());
}
-bool UCStack::load(IDataSource *ids, uint32 version) {
- _size = ids->readUint32LE();
+bool UCStack::load(Common::ReadStream *rs, uint32 version) {
+ _size = rs->readUint32LE();
#ifdef USE_DYNAMIC_UCSTACK
if (_buf) delete[] _buf;
_buf = new uint8[_size];
@@ -47,10 +47,10 @@ bool UCStack::load(IDataSource *ids, uint32 version) {
}
_buf = _bufArray;
#endif
- uint32 sp = ids->readUint32LE();
+ uint32 sp = rs->readUint32LE();
_bufPtr = _buf + sp;
- ids->read(_bufPtr, _size - sp);
+ rs->read(_bufPtr, _size - sp);
return true;
}
diff --git a/engines/ultima/ultima8/usecode/uc_stack.h b/engines/ultima/ultima8/usecode/uc_stack.h
index fdb8cb6935..d8232ff306 100644
--- a/engines/ultima/ultima8/usecode/uc_stack.h
+++ b/engines/ultima/ultima8/usecode/uc_stack.h
@@ -29,9 +29,6 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
-class ODataSource;
-
// A little-endian stack for use with usecode
class BaseUCStack {
protected:
@@ -173,8 +170,8 @@ public:
#ifdef USE_DYNAMIC_UCSTACK
#define UCStack DynamicUCStack
- void save(Common::WriteStream *ods);
- bool load(IDataSource *ids, uint32 version);
+ void save(Common::WriteStream *ws);
+ bool load(Common::ReadStream *rs, uint32 version);
#endif
};
@@ -185,8 +182,8 @@ public:
UCStack() : BaseUCStack(0x1000, _bufArray) { }
~UCStack() override { }
- void save(Common::WriteStream *ods);
- bool load(IDataSource *ids, uint32 version);
+ void save(Common::WriteStream *ws);
+ bool load(Common::ReadStream *rs, uint32 version);
};
#endif
diff --git a/engines/ultima/ultima8/usecode/usecode_flex.h b/engines/ultima/ultima8/usecode/usecode_flex.h
index 6945294216..5ac9583570 100644
--- a/engines/ultima/ultima8/usecode/usecode_flex.h
+++ b/engines/ultima/ultima8/usecode/usecode_flex.h
@@ -32,7 +32,7 @@ namespace Ultima8 {
// multiple inheritance. um, yes :-)
class UsecodeFlex : public Usecode, protected RawArchive {
public:
- UsecodeFlex(IDataSource *ds) : RawArchive(ds) { }
+ UsecodeFlex(Common::SeekableReadStream *rs) : RawArchive(rs) { }
~UsecodeFlex() override { }
const uint8 *get_class(uint32 classid) override;
diff --git a/engines/ultima/ultima8/world/actors/actor.cpp b/engines/ultima/ultima8/world/actors/actor.cpp
index 07d9b2a055..f08e629303 100644
--- a/engines/ultima/ultima8/world/actors/actor.cpp
+++ b/engines/ultima/ultima8/world/actors/actor.cpp
@@ -1090,22 +1090,22 @@ void Actor::saveData(Common::WriteStream *ws) {
ws->writeByte(_unk0C);
}
-bool Actor::loadData(IDataSource *ids, uint32 version) {
- if (!Container::loadData(ids, version)) return false;
-
- _strength = static_cast<int16>(ids->readUint16LE());
- _dexterity = static_cast<int16>(ids->readUint16LE());
- _intelligence = static_cast<int16>(ids->readUint16LE());
- _hitPoints = ids->readUint16LE();
- _mana = static_cast<int16>(ids->readUint16LE());
- _alignment = ids->readUint16LE();
- _enemyAlignment = ids->readUint16LE();
- _lastAnim = static_cast<Animation::Sequence>(ids->readUint16LE());
- _animFrame = ids->readUint16LE();
- _direction = ids->readUint16LE();
- _fallStart = ids->readUint32LE();
- _actorFlags = ids->readUint32LE();
- _unk0C = ids->readByte();
+bool Actor::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Container::loadData(rs, version)) return false;
+
+ _strength = static_cast<int16>(rs->readUint16LE());
+ _dexterity = static_cast<int16>(rs->readUint16LE());
+ _intelligence = static_cast<int16>(rs->readUint16LE());
+ _hitPoints = rs->readUint16LE();
+ _mana = static_cast<int16>(rs->readUint16LE());
+ _alignment = rs->readUint16LE();
+ _enemyAlignment = rs->readUint16LE();
+ _lastAnim = static_cast<Animation::Sequence>(rs->readUint16LE());
+ _animFrame = rs->readUint16LE();
+ _direction = rs->readUint16LE();
+ _fallStart = rs->readUint32LE();
+ _actorFlags = rs->readUint32LE();
+ _unk0C = rs->readByte();
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/actor.h b/engines/ultima/ultima8/world/actors/actor.h
index 13326dffac..cad2884277 100644
--- a/engines/ultima/ultima8/world/actors/actor.h
+++ b/engines/ultima/ultima8/world/actors/actor.h
@@ -216,7 +216,7 @@ public:
void dumpInfo() const override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
// p_dynamic_cast stuff
ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/world/actors/actor_anim_process.cpp b/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
index dcdc29aefc..36ea36ffa3 100644
--- a/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
+++ b/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
@@ -653,22 +653,22 @@ void ActorAnimProcess::saveData(Common::WriteStream *ws) {
ws->writeByte(0);
}
-bool ActorAnimProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
-
- _firstFrame = (ids->readByte() != 0);
- _animAborted = (ids->readByte() != 0);
- _attackedSomething = (ids->readByte() != 0);
- _dir = ids->readByte();
- _action = static_cast<Animation::Sequence>(ids->readUint16LE());
- _steps = ids->readUint16LE();
- _repeatCounter = ids->readUint16LE();
- _currentStep = ids->readUint16LE();
+bool ActorAnimProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
+
+ _firstFrame = (rs->readByte() != 0);
+ _animAborted = (rs->readByte() != 0);
+ _attackedSomething = (rs->readByte() != 0);
+ _dir = rs->readByte();
+ _action = static_cast<Animation::Sequence>(rs->readUint16LE());
+ _steps = rs->readUint16LE();
+ _repeatCounter = rs->readUint16LE();
+ _currentStep = rs->readUint16LE();
assert(_tracker == nullptr);
- if (ids->readByte() != 0) {
+ if (rs->readByte() != 0) {
_tracker = new AnimationTracker();
- if (!_tracker->load(ids, version))
+ if (!_tracker->load(rs, version))
return false;
}
diff --git a/engines/ultima/ultima8/world/actors/actor_anim_process.h b/engines/ultima/ultima8/world/actors/actor_anim_process.h
index 66e9d3fa54..1df3f70b2a 100644
--- a/engines/ultima/ultima8/world/actors/actor_anim_process.h
+++ b/engines/ultima/ultima8/world/actors/actor_anim_process.h
@@ -54,7 +54,7 @@ public:
return _action;
}
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/actors/actor_bark_notify_process.cpp b/engines/ultima/ultima8/world/actors/actor_bark_notify_process.cpp
index ceb6fc66a0..5c23466526 100644
--- a/engines/ultima/ultima8/world/actors/actor_bark_notify_process.cpp
+++ b/engines/ultima/ultima8/world/actors/actor_bark_notify_process.cpp
@@ -80,8 +80,8 @@ void ActorBarkNotifyProcess::saveData(Common::WriteStream *ws) {
GumpNotifyProcess::saveData(ws);
}
-bool ActorBarkNotifyProcess::loadData(IDataSource *ids, uint32 version) {
- if (!GumpNotifyProcess::loadData(ids, version)) return false;
+bool ActorBarkNotifyProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!GumpNotifyProcess::loadData(rs, version)) return false;
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/actor_bark_notify_process.h b/engines/ultima/ultima8/world/actors/actor_bark_notify_process.h
index 2a6c4a8b52..f8d959a1ec 100644
--- a/engines/ultima/ultima8/world/actors/actor_bark_notify_process.h
+++ b/engines/ultima/ultima8/world/actors/actor_bark_notify_process.h
@@ -38,7 +38,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/world/actors/ambush_process.cpp b/engines/ultima/ultima8/world/actors/ambush_process.cpp
index e8918fdfff..3674c55153 100644
--- a/engines/ultima/ultima8/world/actors/ambush_process.cpp
+++ b/engines/ultima/ultima8/world/actors/ambush_process.cpp
@@ -80,10 +80,10 @@ void AmbushProcess::saveData(Common::WriteStream *ws) {
ws->writeUint32LE(_delayCount);
}
-bool AmbushProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool AmbushProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _delayCount = ids->readUint32LE();
+ _delayCount = rs->readUint32LE();
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/ambush_process.h b/engines/ultima/ultima8/world/actors/ambush_process.h
index 3f6001f7f8..a9daf72893 100644
--- a/engines/ultima/ultima8/world/actors/ambush_process.h
+++ b/engines/ultima/ultima8/world/actors/ambush_process.h
@@ -40,7 +40,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/actors/animation_tracker.cpp b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
index 855d86fa3e..d6022be73e 100644
--- a/engines/ultima/ultima8/world/actors/animation_tracker.cpp
+++ b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
@@ -606,17 +606,17 @@ void AnimationTracker::save(Common::WriteStream *ws) {
ws->writeUint16LE(_hitObject);
}
-bool AnimationTracker::load(IDataSource *ids, uint32 version) {
- _startFrame = ids->readUint32LE();
- _endFrame = ids->readUint32LE();
- _firstFrame = (ids->readByte() != 0);
- _currentFrame = ids->readUint32LE();
+bool AnimationTracker::load(Common::ReadStream *rs, uint32 version) {
+ _startFrame = rs->readUint32LE();
+ _endFrame = rs->readUint32LE();
+ _firstFrame = (rs->readByte() != 0);
+ _currentFrame = rs->readUint32LE();
- _actor = ids->readUint16LE();
- _dir = ids->readByte();
+ _actor = rs->readUint16LE();
+ _dir = rs->readByte();
- uint32 shapenum = ids->readUint32LE();
- uint32 action = ids->readUint32LE();
+ uint32 shapenum = rs->readUint32LE();
+ uint32 action = rs->readUint32LE();
if (shapenum == 0) {
_animAction = nullptr;
} else {
@@ -625,20 +625,20 @@ bool AnimationTracker::load(IDataSource *ids, uint32 version) {
assert(_animAction);
}
- _prevX = ids->readUint32LE();
- _prevY = ids->readUint32LE();
- _prevZ = ids->readUint32LE();
- _x = ids->readUint32LE();
- _y = ids->readUint32LE();
- _z = ids->readUint32LE();
+ _prevX = rs->readUint32LE();
+ _prevY = rs->readUint32LE();
+ _prevZ = rs->readUint32LE();
+ _x = rs->readUint32LE();
+ _y = rs->readUint32LE();
+ _z = rs->readUint32LE();
- _mode = static_cast<Mode>(ids->readUint16LE());
+ _mode = static_cast<Mode>(rs->readUint16LE());
if (_mode == TargetMode) {
- _targetDx = ids->readUint32LE();
- _targetDy = ids->readUint32LE();
+ _targetDx = rs->readUint32LE();
+ _targetDy = rs->readUint32LE();
if (version >= 5) {
- _targetDz = ids->readUint32LE();
- _targetOffGroundLeft = ids->readUint32LE();
+ _targetDz = rs->readUint32LE();
+ _targetOffGroundLeft = rs->readUint32LE();
} else {
// Versions before 5 stored the only _x,_y adjustment
// to be made per frame. This is less accurate and ignores _z.
@@ -659,14 +659,14 @@ bool AnimationTracker::load(IDataSource *ids, uint32 version) {
}
}
- _firstStep = (ids->readByte() != 0);
- _flipped = (ids->readByte() != 0);
- _shapeFrame = ids->readUint32LE();
+ _firstStep = (rs->readByte() != 0);
+ _flipped = (rs->readByte() != 0);
+ _shapeFrame = rs->readUint32LE();
- _done = (ids->readByte() != 0);
- _blocked = (ids->readByte() != 0);
- _unsupported = (ids->readByte() != 0);
- _hitObject = ids->readUint16LE();
+ _done = (rs->readByte() != 0);
+ _blocked = (rs->readByte() != 0);
+ _unsupported = (rs->readByte() != 0);
+ _hitObject = rs->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/animation_tracker.h b/engines/ultima/ultima8/world/actors/animation_tracker.h
index 60a652ae55..d9fdba8933 100644
--- a/engines/ultima/ultima8/world/actors/animation_tracker.h
+++ b/engines/ultima/ultima8/world/actors/animation_tracker.h
@@ -30,8 +30,6 @@ namespace Ultima {
namespace Ultima8 {
class Actor;
-class IDataSource;
-class ODataSource;
struct AnimAction;
struct AnimFrame;
@@ -107,7 +105,7 @@ public:
return _hitObject;
}
- bool load(IDataSource *ids, uint32 version);
+ bool load(Common::ReadStream *rs, uint32 version);
void save(Common::WriteStream *ods);
private:
diff --git a/engines/ultima/ultima8/world/actors/avatar_death_process.cpp b/engines/ultima/ultima8/world/actors/avatar_death_process.cpp
index cfc48e6b80..e966960fd9 100644
--- a/engines/ultima/ultima8/world/actors/avatar_death_process.cpp
+++ b/engines/ultima/ultima8/world/actors/avatar_death_process.cpp
@@ -85,8 +85,8 @@ void AvatarDeathProcess::saveData(Common::WriteStream *ws) {
Process::saveData(ws);
}
-bool AvatarDeathProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool AvatarDeathProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/avatar_death_process.h b/engines/ultima/ultima8/world/actors/avatar_death_process.h
index 3aadbe535e..8103e2b7d6 100644
--- a/engines/ultima/ultima8/world/actors/avatar_death_process.h
+++ b/engines/ultima/ultima8/world/actors/avatar_death_process.h
@@ -39,7 +39,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp b/engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp
index 0a7d70f868..1b50b42cfd 100644
--- a/engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp
+++ b/engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp
@@ -81,8 +81,8 @@ void AvatarGravityProcess::saveData(Common::WriteStream *ws) {
GravityProcess::saveData(ws);
}
-bool AvatarGravityProcess::loadData(IDataSource *ids, uint32 version) {
- if (!GravityProcess::loadData(ids, version)) return false;
+bool AvatarGravityProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!GravityProcess::loadData(rs, version)) return false;
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/avatar_gravity_process.h b/engines/ultima/ultima8/world/actors/avatar_gravity_process.h
index 1694028233..db664d92bf 100644
--- a/engines/ultima/ultima8/world/actors/avatar_gravity_process.h
+++ b/engines/ultima/ultima8/world/actors/avatar_gravity_process.h
@@ -40,7 +40,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp b/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
index c36ff1da0c..77df160556 100644
--- a/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
+++ b/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
@@ -826,12 +826,12 @@ void AvatarMoverProcess::saveData(Common::WriteStream *ws) {
ws->writeUint16LE(static_cast<uint8>(_lastHeadShakeAnim));
}
-bool AvatarMoverProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool AvatarMoverProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _lastAttack = ids->readUint32LE();
- _idleTime = ids->readUint32LE();
- _lastHeadShakeAnim = static_cast<Animation::Sequence>(ids->readUint16LE());
+ _lastAttack = rs->readUint32LE();
+ _idleTime = rs->readUint32LE();
+ _lastHeadShakeAnim = static_cast<Animation::Sequence>(rs->readUint16LE());
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/avatar_mover_process.h b/engines/ultima/ultima8/world/actors/avatar_mover_process.h
index 5443ec0315..a03661fc06 100644
--- a/engines/ultima/ultima8/world/actors/avatar_mover_process.h
+++ b/engines/ultima/ultima8/world/actors/avatar_mover_process.h
@@ -47,7 +47,7 @@ public:
_idleTime = 0;
}
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp b/engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp
index ed2fbb5a9b..09f18b19a1 100644
--- a/engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp
+++ b/engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp
@@ -69,8 +69,8 @@ void ClearFeignDeathProcess::saveData(Common::WriteStream *ws) {
Process::saveData(ws);
}
-bool ClearFeignDeathProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool ClearFeignDeathProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/clear_feign_death_process.h b/engines/ultima/ultima8/world/actors/clear_feign_death_process.h
index 3de9ea438f..22e8f40240 100644
--- a/engines/ultima/ultima8/world/actors/clear_feign_death_process.h
+++ b/engines/ultima/ultima8/world/actors/clear_feign_death_process.h
@@ -40,7 +40,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/world/actors/combat_process.cpp b/engines/ultima/ultima8/world/actors/combat_process.cpp
index f63886f0c9..d5786ec7b6 100644
--- a/engines/ultima/ultima8/world/actors/combat_process.cpp
+++ b/engines/ultima/ultima8/world/actors/combat_process.cpp
@@ -337,12 +337,12 @@ void CombatProcess::saveData(Common::WriteStream *ws) {
ws->writeByte(static_cast<uint8>(_combatMode));
}
-bool CombatProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool CombatProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _target = ids->readUint16LE();
- _fixedTarget = ids->readUint16LE();
- _combatMode = static_cast<CombatMode>(ids->readByte());
+ _target = rs->readUint16LE();
+ _fixedTarget = rs->readUint16LE();
+ _combatMode = static_cast<CombatMode>(rs->readByte());
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/combat_process.h b/engines/ultima/ultima8/world/actors/combat_process.h
index 80beec9b59..8af11b9f9f 100644
--- a/engines/ultima/ultima8/world/actors/combat_process.h
+++ b/engines/ultima/ultima8/world/actors/combat_process.h
@@ -48,7 +48,7 @@ public:
void dumpInfo() const override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/actors/grant_peace_process.cpp b/engines/ultima/ultima8/world/actors/grant_peace_process.cpp
index f7a6f33ebd..314ef0915c 100644
--- a/engines/ultima/ultima8/world/actors/grant_peace_process.cpp
+++ b/engines/ultima/ultima8/world/actors/grant_peace_process.cpp
@@ -225,10 +225,10 @@ void GrantPeaceProcess::saveData(Common::WriteStream *ws) {
ws->writeByte(ht);
}
-bool GrantPeaceProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool GrantPeaceProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _haveTarget = (ids->readByte() != 0);
+ _haveTarget = (rs->readByte() != 0);
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/grant_peace_process.h b/engines/ultima/ultima8/world/actors/grant_peace_process.h
index 3192dc15f6..f0d27c128d 100644
--- a/engines/ultima/ultima8/world/actors/grant_peace_process.h
+++ b/engines/ultima/ultima8/world/actors/grant_peace_process.h
@@ -43,7 +43,7 @@ public:
INTRINSIC(I_castGrantPeace);
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/actors/heal_process.cpp b/engines/ultima/ultima8/world/actors/heal_process.cpp
index 854d46211f..45bc20f84a 100644
--- a/engines/ultima/ultima8/world/actors/heal_process.cpp
+++ b/engines/ultima/ultima8/world/actors/heal_process.cpp
@@ -121,11 +121,11 @@ void HealProcess::saveData(Common::WriteStream *ws) {
ws->writeUint16LE(_hungerCounter);
}
-bool HealProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool HealProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _healCounter = ids->readUint16LE();
- _hungerCounter = ids->readUint16LE();
+ _healCounter = rs->readUint16LE();
+ _hungerCounter = rs->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/heal_process.h b/engines/ultima/ultima8/world/actors/heal_process.h
index 6d47446910..c26c68c41c 100644
--- a/engines/ultima/ultima8/world/actors/heal_process.h
+++ b/engines/ultima/ultima8/world/actors/heal_process.h
@@ -40,7 +40,7 @@ public:
INTRINSIC(I_feedAvatar);
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/actors/loiter_process.cpp b/engines/ultima/ultima8/world/actors/loiter_process.cpp
index d47aced53b..1b5b3d463e 100644
--- a/engines/ultima/ultima8/world/actors/loiter_process.cpp
+++ b/engines/ultima/ultima8/world/actors/loiter_process.cpp
@@ -110,11 +110,11 @@ void LoiterProcess::saveData(Common::WriteStream *ws) {
ws->writeUint32LE(_count);
}
-bool LoiterProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool LoiterProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
if (version >= 3)
- _count = ids->readUint32LE();
+ _count = rs->readUint32LE();
else
_count = 0; // default to loitering indefinitely
diff --git a/engines/ultima/ultima8/world/actors/loiter_process.h b/engines/ultima/ultima8/world/actors/loiter_process.h
index 43e4955fdc..9282b147c5 100644
--- a/engines/ultima/ultima8/world/actors/loiter_process.h
+++ b/engines/ultima/ultima8/world/actors/loiter_process.h
@@ -40,7 +40,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/actors/main_actor.cpp b/engines/ultima/ultima8/world/actors/main_actor.cpp
index 47429c406b..19aafb5fcb 100644
--- a/engines/ultima/ultima8/world/actors/main_actor.cpp
+++ b/engines/ultima/ultima8/world/actors/main_actor.cpp
@@ -407,18 +407,18 @@ void MainActor::saveData(Common::WriteStream *ws) {
}
-bool MainActor::loadData(IDataSource *ids, uint32 version) {
- if (!Actor::loadData(ids, version)) return false;
+bool MainActor::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Actor::loadData(rs, version)) return false;
- _justTeleported = (ids->readByte() != 0);
- _accumStr = static_cast<int32>(ids->readUint32LE());
- _accumDex = static_cast<int32>(ids->readUint32LE());
- _accumInt = static_cast<int32>(ids->readUint32LE());
+ _justTeleported = (rs->readByte() != 0);
+ _accumStr = static_cast<int32>(rs->readUint32LE());
+ _accumDex = static_cast<int32>(rs->readUint32LE());
+ _accumInt = static_cast<int32>(rs->readUint32LE());
- uint8 namelength = ids->readByte();
+ uint8 namelength = rs->readByte();
_name.resize(namelength);
for (unsigned int i = 0; i < namelength; ++i)
- _name[i] = ids->readByte();
+ _name[i] = rs->readByte();
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/main_actor.h b/engines/ultima/ultima8/world/actors/main_actor.h
index 2746dd7d9a..5480eef8c5 100644
--- a/engines/ultima/ultima8/world/actors/main_actor.h
+++ b/engines/ultima/ultima8/world/actors/main_actor.h
@@ -90,7 +90,7 @@ public:
_name = name;
}
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
// p_dynamic_cast stuff
ENABLE_RUNTIME_CLASSTYPE()
diff --git a/engines/ultima/ultima8/world/actors/pathfinder_process.cpp b/engines/ultima/ultima8/world/actors/pathfinder_process.cpp
index 75ce66a2e6..351ed5f6e2 100644
--- a/engines/ultima/ultima8/world/actors/pathfinder_process.cpp
+++ b/engines/ultima/ultima8/world/actors/pathfinder_process.cpp
@@ -262,21 +262,21 @@ void PathfinderProcess::saveData(Common::WriteStream *ws) {
}
}
-bool PathfinderProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool PathfinderProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _targetItem = ids->readUint16LE();
- _targetX = ids->readUint16LE();
- _targetY = ids->readUint16LE();
- _targetZ = ids->readUint16LE();
- _hitMode = (ids->readByte() != 0);
- _currentStep = ids->readUint16LE();
+ _targetItem = rs->readUint16LE();
+ _targetX = rs->readUint16LE();
+ _targetY = rs->readUint16LE();
+ _targetZ = rs->readUint16LE();
+ _hitMode = (rs->readByte() != 0);
+ _currentStep = rs->readUint16LE();
- unsigned int pathsize = ids->readUint16LE();
+ unsigned int pathsize = rs->readUint16LE();
_path.resize(pathsize);
for (unsigned int i = 0; i < pathsize; ++i) {
- _path[i]._action = static_cast<Animation::Sequence>(ids->readUint16LE());
- _path[i]._direction = ids->readUint16LE();
+ _path[i]._action = static_cast<Animation::Sequence>(rs->readUint16LE());
+ _path[i]._direction = rs->readUint16LE();
}
return true;
diff --git a/engines/ultima/ultima8/world/actors/pathfinder_process.h b/engines/ultima/ultima8/world/actors/pathfinder_process.h
index 9f2fb25941..986ed66c92 100644
--- a/engines/ultima/ultima8/world/actors/pathfinder_process.h
+++ b/engines/ultima/ultima8/world/actors/pathfinder_process.h
@@ -47,7 +47,7 @@ public:
// virtual void terminate();
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp b/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp
index 1f1917bbe4..47f012104a 100644
--- a/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp
+++ b/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp
@@ -165,11 +165,11 @@ void QuickAvatarMoverProcess::saveData(Common::WriteStream *ws) {
// don't save more information. We plan to terminate upon load
}
-bool QuickAvatarMoverProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool QuickAvatarMoverProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
// small safety precaution
- _dir = ids->readUint32LE();
+ _dir = rs->readUint32LE();
if (_dir < 6)
_amp[_dir] = 0;
else
diff --git a/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h b/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h
index b9b3bab22f..195221fcb8 100644
--- a/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h
+++ b/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.h
@@ -57,7 +57,7 @@ public:
static void terminateMover(int _dir);
static void startMover(int x, int y, int z, int _dir);
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/actors/resurrection_process.cpp b/engines/ultima/ultima8/world/actors/resurrection_process.cpp
index 622f497698..9dd70707ea 100644
--- a/engines/ultima/ultima8/world/actors/resurrection_process.cpp
+++ b/engines/ultima/ultima8/world/actors/resurrection_process.cpp
@@ -85,8 +85,8 @@ void ResurrectionProcess::saveData(Common::WriteStream *ws) {
Process::saveData(ws);
}
-bool ResurrectionProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool ResurrectionProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/resurrection_process.h b/engines/ultima/ultima8/world/actors/resurrection_process.h
index 75ee853541..6a4920ec2d 100644
--- a/engines/ultima/ultima8/world/actors/resurrection_process.h
+++ b/engines/ultima/ultima8/world/actors/resurrection_process.h
@@ -40,7 +40,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/world/actors/scheduler_process.cpp b/engines/ultima/ultima8/world/actors/scheduler_process.cpp
index d1d5c32cf4..3290d65f59 100644
--- a/engines/ultima/ultima8/world/actors/scheduler_process.cpp
+++ b/engines/ultima/ultima8/world/actors/scheduler_process.cpp
@@ -87,11 +87,11 @@ void SchedulerProcess::saveData(Common::WriteStream *ws) {
ws->writeUint16LE(_nextActor);
}
-bool SchedulerProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool SchedulerProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _lastRun = ids->readUint32LE();
- _nextActor = ids->readUint16LE();
+ _lastRun = rs->readUint32LE();
+ _nextActor = rs->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/scheduler_process.h b/engines/ultima/ultima8/world/actors/scheduler_process.h
index d56199907d..bf15df7316 100644
--- a/engines/ultima/ultima8/world/actors/scheduler_process.h
+++ b/engines/ultima/ultima8/world/actors/scheduler_process.h
@@ -38,7 +38,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp b/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
index 905693b3d5..d1b3b23a41 100644
--- a/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
+++ b/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
@@ -62,12 +62,12 @@ void TargetedAnimProcess::saveData(Common::WriteStream *ws) {
}
-bool TargetedAnimProcess::loadData(IDataSource *ids, uint32 version) {
- if (!ActorAnimProcess::loadData(ids, version)) return false;
+bool TargetedAnimProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!ActorAnimProcess::loadData(rs, version)) return false;
- _x = ids->readUint32LE();
- _y = ids->readUint32LE();
- _z = ids->readUint32LE();
+ _x = rs->readUint32LE();
+ _y = rs->readUint32LE();
+ _z = rs->readUint32LE();
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/targeted_anim_process.h b/engines/ultima/ultima8/world/actors/targeted_anim_process.h
index 0dd8e9f39b..e46ef36ed5 100644
--- a/engines/ultima/ultima8/world/actors/targeted_anim_process.h
+++ b/engines/ultima/ultima8/world/actors/targeted_anim_process.h
@@ -40,7 +40,7 @@ public:
// p_dynamic_cast stuff
ENABLE_RUNTIME_CLASSTYPE()
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp b/engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp
index 3aa74ad208..0360af52d7 100644
--- a/engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp
+++ b/engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp
@@ -60,11 +60,11 @@ void TeleportToEggProcess::saveData(Common::WriteStream *ws) {
ws->writeUint32LE(static_cast<uint32>(_teleportId));
}
-bool TeleportToEggProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool TeleportToEggProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _mapNum = static_cast<int>(ids->readUint32LE());
- _teleportId = static_cast<int>(ids->readUint32LE());
+ _mapNum = static_cast<int>(rs->readUint32LE());
+ _teleportId = static_cast<int>(rs->readUint32LE());
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/teleport_to_egg_process.h b/engines/ultima/ultima8/world/actors/teleport_to_egg_process.h
index debe38d9ff..cb4c137e4d 100644
--- a/engines/ultima/ultima8/world/actors/teleport_to_egg_process.h
+++ b/engines/ultima/ultima8/world/actors/teleport_to_egg_process.h
@@ -39,7 +39,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/camera_process.cpp b/engines/ultima/ultima8/world/camera_process.cpp
index b0f681126a..96bf59e9e4 100644
--- a/engines/ultima/ultima8/world/camera_process.cpp
+++ b/engines/ultima/ultima8/world/camera_process.cpp
@@ -287,22 +287,22 @@ void CameraProcess::saveData(Common::WriteStream *ws) {
ws->writeUint32LE(static_cast<uint32>(_eqY));
}
-bool CameraProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
-
- _sx = static_cast<int32>(ids->readUint32LE());
- _sy = static_cast<int32>(ids->readUint32LE());
- _sz = static_cast<int32>(ids->readUint32LE());
- _ex = static_cast<int32>(ids->readUint32LE());
- _ey = static_cast<int32>(ids->readUint32LE());
- _ez = static_cast<int32>(ids->readUint32LE());
- _time = static_cast<int32>(ids->readUint32LE());
- _elapsed = static_cast<int32>(ids->readUint32LE());
- _itemNum = ids->readUint16LE();
- _lastFrameNum = ids->readUint32LE();
- _earthquake = static_cast<int32>(ids->readUint32LE()); //static
- _eqX = static_cast<int32>(ids->readUint32LE()); //static
- _eqY = static_cast<int32>(ids->readUint32LE()); //static
+bool CameraProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
+
+ _sx = static_cast<int32>(rs->readUint32LE());
+ _sy = static_cast<int32>(rs->readUint32LE());
+ _sz = static_cast<int32>(rs->readUint32LE());
+ _ex = static_cast<int32>(rs->readUint32LE());
+ _ey = static_cast<int32>(rs->readUint32LE());
+ _ez = static_cast<int32>(rs->readUint32LE());
+ _time = static_cast<int32>(rs->readUint32LE());
+ _elapsed = static_cast<int32>(rs->readUint32LE());
+ _itemNum = rs->readUint16LE();
+ _lastFrameNum = rs->readUint32LE();
+ _earthquake = static_cast<int32>(rs->readUint32LE()); //static
+ _eqX = static_cast<int32>(rs->readUint32LE()); //static
+ _eqY = static_cast<int32>(rs->readUint32LE()); //static
_camera = this; //static
diff --git a/engines/ultima/ultima8/world/camera_process.h b/engines/ultima/ultima8/world/camera_process.h
index 51a0891791..a5f8e45db4 100644
--- a/engines/ultima/ultima8/world/camera_process.h
+++ b/engines/ultima/ultima8/world/camera_process.h
@@ -83,7 +83,7 @@ public:
void terminate() override; // Terminate NOW!
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
private:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/container.cpp b/engines/ultima/ultima8/world/container.cpp
index 85b7be4fea..43f6c3bd51 100644
--- a/engines/ultima/ultima8/world/container.cpp
+++ b/engines/ultima/ultima8/world/container.cpp
@@ -314,14 +314,14 @@ void Container::saveData(Common::WriteStream *ws) {
}
}
-bool Container::loadData(IDataSource *ids, uint32 version) {
- if (!Item::loadData(ids, version)) return false;
+bool Container::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Item::loadData(rs, version)) return false;
- uint32 contentcount = ids->readUint32LE();
+ uint32 contentcount = rs->readUint32LE();
// read _contents
for (unsigned int i = 0; i < contentcount; ++i) {
- Object *obj = ObjectManager::get_instance()->loadObject(ids, version);
+ Object *obj = ObjectManager::get_instance()->loadObject(rs, version);
Item *item = p_dynamic_cast<Item *>(obj);
if (!item) return false;
diff --git a/engines/ultima/ultima8/world/container.h b/engines/ultima/ultima8/world/container.h
index e8b9f8c036..3488051ec0 100644
--- a/engines/ultima/ultima8/world/container.h
+++ b/engines/ultima/ultima8/world/container.h
@@ -108,7 +108,7 @@ public:
void dumpInfo() const override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
INTRINSIC(I_removeContents);
INTRINSIC(I_destroyContents);
diff --git a/engines/ultima/ultima8/world/create_item_process.cpp b/engines/ultima/ultima8/world/create_item_process.cpp
index a296675a09..2a3274f357 100644
--- a/engines/ultima/ultima8/world/create_item_process.cpp
+++ b/engines/ultima/ultima8/world/create_item_process.cpp
@@ -78,19 +78,19 @@ void CreateItemProcess::saveData(Common::WriteStream *ws) {
ws->writeUint32LE(static_cast<uint32>(_z));
}
-bool CreateItemProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
-
- _shape = ids->readUint32LE();
- _frame = ids->readUint32LE();
- _quality = ids->readUint16LE();
- _flags = ids->readUint16LE();
- _npcNum = ids->readUint16LE();
- _mapNum = ids->readUint16LE();
- _extendedFlags = ids->readUint32LE();
- _x = static_cast<int32>(ids->readUint32LE());
- _y = static_cast<int32>(ids->readUint32LE());
- _z = static_cast<int32>(ids->readUint32LE());
+bool CreateItemProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
+
+ _shape = rs->readUint32LE();
+ _frame = rs->readUint32LE();
+ _quality = rs->readUint16LE();
+ _flags = rs->readUint16LE();
+ _npcNum = rs->readUint16LE();
+ _mapNum = rs->readUint16LE();
+ _extendedFlags = rs->readUint32LE();
+ _x = static_cast<int32>(rs->readUint32LE());
+ _y = static_cast<int32>(rs->readUint32LE());
+ _z = static_cast<int32>(rs->readUint32LE());
return true;
}
diff --git a/engines/ultima/ultima8/world/create_item_process.h b/engines/ultima/ultima8/world/create_item_process.h
index 6bfffb5ddb..863334e2df 100644
--- a/engines/ultima/ultima8/world/create_item_process.h
+++ b/engines/ultima/ultima8/world/create_item_process.h
@@ -42,7 +42,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/current_map.cpp b/engines/ultima/ultima8/world/current_map.cpp
index 6684cafdd7..ac5f908bef 100644
--- a/engines/ultima/ultima8/world/current_map.cpp
+++ b/engines/ultima/ultima8/world/current_map.cpp
@@ -1276,10 +1276,10 @@ void CurrentMap::save(Common::WriteStream *ws) {
}
}
-bool CurrentMap::load(IDataSource *ids, uint32 version) {
+bool CurrentMap::load(Common::ReadStream *rs, uint32 version) {
for (unsigned int i = 0; i < MAP_NUM_CHUNKS; ++i) {
for (unsigned int j = 0; j < MAP_NUM_CHUNKS / 32; ++j) {
- _fast[i][j] = ids->readUint32LE();
+ _fast[i][j] = rs->readUint32LE();
}
}
diff --git a/engines/ultima/ultima8/world/current_map.h b/engines/ultima/ultima8/world/current_map.h
index a1aff90087..bb74c60f93 100644
--- a/engines/ultima/ultima8/world/current_map.h
+++ b/engines/ultima/ultima8/world/current_map.h
@@ -34,8 +34,6 @@ class Item;
class UCList;
class TeleportEgg;
class EggHatcherProcess;
-class IDataSource;
-class ODataSource;
#define MAP_NUM_CHUNKS 64
@@ -201,7 +199,7 @@ public:
void setWholeMapFast();
void save(Common::WriteStream *ws);
- bool load(IDataSource *ids, uint32 version);
+ bool load(Common::ReadStream *rs, uint32 version);
INTRINSIC(I_canExistAt);
diff --git a/engines/ultima/ultima8/world/destroy_item_process.cpp b/engines/ultima/ultima8/world/destroy_item_process.cpp
index ea315a13f5..eb7bc66335 100644
--- a/engines/ultima/ultima8/world/destroy_item_process.cpp
+++ b/engines/ultima/ultima8/world/destroy_item_process.cpp
@@ -81,8 +81,8 @@ void DestroyItemProcess::saveData(Common::WriteStream *ws) {
Process::saveData(ws);
}
-bool DestroyItemProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool DestroyItemProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
return true;
}
diff --git a/engines/ultima/ultima8/world/destroy_item_process.h b/engines/ultima/ultima8/world/destroy_item_process.h
index c44890faf8..25fc8503be 100644
--- a/engines/ultima/ultima8/world/destroy_item_process.h
+++ b/engines/ultima/ultima8/world/destroy_item_process.h
@@ -44,7 +44,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/world/egg.cpp b/engines/ultima/ultima8/world/egg.cpp
index 2c9a33ed3f..38f8fcd9ff 100644
--- a/engines/ultima/ultima8/world/egg.cpp
+++ b/engines/ultima/ultima8/world/egg.cpp
@@ -66,10 +66,10 @@ void Egg::saveData(Common::WriteStream *ws) {
ws->writeByte(h);
}
-bool Egg::loadData(IDataSource *ids, uint32 version) {
- if (!Item::loadData(ids, version)) return false;
+bool Egg::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Item::loadData(rs, version)) return false;
- _hatched = (ids->readByte() != 0);
+ _hatched = (rs->readByte() != 0);
return true;
}
diff --git a/engines/ultima/ultima8/world/egg.h b/engines/ultima/ultima8/world/egg.h
index 37face7187..fe65ee99a8 100644
--- a/engines/ultima/ultima8/world/egg.h
+++ b/engines/ultima/ultima8/world/egg.h
@@ -65,7 +65,7 @@ public:
void dumpInfo() const override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
INTRINSIC(I_getEggXRange);
INTRINSIC(I_getEggYRange);
diff --git a/engines/ultima/ultima8/world/egg_hatcher_process.cpp b/engines/ultima/ultima8/world/egg_hatcher_process.cpp
index 7f81d7f1f4..a1854802c0 100644
--- a/engines/ultima/ultima8/world/egg_hatcher_process.cpp
+++ b/engines/ultima/ultima8/world/egg_hatcher_process.cpp
@@ -101,8 +101,8 @@ void EggHatcherProcess::saveData(Common::WriteStream *ws) {
}
-bool EggHatcherProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool EggHatcherProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
// the _eggs will be re-added to the EggHatcherProcess when they're
// re-added to the CurrentMap
diff --git a/engines/ultima/ultima8/world/egg_hatcher_process.h b/engines/ultima/ultima8/world/egg_hatcher_process.h
index cf40ad1f03..1841ac788d 100644
--- a/engines/ultima/ultima8/world/egg_hatcher_process.h
+++ b/engines/ultima/ultima8/world/egg_hatcher_process.h
@@ -44,7 +44,7 @@ public:
void addEgg(Egg *egg);
void addEgg(uint16 egg);
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
private:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/fireball_process.cpp b/engines/ultima/ultima8/world/fireball_process.cpp
index f75f3f80a8..a218f39b82 100644
--- a/engines/ultima/ultima8/world/fireball_process.cpp
+++ b/engines/ultima/ultima8/world/fireball_process.cpp
@@ -215,16 +215,16 @@ void FireballProcess::saveData(Common::WriteStream *ws) {
ws->writeUint16LE(_age);
}
-bool FireballProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
-
- _xSpeed = static_cast<int>(ids->readUint32LE());
- _ySpeed = static_cast<int>(ids->readUint32LE());
- _target = ids->readUint16LE();
- _tail[0] = ids->readUint16LE();
- _tail[1] = ids->readUint16LE();
- _tail[2] = ids->readUint16LE();
- _age = ids->readUint16LE();
+bool FireballProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
+
+ _xSpeed = static_cast<int>(rs->readUint32LE());
+ _ySpeed = static_cast<int>(rs->readUint32LE());
+ _target = rs->readUint16LE();
+ _tail[0] = rs->readUint16LE();
+ _tail[1] = rs->readUint16LE();
+ _tail[2] = rs->readUint16LE();
+ _age = rs->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/world/fireball_process.h b/engines/ultima/ultima8/world/fireball_process.h
index ec331f9d27..baf0723819 100644
--- a/engines/ultima/ultima8/world/fireball_process.h
+++ b/engines/ultima/ultima8/world/fireball_process.h
@@ -45,7 +45,7 @@ public:
INTRINSIC(I_TonysBalls);
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/glob_egg.cpp b/engines/ultima/ultima8/world/glob_egg.cpp
index 0b12aa663b..9309442f6b 100644
--- a/engines/ultima/ultima8/world/glob_egg.cpp
+++ b/engines/ultima/ultima8/world/glob_egg.cpp
@@ -83,8 +83,8 @@ void GlobEgg::saveData(Common::WriteStream *ws) {
Item::saveData(ws);
}
-bool GlobEgg::loadData(IDataSource *ids, uint32 version) {
- if (!Item::loadData(ids, version)) return false;
+bool GlobEgg::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Item::loadData(rs, version)) return false;
return true;
}
diff --git a/engines/ultima/ultima8/world/glob_egg.h b/engines/ultima/ultima8/world/glob_egg.h
index aab2d1f418..869585dc77 100644
--- a/engines/ultima/ultima8/world/glob_egg.h
+++ b/engines/ultima/ultima8/world/glob_egg.h
@@ -42,7 +42,7 @@ public:
//! The item has entered the fast area
void enterFastArea() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/world/gravity_process.cpp b/engines/ultima/ultima8/world/gravity_process.cpp
index 0c2938e6eb..9ef49fcea2 100644
--- a/engines/ultima/ultima8/world/gravity_process.cpp
+++ b/engines/ultima/ultima8/world/gravity_process.cpp
@@ -355,13 +355,13 @@ void GravityProcess::saveData(Common::WriteStream *ws) {
ws->writeUint32LE(static_cast<uint32>(_zSpeed));
}
-bool GravityProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool GravityProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _gravity = static_cast<int>(ids->readUint32LE());
- _xSpeed = static_cast<int>(ids->readUint32LE());
- _ySpeed = static_cast<int>(ids->readUint32LE());
- _zSpeed = static_cast<int>(ids->readUint32LE());
+ _gravity = static_cast<int>(rs->readUint32LE());
+ _xSpeed = static_cast<int>(rs->readUint32LE());
+ _ySpeed = static_cast<int>(rs->readUint32LE());
+ _zSpeed = static_cast<int>(rs->readUint32LE());
return true;
}
diff --git a/engines/ultima/ultima8/world/gravity_process.h b/engines/ultima/ultima8/world/gravity_process.h
index 717e9202c1..c60de80257 100644
--- a/engines/ultima/ultima8/world/gravity_process.h
+++ b/engines/ultima/ultima8/world/gravity_process.h
@@ -49,7 +49,7 @@ public:
void dumpInfo() const override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/item.cpp b/engines/ultima/ultima8/world/item.cpp
index 6c008916d8..c4c4f453fc 100644
--- a/engines/ultima/ultima8/world/item.cpp
+++ b/engines/ultima/ultima8/world/item.cpp
@@ -1779,29 +1779,29 @@ void Item::saveData(Common::WriteStream *ws) {
ws->writeUint16LE(_parent);
}
-bool Item::loadData(IDataSource *ids, uint32 version) {
- if (!Object::loadData(ids, version)) return false;
-
- _extendedFlags = ids->readUint16LE();
- _flags = ids->readUint16LE();
- _shape = ids->readUint16LE();
- _frame = ids->readUint16LE();
- _x = ids->readUint16LE();
- _y = ids->readUint16LE();
- _z = ids->readUint16LE();
-
- _quality = ids->readUint16LE();
- _npcNum = ids->readUint16LE();
- _mapNum = ids->readUint16LE();
+bool Item::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Object::loadData(rs, version)) return false;
+
+ _extendedFlags = rs->readUint16LE();
+ _flags = rs->readUint16LE();
+ _shape = rs->readUint16LE();
+ _frame = rs->readUint16LE();
+ _x = rs->readUint16LE();
+ _y = rs->readUint16LE();
+ _z = rs->readUint16LE();
+
+ _quality = rs->readUint16LE();
+ _npcNum = rs->readUint16LE();
+ _mapNum = rs->readUint16LE();
if (getObjId() != 0xFFFF) {
- _gump = ids->readUint16LE();
- _gravityPid = ids->readUint16LE();
+ _gump = rs->readUint16LE();
+ _gravityPid = rs->readUint16LE();
} else {
_gump = _gravityPid = 0;
}
if ((_flags & FLG_ETHEREAL) && (_flags & (FLG_CONTAINED | FLG_EQUIPPED)))
- _parent = ids->readUint16LE();
+ _parent = rs->readUint16LE();
else
_parent = 0;
diff --git a/engines/ultima/ultima8/world/item.h b/engines/ultima/ultima8/world/item.h
index e30bcfd167..8562673294 100644
--- a/engines/ultima/ultima8/world/item.h
+++ b/engines/ultima/ultima8/world/item.h
@@ -36,7 +36,6 @@ class Container;
class ShapeInfo;
class Shape;
class Gump;
-class ODataSource;
class GravityProcess;
class Item : public Object {
@@ -438,7 +437,7 @@ public:
//! dump some info about this item to pout
void dumpInfo() const override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
// Intrinsics
INTRINSIC(I_touch);
diff --git a/engines/ultima/ultima8/world/item_factory.h b/engines/ultima/ultima8/world/item_factory.h
index 5d7cc192c8..c3ab0a8d99 100644
--- a/engines/ultima/ultima8/world/item_factory.h
+++ b/engines/ultima/ultima8/world/item_factory.h
@@ -29,7 +29,6 @@ namespace Ultima8 {
class Item;
class Actor;
class Object;
-class IDataSource;
class ItemFactory {
public:
diff --git a/engines/ultima/ultima8/world/map.cpp b/engines/ultima/ultima8/world/map.cpp
index 5f6f9d0d2d..48fe1aa1a4 100644
--- a/engines/ultima/ultima8/world/map.cpp
+++ b/engines/ultima/ultima8/world/map.cpp
@@ -61,8 +61,8 @@ void Map::clear() {
_dynamicItems.clear();
}
-void Map::loadNonFixed(IDataSource *ds) {
- loadFixedFormatObjects(_dynamicItems, ds, 0);
+void Map::loadNonFixed(Common::SeekableReadStream *rs) {
+ loadFixedFormatObjects(_dynamicItems, rs, 0);
}
@@ -86,8 +86,8 @@ void Map::addMapFix(uint32 shape, uint32 frame, int32 x, int32 y, int32 z) {
}
-void Map::loadFixed(IDataSource *ds) {
- loadFixedFormatObjects(_fixedItems, ds, Item::EXT_FIXED);
+void Map::loadFixed(Common::SeekableReadStream *rs) {
+ loadFixedFormatObjects(_fixedItems, rs, Item::EXT_FIXED);
// U8 hack for missing ground tiles on map 25. See docs/u8bugs.txt
if (GAME_IS_U8 && _mapNum == 25) {
@@ -198,10 +198,11 @@ void Map::unloadFixed() {
_fixedItems.clear();
}
-void Map::loadFixedFormatObjects(Std::list<Item *> &itemlist, IDataSource *ds,
+void Map::loadFixedFormatObjects(Std::list<Item *> &itemlist,
+ Common::SeekableReadStream *rs,
uint32 extendedflags) {
- if (!ds) return;
- uint32 size = ds->size();
+ if (!rs) return;
+ uint32 size = rs->size();
if (size == 0) return;
uint32 itemcount = size / 16;
@@ -211,22 +212,22 @@ void Map::loadFixedFormatObjects(Std::list<Item *> &itemlist, IDataSource *ds,
for (uint32 i = 0; i < itemcount; ++i) {
// These are ALL unsigned on disk
- int32 x = static_cast<int32>(ds->readUint16LE());
- int32 y = static_cast<int32>(ds->readUint16LE());
- int32 z = static_cast<int32>(ds->readByte());
+ int32 x = static_cast<int32>(rs->readUint16LE());
+ int32 y = static_cast<int32>(rs->readUint16LE());
+ int32 z = static_cast<int32>(rs->readByte());
if (GAME_IS_CRUSADER) {
x *= 2;
y *= 2;
}
- uint32 shape = ds->readUint16LE();
- uint32 frame = ds->readByte();
- uint16 flags = ds->readUint16LE();
- uint16 quality = ds->readUint16LE();
- uint16 npcNum = static_cast<uint16>(ds->readByte());
- uint16 mapNum = static_cast<uint16>(ds->readByte());
- uint16 next = ds->readUint16LE(); // do we need next for anything?
+ uint32 shape = rs->readUint16LE();
+ uint32 frame = rs->readByte();
+ uint16 flags = rs->readUint16LE();
+ uint16 quality = rs->readUint16LE();
+ uint16 npcNum = static_cast<uint16>(rs->readByte());
+ uint16 mapNum = static_cast<uint16>(rs->readByte());
+ uint16 next = rs->readUint16LE(); // do we need next for anything?
// find container this item belongs to, if any.
// the x coordinate stores the container-depth of this item,
@@ -288,11 +289,11 @@ void Map::save(Common::WriteStream *ws) {
}
-bool Map::load(IDataSource *ids, uint32 version) {
- uint32 itemcount = ids->readUint32LE();
+bool Map::load(Common::ReadStream *rs, uint32 version) {
+ uint32 itemcount = rs->readUint32LE();
for (unsigned int i = 0; i < itemcount; ++i) {
- Object *obj = ObjectManager::get_instance()->loadObject(ids, version);
+ Object *obj = ObjectManager::get_instance()->loadObject(rs, version);
Item *item = p_dynamic_cast<Item *>(obj);
if (!item) return false;
_dynamicItems.push_back(item);
diff --git a/engines/ultima/ultima8/world/map.h b/engines/ultima/ultima8/world/map.h
index f6661133b8..3106c90ccd 100644
--- a/engines/ultima/ultima8/world/map.h
+++ b/engines/ultima/ultima8/world/map.h
@@ -29,8 +29,6 @@ namespace Ultima {
namespace Ultima8 {
class Item;
-class IDataSource;
-class ODataSource;
class Map {
friend class CurrentMap;
@@ -40,8 +38,8 @@ public:
void clear();
- void loadNonFixed(IDataSource *ds);
- void loadFixed(IDataSource *ds);
+ void loadNonFixed(Common::SeekableReadStream *rs);
+ void loadFixed(Common::SeekableReadStream *rs);
void unloadFixed();
bool isEmpty() const {
@@ -49,12 +47,13 @@ public:
}
void save(Common::WriteStream *ods);
- bool load(IDataSource *ids, uint32 version);
+ bool load(Common::ReadStream *rs, uint32 version);
private:
// load items from something formatted like 'fixed.dat'
- void loadFixedFormatObjects(Std::list<Item *> &itemlist, IDataSource *ds,
+ void loadFixedFormatObjects(Std::list<Item *> &itemlist,
+ Common::SeekableReadStream *rs,
uint32 extendedflags);
// Add a fixed item to patch game data errors
diff --git a/engines/ultima/ultima8/world/map_glob.cpp b/engines/ultima/ultima8/world/map_glob.cpp
index ea9188929d..d38e7a2ec8 100644
--- a/engines/ultima/ultima8/world/map_glob.cpp
+++ b/engines/ultima/ultima8/world/map_glob.cpp
@@ -35,20 +35,20 @@ MapGlob::MapGlob() {
MapGlob::~MapGlob() {
}
-void MapGlob::read(IDataSource *ds) {
- unsigned int itemcount = ds->readUint16LE();
- assert(ds->size() >= 2 + itemcount * 6);
+void MapGlob::read(Common::SeekableReadStream *rs) {
+ unsigned int itemcount = rs->readUint16LE();
+ assert(rs->size() >= 2 + itemcount * 6);
_contents.clear();
_contents.resize(itemcount);
for (unsigned int i = 0; i < itemcount; ++i) {
GlobItem item;
- item.x = ds->readByte();
- item.y = ds->readByte();
- item.z = ds->readByte();
- item.shape = ds->readUint16LE();
- item.frame = ds->readByte();
+ item.x = rs->readByte();
+ item.y = rs->readByte();
+ item.z = rs->readByte();
+ item.shape = rs->readUint16LE();
+ item.frame = rs->readByte();
_contents[i] = item;
}
diff --git a/engines/ultima/ultima8/world/map_glob.h b/engines/ultima/ultima8/world/map_glob.h
index f9e57c1dca..8a6c97d8d4 100644
--- a/engines/ultima/ultima8/world/map_glob.h
+++ b/engines/ultima/ultima8/world/map_glob.h
@@ -28,8 +28,6 @@
namespace Ultima {
namespace Ultima8 {
-class IDataSource;
-
struct GlobItem {
int x;
int y;
@@ -45,7 +43,7 @@ public:
MapGlob();
~MapGlob();
- void read(IDataSource *ds);
+ void read(Common::SeekableReadStream *rs);
private:
Std::vector<GlobItem> _contents;
diff --git a/engines/ultima/ultima8/world/monster_egg.cpp b/engines/ultima/ultima8/world/monster_egg.cpp
index 08a93b052d..bc648d4ee3 100644
--- a/engines/ultima/ultima8/world/monster_egg.cpp
+++ b/engines/ultima/ultima8/world/monster_egg.cpp
@@ -94,8 +94,8 @@ void MonsterEgg::saveData(Common::WriteStream *ws) {
Item::saveData(ws);
}
-bool MonsterEgg::loadData(IDataSource *ids, uint32 version) {
- if (!Item::loadData(ids, version)) return false;
+bool MonsterEgg::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Item::loadData(rs, version)) return false;
return true;
}
diff --git a/engines/ultima/ultima8/world/monster_egg.h b/engines/ultima/ultima8/world/monster_egg.h
index 8c2cc0b406..2c12df33f6 100644
--- a/engines/ultima/ultima8/world/monster_egg.h
+++ b/engines/ultima/ultima8/world/monster_egg.h
@@ -49,7 +49,7 @@ public:
uint16 hatch();
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
INTRINSIC(I_monsterEggHatch);
INTRINSIC(I_getMonId);
diff --git a/engines/ultima/ultima8/world/split_item_process.cpp b/engines/ultima/ultima8/world/split_item_process.cpp
index 80bcb6ccb7..b2f29e362b 100644
--- a/engines/ultima/ultima8/world/split_item_process.cpp
+++ b/engines/ultima/ultima8/world/split_item_process.cpp
@@ -96,10 +96,10 @@ void SplitItemProcess::saveData(Common::WriteStream *ws) {
ws->writeUint16LE(_target);
}
-bool SplitItemProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
+bool SplitItemProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
- _target = ids->readUint16LE();
+ _target = rs->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/world/split_item_process.h b/engines/ultima/ultima8/world/split_item_process.h
index 30ab796b22..13493002ed 100644
--- a/engines/ultima/ultima8/world/split_item_process.h
+++ b/engines/ultima/ultima8/world/split_item_process.h
@@ -40,7 +40,7 @@ public:
void run() override;
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
diff --git a/engines/ultima/ultima8/world/sprite_process.cpp b/engines/ultima/ultima8/world/sprite_process.cpp
index fb6412b672..6cd5ed7994 100644
--- a/engines/ultima/ultima8/world/sprite_process.cpp
+++ b/engines/ultima/ultima8/world/sprite_process.cpp
@@ -127,20 +127,20 @@ void SpriteProcess::saveData(Common::WriteStream *ws) {
ws->writeByte(_initialized ? 1 : 0);
}
-bool SpriteProcess::loadData(IDataSource *ids, uint32 version) {
- if (!Process::loadData(ids, version)) return false;
-
- _shape = static_cast<int>(ids->readUint32LE());
- _frame = static_cast<int>(ids->readUint32LE());
- _firstFrame = static_cast<int>(ids->readUint32LE());
- _lastFrame = static_cast<int>(ids->readUint32LE());
- _repeats = static_cast<int>(ids->readUint32LE());
- _delay = static_cast<int>(ids->readUint32LE());
- _x = static_cast<int>(ids->readUint32LE());
- _y = static_cast<int>(ids->readUint32LE());
- _z = static_cast<int>(ids->readUint32LE());
- _delayCounter = static_cast<int>(ids->readUint32LE());
- _initialized = (ids->readByte() != 0);
+bool SpriteProcess::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Process::loadData(rs, version)) return false;
+
+ _shape = static_cast<int>(rs->readUint32LE());
+ _frame = static_cast<int>(rs->readUint32LE());
+ _firstFrame = static_cast<int>(rs->readUint32LE());
+ _lastFrame = static_cast<int>(rs->readUint32LE());
+ _repeats = static_cast<int>(rs->readUint32LE());
+ _delay = static_cast<int>(rs->readUint32LE());
+ _x = static_cast<int>(rs->readUint32LE());
+ _y = static_cast<int>(rs->readUint32LE());
+ _z = static_cast<int>(rs->readUint32LE());
+ _delayCounter = static_cast<int>(rs->readUint32LE());
+ _initialized = (rs->readByte() != 0);
return true;
}
diff --git a/engines/ultima/ultima8/world/sprite_process.h b/engines/ultima/ultima8/world/sprite_process.h
index d17670bd69..ee6e0e843c 100644
--- a/engines/ultima/ultima8/world/sprite_process.h
+++ b/engines/ultima/ultima8/world/sprite_process.h
@@ -73,7 +73,7 @@ protected:
void init();
public:
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
protected:
void saveData(Common::WriteStream *ws) override;
};
diff --git a/engines/ultima/ultima8/world/teleport_egg.cpp b/engines/ultima/ultima8/world/teleport_egg.cpp
index e71783b343..06ae9ec713 100644
--- a/engines/ultima/ultima8/world/teleport_egg.cpp
+++ b/engines/ultima/ultima8/world/teleport_egg.cpp
@@ -57,8 +57,8 @@ void TeleportEgg::saveData(Common::WriteStream *ws) {
Egg::saveData(ws);
}
-bool TeleportEgg::loadData(IDataSource *ids, uint32 version) {
- if (!Egg::loadData(ids, version)) return false;
+bool TeleportEgg::loadData(Common::ReadStream *rs, uint32 version) {
+ if (!Egg::loadData(rs, version)) return false;
return true;
}
diff --git a/engines/ultima/ultima8/world/teleport_egg.h b/engines/ultima/ultima8/world/teleport_egg.h
index 82fa24fa9a..ae569bbf5b 100644
--- a/engines/ultima/ultima8/world/teleport_egg.h
+++ b/engines/ultima/ultima8/world/teleport_egg.h
@@ -43,7 +43,7 @@ public:
return (_quality & 0xFF);
}
- bool loadData(IDataSource *ids, uint32 version);
+ bool loadData(Common::ReadStream *rs, uint32 version);
uint16 hatch() override;
protected:
diff --git a/engines/ultima/ultima8/world/world.cpp b/engines/ultima/ultima8/world/world.cpp
index 9a6974f607..6befa4ad9d 100644
--- a/engines/ultima/ultima8/world/world.cpp
+++ b/engines/ultima/ultima8/world/world.cpp
@@ -169,7 +169,7 @@ bool World::switchMap(uint32 newmap) {
Kernel::get_instance()->killProcessesNotOfType(0, 1, true);
pout << "Loading Fixed items in map " << newmap << Std::endl;
- IDataSource *items = GameData::get_instance()->getFixed()
+ Common::SeekableReadStream *items = GameData::get_instance()->getFixed()
->get_datasource(newmap);
_maps[newmap]->loadFixed(items);
delete items;
@@ -185,8 +185,8 @@ bool World::switchMap(uint32 newmap) {
return true;
}
-void World::loadNonFixed(IDataSource *ds) {
- FlexFile *f = new FlexFile(ds);
+void World::loadNonFixed(Common::SeekableReadStream *rs) {
+ FlexFile *f = new FlexFile(rs);
pout << "Loading NonFixed items" << Std::endl;
@@ -197,7 +197,7 @@ void World::loadNonFixed(IDataSource *ds) {
assert(_maps.size() > i);
assert(_maps[i] != nullptr);
- IDataSource *items = f->getDataSource(i);
+ Common::SeekableReadStream *items = f->getDataSource(i);
_maps[i]->loadNonFixed(items);
@@ -209,12 +209,12 @@ void World::loadNonFixed(IDataSource *ds) {
delete f;
}
-void World::loadItemCachNPCData(IDataSource *itemcach, IDataSource *npcdata) {
+void World::loadItemCachNPCData(Common::SeekableReadStream *itemcach, Common::SeekableReadStream *npcdata) {
FlexFile *itemcachflex = new FlexFile(itemcach);
FlexFile *npcdataflex = new FlexFile(npcdata);
- IDataSource *itemds = itemcachflex->getDataSource(0);
- IDataSource *npcds = npcdataflex->getDataSource(0);
+ Common::SeekableReadStream *itemds = itemcachflex->getDataSource(0);
+ Common::SeekableReadStream *npcds = npcdataflex->getDataSource(0);
delete itemcachflex;
delete npcdataflex;
@@ -360,15 +360,15 @@ void World::save(Common::WriteStream *ws) {
}
// load items
-bool World::load(IDataSource *ids, uint32 version) {
- uint16 curmapnum = ids->readUint32LE();
+bool World::load(Common::ReadStream *rs, uint32 version) {
+ uint16 curmapnum = rs->readUint32LE();
_currentMap->setMap(_maps[curmapnum]);
- _currentMap->_eggHatcher = ids->readUint16LE();
+ _currentMap->_eggHatcher = rs->readUint16LE();
- uint32 etherealcount = ids->readUint32LE();
+ uint32 etherealcount = rs->readUint32LE();
for (unsigned int i = 0; i < etherealcount; ++i) {
- _ethereal.push_front(ids->readUint16LE());
+ _ethereal.push_front(rs->readUint16LE());
}
return true;
@@ -382,12 +382,12 @@ void World::saveMaps(Common::WriteStream *ws) {
}
-bool World::loadMaps(IDataSource *ids, uint32 version) {
- uint32 mapcount = ids->readUint32LE();
+bool World::loadMaps(Common::ReadStream *rs, uint32 version) {
+ uint32 mapcount = rs->readUint32LE();
// Map objects have already been created by reset()
for (unsigned int i = 0; i < mapcount; ++i) {
- bool res = _maps[i]->load(ids, version);
+ bool res = _maps[i]->load(rs, version);
if (!res) return false;
}
diff --git a/engines/ultima/ultima8/world/world.h b/engines/ultima/ultima8/world/world.h
index 5ca0be483d..7ee446d2b9 100644
--- a/engines/ultima/ultima8/world/world.h
+++ b/engines/ultima/ultima8/world/world.h
@@ -64,8 +64,6 @@ namespace Ultima8 {
class Map;
class CurrentMap;
-class IDataSource;
-class ODataSource;
class Actor;
class MainActor;
class Flex;
@@ -90,10 +88,10 @@ public:
void initMaps();
//! load U8's nonfixed.dat into the Maps
- void loadNonFixed(IDataSource *ds); // delete ds afterwards
+ void loadNonFixed(Common::SeekableReadStream *rs); // delete ds afterwards
//! load U8's itemcach.dat, npcdata.dat into the world
- void loadItemCachNPCData(IDataSource *itemcach, IDataSource *npcdata);
+ void loadItemCachNPCData(Common::SeekableReadStream *itemcach, Common::SeekableReadStream *npcdata);
//! get the CurrentMap
CurrentMap *getCurrentMap() const {
@@ -132,13 +130,13 @@ public:
void saveMaps(Common::WriteStream *ws);
//! load Maps
- bool loadMaps(IDataSource *ids, uint32 version);
+ bool loadMaps(Common::ReadStream *rs, uint32 version);
//! save the rest of the World data (ethereal items, current map number).
void save(Common::WriteStream *ws);
//! load World data
- bool load(IDataSource *ids, uint32 version);
+ bool load(Common::ReadStream *rs, uint32 version);
private:
static World *_world;
Commit: f8c82f636852e44b8d837fc583d9318a447fc587
https://github.com/scummvm/scummvm/commit/f8c82f636852e44b8d837fc583d9318a447fc587
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2020-04-14T20:58:10+09:00
Commit Message:
ULTIMA8: Remove unused data source includes
Changed paths:
engines/ultima/ultima8/audio/audio_process.cpp
engines/ultima/ultima8/audio/music_process.cpp
engines/ultima/ultima8/games/game_info.cpp
engines/ultima/ultima8/games/start_u8_process.cpp
engines/ultima/ultima8/graphics/frame_id.cpp
engines/ultima/ultima8/graphics/inverter_process.cpp
engines/ultima/ultima8/graphics/palette_fader_process.cpp
engines/ultima/ultima8/gumps/ask_gump.cpp
engines/ultima/ultima8/gumps/bark_gump.cpp
engines/ultima/ultima8/gumps/book_gump.cpp
engines/ultima/ultima8/gumps/container_gump.cpp
engines/ultima/ultima8/gumps/desktop_gump.cpp
engines/ultima/ultima8/gumps/game_map_gump.cpp
engines/ultima/ultima8/gumps/gump.cpp
engines/ultima/ultima8/gumps/gump_notify_process.cpp
engines/ultima/ultima8/gumps/item_relative_gump.cpp
engines/ultima/ultima8/gumps/main_menu_process.cpp
engines/ultima/ultima8/gumps/menu_gump.cpp
engines/ultima/ultima8/gumps/message_box_gump.cpp
engines/ultima/ultima8/gumps/mini_stats_gump.cpp
engines/ultima/ultima8/gumps/modal_gump.cpp
engines/ultima/ultima8/gumps/movie_gump.cpp
engines/ultima/ultima8/gumps/paperdoll_gump.cpp
engines/ultima/ultima8/gumps/quit_gump.cpp
engines/ultima/ultima8/gumps/readable_gump.cpp
engines/ultima/ultima8/gumps/scroll_gump.cpp
engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
engines/ultima/ultima8/gumps/slider_gump.cpp
engines/ultima/ultima8/gumps/target_gump.cpp
engines/ultima/ultima8/gumps/u8_save_gump.cpp
engines/ultima/ultima8/gumps/widgets/button_widget.cpp
engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
engines/ultima/ultima8/gumps/widgets/text_widget.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/object.cpp
engines/ultima/ultima8/kernel/object_manager.cpp
engines/ultima/ultima8/kernel/process.cpp
engines/ultima/ultima8/misc/id_man.cpp
engines/ultima/ultima8/usecode/bit_set.cpp
engines/ultima/ultima8/usecode/uc_list.cpp
engines/ultima/ultima8/usecode/uc_machine.cpp
engines/ultima/ultima8/usecode/uc_process.cpp
engines/ultima/ultima8/usecode/uc_stack.cpp
engines/ultima/ultima8/world/actors/actor.cpp
engines/ultima/ultima8/world/actors/actor_anim_process.cpp
engines/ultima/ultima8/world/actors/actor_bark_notify_process.cpp
engines/ultima/ultima8/world/actors/ambush_process.cpp
engines/ultima/ultima8/world/actors/animation_tracker.cpp
engines/ultima/ultima8/world/actors/avatar_death_process.cpp
engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp
engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp
engines/ultima/ultima8/world/actors/combat_process.cpp
engines/ultima/ultima8/world/actors/grant_peace_process.cpp
engines/ultima/ultima8/world/actors/heal_process.cpp
engines/ultima/ultima8/world/actors/loiter_process.cpp
engines/ultima/ultima8/world/actors/main_actor.cpp
engines/ultima/ultima8/world/actors/pathfinder_process.cpp
engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp
engines/ultima/ultima8/world/actors/resurrection_process.cpp
engines/ultima/ultima8/world/actors/scheduler_process.cpp
engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp
engines/ultima/ultima8/world/camera_process.cpp
engines/ultima/ultima8/world/container.cpp
engines/ultima/ultima8/world/create_item_process.cpp
engines/ultima/ultima8/world/current_map.cpp
engines/ultima/ultima8/world/destroy_item_process.cpp
engines/ultima/ultima8/world/egg.cpp
engines/ultima/ultima8/world/egg_hatcher_process.cpp
engines/ultima/ultima8/world/fireball_process.cpp
engines/ultima/ultima8/world/glob_egg.cpp
engines/ultima/ultima8/world/gravity_process.cpp
engines/ultima/ultima8/world/item.cpp
engines/ultima/ultima8/world/map.cpp
engines/ultima/ultima8/world/monster_egg.cpp
engines/ultima/ultima8/world/split_item_process.cpp
engines/ultima/ultima8/world/sprite_process.cpp
engines/ultima/ultima8/world/teleport_egg.cpp
engines/ultima/ultima8/world/world.cpp
diff --git a/engines/ultima/ultima8/audio/audio_process.cpp b/engines/ultima/ultima8/audio/audio_process.cpp
index f56b288693..a456066b4c 100644
--- a/engines/ultima/ultima8/audio/audio_process.cpp
+++ b/engines/ultima/ultima8/audio/audio_process.cpp
@@ -33,8 +33,6 @@
#include "ultima/ultima8/world/get_object.h"
#include "ultima/ultima8/world/item.h"
#include "ultima/ultima8/world/camera_process.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/audio/music_process.cpp b/engines/ultima/ultima8/audio/music_process.cpp
index 45b0645e9b..2f5e265b00 100644
--- a/engines/ultima/ultima8/audio/music_process.cpp
+++ b/engines/ultima/ultima8/audio/music_process.cpp
@@ -26,8 +26,6 @@
#include "ultima/ultima8/audio/music_flex.h"
#include "ultima/ultima8/audio/midi_player.h"
#include "ultima/ultima8/audio/audio_mixer.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/games/game_info.cpp b/engines/ultima/ultima8/games/game_info.cpp
index 6631d333cf..6205df2340 100644
--- a/engines/ultima/ultima8/games/game_info.cpp
+++ b/engines/ultima/ultima8/games/game_info.cpp
@@ -23,9 +23,7 @@
#include "ultima/ultima8/misc/pent_include.h"
#include "ultima/ultima8/games/game_info.h"
-
#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/misc/util.h"
namespace Ultima {
diff --git a/engines/ultima/ultima8/games/start_u8_process.cpp b/engines/ultima/ultima8/games/start_u8_process.cpp
index 9a68ec8ebc..32d63d4466 100644
--- a/engines/ultima/ultima8/games/start_u8_process.cpp
+++ b/engines/ultima/ultima8/games/start_u8_process.cpp
@@ -36,9 +36,6 @@
#include "ultima/ultima8/conf/setting_manager.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/graphics/frame_id.cpp b/engines/ultima/ultima8/graphics/frame_id.cpp
index 481d7c9806..422220d0ac 100644
--- a/engines/ultima/ultima8/graphics/frame_id.cpp
+++ b/engines/ultima/ultima8/graphics/frame_id.cpp
@@ -23,9 +23,6 @@
#include "ultima/ultima8/misc/pent_include.h"
#include "ultima/ultima8/graphics/frame_id.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/graphics/inverter_process.cpp b/engines/ultima/ultima8/graphics/inverter_process.cpp
index 6d9b3d21dc..c44ac53b17 100644
--- a/engines/ultima/ultima8/graphics/inverter_process.cpp
+++ b/engines/ultima/ultima8/graphics/inverter_process.cpp
@@ -26,8 +26,6 @@
#include "ultima/ultima8/kernel/kernel.h"
#include "ultima/ultima8/ultima8.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/graphics/palette_fader_process.cpp b/engines/ultima/ultima8/graphics/palette_fader_process.cpp
index b529e92935..6b3fa3de19 100644
--- a/engines/ultima/ultima8/graphics/palette_fader_process.cpp
+++ b/engines/ultima/ultima8/graphics/palette_fader_process.cpp
@@ -25,9 +25,6 @@
#include "ultima/ultima8/kernel/kernel.h"
#include "ultima/ultima8/graphics/palette.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/ask_gump.cpp b/engines/ultima/ultima8/gumps/ask_gump.cpp
index e93fc7b699..f1588d79e9 100644
--- a/engines/ultima/ultima8/gumps/ask_gump.cpp
+++ b/engines/ultima/ultima8/gumps/ask_gump.cpp
@@ -26,8 +26,6 @@
#include "ultima/ultima8/gumps/widgets/button_widget.h"
#include "ultima/ultima8/usecode/uc_list.h"
#include "ultima/ultima8/usecode/uc_machine.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/bark_gump.cpp b/engines/ultima/ultima8/gumps/bark_gump.cpp
index c6887ecbf2..ff58feda30 100644
--- a/engines/ultima/ultima8/gumps/bark_gump.cpp
+++ b/engines/ultima/ultima8/gumps/bark_gump.cpp
@@ -27,8 +27,6 @@
#include "ultima/ultima8/audio/audio_process.h"
#include "ultima/ultima8/world/get_object.h"
#include "ultima/ultima8/conf/setting_manager.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/book_gump.cpp b/engines/ultima/ultima8/gumps/book_gump.cpp
index 838fb8ab27..1485c0cb32 100644
--- a/engines/ultima/ultima8/gumps/book_gump.cpp
+++ b/engines/ultima/ultima8/gumps/book_gump.cpp
@@ -32,9 +32,6 @@
#include "ultima/ultima8/world/item.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/container_gump.cpp b/engines/ultima/ultima8/gumps/container_gump.cpp
index 1970149158..82bd2e3f40 100644
--- a/engines/ultima/ultima8/gumps/container_gump.cpp
+++ b/engines/ultima/ultima8/gumps/container_gump.cpp
@@ -41,9 +41,6 @@
#include "ultima/ultima8/world/actors/main_actor.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/desktop_gump.cpp b/engines/ultima/ultima8/gumps/desktop_gump.cpp
index de9fe1f540..ffd436c074 100644
--- a/engines/ultima/ultima8/gumps/desktop_gump.cpp
+++ b/engines/ultima/ultima8/gumps/desktop_gump.cpp
@@ -24,8 +24,6 @@
#include "ultima/ultima8/gumps/desktop_gump.h"
#include "ultima/ultima8/graphics/render_surface.h"
#include "ultima/ultima8/ultima8.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/gumps/modal_gump.h"
#include "ultima/ultima8/gumps/target_gump.h"
diff --git a/engines/ultima/ultima8/gumps/game_map_gump.cpp b/engines/ultima/ultima8/gumps/game_map_gump.cpp
index f9d88d36d7..83fffc9851 100644
--- a/engines/ultima/ultima8/gumps/game_map_gump.cpp
+++ b/engines/ultima/ultima8/gumps/game_map_gump.cpp
@@ -34,8 +34,6 @@
#include "ultima/ultima8/world/camera_process.h"
#include "ultima/ultima8/ultima8.h"
#include "ultima/ultima8/graphics/shape_info.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/kernel/mouse.h"
#include "ultima/ultima8/world/get_object.h"
#include "ultima/ultima8/world/actors/avatar_mover_process.h"
diff --git a/engines/ultima/ultima8/gumps/gump.cpp b/engines/ultima/ultima8/gumps/gump.cpp
index 41e3a37c25..f37e0a386f 100644
--- a/engines/ultima/ultima8/gumps/gump.cpp
+++ b/engines/ultima/ultima8/gumps/gump.cpp
@@ -29,8 +29,6 @@
#include "ultima/ultima8/games/game_data.h"
#include "ultima/ultima8/gumps/gump_notify_process.h"
#include "ultima/ultima8/kernel/kernel.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/kernel/object_manager.h"
#include "ultima/ultima8/gumps/scaler_gump.h"
#include "ultima/ultima8/ultima8.h"
diff --git a/engines/ultima/ultima8/gumps/gump_notify_process.cpp b/engines/ultima/ultima8/gumps/gump_notify_process.cpp
index e1c7fae3c1..03c16f0851 100644
--- a/engines/ultima/ultima8/gumps/gump_notify_process.cpp
+++ b/engines/ultima/ultima8/gumps/gump_notify_process.cpp
@@ -24,8 +24,6 @@
#include "ultima/ultima8/gumps/gump_notify_process.h"
#include "ultima/ultima8/gumps/gump.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/item_relative_gump.cpp b/engines/ultima/ultima8/gumps/item_relative_gump.cpp
index f007873510..56a28bf784 100644
--- a/engines/ultima/ultima8/gumps/item_relative_gump.cpp
+++ b/engines/ultima/ultima8/gumps/item_relative_gump.cpp
@@ -27,8 +27,6 @@
#include "ultima/ultima8/world/container.h"
#include "ultima/ultima8/graphics/shape_info.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/main_menu_process.cpp b/engines/ultima/ultima8/gumps/main_menu_process.cpp
index c3a5edb0f9..393eea8135 100644
--- a/engines/ultima/ultima8/gumps/main_menu_process.cpp
+++ b/engines/ultima/ultima8/gumps/main_menu_process.cpp
@@ -28,9 +28,6 @@
#include "ultima/ultima8/audio/music_process.h"
#include "ultima/ultima8/world/actors/main_actor.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/menu_gump.cpp b/engines/ultima/ultima8/gumps/menu_gump.cpp
index d78e926142..f9b478c61c 100644
--- a/engines/ultima/ultima8/gumps/menu_gump.cpp
+++ b/engines/ultima/ultima8/gumps/menu_gump.cpp
@@ -43,8 +43,6 @@
#include "ultima/ultima8/gumps/widgets/edit_widget.h"
#include "ultima/ultima8/gumps/u8_save_gump.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/meta_engine.h"
#include "engines/dialogs.h"
diff --git a/engines/ultima/ultima8/gumps/message_box_gump.cpp b/engines/ultima/ultima8/gumps/message_box_gump.cpp
index ddbc58d717..eaa0393186 100644
--- a/engines/ultima/ultima8/gumps/message_box_gump.cpp
+++ b/engines/ultima/ultima8/gumps/message_box_gump.cpp
@@ -39,8 +39,6 @@
#include "ultima/ultima8/graphics/fonts/font.h"
#include "ultima/ultima8/ultima8.h"
#include "ultima/ultima8/graphics/render_surface.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/mini_stats_gump.cpp b/engines/ultima/ultima8/gumps/mini_stats_gump.cpp
index 10a3934345..a797691be7 100644
--- a/engines/ultima/ultima8/gumps/mini_stats_gump.cpp
+++ b/engines/ultima/ultima8/gumps/mini_stats_gump.cpp
@@ -33,9 +33,6 @@
#include "ultima/ultima8/gumps/paperdoll_gump.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/modal_gump.cpp b/engines/ultima/ultima8/gumps/modal_gump.cpp
index 67ca3f62cd..37041ee7c5 100644
--- a/engines/ultima/ultima8/gumps/modal_gump.cpp
+++ b/engines/ultima/ultima8/gumps/modal_gump.cpp
@@ -25,9 +25,6 @@
#include "ultima/ultima8/kernel/kernel.h"
#include "ultima/ultima8/ultima8.h"
-
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/audio/audio_process.h"
namespace Ultima {
diff --git a/engines/ultima/ultima8/gumps/movie_gump.cpp b/engines/ultima/ultima8/gumps/movie_gump.cpp
index ccc604b3d5..0ebc29fcf5 100644
--- a/engines/ultima/ultima8/gumps/movie_gump.cpp
+++ b/engines/ultima/ultima8/gumps/movie_gump.cpp
@@ -33,9 +33,6 @@
#include "ultima/ultima8/filesys/file_system.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
index 0955f9ff48..90ede2eeef 100644
--- a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
+++ b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
@@ -37,8 +37,6 @@
#include "ultima/ultima8/gumps/mini_stats_gump.h"
#include "ultima/ultima8/ultima8.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/quit_gump.cpp b/engines/ultima/ultima8/gumps/quit_gump.cpp
index be85978360..0a5549d964 100644
--- a/engines/ultima/ultima8/gumps/quit_gump.cpp
+++ b/engines/ultima/ultima8/gumps/quit_gump.cpp
@@ -30,8 +30,6 @@
#include "ultima/ultima8/gumps/desktop_gump.h"
#include "ultima/ultima8/gumps/widgets/button_widget.h"
#include "ultima/ultima8/gumps/widgets/text_widget.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/readable_gump.cpp b/engines/ultima/ultima8/gumps/readable_gump.cpp
index ff30766d3b..2a4bc13374 100644
--- a/engines/ultima/ultima8/gumps/readable_gump.cpp
+++ b/engines/ultima/ultima8/gumps/readable_gump.cpp
@@ -34,8 +34,6 @@
#include "ultima/ultima8/kernel/core_app.h"
#include "ultima/ultima8/games/game_info.h"
#include "ultima/ultima8/misc/util.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/scroll_gump.cpp b/engines/ultima/ultima8/gumps/scroll_gump.cpp
index 729689395d..9957a65948 100644
--- a/engines/ultima/ultima8/gumps/scroll_gump.cpp
+++ b/engines/ultima/ultima8/gumps/scroll_gump.cpp
@@ -31,8 +31,6 @@
#include "ultima/ultima8/gumps/gump_notify_process.h"
#include "ultima/ultima8/world/item.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp b/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
index d95f948f40..e4692c187e 100644
--- a/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
+++ b/engines/ultima/ultima8/gumps/shape_viewer_gump.cpp
@@ -44,9 +44,6 @@
#include "ultima/ultima8/graphics/palette_manager.h"
#include "ultima/ultima8/usecode/usecode.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/slider_gump.cpp b/engines/ultima/ultima8/gumps/slider_gump.cpp
index 95ad8e9082..45d6212918 100644
--- a/engines/ultima/ultima8/gumps/slider_gump.cpp
+++ b/engines/ultima/ultima8/gumps/slider_gump.cpp
@@ -34,8 +34,6 @@
#include "ultima/ultima8/usecode/uc_process.h"
#include "ultima/ultima8/kernel/kernel.h"
#include "ultima/ultima8/ultima8.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/target_gump.cpp b/engines/ultima/ultima8/gumps/target_gump.cpp
index ac489743b5..9b0f9d8cd3 100644
--- a/engines/ultima/ultima8/gumps/target_gump.cpp
+++ b/engines/ultima/ultima8/gumps/target_gump.cpp
@@ -28,9 +28,6 @@
#include "ultima/ultima8/world/item.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/u8_save_gump.cpp b/engines/ultima/ultima8/gumps/u8_save_gump.cpp
index 23f977e8f5..a630fb930e 100644
--- a/engines/ultima/ultima8/gumps/u8_save_gump.cpp
+++ b/engines/ultima/ultima8/gumps/u8_save_gump.cpp
@@ -35,8 +35,6 @@
#include "ultima/ultima8/gumps/paged_gump.h"
#include "ultima/ultima8/world/get_object.h"
#include "ultima/ultima8/world/actors/main_actor.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "common/savefile.h"
#include "common/translation.h"
diff --git a/engines/ultima/ultima8/gumps/widgets/button_widget.cpp b/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
index 8e887e7fdc..9f76663680 100644
--- a/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
@@ -29,8 +29,6 @@
#include "ultima/ultima8/graphics/shape.h"
#include "ultima/ultima8/kernel/mouse.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp b/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
index e66f36671f..87863f70e6 100644
--- a/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/edit_widget.cpp
@@ -26,8 +26,6 @@
#include "ultima/ultima8/graphics/fonts/rendered_text.h"
#include "ultima/ultima8/graphics/render_surface.h"
#include "ultima/ultima8/graphics/fonts/font_manager.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/graphics/fonts/tt_font.h"
#include "ultima/ultima8/misc/encoding.h"
#include "common/system.h"
diff --git a/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp b/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
index ac34e98d8f..9d471e4124 100644
--- a/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/sliding_widget.cpp
@@ -25,9 +25,6 @@
#include "ultima/ultima8/graphics/shape_frame.h"
#include "ultima/ultima8/graphics/shape.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/gumps/widgets/text_widget.cpp b/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
index 7b00a96e26..263a05b06d 100644
--- a/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
@@ -26,8 +26,6 @@
#include "ultima/ultima8/graphics/fonts/rendered_text.h"
#include "ultima/ultima8/graphics/render_surface.h"
#include "ultima/ultima8/graphics/fonts/font_manager.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/graphics/fonts/tt_font.h"
#include "ultima/ultima8/gumps/bark_gump.h"
#include "ultima/ultima8/gumps/ask_gump.h"
diff --git a/engines/ultima/ultima8/kernel/delay_process.cpp b/engines/ultima/ultima8/kernel/delay_process.cpp
index f986799cea..434de3c355 100644
--- a/engines/ultima/ultima8/kernel/delay_process.cpp
+++ b/engines/ultima/ultima8/kernel/delay_process.cpp
@@ -22,8 +22,6 @@
#include "ultima/ultima8/misc/pent_include.h"
#include "ultima/ultima8/kernel/delay_process.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/misc/p_dynamic_cast.h"
#include "ultima/shared/std/string.h"
diff --git a/engines/ultima/ultima8/kernel/delay_process.h b/engines/ultima/ultima8/kernel/delay_process.h
index 6a816cf8fa..b232846616 100644
--- a/engines/ultima/ultima8/kernel/delay_process.h
+++ b/engines/ultima/ultima8/kernel/delay_process.h
@@ -24,8 +24,6 @@
#define ULTIMA8_KERNEL_DELAYPROCESS_H
#include "ultima/ultima8/kernel/process.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/misc/p_dynamic_cast.h"
namespace Ultima {
diff --git a/engines/ultima/ultima8/kernel/kernel.cpp b/engines/ultima/ultima8/kernel/kernel.cpp
index 0cc24b97cc..401080ea2a 100644
--- a/engines/ultima/ultima8/kernel/kernel.cpp
+++ b/engines/ultima/ultima8/kernel/kernel.cpp
@@ -24,8 +24,6 @@
#include "ultima/ultima8/kernel/kernel.h"
#include "ultima/ultima8/kernel/process.h"
#include "ultima/ultima8/misc/id_man.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/shared/std/containers.h"
#include "ultima/ultima8/ultima8.h"
diff --git a/engines/ultima/ultima8/kernel/object.cpp b/engines/ultima/ultima8/kernel/object.cpp
index 0b9bc6189e..a7b5f7455a 100644
--- a/engines/ultima/ultima8/kernel/object.cpp
+++ b/engines/ultima/ultima8/kernel/object.cpp
@@ -28,8 +28,6 @@
#include "ultima/ultima8/kernel/memory_manager.h"
#include "ultima/ultima8/usecode/uc_process.h"
#include "ultima/ultima8/usecode/uc_machine.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/kernel/object_manager.cpp b/engines/ultima/ultima8/kernel/object_manager.cpp
index b091f343a3..02a49493c8 100644
--- a/engines/ultima/ultima8/kernel/object_manager.cpp
+++ b/engines/ultima/ultima8/kernel/object_manager.cpp
@@ -28,8 +28,6 @@
#include "ultima/ultima8/world/item.h"
#include "ultima/ultima8/world/actors/actor.h"
#include "ultima/ultima8/gumps/gump.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/world/item_factory.h"
#include "ultima/ultima8/ultima8.h"
#include "ultima/ultima8/world/actors/main_actor.h"
diff --git a/engines/ultima/ultima8/kernel/process.cpp b/engines/ultima/ultima8/kernel/process.cpp
index 0e5caacce0..c8b7d12ce8 100644
--- a/engines/ultima/ultima8/kernel/process.cpp
+++ b/engines/ultima/ultima8/kernel/process.cpp
@@ -23,8 +23,6 @@
#include "ultima/ultima8/misc/pent_include.h"
#include "ultima/ultima8/kernel/process.h"
#include "ultima/ultima8/kernel/kernel.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/misc/id_man.cpp b/engines/ultima/ultima8/misc/id_man.cpp
index c45cfb57dd..58a0a11145 100644
--- a/engines/ultima/ultima8/misc/id_man.cpp
+++ b/engines/ultima/ultima8/misc/id_man.cpp
@@ -23,9 +23,6 @@
#include "ultima/ultima8/misc/pent_include.h"
#include "ultima/ultima8/misc/id_man.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/usecode/bit_set.cpp b/engines/ultima/ultima8/usecode/bit_set.cpp
index 2b5a9fddae..dca9ec460f 100644
--- a/engines/ultima/ultima8/usecode/bit_set.cpp
+++ b/engines/ultima/ultima8/usecode/bit_set.cpp
@@ -23,9 +23,6 @@
#include "ultima/ultima8/misc/pent_include.h"
#include "ultima/ultima8/usecode/bit_set.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/usecode/uc_list.cpp b/engines/ultima/ultima8/usecode/uc_list.cpp
index c4245c9980..01ab2ea89e 100644
--- a/engines/ultima/ultima8/usecode/uc_list.cpp
+++ b/engines/ultima/ultima8/usecode/uc_list.cpp
@@ -24,8 +24,6 @@
#include "ultima/ultima8/usecode/uc_list.h"
#include "ultima/ultima8/usecode/uc_machine.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/usecode/uc_machine.cpp b/engines/ultima/ultima8/usecode/uc_machine.cpp
index 63ed2802f2..e08ecb8614 100644
--- a/engines/ultima/ultima8/usecode/uc_machine.cpp
+++ b/engines/ultima/ultima8/usecode/uc_machine.cpp
@@ -28,14 +28,13 @@
#include "ultima/ultima8/kernel/delay_process.h"
#include "ultima/ultima8/kernel/core_app.h"
#include "ultima/ultima8/games/game_info.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/world/current_map.h"
#include "ultima/ultima8/world/world.h"
#include "ultima/ultima8/usecode/bit_set.h"
#include "ultima/ultima8/usecode/uc_list.h"
#include "ultima/ultima8/misc/id_man.h"
#include "ultima/ultima8/world/get_object.h"
+#include "ultima/ultima8/filesys/idata_source.h"
#define INCLUDE_CONVERTUSECODEU8_WITHOUT_BRINGING_IN_FOLD
#include "ultima/ultima8/convert/u8/convert_usecode_u8.h"
diff --git a/engines/ultima/ultima8/usecode/uc_process.cpp b/engines/ultima/ultima8/usecode/uc_process.cpp
index ab20e3e13a..1f8f5900b9 100644
--- a/engines/ultima/ultima8/usecode/uc_process.cpp
+++ b/engines/ultima/ultima8/usecode/uc_process.cpp
@@ -25,8 +25,6 @@
#include "ultima/ultima8/usecode/uc_machine.h"
#include "ultima/ultima8/usecode/usecode.h"
#include "ultima/ultima8/games/game_data.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/usecode/uc_stack.cpp b/engines/ultima/ultima8/usecode/uc_stack.cpp
index c791a6dba4..04a739af57 100644
--- a/engines/ultima/ultima8/usecode/uc_stack.cpp
+++ b/engines/ultima/ultima8/usecode/uc_stack.cpp
@@ -22,8 +22,6 @@
#include "ultima/ultima8/misc/pent_include.h"
#include "ultima/ultima8/usecode/uc_stack.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/actor.cpp b/engines/ultima/ultima8/world/actors/actor.cpp
index f08e629303..1cd96d184c 100644
--- a/engines/ultima/ultima8/world/actors/actor.cpp
+++ b/engines/ultima/ultima8/world/actors/actor.cpp
@@ -52,8 +52,6 @@
#include "ultima/ultima8/world/get_object.h"
#include "ultima/ultima8/world/item_factory.h"
#include "ultima/ultima8/world/loop_script.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/actor_anim_process.cpp b/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
index 36ea36ffa3..a3de20dd23 100644
--- a/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
+++ b/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
@@ -47,9 +47,6 @@
#include "ultima/ultima8/kernel/delay_process.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/actor_bark_notify_process.cpp b/engines/ultima/ultima8/world/actors/actor_bark_notify_process.cpp
index 5c23466526..0a94afb9b0 100644
--- a/engines/ultima/ultima8/world/actors/actor_bark_notify_process.cpp
+++ b/engines/ultima/ultima8/world/actors/actor_bark_notify_process.cpp
@@ -28,8 +28,6 @@
#include "ultima/ultima8/world/actors/animation.h"
#include "ultima/ultima8/kernel/kernel.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/ambush_process.cpp b/engines/ultima/ultima8/world/actors/ambush_process.cpp
index 3674c55153..0a32042f81 100644
--- a/engines/ultima/ultima8/world/actors/ambush_process.cpp
+++ b/engines/ultima/ultima8/world/actors/ambush_process.cpp
@@ -27,9 +27,6 @@
#include "ultima/ultima8/world/actors/combat_process.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/animation_tracker.cpp b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
index d6022be73e..d2d14f0b2c 100644
--- a/engines/ultima/ultima8/world/actors/animation_tracker.cpp
+++ b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
@@ -33,8 +33,6 @@
#include "ultima/ultima8/usecode/uc_list.h"
#include "ultima/ultima8/world/loop_script.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/kernel/core_app.h"
namespace Ultima {
diff --git a/engines/ultima/ultima8/world/actors/avatar_death_process.cpp b/engines/ultima/ultima8/world/actors/avatar_death_process.cpp
index e966960fd9..6e5dfbcedc 100644
--- a/engines/ultima/ultima8/world/actors/avatar_death_process.cpp
+++ b/engines/ultima/ultima8/world/actors/avatar_death_process.cpp
@@ -33,9 +33,6 @@
#include "ultima/ultima8/audio/music_process.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp b/engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp
index 1b50b42cfd..1ae52bb1eb 100644
--- a/engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp
+++ b/engines/ultima/ultima8/world/actors/avatar_gravity_process.cpp
@@ -29,9 +29,6 @@
#include "ultima/ultima8/world/current_map.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp b/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
index 77df160556..7a0020e2d9 100644
--- a/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
+++ b/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
@@ -34,8 +34,6 @@
#include "ultima/ultima8/conf/setting_manager.h"
#include "ultima/ultima8/audio/music_process.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "common/system.h"
namespace Ultima {
diff --git a/engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp b/engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp
index 09f18b19a1..872670c748 100644
--- a/engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp
+++ b/engines/ultima/ultima8/world/actors/clear_feign_death_process.cpp
@@ -27,9 +27,6 @@
#include "ultima/ultima8/audio/audio_process.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/combat_process.cpp b/engines/ultima/ultima8/world/actors/combat_process.cpp
index d5786ec7b6..8a4a5f77dc 100644
--- a/engines/ultima/ultima8/world/actors/combat_process.cpp
+++ b/engines/ultima/ultima8/world/actors/combat_process.cpp
@@ -37,8 +37,6 @@
#include "ultima/ultima8/world/get_object.h"
#include "ultima/ultima8/world/actors/loiter_process.h"
#include "ultima/ultima8/world/actors/ambush_process.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/grant_peace_process.cpp b/engines/ultima/ultima8/world/actors/grant_peace_process.cpp
index 314ef0915c..f979f8874e 100644
--- a/engines/ultima/ultima8/world/actors/grant_peace_process.cpp
+++ b/engines/ultima/ultima8/world/actors/grant_peace_process.cpp
@@ -37,8 +37,6 @@
#include "ultima/ultima8/world/sprite_process.h"
#include "ultima/ultima8/audio/audio_process.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/heal_process.cpp b/engines/ultima/ultima8/world/actors/heal_process.cpp
index 45bc20f84a..8e4103f78d 100644
--- a/engines/ultima/ultima8/world/actors/heal_process.cpp
+++ b/engines/ultima/ultima8/world/actors/heal_process.cpp
@@ -25,8 +25,6 @@
#include "ultima/ultima8/world/actors/main_actor.h"
#include "ultima/ultima8/kernel/kernel.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/loiter_process.cpp b/engines/ultima/ultima8/world/actors/loiter_process.cpp
index 1b5b3d463e..d01cf423f5 100644
--- a/engines/ultima/ultima8/world/actors/loiter_process.cpp
+++ b/engines/ultima/ultima8/world/actors/loiter_process.cpp
@@ -27,8 +27,6 @@
#include "ultima/ultima8/kernel/kernel.h"
#include "ultima/ultima8/kernel/delay_process.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/main_actor.cpp b/engines/ultima/ultima8/world/actors/main_actor.cpp
index 19aafb5fcb..0639b35496 100644
--- a/engines/ultima/ultima8/world/actors/main_actor.cpp
+++ b/engines/ultima/ultima8/world/actors/main_actor.cpp
@@ -44,8 +44,6 @@
#include "ultima/ultima8/world/loop_script.h"
#include "ultima/ultima8/world/actors/avatar_gravity_process.h"
#include "ultima/ultima8/audio/music_process.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/pathfinder_process.cpp b/engines/ultima/ultima8/world/actors/pathfinder_process.cpp
index 351ed5f6e2..f39450d527 100644
--- a/engines/ultima/ultima8/world/actors/pathfinder_process.cpp
+++ b/engines/ultima/ultima8/world/actors/pathfinder_process.cpp
@@ -27,9 +27,6 @@
#include "ultima/ultima8/world/actors/pathfinder.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp b/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp
index 47f012104a..63589b743e 100644
--- a/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp
+++ b/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp
@@ -30,8 +30,6 @@
#include "ultima/ultima8/graphics/shape_info.h"
#include "ultima/ultima8/world/get_object.h"
#include "ultima/ultima8/world/actors/avatar_mover_process.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/resurrection_process.cpp b/engines/ultima/ultima8/world/actors/resurrection_process.cpp
index 9dd70707ea..d7f4e66cd5 100644
--- a/engines/ultima/ultima8/world/actors/resurrection_process.cpp
+++ b/engines/ultima/ultima8/world/actors/resurrection_process.cpp
@@ -24,8 +24,6 @@
#include "ultima/ultima8/world/actors/resurrection_process.h"
#include "ultima/ultima8/world/actors/actor.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/scheduler_process.cpp b/engines/ultima/ultima8/world/actors/scheduler_process.cpp
index 3290d65f59..8e8761c452 100644
--- a/engines/ultima/ultima8/world/actors/scheduler_process.cpp
+++ b/engines/ultima/ultima8/world/actors/scheduler_process.cpp
@@ -27,9 +27,6 @@
#include "ultima/ultima8/ultima8.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp b/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
index d1b3b23a41..d4f9266e2d 100644
--- a/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
+++ b/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
@@ -25,9 +25,6 @@
#include "ultima/ultima8/world/actors/targeted_anim_process.h"
#include "ultima/ultima8/world/actors/animation_tracker.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp b/engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp
index 0360af52d7..180cd9099f 100644
--- a/engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp
+++ b/engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp
@@ -26,9 +26,6 @@
#include "ultima/ultima8/world/actors/main_actor.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/camera_process.cpp b/engines/ultima/ultima8/world/camera_process.cpp
index 96bf59e9e4..f05df4a640 100644
--- a/engines/ultima/ultima8/world/camera_process.cpp
+++ b/engines/ultima/ultima8/world/camera_process.cpp
@@ -31,8 +31,6 @@
#include "ultima/ultima8/kernel/kernel.h"
#include "ultima/ultima8/kernel/core_app.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/container.cpp b/engines/ultima/ultima8/world/container.cpp
index 43f6c3bd51..b457fda6a0 100644
--- a/engines/ultima/ultima8/world/container.cpp
+++ b/engines/ultima/ultima8/world/container.cpp
@@ -27,8 +27,6 @@
#include "ultima/ultima8/kernel/object_manager.h"
#include "ultima/ultima8/usecode/uc_machine.h"
#include "ultima/ultima8/usecode/uc_list.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/world/item_factory.h"
#include "ultima/ultima8/world/actors/main_actor.h"
#include "ultima/ultima8/world/get_object.h"
diff --git a/engines/ultima/ultima8/world/create_item_process.cpp b/engines/ultima/ultima8/world/create_item_process.cpp
index 2a3274f357..059089f219 100644
--- a/engines/ultima/ultima8/world/create_item_process.cpp
+++ b/engines/ultima/ultima8/world/create_item_process.cpp
@@ -25,9 +25,6 @@
#include "ultima/ultima8/world/item_factory.h"
#include "ultima/ultima8/world/item.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/current_map.cpp b/engines/ultima/ultima8/world/current_map.cpp
index ac5f908bef..48a8527a1c 100644
--- a/engines/ultima/ultima8/world/current_map.cpp
+++ b/engines/ultima/ultima8/world/current_map.cpp
@@ -42,9 +42,6 @@
#include "ultima/ultima8/misc/direction.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/destroy_item_process.cpp b/engines/ultima/ultima8/world/destroy_item_process.cpp
index eb7bc66335..5c98326dfd 100644
--- a/engines/ultima/ultima8/world/destroy_item_process.cpp
+++ b/engines/ultima/ultima8/world/destroy_item_process.cpp
@@ -26,9 +26,6 @@
#include "ultima/ultima8/world/item.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/egg.cpp b/engines/ultima/ultima8/world/egg.cpp
index 38f8fcd9ff..b818862ad1 100644
--- a/engines/ultima/ultima8/world/egg.cpp
+++ b/engines/ultima/ultima8/world/egg.cpp
@@ -27,9 +27,6 @@
#include "ultima/ultima8/world/get_object.h"
#include "ultima/ultima8/usecode/uc_machine.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/egg_hatcher_process.cpp b/engines/ultima/ultima8/world/egg_hatcher_process.cpp
index a1854802c0..655cbf92b4 100644
--- a/engines/ultima/ultima8/world/egg_hatcher_process.cpp
+++ b/engines/ultima/ultima8/world/egg_hatcher_process.cpp
@@ -28,9 +28,6 @@
#include "ultima/ultima8/world/teleport_egg.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/fireball_process.cpp b/engines/ultima/ultima8/world/fireball_process.cpp
index a218f39b82..748b61311a 100644
--- a/engines/ultima/ultima8/world/fireball_process.cpp
+++ b/engines/ultima/ultima8/world/fireball_process.cpp
@@ -31,8 +31,6 @@
#include "ultima/ultima8/world/weapon_info.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/shared/std/misc.h"
namespace Ultima {
diff --git a/engines/ultima/ultima8/world/glob_egg.cpp b/engines/ultima/ultima8/world/glob_egg.cpp
index 9309442f6b..919eede12c 100644
--- a/engines/ultima/ultima8/world/glob_egg.cpp
+++ b/engines/ultima/ultima8/world/glob_egg.cpp
@@ -28,8 +28,6 @@
#include "ultima/ultima8/world/item_factory.h"
#include "ultima/ultima8/world/current_map.h"
#include "ultima/ultima8/kernel/core_app.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/gravity_process.cpp b/engines/ultima/ultima8/world/gravity_process.cpp
index 9ef49fcea2..c2b9c608d3 100644
--- a/engines/ultima/ultima8/world/gravity_process.cpp
+++ b/engines/ultima/ultima8/world/gravity_process.cpp
@@ -28,8 +28,6 @@
#include "ultima/ultima8/kernel/kernel.h"
#include "ultima/ultima8/world/world.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/item.cpp b/engines/ultima/ultima8/world/item.cpp
index c4c4f453fc..dd3209c32b 100644
--- a/engines/ultima/ultima8/world/item.cpp
+++ b/engines/ultima/ultima8/world/item.cpp
@@ -51,8 +51,6 @@
#include "ultima/ultima8/world/world_point.h"
#include "ultima/ultima8/world/gravity_process.h"
#include "ultima/ultima8/world/loop_script.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/world/camera_process.h"
#include "ultima/ultima8/world/sprite_process.h"
#include "ultima/ultima8/gumps/slider_gump.h"
diff --git a/engines/ultima/ultima8/world/map.cpp b/engines/ultima/ultima8/world/map.cpp
index 48fe1aa1a4..a70d2e7f60 100644
--- a/engines/ultima/ultima8/world/map.cpp
+++ b/engines/ultima/ultima8/world/map.cpp
@@ -22,8 +22,6 @@
#include "ultima/ultima8/misc/pent_include.h"
#include "ultima/ultima8/world/map.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/world/item_factory.h"
#include "ultima/ultima8/world/item.h"
#include "ultima/ultima8/world/container.h"
diff --git a/engines/ultima/ultima8/world/monster_egg.cpp b/engines/ultima/ultima8/world/monster_egg.cpp
index bc648d4ee3..743867eca3 100644
--- a/engines/ultima/ultima8/world/monster_egg.cpp
+++ b/engines/ultima/ultima8/world/monster_egg.cpp
@@ -32,10 +32,6 @@
#include "ultima/ultima8/world/world.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-#include "ultima/ultima8/world/get_object.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/split_item_process.cpp b/engines/ultima/ultima8/world/split_item_process.cpp
index b2f29e362b..176e7bb115 100644
--- a/engines/ultima/ultima8/world/split_item_process.cpp
+++ b/engines/ultima/ultima8/world/split_item_process.cpp
@@ -25,8 +25,6 @@
#include "ultima/ultima8/world/item.h"
#include "ultima/ultima8/graphics/shape_info.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/sprite_process.cpp b/engines/ultima/ultima8/world/sprite_process.cpp
index 6cd5ed7994..ec9261bab3 100644
--- a/engines/ultima/ultima8/world/sprite_process.cpp
+++ b/engines/ultima/ultima8/world/sprite_process.cpp
@@ -27,8 +27,6 @@
#include "ultima/ultima8/world/current_map.h"
#include "ultima/ultima8/kernel/kernel.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/teleport_egg.cpp b/engines/ultima/ultima8/world/teleport_egg.cpp
index 06ae9ec713..cb36b3cac2 100644
--- a/engines/ultima/ultima8/world/teleport_egg.cpp
+++ b/engines/ultima/ultima8/world/teleport_egg.cpp
@@ -26,9 +26,6 @@
#include "ultima/ultima8/world/actors/main_actor.h"
#include "ultima/ultima8/world/get_object.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
-
namespace Ultima {
namespace Ultima8 {
diff --git a/engines/ultima/ultima8/world/world.cpp b/engines/ultima/ultima8/world/world.cpp
index 6befa4ad9d..f2aed17bae 100644
--- a/engines/ultima/ultima8/world/world.cpp
+++ b/engines/ultima/ultima8/world/world.cpp
@@ -24,8 +24,6 @@
#include "ultima/ultima8/world/world.h"
#include "ultima/ultima8/world/map.h"
#include "ultima/ultima8/world/current_map.h"
-#include "ultima/ultima8/filesys/idata_source.h"
-#include "ultima/ultima8/filesys/odata_source.h"
#include "ultima/ultima8/filesys/flex_file.h"
#include "ultima/ultima8/filesys/raw_archive.h"
#include "ultima/ultima8/world/item_factory.h"
@@ -42,6 +40,7 @@
#include "ultima/ultima8/world/get_object.h"
#include "ultima/ultima8/kernel/memory_manager.h"
#include "ultima/ultima8/audio/audio_process.h"
+#include "ultima/ultima8/filesys/idata_source.h"
namespace Ultima {
namespace Ultima8 {
More information about the Scummvm-git-logs
mailing list