[Scummvm-git-logs] scummvm master -> 426af9fe5e139a5aac5df289e6792fb4be017eef
mduggan
mgithub at guarana.org
Sat Apr 4 07:36:45 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
426af9fe5e ULTIMA8: Rename DataSource methods to match Common Streams
Commit: 426af9fe5e139a5aac5df289e6792fb4be017eef
https://github.com/scummvm/scummvm/commit/426af9fe5e139a5aac5df289e6792fb4be017eef
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2020-04-04T16:29:33+09:00
Commit Message:
ULTIMA8: Rename DataSource methods to match Common Streams
This is the first and safest step in removing IDataSource and ODataSource
entirely. For now this just renames all the functions, and removes a few
unused functions. It should be safe as none of the types are changing.
Changed paths:
engines/ultima/ultima8/audio/audio_process.cpp
engines/ultima/ultima8/audio/music_process.cpp
engines/ultima/ultima8/conf/ini_file.cpp
engines/ultima/ultima8/convert/convert_shape.cpp
engines/ultima/ultima8/convert/u8/convert_usecode_u8.h
engines/ultima/ultima8/filesys/flex_file.cpp
engines/ultima/ultima8/filesys/idata_source.h
engines/ultima/ultima8/filesys/odata_source.h
engines/ultima/ultima8/filesys/savegame.cpp
engines/ultima/ultima8/filesys/u8_save_file.cpp
engines/ultima/ultima8/games/game_data.cpp
engines/ultima/ultima8/games/remorse_game.cpp
engines/ultima/ultima8/games/u8_game.cpp
engines/ultima/ultima8/graphics/anim_dat.cpp
engines/ultima/ultima8/graphics/frame_id.cpp
engines/ultima/ultima8/graphics/gump_shape_archive.cpp
engines/ultima/ultima8/graphics/inverter_process.cpp
engines/ultima/ultima8/graphics/palette.cpp
engines/ultima/ultima8/graphics/palette_fader_process.cpp
engines/ultima/ultima8/graphics/shape.cpp
engines/ultima/ultima8/graphics/skf_player.cpp
engines/ultima/ultima8/graphics/type_flags.cpp
engines/ultima/ultima8/graphics/wpn_ovlay_dat.cpp
engines/ultima/ultima8/gumps/bark_gump.cpp
engines/ultima/ultima8/gumps/container_gump.cpp
engines/ultima/ultima8/gumps/gump.cpp
engines/ultima/ultima8/gumps/gump_notify_process.cpp
engines/ultima/ultima8/gumps/paperdoll_gump.cpp
engines/ultima/ultima8/gumps/widgets/button_widget.cpp
engines/ultima/ultima8/gumps/widgets/text_widget.cpp
engines/ultima/ultima8/kernel/delay_process.cpp
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/ultima8.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/ambush_process.cpp
engines/ultima/ultima8/world/actors/animation_tracker.cpp
engines/ultima/ultima8/world/actors/avatar_mover_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/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/egg.cpp
engines/ultima/ultima8/world/fireball_process.cpp
engines/ultima/ultima8/world/gravity_process.cpp
engines/ultima/ultima8/world/item.cpp
engines/ultima/ultima8/world/map.cpp
engines/ultima/ultima8/world/map_glob.cpp
engines/ultima/ultima8/world/split_item_process.cpp
engines/ultima/ultima8/world/sprite_process.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 fffd9ae86c..d76c59dbc4 100644
--- a/engines/ultima/ultima8/audio/audio_process.cpp
+++ b/engines/ultima/ultima8/audio/audio_process.cpp
@@ -160,19 +160,19 @@ bool AudioProcess::continueSpeech(SampleInfo &si) {
void AudioProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write1(static_cast<uint8>(_sampleInfo.size()));
+ ods->writeByte(static_cast<uint8>(_sampleInfo.size()));
Std::list<SampleInfo>::iterator it;
for (it = _sampleInfo.begin(); it != _sampleInfo.end(); ++it) {
- ods->write2(it->_sfxNum);
- ods->write2(it->_priority);
- ods->write2(it->_objId);
- ods->write2(it->_loops);
- ods->write4(it->_pitchShift);
- ods->write2(it->_volume);
+ ods->writeUint16LE(it->_sfxNum);
+ ods->writeUint16LE(it->_priority);
+ ods->writeUint16LE(it->_objId);
+ ods->writeUint16LE(it->_loops);
+ ods->writeUint32LE(it->_pitchShift);
+ ods->writeUint16LE(it->_volume);
if (it->_sfxNum == -1) { // Speech
- ods->write4(static_cast<uint32>(it->_barked.size()));
+ ods->writeUint32LE(static_cast<uint32>(it->_barked.size()));
ods->write(it->_barked.c_str(), static_cast<uint32>(it->_barked.size()));
}
}
@@ -181,15 +181,15 @@ void AudioProcess::saveData(ODataSource *ods) {
bool AudioProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- uint32 count = ids->read1();
+ uint32 count = ids->readByte();
while (count--) {
- int16 sfxNum = ids->read2();
- int16 priority = ids->read2();
- int16 objId = ids->read2();
- int16 loops = ids->read2();
- uint32 pitchShift = ids->read4();
- uint16 volume = ids->read2();
+ int16 sfxNum = ids->readUint16LE();
+ int16 priority = ids->readUint16LE();
+ int16 objId = ids->readUint16LE();
+ int16 loops = ids->readUint16LE();
+ uint32 pitchShift = ids->readUint32LE();
+ uint16 volume = ids->readUint16LE();
if (sfxNum != -1) { // SFX
int16 lVol = 0;
@@ -200,7 +200,7 @@ bool AudioProcess::loadData(IDataSource *ids, uint32 version) {
}
playSFX(sfxNum, priority, objId, loops, false, pitchShift, volume, lVol, rVol);
} else { // Speech
- uint32 slen = ids->read4();
+ uint32 slen = ids->readUint32LE();
char *buf = new char[slen + 1];
ids->read(buf, slen);
diff --git a/engines/ultima/ultima8/audio/music_process.cpp b/engines/ultima/ultima8/audio/music_process.cpp
index e74e2c0e51..772be6a526 100644
--- a/engines/ultima/ultima8/audio/music_process.cpp
+++ b/engines/ultima/ultima8/audio/music_process.cpp
@@ -230,19 +230,19 @@ void MusicProcess::run() {
void MusicProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write4(static_cast<uint32>(_trackState._wanted));
- ods->write4(static_cast<uint32>(_trackState._lastRequest));
- ods->write4(static_cast<uint32>(_trackState._queued));
+ ods->writeUint32LE(static_cast<uint32>(_trackState._wanted));
+ ods->writeUint32LE(static_cast<uint32>(_trackState._lastRequest));
+ ods->writeUint32LE(static_cast<uint32>(_trackState._queued));
}
bool MusicProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _trackState._wanted = static_cast<int32>(ids->read4());
+ _trackState._wanted = static_cast<int32>(ids->readUint32LE());
if (version >= 4) {
- _trackState._lastRequest = static_cast<int32>(ids->read4());
- _trackState._queued = static_cast<int32>(ids->read4());
+ _trackState._lastRequest = static_cast<int32>(ids->readUint32LE());
+ _trackState._queued = static_cast<int32>(ids->readUint32LE());
} else {
_trackState._lastRequest = _trackState._wanted;
_trackState._queued = 0;
diff --git a/engines/ultima/ultima8/conf/ini_file.cpp b/engines/ultima/ultima8/conf/ini_file.cpp
index d772c36c03..c740252267 100644
--- a/engines/ultima/ultima8/conf/ini_file.cpp
+++ b/engines/ultima/ultima8/conf/ini_file.cpp
@@ -98,7 +98,7 @@ bool INIFile::readConfigFile(string fname) {
if (!f) return false;
string sbuf, line;
- while (!f->eof()) {
+ while (!f->eos()) {
f->readline(line);
string::size_type pos = line.findFirstOf("\n\r");
if (pos != string::npos) {
diff --git a/engines/ultima/ultima8/convert/convert_shape.cpp b/engines/ultima/ultima8/convert/convert_shape.cpp
index 785a3216ad..26994720a3 100644
--- a/engines/ultima/ultima8/convert/convert_shape.cpp
+++ b/engines/ultima/ultima8/convert/convert_shape.cpp
@@ -60,7 +60,7 @@ void ConvertShape::Free()
void ConvertShape::Read(IDataSource *source, const ConvertShapeFormat *csf, uint32 real_len)
{
// Just to be safe
- uint32 start_pos = source->getPos();
+ uint32 start_pos = source->pos();
// Read the ident
if (csf->_bytes_ident)
@@ -79,7 +79,7 @@ void ConvertShape::Read(IDataSource *source, const ConvertShapeFormat *csf, uint
uint8 special[256];
if (csf->_bytes_special) {
memset(special, 0, 256);
- for (uint32 i = 0; i < csf->_bytes_special; i++) special[source->read1()&0xFF] = i+2;
+ for (uint32 i = 0; i < csf->_bytes_special; i++) special[source->readByte()&0xFF] = i+2;
}
// Read the header unknown
@@ -126,7 +126,7 @@ void ConvertShape::Read(IDataSource *source, const ConvertShapeFormat *csf, uint
source->seek(start_pos + csf->_len_header + (csf->_len_frameheader*f));
#ifdef COMP_SHAPENUM
- if (shapenum == COMP_SHAPENUM) pout << "seeked to " << source->getPos() << Std::endl;
+ if (shapenum == COMP_SHAPENUM) pout << "seeked to " << source->pos() << Std::endl;
#endif
// Read the offset
@@ -250,13 +250,13 @@ void ConvertShapeFrame::ReadCmpFrame(IDataSource *source, const ConvertShapeForm
for(int32 y = 0; y < _height; ++y)
{
- _line_offsets[y] = rlebuf->getPos();
+ _line_offsets[y] = rlebuf->pos();
int32 xpos = 0;
do
{
- uint8 skip = source->read1();
+ uint8 skip = source->readByte();
xpos += skip;
if (xpos > _width) {
@@ -264,18 +264,18 @@ void ConvertShapeFrame::ReadCmpFrame(IDataSource *source, const ConvertShapeForm
skip = _width-(xpos-skip);
}
- rlebuf->write1(skip);
+ rlebuf->writeByte(skip);
if (xpos >= _width) break;
- uint32 dlen = source->read1();
+ uint32 dlen = source->readByte();
uint8 *o = outbuf;
// Is this required???? It seems hacky and pointless
if (dlen == 0 || dlen == 1) {
source->skip(-1);
rlebuf->skip(-1);
- rlebuf->write1(skip+(_width-xpos));
+ rlebuf->writeByte(skip+(_width-xpos));
break;
}
@@ -292,7 +292,7 @@ void ConvertShapeFrame::ReadCmpFrame(IDataSource *source, const ConvertShapeForm
for (uint32 j = 0; j < dlen; j++) {
- uint8 c = source->read1();
+ uint8 c = source->readByte();
if (special[c] && prev) {
int32 count = special[c];
@@ -302,7 +302,7 @@ void ConvertShapeFrame::ReadCmpFrame(IDataSource *source, const ConvertShapeForm
xpos += count;
}
else if (c == 0xFF && prev) {
- int32 count = source->read1();
+ int32 count = source->readByte();
prev->GetPixels(o,count,xpos-_xoff,y-_yoff);
o+=count;
extra += count-2;
@@ -319,21 +319,21 @@ void ConvertShapeFrame::ReadCmpFrame(IDataSource *source, const ConvertShapeForm
perr << "Error! Corrupt Frame. RLE dlen too large" << Std::endl;
}
- rlebuf->write1((dlen+extra) << _compression);
+ rlebuf->writeByte((dlen+extra) << _compression);
rlebuf->write(outbuf,dlen+extra);
}
else {
- rlebuf->write1((dlen<<1)|1);
- rlebuf->write1(source->read1());
+ rlebuf->writeByte((dlen<<1)|1);
+ rlebuf->writeByte(source->readByte());
xpos+=dlen;
}
} while (xpos < _width);
}
- _bytes_rle = rlebuf->getPos();
+ _bytes_rle = rlebuf->pos();
_rle_data = new uint8[_bytes_rle];
- memcpy (_rle_data, rlebuf->getBuf(), _bytes_rle);
+ memcpy (_rle_data, rlebuf->getData(), _bytes_rle);
}
void ConvertShapeFrame::GetPixels(uint8 *buf, int32 count, int32 x, int32 y)
@@ -404,14 +404,14 @@ int ConvertShape::CalcNumFrames(IDataSource *source, const ConvertShapeFormat *c
int f=0;
uint32 first_offset = 0xFFFFFFFF;
- uint32 save_pos = source->getPos();
+ uint32 save_pos = source->pos();
for (f=0;;f++) {
// Seek to initial pos
source->seek(start_pos + csf->_len_header + (csf->_len_frameheader*f));
- if ((source->getPos()-start_pos) >= first_offset) break;
+ if ((source->pos()-start_pos) >= first_offset) break;
// Read the offset
uint32 frame_offset = csf->_len_header + (csf->_len_frameheader*f);
@@ -442,7 +442,7 @@ bool ConvertShape::Check(IDataSource *source, const ConvertShapeFormat *csf, uin
bool result = true;
// Just to be safe
- int start_pos = source->getPos();
+ int start_pos = source->pos();
// Read the ident
if (csf->_bytes_ident)
@@ -575,10 +575,10 @@ bool ConvertShape::Check(IDataSource *source, const ConvertShapeFormat *csf, uin
// Compressed
if (frame->_compression) do
{
- xpos += source->read1();
+ xpos += source->readByte();
if (xpos == frame->_width) break;
- dlen = source->read1();
+ dlen = source->readByte();
int type = dlen & 1;
dlen >>= 1;
@@ -591,17 +591,17 @@ bool ConvertShape::Check(IDataSource *source, const ConvertShapeFormat *csf, uin
// Uncompressed
else do
{
- xpos += source->read1();
+ xpos += source->readByte();
if (xpos == frame->_width) break;
- dlen = source->read1();
+ dlen = source->readByte();
source->skip(dlen);
xpos += dlen;
} while (xpos < frame->_width);
// Calc 'real' bytes rle
- int32 highest_rle_byte = source->getPos();
+ int32 highest_rle_byte = source->pos();
highest_rle_byte -= start_pos + frame_offset + csf->_len_frameheader2 + frame->_height*csf->_bytes_line_offset;
// Too many bytes
@@ -631,7 +631,7 @@ bool ConvertShape::CheckUnsafe(IDataSource *source, const ConvertShapeFormat *cs
bool result = true;
// Just to be safe
- const uint32 start_pos = source->getPos();
+ const uint32 start_pos = source->pos();
// Read the ident
if (csf->_bytes_ident)
@@ -739,7 +739,7 @@ bool ConvertShape::CheckUnsafe(IDataSource *source, const ConvertShapeFormat *cs
void ConvertShape::Write(ODataSource *dest, const ConvertShapeFormat *csf, uint32 &write_len)
{
// Just to be safe
- const uint32 start_pos = dest->getPos();
+ const uint32 start_pos = dest->pos();
// Write the ident
if (csf->_bytes_ident) dest->write(csf->_ident, csf->_bytes_ident);
@@ -756,7 +756,7 @@ void ConvertShape::Write(ODataSource *dest, const ConvertShapeFormat *csf, uint3
}
// Write filler space for the frame details
- for (uint32 i = 0; i < _num_frames*csf->_len_frameheader; i++) dest->write1(0);
+ for (uint32 i = 0; i < _num_frames*csf->_len_frameheader; i++) dest->writeByte(0);
// Now write the _frames
for(uint32 f = 0; f < _num_frames; f++)
@@ -764,7 +764,7 @@ void ConvertShape::Write(ODataSource *dest, const ConvertShapeFormat *csf, uint3
ConvertShapeFrame *frame = _frames+f;
// Get the frame offset
- uint32 frame_offset = dest->getPos() - start_pos;
+ uint32 frame_offset = dest->pos() - start_pos;
// Seek to the frame header pos
dest->seek(start_pos + csf->_len_header + (csf->_len_frameheader*f));
@@ -812,7 +812,7 @@ void ConvertShape::Write(ODataSource *dest, const ConvertShapeFormat *csf, uint3
}
// Just cheat
- write_len = dest->getPos() - start_pos;
+ write_len = dest->pos() - start_pos;
}
diff --git a/engines/ultima/ultima8/convert/u8/convert_usecode_u8.h b/engines/ultima/ultima8/convert/u8/convert_usecode_u8.h
index c22103c685..dd242f6df1 100644
--- a/engines/ultima/ultima8/convert/u8/convert_usecode_u8.h
+++ b/engines/ultima/ultima8/convert/u8/convert_usecode_u8.h
@@ -40,7 +40,7 @@ public:
{
uint32 _maxOffset;
};
- uint32 read4(IDataSource *) { return 0; }
+ uint32 readUint32LE(IDataSource *) { return 0; }
uint32 _curOffset;
virtual const char* const *intrinsics()=0;
@@ -74,7 +74,7 @@ public:
EventMap.clear();
for (uint32 i=0; i<32; ++i)
{
- uint32 offset = read4(ucfile);
+ uint32 offset = readUint32LE(ucfile);
EventMap[offset] = i;
#ifdef DISASM_DEBUG
pout << "Event " << i << ": " << Std::hex << Std::setw(4) << offset << Std::dec << endl;
@@ -412,15 +412,15 @@ const char * const ConvertUsecodeU8::_event_names[] = {
void ConvertUsecodeU8::readheader(IDataSource *ucfile, UsecodeHeader &uch, uint32 &curOffset_) {
#ifdef DISASM_DEBUG
perr << Std::setfill('0') << Std::hex;
- perr << "unknown1: " << Std::setw(4) << read4(ucfile) << endl; // unknown
- uch.maxOffset = read4(ucfile) - 0x0C; // file size
+ perr << "unknown1: " << Std::setw(4) << readUint32LE(ucfile) << endl; // unknown
+ uch.maxOffset = readUint32LE(ucfile) - 0x0C; // file size
perr << "maxoffset: " << Std::setw(4) << maxOffset << endl;
- perr << "unknown2: " << Std::setw(4) << read4(ucfile) << endl; // unknown
+ perr << "unknown2: " << Std::setw(4) << readUint32LE(ucfile) << endl; // unknown
curOffset_ = 0;
#else
- read4(ucfile); // unknown
- uch._maxOffset = read4(ucfile) - 0x0C; // file size
- read4(ucfile); // unknown
+ readUint32LE(ucfile); // unknown
+ uch._maxOffset = readUint32LE(ucfile) - 0x0C; // file size
+ readUint32LE(ucfile); // unknown
curOffset_ = 0;
#endif
}
diff --git a/engines/ultima/ultima8/filesys/flex_file.cpp b/engines/ultima/ultima8/filesys/flex_file.cpp
index 44bd997fd7..d912a65bfe 100644
--- a/engines/ultima/ultima8/filesys/flex_file.cpp
+++ b/engines/ultima/ultima8/filesys/flex_file.cpp
@@ -36,7 +36,7 @@ FlexFile::FlexFile(IDataSource *ds_) : _ds(ds_), _count(0) {
if (_valid) {
_ds->seek(0x54);
- _count = _ds->read4();
+ _count = _ds->readUint32LE();
}
}
@@ -66,7 +66,7 @@ bool FlexFile::isFlexFile(IDataSource *_ds) {
uint32 FlexFile::getOffset(uint32 index) {
_ds->seek(0x80 + 8 * index);
- return _ds->read4();
+ return _ds->readUint32LE();
}
uint8 *FlexFile::getObject(uint32 index, uint32 *sizep) {
@@ -92,7 +92,7 @@ uint32 FlexFile::getSize(uint32 index) const {
if (index >= _count) return 0;
_ds->seek(0x84 + 8 * index);
- uint32 length = _ds->read4();
+ uint32 length = _ds->readUint32LE();
return length;
}
diff --git a/engines/ultima/ultima8/filesys/idata_source.h b/engines/ultima/ultima8/filesys/idata_source.h
index 695e555bb6..d195b76f37 100644
--- a/engines/ultima/ultima8/filesys/idata_source.h
+++ b/engines/ultima/ultima8/filesys/idata_source.h
@@ -35,66 +35,34 @@ public:
IDataSource() {}
virtual ~IDataSource() {}
- virtual uint8 read1() = 0;
- virtual uint16 read2() = 0;
+ virtual uint8 readByte() = 0;
+ virtual uint16 readUint16LE() = 0;
virtual uint16 read2high() = 0;
virtual uint32 read3() = 0;
- virtual uint32 read4() = 0;
+ virtual uint32 readUint32LE() = 0;
virtual uint32 read4high() = 0;
virtual int32 read(void *str, int32 num_bytes) = 0;
uint32 readX(uint32 num_bytes) {
assert(num_bytes > 0 && num_bytes <= 4);
- if (num_bytes == 1) return read1();
- else if (num_bytes == 2) return read2();
+ if (num_bytes == 1) return readByte();
+ else if (num_bytes == 2) return readUint16LE();
else if (num_bytes == 3) return read3();
- else return read4();
+ else return readUint32LE();
}
int32 readXS(uint32 num_bytes) {
assert(num_bytes > 0 && num_bytes <= 4);
- if (num_bytes == 1) return static_cast<int8>(read1());
- else if (num_bytes == 2) return static_cast<int16>(read2());
+ if (num_bytes == 1) return static_cast<int8>(readByte());
+ else if (num_bytes == 2) return static_cast<int16>(readUint16LE());
else if (num_bytes == 3) return (((static_cast<int32>(read3())) << 8) >> 8);
- else return static_cast<int32>(read4());
- }
-
- /* FIXME: Dubious conversion between float and int */
- float readf() {
-#if 1
- union {
- uint32 i;
- float f;
- } int_float;
- int_float.i = read4();
- return int_float.f;
-#else
- uint32 i = read4();
- uint32 mantissa = i & 0x3FFFFF;
- int32 exponent = ((i >> 23) & 0xFF);
-
- // Zero
- if (!exponent && !mantissa)
- return 0.0F;
- // Infinity and NaN (don't handle them)
- else if (exponent == 0xFF)
- return 0.0F;
- // Normalized - Add the leading one
- else if (exponent)
- mantissa |= 0x400000;
- // Denormalized - Set the exponent to 1
- else
- exponent = 1;
-
- float f = Std::ldexp(mantissa / 8388608.0, exponent - 127);
- return (i >> 31) ? -f : f;
-#endif
+ else return static_cast<int32>(readUint32LE());
}
void readline(Std::string &str) {
str.clear();
- while (!eof()) {
- char character = static_cast<char>(read1());
+ while (!eos()) {
+ char character = static_cast<char>(readByte());
if (character == '\r') continue; // Skip cr
else if (character == '\n') break; // break on line feed
@@ -105,9 +73,9 @@ public:
virtual void seek(uint32 pos) = 0;
virtual void skip(int32 delta) = 0;
- virtual uint32 getSize() const = 0;
- virtual uint32 getPos() const = 0;
- virtual bool eof() const = 0;
+ virtual uint32 size() const = 0;
+ virtual uint32 pos() const = 0;
+ virtual bool eos() const = 0;
virtual Common::SeekableReadStream *GetRawStream() {
return nullptr;
@@ -132,12 +100,12 @@ public:
}
// Read a byte value
- uint8 read1() override {
+ uint8 readByte() override {
return static_cast<uint8>(_in->readByte());
}
// Read a 2-byte value, lsb first.
- uint16 read2() override {
+ uint16 readUint16LE() override {
return _in->readUint16LE();
}
@@ -156,7 +124,7 @@ public:
}
// Read a 4-byte long value, lsb first.
- uint32 read4() override {
+ uint32 readUint32LE() override {
return _in->readUint32LE();
}
@@ -177,15 +145,15 @@ public:
_in->seek(pos, SEEK_CUR);
}
- uint32 getSize() const override {
+ uint32 size() const override {
return _in->size();
}
- uint32 getPos() const override {
+ uint32 pos() const override {
return _in->pos();
}
- bool eof() const override {
+ bool eos() const override {
return _in->eos();
}
@@ -230,13 +198,13 @@ public:
_buf = _bufPtr = nullptr;
}
- uint8 read1() override {
+ uint8 readByte() override {
uint8 b0;
b0 = *_bufPtr++;
return (b0);
}
- uint16 read2() override {
+ uint16 readUint16LE() override {
uint8 b0, b1;
b0 = *_bufPtr++;
b1 = *_bufPtr++;
@@ -258,7 +226,7 @@ public:
return (b0 | (b1 << 8) | (b2 << 16));
}
- uint32 read4() override {
+ uint32 readUint32LE() override {
uint8 b0, b1, b2, b3;
b0 = *_bufPtr++;
b1 = *_bufPtr++;
@@ -294,15 +262,15 @@ public:
_bufPtr += delta;
}
- uint32 getSize() const override {
+ uint32 size() const override {
return _size;
}
- uint32 getPos() const override {
+ uint32 pos() const override {
return static_cast<uint32>(_bufPtr - _buf);
}
- bool eof() const override {
+ bool eos() const override {
return (static_cast<uint32>(_bufPtr - _buf)) >= _size;
}
};
diff --git a/engines/ultima/ultima8/filesys/odata_source.h b/engines/ultima/ultima8/filesys/odata_source.h
index 11400579e9..8b7e4b15b8 100644
--- a/engines/ultima/ultima8/filesys/odata_source.h
+++ b/engines/ultima/ultima8/filesys/odata_source.h
@@ -37,20 +37,20 @@ public:
ODataSource() {}
virtual ~ODataSource() {}
- virtual void write1(uint32) = 0;
- virtual void write2(uint16) = 0;
+ virtual void writeByte(uint32) = 0;
+ virtual void writeUint16LE(uint16) = 0;
virtual void write2high(uint16) = 0;
virtual void write3(uint32) = 0;
- virtual void write4(uint32) = 0;
+ virtual void writeUint32LE(uint32) = 0;
virtual void write4high(uint32) = 0;
virtual void write(const void *str, uint32 num_bytes) = 0;
void writeX(uint32 val, uint32 num_bytes) {
assert(num_bytes > 0 && num_bytes <= 4);
- if (num_bytes == 1) write1(static_cast<uint8>(val));
- else if (num_bytes == 2) write2(static_cast<uint16>(val));
+ if (num_bytes == 1) writeByte(static_cast<uint8>(val));
+ else if (num_bytes == 2) writeUint16LE(static_cast<uint16>(val));
else if (num_bytes == 3) write3(val);
- else write4(val);
+ else writeUint32LE(val);
}
virtual Common::WriteStream *GetRawStream() {
@@ -59,8 +59,8 @@ public:
virtual void seek(uint32 pos) = 0;
virtual void skip(int32 delta) = 0;
- virtual uint32 getSize() const = 0;
- virtual uint32 getPos() const = 0;
+ virtual uint32 size() const = 0;
+ virtual uint32 pos() const = 0;
};
@@ -80,11 +80,11 @@ public:
return !_out->err();
}
- void write1(uint32 val) override {
+ void writeByte(uint32 val) override {
_out->writeByte(val & 0xff);
}
- void write2(uint16 val) override {
+ void writeUint16LE(uint16 val) override {
_out->writeUint16LE(val);
}
@@ -98,7 +98,7 @@ public:
_out->writeByte(static_cast<byte>((val >> 16) & 0xff));
}
- void write4(uint32 val) override {
+ void writeUint32LE(uint32 val) override {
_out->writeUint32LE(val);
}
@@ -122,13 +122,13 @@ public:
ws->seek(amount, SEEK_CUR);
}
- uint32 getSize() const override {
+ uint32 size() const override {
Common::SeekableWriteStream *ws = dynamic_cast<Common::SeekableWriteStream *>(_out);
assert(ws);
return ws->size();
}
- uint32 getPos() const override {
+ uint32 pos() const override {
Common::SeekableWriteStream *ws = dynamic_cast<Common::SeekableWriteStream *>(_out);
assert(ws);
return _out->pos();
@@ -158,11 +158,11 @@ public:
~OBufferDataSource() override {};
- void write1(uint32 val) override {
+ void writeByte(uint32 val) override {
*_bufPtr++ = val & 0xff;
};
- void write2(uint16 val) override {
+ void writeUint16LE(uint16 val) override {
*_bufPtr++ = val & 0xff;
*_bufPtr++ = (val >> 8) & 0xff;
};
@@ -178,7 +178,7 @@ public:
*_bufPtr++ = (val >> 16) & 0xff;
};
- void write4(uint32 val) override {
+ void writeUint32LE(uint32 val) override {
*_bufPtr++ = val & 0xff;
*_bufPtr++ = (val >> 8) & 0xff;
*_bufPtr++ = (val >> 16) & 0xff;
@@ -205,94 +205,15 @@ public:
_bufPtr += pos;
};
- uint32 getSize() const override {
+ uint32 size() const override {
return _size;
};
- uint32 getPos() const override {
+ uint32 pos() const override {
return static_cast<uint32>(_bufPtr - _buf);
};
};
-class ODequeDataSource : public ODataSource {
-private:
- Std::deque<byte> _out;
-
-public:
- ODequeDataSource() {}
-
- ~ODequeDataSource() override {}
-
- const Std::deque<byte> &buf() const {
- return _out;
- }
-
- void write1(uint32 val) override {
- _out.push_back(static_cast<byte>(val & 0xff));
- }
-
- void write2(uint16 val) override {
- _out.push_back(static_cast<byte>(val & 0xff));
- _out.push_back(static_cast<byte>((val >> 8) & 0xff));
- }
-
- void write2high(uint16 val) override {
- _out.push_back(static_cast<byte>((val >> 8) & 0xff));
- _out.push_back(static_cast<byte>(val & 0xff));
- }
-
- void write3(uint32 val) override {
- _out.push_back(static_cast<byte>(val & 0xff));
- _out.push_back(static_cast<byte>((val >> 8) & 0xff));
- _out.push_back(static_cast<byte>((val >> 16) & 0xff));
- }
-
- void write4(uint32 val) override {
- _out.push_back(static_cast<byte>(val & 0xff));
- _out.push_back(static_cast<byte>((val >> 8) & 0xff));
- _out.push_back(static_cast<byte>((val >> 16) & 0xff));
- _out.push_back(static_cast<byte>((val >> 24) & 0xff));
- }
-
- void write4high(uint32 val) override {
- _out.push_back(static_cast<byte>((val >> 24) & 0xff));
- _out.push_back(static_cast<byte>((val >> 16) & 0xff));
- _out.push_back(static_cast<byte>((val >> 8) & 0xff));
- _out.push_back(static_cast<byte>(val & 0xff));
- }
-
- void write(const void *b, uint32 length) override {
- write(b, length, length);
- }
-
- virtual void write(const void *b, uint32 length, uint32 pad_length) {
- for (uint32 i = 0; i < length; i++)
- _out.push_back(static_cast<const char *>(b)[i]);
- if (pad_length > length)
- for (pad_length -= length; pad_length > 0; --pad_length)
- _out.push_back(static_cast<byte>(0x00));
- }
-
- virtual void clear() {
- _out.clear();
- }
-
- void seek(uint32 /*pos*/) override {
- /*_out->seekp(pos); FIXME: Do something here. */
- }
- void skip(int32 /*pos*/) override {
- /*_out->seekp(pos, Std::ios::cur); FIXME: Do something here. */
- }
-
- uint32 getSize() const override {
- return static_cast<uint32>(_out.size());
- }
-
- uint32 getPos() const override {
- return static_cast<uint32>(_out.size()); /*return _out->tellp(); FIXME: Do something here. */
- }
-};
-
class OAutoBufferDataSource: public ODataSource {
protected:
uint8 *_buf;
@@ -337,7 +258,7 @@ public:
};
//! Get a pointer to the data buffer.
- const uint8 *getBuf() {
+ const uint8 *getData() {
return _buf;
}
@@ -345,12 +266,12 @@ public:
delete [] _buf;
}
- void write1(uint32 val) override {
+ void writeByte(uint32 val) override {
checkResize(1);
*_bufPtr++ = val & 0xff;
};
- void write2(uint16 val) override {
+ void writeUint16LE(uint16 val) override {
checkResize(2);
*_bufPtr++ = val & 0xff;
*_bufPtr++ = (val >> 8) & 0xff;
@@ -369,7 +290,7 @@ public:
*_bufPtr++ = (val >> 16) & 0xff;
};
- void write4(uint32 val) override {
+ void writeUint32LE(uint32 val) override {
checkResize(4);
*_bufPtr++ = val & 0xff;
*_bufPtr++ = (val >> 8) & 0xff;
@@ -414,11 +335,11 @@ public:
_bufPtr = const_cast<unsigned char *>(_buf) + _loc;
};
- uint32 getSize() const override {
+ uint32 size() const override {
return _size;
};
- uint32 getPos() const override {
+ uint32 pos() const override {
return static_cast<uint32>(_bufPtr - _buf);
};
diff --git a/engines/ultima/ultima8/filesys/savegame.cpp b/engines/ultima/ultima8/filesys/savegame.cpp
index 2b96d605aa..58e506e266 100644
--- a/engines/ultima/ultima8/filesys/savegame.cpp
+++ b/engines/ultima/ultima8/filesys/savegame.cpp
@@ -134,7 +134,7 @@ bool SavegameWriter::writeFile(const Std::string &name, const uint8 *data, uint3
}
bool SavegameWriter::writeFile(const Std::string &name, OAutoBufferDataSource *ods) {
- return writeFile(name, ods->getBuf(), ods->getSize());
+ return writeFile(name, ods->getData(), ods->size());
}
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/filesys/u8_save_file.cpp b/engines/ultima/ultima8/filesys/u8_save_file.cpp
index 799bb43f63..48a28f24c2 100644
--- a/engines/ultima/ultima8/filesys/u8_save_file.cpp
+++ b/engines/ultima/ultima8/filesys/u8_save_file.cpp
@@ -54,21 +54,21 @@ bool U8SaveFile::isU8SaveFile(IDataSource *_ds) {
bool U8SaveFile::readMetadata() {
_ds->seek(0x18);
- _count = _ds->read2();
+ _count = _ds->readUint16LE();
_offsets.resize(_count);
_sizes.resize(_count);
for (unsigned int i = 0; i < _count; ++i) {
- uint32 namelen = _ds->read4();
+ uint32 namelen = _ds->readUint32LE();
char *buf = new char[namelen];
_ds->read(buf, static_cast<int32>(namelen));
Std::string filename = buf;
_indices[filename] = i;
storeIndexedName(filename);
delete[] buf;
- _sizes[i] = _ds->read4();
- _offsets[i] = _ds->getPos();
+ _sizes[i] = _ds->readUint32LE();
+ _offsets[i] = _ds->pos();
_ds->skip(_sizes[i]); // skip data
}
diff --git a/engines/ultima/ultima8/games/game_data.cpp b/engines/ultima/ultima8/games/game_data.cpp
index a5ec71c25a..9178acdcac 100644
--- a/engines/ultima/ultima8/games/game_data.cpp
+++ b/engines/ultima/ultima8/games/game_data.cpp
@@ -303,7 +303,7 @@ void GameData::loadU8Data() {
MapGlob *glob = 0;
IDataSource *globds = globflex->get_datasource(i);
- if (globds && globds->getSize()) {
+ if (globds && globds->size()) {
glob = new MapGlob();
glob->read(globds);
}
@@ -554,7 +554,7 @@ void GameData::loadRemorseData() {
MapGlob *glob = 0;
IDataSource *globds = globflex->get_datasource(i);
- if (globds && globds->getSize()) {
+ if (globds && globds->size()) {
glob = new MapGlob();
glob->read(globds);
}
diff --git a/engines/ultima/ultima8/games/remorse_game.cpp b/engines/ultima/ultima8/games/remorse_game.cpp
index 09eaaeff66..e3add69c06 100644
--- a/engines/ultima/ultima8/games/remorse_game.cpp
+++ b/engines/ultima/ultima8/games/remorse_game.cpp
@@ -126,35 +126,35 @@ void RemorseGame::writeSaveInfo(ODataSource *ods) {
const Std::string &avname = av->getName();
uint8 namelength = static_cast<uint8>(avname.size());
- ods->write1(namelength);
+ ods->writeByte(namelength);
for (unsigned int i = 0; i < namelength; ++i)
- ods->write1(static_cast<uint8>(avname[i]));
+ ods->writeByte(static_cast<uint8>(avname[i]));
av->getLocation(x, y, z);
- ods->write2(av->getMapNum());
- ods->write4(static_cast<uint32>(x));
- ods->write4(static_cast<uint32>(y));
- ods->write4(static_cast<uint32>(z));
-
- ods->write2(av->getStr());
- ods->write2(av->getInt());
- ods->write2(av->getDex());
- ods->write2(av->getHP());
- ods->write2(av->getMaxHP());
- ods->write2(av->getMana());
- ods->write2(av->getMaxMana());
- ods->write2(av->getArmourClass());
- ods->write2(av->getTotalWeight());
+ 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());
for (unsigned int i = 1; i <= 6; i++) {
const uint16 objid = av->getEquip(i);
const Item *item = getItem(objid);
if (item) {
- ods->write4(item->getShape());
- ods->write4(item->getFrame());
+ ods->writeUint32LE(item->getShape());
+ ods->writeUint32LE(item->getFrame());
} else {
- ods->write4(0);
- ods->write4(0);
+ ods->writeUint32LE(0);
+ ods->writeUint32LE(0);
}
}
#endif
diff --git a/engines/ultima/ultima8/games/u8_game.cpp b/engines/ultima/ultima8/games/u8_game.cpp
index cae3f6c264..b74e54dd6d 100644
--- a/engines/ultima/ultima8/games/u8_game.cpp
+++ b/engines/ultima/ultima8/games/u8_game.cpp
@@ -246,45 +246,45 @@ void U8Game::writeSaveInfo(ODataSource *ods) {
const Std::string &avname = av->getName();
const uint8 namelength = static_cast<uint8>(avname.size());
- ods->write1(namelength);
+ ods->writeByte(namelength);
for (unsigned int i = 0; i < namelength; ++i)
- ods->write1(static_cast<uint8>(avname[i]));
+ ods->writeByte(static_cast<uint8>(avname[i]));
av->getLocation(x, y, z);
- ods->write2(av->getMapNum());
- ods->write4(static_cast<uint32>(x));
- ods->write4(static_cast<uint32>(y));
- ods->write4(static_cast<uint32>(z));
-
- ods->write2(av->getStr());
- ods->write2(av->getInt());
- ods->write2(av->getDex());
- ods->write2(av->getHP());
- ods->write2(av->getMaxHP());
- ods->write2(av->getMana());
- ods->write2(av->getMaxMana());
- ods->write2(av->getArmourClass());
- ods->write2(av->getTotalWeight());
+ 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());
for (unsigned int i = 1; i <= 6; i++) {
uint16 objid = av->getEquip(i);
Item *item = getItem(objid);
if (item) {
- ods->write4(item->getShape());
- ods->write4(item->getFrame());
+ ods->writeUint32LE(item->getShape());
+ ods->writeUint32LE(item->getFrame());
} else {
- ods->write4(0);
- ods->write4(0);
+ ods->writeUint32LE(0);
+ ods->writeUint32LE(0);
}
}
}
Std::string U8Game::getCreditText(IDataSource *ids) {
Std::string text;
- unsigned int size = ids->getSize();
+ unsigned int size = ids->size();
text.resize(size);
for (unsigned int i = 0; i < size; ++i) {
- uint8 c = ids->read1();
+ uint8 c = ids->readByte();
int x;
switch (i) {
case 0:
diff --git a/engines/ultima/ultima8/graphics/anim_dat.cpp b/engines/ultima/ultima8/graphics/anim_dat.cpp
index 7c75320c1c..907f0af8d8 100644
--- a/engines/ultima/ultima8/graphics/anim_dat.cpp
+++ b/engines/ultima/ultima8/graphics/anim_dat.cpp
@@ -70,7 +70,7 @@ void AnimDat::load(IDataSource *ds) {
for (unsigned int shape = 0; shape < _anims.size(); shape++) {
ds->seek(4 * shape);
- uint32 offset = ds->read4();
+ uint32 offset = ds->readUint32LE();
if (offset == 0) {
_anims[shape] = nullptr;
@@ -84,7 +84,7 @@ void AnimDat::load(IDataSource *ds) {
for (unsigned int action = 0; action < actioncount; action++) {
ds->seek(offset + action * 4);
- uint32 actionoffset = ds->read4();
+ uint32 actionoffset = ds->readUint32LE();
if (actionoffset == 0) {
a->_actions[action] = 0;
@@ -97,11 +97,11 @@ void AnimDat::load(IDataSource *ds) {
a->_actions[action]->_action = action;
ds->seek(actionoffset);
- uint32 actionsize = ds->read1();
+ uint32 actionsize = ds->readByte();
a->_actions[action]->_size = actionsize;
- a->_actions[action]->_flags = ds->read1();
- a->_actions[action]->_frameRepeat = ds->read1();
- a->_actions[action]->_flags |= ds->read1() << 8;
+ a->_actions[action]->_flags = ds->readByte();
+ a->_actions[action]->_frameRepeat = ds->readByte();
+ a->_actions[action]->_flags |= ds->readByte() << 8;
unsigned int dirCount = 8;
if (GAME_IS_CRUSADER &&
@@ -115,26 +115,26 @@ void AnimDat::load(IDataSource *ds) {
for (unsigned int j = 0; j < actionsize; j++) {
if (GAME_IS_U8) {
- f._frame = ds->read1(); // & 0x7FF;
- uint8 x = ds->read1();
+ f._frame = ds->readByte(); // & 0x7FF;
+ uint8 x = ds->readByte();
f._frame += (x & 0x7) << 8;
f._deltaZ = ds->readXS(1);
- f._sfx = ds->read1();
+ f._sfx = ds->readByte();
f._deltaDir = ds->readXS(1);
- f._flags = ds->read1();
+ f._flags = ds->readByte();
f._flags += (x & 0xF8) << 8;
} else if (GAME_IS_CRUSADER) {
// byte 0: low byte of frame
- f._frame = ds->read1();
+ f._frame = ds->readByte();
// byte 1: low nibble part of frame
- uint8 x = ds->read1();
+ uint8 x = ds->readByte();
f._frame += (x & 0xF) << 8;
// byte 2, 3: unknown; byte 3 might contain flags
ds->skip(2);
// byte 4: deltadir (signed)
f._deltaDir = ds->readXS(1);
// byte 5: flags?
- f._flags = ds->read1();
+ f._flags = ds->readByte();
// byte 6, 7: unknown
ds->skip(2);
diff --git a/engines/ultima/ultima8/graphics/frame_id.cpp b/engines/ultima/ultima8/graphics/frame_id.cpp
index e5832ae251..22be5d4cf4 100644
--- a/engines/ultima/ultima8/graphics/frame_id.cpp
+++ b/engines/ultima/ultima8/graphics/frame_id.cpp
@@ -30,15 +30,15 @@ namespace Ultima {
namespace Ultima8 {
void FrameID::save(ODataSource *ods) {
- ods->write2(_flexId);
- ods->write4(_shapeNum);
- ods->write4(_frameNum);
+ ods->writeUint16LE(_flexId);
+ ods->writeUint32LE(_shapeNum);
+ ods->writeUint32LE(_frameNum);
}
bool FrameID::load(IDataSource *ids) {
- _flexId = ids->read2();
- _shapeNum = ids->read4();
- _frameNum = ids->read4();
+ _flexId = ids->readUint16LE();
+ _shapeNum = ids->readUint32LE();
+ _frameNum = ids->readUint32LE();
return true;
}
diff --git a/engines/ultima/ultima8/graphics/gump_shape_archive.cpp b/engines/ultima/ultima8/graphics/gump_shape_archive.cpp
index 2d122fba47..664042f247 100644
--- a/engines/ultima/ultima8/graphics/gump_shape_archive.cpp
+++ b/engines/ultima/ultima8/graphics/gump_shape_archive.cpp
@@ -37,14 +37,14 @@ GumpShapeArchive::~GumpShapeArchive() {
}
void GumpShapeArchive::loadGumpage(IDataSource *ds) {
- unsigned int total = ds->getSize() / 8;
+ unsigned int total = ds->size() / 8;
_gumpItemArea.resize(total + 1);
for (unsigned int i = 1; i <= total; ++i) {
int x, y, w, h;
- x = static_cast<int16>(ds->read2());
- y = static_cast<int16>(ds->read2());
- w = static_cast<int16>(ds->read2()) - x;
- h = static_cast<int16>(ds->read2()) - y;
+ 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;
_gumpItemArea[i] = new Rect(x, y, w, h);
}
}
diff --git a/engines/ultima/ultima8/graphics/inverter_process.cpp b/engines/ultima/ultima8/graphics/inverter_process.cpp
index 1f916a8c79..59b96f64b6 100644
--- a/engines/ultima/ultima8/graphics/inverter_process.cpp
+++ b/engines/ultima/ultima8/graphics/inverter_process.cpp
@@ -79,13 +79,13 @@ void InverterProcess::run() {
void InverterProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write2(static_cast<uint16>(_targetState));
+ ods->writeUint16LE(static_cast<uint16>(_targetState));
}
bool InverterProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _targetState = ids->read2();
+ _targetState = ids->readUint16LE();
_inverter = this; //static
return true;
diff --git a/engines/ultima/ultima8/graphics/palette.cpp b/engines/ultima/ultima8/graphics/palette.cpp
index c1fa741b57..e402abbc52 100644
--- a/engines/ultima/ultima8/graphics/palette.cpp
+++ b/engines/ultima/ultima8/graphics/palette.cpp
@@ -31,7 +31,7 @@ namespace Ultima8 {
void Palette::load(IDataSource &ds, IDataSource &xformds) {
load(ds);
for (int i = 0; i < 256; i++)
- _xform_untransformed[i] = xformds.read4();
+ _xform_untransformed[i] = xformds.readUint32LE();
}
void Palette::load(IDataSource &ds) {
diff --git a/engines/ultima/ultima8/graphics/palette_fader_process.cpp b/engines/ultima/ultima8/graphics/palette_fader_process.cpp
index 1443d2c4ff..2775c3a4d3 100644
--- a/engines/ultima/ultima8/graphics/palette_fader_process.cpp
+++ b/engines/ultima/ultima8/graphics/palette_fader_process.cpp
@@ -101,28 +101,28 @@ void PaletteFaderProcess::run() {
void PaletteFaderProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write4(static_cast<uint32>(_priority));
- ods->write4(static_cast<uint32>(_counter));
- ods->write4(static_cast<uint32>(_maxCounter));
+ ods->writeUint32LE(static_cast<uint32>(_priority));
+ ods->writeUint32LE(static_cast<uint32>(_counter));
+ ods->writeUint32LE(static_cast<uint32>(_maxCounter));
unsigned int i;
for (i = 0; i < 12; ++i)
- ods->write2(_oldMatrix[i]);
+ ods->writeUint16LE(_oldMatrix[i]);
for (i = 0; i < 12; ++i)
- ods->write2(_newMatrix[i]);
+ ods->writeUint16LE(_newMatrix[i]);
}
bool PaletteFaderProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _priority = static_cast<int>(ids->read4());
- _counter = static_cast<int>(ids->read4());
- _maxCounter = static_cast<int>(ids->read4());
+ _priority = static_cast<int>(ids->readUint32LE());
+ _counter = static_cast<int>(ids->readUint32LE());
+ _maxCounter = static_cast<int>(ids->readUint32LE());
unsigned int i;
for (i = 0; i < 12; ++i)
- _oldMatrix[i] = ids->read2();
+ _oldMatrix[i] = ids->readUint16LE();
for (i = 0; i < 12; ++i)
- _newMatrix[i] = ids->read2();
+ _newMatrix[i] = ids->readUint16LE();
_fader = this; //static
return true;
diff --git a/engines/ultima/ultima8/graphics/shape.cpp b/engines/ultima/ultima8/graphics/shape.cpp
index 29fe8ee275..3afe16eb90 100644
--- a/engines/ultima/ultima8/graphics/shape.cpp
+++ b/engines/ultima/ultima8/graphics/shape.cpp
@@ -51,7 +51,7 @@ Shape::Shape(const uint8 *data, uint32 size, const ConvertShapeFormat *format,
Shape::Shape(IDataSource *src, const ConvertShapeFormat *format)
: _flexId(0), _shapeNum(0), _palette(nullptr) {
// NB: U8 style!
- uint32 size = src->getSize();
+ uint32 size = src->size();
uint8 *data = new uint8[size];
src->read(data, size);
@@ -170,7 +170,7 @@ Common::Array<RawShapeFrame *> Shape::loadGenericFormat(const uint8 *data, uint3
uint8 special[256];
if (format->_bytes_special) {
memset(special, 0, 256);
- for (uint32 i = 0; i < format->_bytes_special; i++) special[ds.read1() & 0xFF] = i + 2;
+ for (uint32 i = 0; i < format->_bytes_special; i++) special[ds.readByte() & 0xFF] = i + 2;
}
// Skip unknown
diff --git a/engines/ultima/ultima8/graphics/skf_player.cpp b/engines/ultima/ultima8/graphics/skf_player.cpp
index 756b6407d2..fd70a2308b 100644
--- a/engines/ultima/ultima8/graphics/skf_player.cpp
+++ b/engines/ultima/ultima8/graphics/skf_player.cpp
@@ -93,15 +93,15 @@ SKFPlayer::~SKFPlayer() {
}
void SKFPlayer::parseEventList(IDataSource *eventlist) {
- uint16 frame = eventlist->read2();
+ uint16 frame = eventlist->readUint16LE();
while (frame != 0xFFFF) {
SKFEvent *ev = new SKFEvent;
ev->_frame = frame;
- ev->_action = static_cast<SKFAction>(eventlist->read2());
- ev->_data = eventlist->read2();
+ ev->_action = static_cast<SKFAction>(eventlist->readUint16LE());
+ ev->_data = eventlist->readUint16LE();
_events.push_back(ev);
- frame = eventlist->read2();
+ frame = eventlist->readUint16LE();
}
}
@@ -279,10 +279,10 @@ void SKFPlayer::run() {
// read object
object = _skf->get_datasource(_curObject);
- if (!object || object->getSize() < 2)
+ if (!object || object->size() < 2)
continue;
- objecttype = object->read2();
+ objecttype = object->readUint16LE();
// pout << "Object " << _curObject << "/" << _skf->getCount()
// << ", type = " << objecttype << Std::endl;
diff --git a/engines/ultima/ultima8/graphics/type_flags.cpp b/engines/ultima/ultima8/graphics/type_flags.cpp
index b18010ab70..4483e85aa2 100644
--- a/engines/ultima/ultima8/graphics/type_flags.cpp
+++ b/engines/ultima/ultima8/graphics/type_flags.cpp
@@ -60,7 +60,7 @@ void TypeFlags::load(IDataSource *ds) {
blocksize = 9;
}
- uint32 size = ds->getSize();
+ uint32 size = ds->size();
uint32 count = size / blocksize;
_shapeInfo.clear();
diff --git a/engines/ultima/ultima8/graphics/wpn_ovlay_dat.cpp b/engines/ultima/ultima8/graphics/wpn_ovlay_dat.cpp
index 0f910204cb..7c3a7f1aaf 100644
--- a/engines/ultima/ultima8/graphics/wpn_ovlay_dat.cpp
+++ b/engines/ultima/ultima8/graphics/wpn_ovlay_dat.cpp
@@ -71,7 +71,7 @@ void WpnOvlayDat::load(RawArchive *overlaydat) {
IDataSource *ds = overlaydat->get_datasource(action);
_overlay[action] = nullptr;
- if (ds && ds->getSize()) {
+ if (ds && ds->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->getSize() / (4 * dircount * animlength);
+ unsigned int typecount = ds->size() / (4 * dircount * animlength);
awo->_overlay.resize(typecount);
for (unsigned int type = 0; type < typecount; type++) {
@@ -100,7 +100,7 @@ void WpnOvlayDat::load(RawArchive *overlaydat) {
ds->seek(4 * offset);
f._xOff = ds->readXS(1);
f._yOff = ds->readXS(1);
- f._frame = ds->read2();
+ f._frame = ds->readUint16LE();
awo->_overlay[type]._frames[dir][frame] = f;
}
diff --git a/engines/ultima/ultima8/gumps/bark_gump.cpp b/engines/ultima/ultima8/gumps/bark_gump.cpp
index b80c40d372..be348fe3ff 100644
--- a/engines/ultima/ultima8/gumps/bark_gump.cpp
+++ b/engines/ultima/ultima8/gumps/bark_gump.cpp
@@ -181,25 +181,25 @@ Gump *BarkGump::OnMouseDown(int button, int32 mx, int32 my) {
void BarkGump::saveData(ODataSource *ods) {
ItemRelativeGump::saveData(ods);
- ods->write4(static_cast<uint32>(_counter));
- ods->write2(_textWidget);
- ods->write4(_speechShapeNum);
- ods->write4(_speechLength);
- ods->write4(_totalTextHeight);
- ods->write4(static_cast<uint32>(_barked.size()));
+ 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());
}
bool BarkGump::loadData(IDataSource *ids, uint32 version) {
if (!ItemRelativeGump::loadData(ids, version)) return false;
- _counter = static_cast<int32>(ids->read4());
- _textWidget = ids->read2();
- _speechShapeNum = ids->read4();
- _speechLength = ids->read4();
- _totalTextHeight = ids->read4();
+ _counter = static_cast<int32>(ids->readUint32LE());
+ _textWidget = ids->readUint16LE();
+ _speechShapeNum = ids->readUint32LE();
+ _speechLength = ids->readUint32LE();
+ _totalTextHeight = ids->readUint32LE();
- uint32 slen = ids->read4();
+ uint32 slen = ids->readUint32LE();
if (slen > 0) {
char *buf = new char[slen + 1];
ids->read(buf, slen);
diff --git a/engines/ultima/ultima8/gumps/container_gump.cpp b/engines/ultima/ultima8/gumps/container_gump.cpp
index fc80e8a9c6..25a3292686 100644
--- a/engines/ultima/ultima8/gumps/container_gump.cpp
+++ b/engines/ultima/ultima8/gumps/container_gump.cpp
@@ -537,19 +537,19 @@ void ContainerGump::DropItem(Item *item, int mx, int my) {
void ContainerGump::saveData(ODataSource *ods) {
ItemRelativeGump::saveData(ods);
- ods->write4(static_cast<uint32>(_itemArea.x));
- ods->write4(static_cast<uint32>(_itemArea.y));
- ods->write4(static_cast<uint32>(_itemArea.w));
- ods->write4(static_cast<uint32>(_itemArea.h));
+ 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));
}
bool ContainerGump::loadData(IDataSource *ids, uint32 version) {
if (!ItemRelativeGump::loadData(ids, version)) return false;
- int32 iax = static_cast<int32>(ids->read4());
- int32 iay = static_cast<int32>(ids->read4());
- int32 iaw = static_cast<int32>(ids->read4());
- int32 iah = static_cast<int32>(ids->read4());
+ 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());
_itemArea.Set(iax, iay, iaw, iah);
return true;
diff --git a/engines/ultima/ultima8/gumps/gump.cpp b/engines/ultima/ultima8/gumps/gump.cpp
index 6d9351b602..fe47eb1ba1 100644
--- a/engines/ultima/ultima8/gumps/gump.cpp
+++ b/engines/ultima/ultima8/gumps/gump.cpp
@@ -784,32 +784,32 @@ bool Gump::mustSave(bool toplevel) const {
void Gump::saveData(ODataSource *ods) {
Object::saveData(ods);
- ods->write2(_owner);
- ods->write4(static_cast<uint32>(_x));
- ods->write4(static_cast<uint32>(_y));
- ods->write4(static_cast<uint32>(_dims.x));
- ods->write4(static_cast<uint32>(_dims.y));
- ods->write4(static_cast<uint32>(_dims.w));
- ods->write4(static_cast<uint32>(_dims.h));
- ods->write4(_flags);
- ods->write4(static_cast<uint32>(_layer));
- ods->write4(static_cast<uint32>(_index));
+ 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));
uint16 flex = 0;
uint32 shapenum = 0;
if (_shape) {
_shape->getShapeId(flex, shapenum);
}
- ods->write2(flex);
- ods->write4(shapenum);
+ ods->writeUint16LE(flex);
+ ods->writeUint32LE(shapenum);
- ods->write4(_frameNum);
+ ods->writeUint32LE(_frameNum);
if (_focusChild)
- ods->write2(_focusChild->getObjId());
+ ods->writeUint16LE(_focusChild->getObjId());
else
- ods->write2(0);
- ods->write2(_notifier);
- ods->write4(_processResult);
+ ods->writeUint16LE(0);
+ ods->writeUint16LE(_notifier);
+ ods->writeUint32LE(_processResult);
unsigned int childcount = 0;
Std::list<Gump *>::iterator it;
@@ -819,7 +819,7 @@ void Gump::saveData(ODataSource *ods) {
}
// write children:
- ods->write4(childcount);
+ ods->writeUint32LE(childcount);
for (it = _children.begin(); it != _children.end(); ++it) {
if (!(*it)->mustSave(false)) continue;
@@ -830,35 +830,35 @@ void Gump::saveData(ODataSource *ods) {
bool Gump::loadData(IDataSource *ids, uint32 version) {
if (!Object::loadData(ids, version)) return false;
- _owner = ids->read2();
- _x = static_cast<int32>(ids->read4());
- _y = static_cast<int32>(ids->read4());
+ _owner = ids->readUint16LE();
+ _x = static_cast<int32>(ids->readUint32LE());
+ _y = static_cast<int32>(ids->readUint32LE());
- int dx = static_cast<int32>(ids->read4());
- int dy = static_cast<int32>(ids->read4());
- int dw = static_cast<int32>(ids->read4());
- int dh = static_cast<int32>(ids->read4());
+ 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());
_dims.Set(dx, dy, dw, dh);
- _flags = ids->read4();
- _layer = static_cast<int32>(ids->read4());
- _index = static_cast<int32>(ids->read4());
+ _flags = ids->readUint32LE();
+ _layer = static_cast<int32>(ids->readUint32LE());
+ _index = static_cast<int32>(ids->readUint32LE());
_shape = nullptr;
- ShapeArchive *flex = GameData::get_instance()->getShapeFlex(ids->read2());
- uint32 shapenum = ids->read4();
+ ShapeArchive *flex = GameData::get_instance()->getShapeFlex(ids->readUint16LE());
+ uint32 shapenum = ids->readUint32LE();
if (flex) {
_shape = flex->getShape(shapenum);
}
- _frameNum = ids->read4();
- uint16 focusid = ids->read2();
+ _frameNum = ids->readUint32LE();
+ uint16 focusid = ids->readUint16LE();
_focusChild = nullptr;
- _notifier = ids->read2();
- _processResult = ids->read4();
+ _notifier = ids->readUint16LE();
+ _processResult = ids->readUint32LE();
// read children
- uint32 childcount = ids->read4();
+ uint32 childcount = ids->readUint32LE();
for (unsigned int i = 0; i < childcount; ++i) {
Object *obj = ObjectManager::get_instance()->loadObject(ids, version);
Gump *child = p_dynamic_cast<Gump *>(obj);
diff --git a/engines/ultima/ultima8/gumps/gump_notify_process.cpp b/engines/ultima/ultima8/gumps/gump_notify_process.cpp
index 7c4407e0cb..8956f8e121 100644
--- a/engines/ultima/ultima8/gumps/gump_notify_process.cpp
+++ b/engines/ultima/ultima8/gumps/gump_notify_process.cpp
@@ -77,13 +77,13 @@ void GumpNotifyProcess::dumpInfo() const {
void GumpNotifyProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write2(_gump);
+ ods->writeUint16LE(_gump);
}
bool GumpNotifyProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _gump = ids->read2();
+ _gump = ids->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
index 96a4a5ec21..e09d80ec5b 100644
--- a/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
+++ b/engines/ultima/ultima8/gumps/paperdoll_gump.cpp
@@ -412,13 +412,13 @@ void PaperdollGump::ChildNotify(Gump *child, uint32 message) {
void PaperdollGump::saveData(ODataSource *ods) {
ContainerGump::saveData(ods);
- ods->write2(_statButtonId);
+ ods->writeUint16LE(_statButtonId);
}
bool PaperdollGump::loadData(IDataSource *ids, uint32 version) {
if (!ContainerGump::loadData(ids, version)) return false;
- _statButtonId = ids->read2();
+ _statButtonId = ids->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/gumps/widgets/button_widget.cpp b/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
index 955b6d924b..fabe8b8e69 100644
--- a/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/button_widget.cpp
@@ -202,46 +202,46 @@ void ButtonWidget::saveData(ODataSource *ods) {
if (_shapeUp) {
_shapeUp->getShapeId(flex, shapenum);
}
- ods->write2(flex);
- ods->write4(shapenum);
- ods->write4(_frameNumUp);
+ ods->writeUint16LE(flex);
+ ods->writeUint32LE(shapenum);
+ ods->writeUint32LE(_frameNumUp);
flex = 0;
shapenum = 0;
if (_shapeDown) {
_shapeDown->getShapeId(flex, shapenum);
}
- ods->write2(flex);
- ods->write4(shapenum);
- ods->write4(_frameNumDown);
- ods->write2(_textWidget);
- ods->write4(_mouseOverBlendCol);
+ ods->writeUint16LE(flex);
+ ods->writeUint32LE(shapenum);
+ ods->writeUint32LE(_frameNumDown);
+ ods->writeUint16LE(_textWidget);
+ ods->writeUint32LE(_mouseOverBlendCol);
uint8 m = (_mouseOver ? 1 : 0);
- ods->write1(m);
+ ods->writeByte(m);
}
bool ButtonWidget::loadData(IDataSource *ids, uint32 version) {
if (!Gump::loadData(ids, version)) return false;
_shapeUp = nullptr;
- ShapeArchive *flex = GameData::get_instance()->getShapeFlex(ids->read2());
- uint32 shapenum = ids->read4();
+ ShapeArchive *flex = GameData::get_instance()->getShapeFlex(ids->readUint16LE());
+ uint32 shapenum = ids->readUint32LE();
if (flex) {
_shapeUp = flex->getShape(shapenum);
}
- _frameNumUp = ids->read4();
+ _frameNumUp = ids->readUint32LE();
_shapeDown = nullptr;
- flex = GameData::get_instance()->getShapeFlex(ids->read2());
- shapenum = ids->read4();
+ flex = GameData::get_instance()->getShapeFlex(ids->readUint16LE());
+ shapenum = ids->readUint32LE();
if (flex) {
_shapeDown = flex->getShape(shapenum);
}
- _frameNumDown = ids->read4();
- _textWidget = ids->read2();
- _mouseOverBlendCol = ids->read4();
- _mouseOver = (ids->read1() != 0);
+ _frameNumDown = ids->readUint32LE();
+ _textWidget = ids->readUint16LE();
+ _mouseOverBlendCol = ids->readUint32LE();
+ _mouseOver = (ids->readByte() != 0);
// HACK ALERT
if (_textWidget != 0) {
diff --git a/engines/ultima/ultima8/gumps/widgets/text_widget.cpp b/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
index 8e87c8131b..28380f3e97 100644
--- a/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
+++ b/engines/ultima/ultima8/gumps/widgets/text_widget.cpp
@@ -217,31 +217,31 @@ Gump *TextWidget::OnMouseMotion(int32 mx, int32 my) {
void TextWidget::saveData(ODataSource *ods) {
Gump::saveData(ods);
- ods->write1(_gameFont ? 1 : 0);
- ods->write4(static_cast<uint32>(_fontNum));
- ods->write4(_blendColour);
- ods->write4(static_cast<uint32>(_currentStart));
- ods->write4(static_cast<uint32>(_currentEnd));
- ods->write4(static_cast<uint32>(_targetWidth));
- ods->write4(static_cast<uint32>(_targetHeight));
- ods->write2(static_cast<uint16>(_textAlign));
- ods->write4(_text.size());
+ 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());
}
bool TextWidget::loadData(IDataSource *ids, uint32 version) {
if (!Gump::loadData(ids, version)) return false;
- _gameFont = (ids->read1() != 0);
- _fontNum = static_cast<int>(ids->read4());
- _blendColour = ids->read4();
- _currentStart = static_cast<int>(ids->read4());
- _currentEnd = static_cast<int>(ids->read4());
- _targetWidth = static_cast<int>(ids->read4());
- _targetHeight = static_cast<int>(ids->read4());
- _textAlign = static_cast<Font::TextAlign>(ids->read2());
+ _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->read4();
+ uint32 slen = ids->readUint32LE();
if (slen > 0) {
char *buf = new char[slen + 1];
ids->read(buf, slen);
diff --git a/engines/ultima/ultima8/kernel/delay_process.cpp b/engines/ultima/ultima8/kernel/delay_process.cpp
index e838e017a1..ac3f209296 100644
--- a/engines/ultima/ultima8/kernel/delay_process.cpp
+++ b/engines/ultima/ultima8/kernel/delay_process.cpp
@@ -54,14 +54,14 @@ void DelayProcess::dumpInfo() const {
bool DelayProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _count = static_cast<int>(ids->read4());
+ _count = static_cast<int>(ids->readUint32LE());
return true;
}
void DelayProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write4(static_cast<uint32>(_count));
+ ods->writeUint32LE(static_cast<uint32>(_count));
}
} // End of namespace Ultima8
diff --git a/engines/ultima/ultima8/kernel/kernel.cpp b/engines/ultima/ultima8/kernel/kernel.cpp
index 708029be2d..5f6ca93aac 100644
--- a/engines/ultima/ultima8/kernel/kernel.cpp
+++ b/engines/ultima/ultima8/kernel/kernel.cpp
@@ -322,20 +322,20 @@ void Kernel::killProcessesNotOfType(ObjId objid, uint16 processtype, bool fail)
}
void Kernel::save(ODataSource *ods) {
- ods->write4(_frameNum);
+ ods->writeUint32LE(_frameNum);
_pIDs->save(ods);
- ods->write4(_processes.size());
+ ods->writeUint32LE(_processes.size());
for (ProcessIterator it = _processes.begin(); it != _processes.end(); ++it) {
(*it)->save(ods);
}
}
bool Kernel::load(IDataSource *ids, uint32 version) {
- _frameNum = ids->read4();
+ _frameNum = ids->readUint32LE();
if (!_pIDs->load(ids, version)) return false;
- const uint32 pcount = ids->read4();
+ const uint32 pcount = ids->readUint32LE();
for (unsigned int i = 0; i < pcount; ++i) {
Process *p = loadProcess(ids, version);
@@ -347,7 +347,7 @@ bool Kernel::load(IDataSource *ids, uint32 version) {
}
Process *Kernel::loadProcess(IDataSource *ids, uint32 version) {
- const uint16 classlen = ids->read2();
+ const uint16 classlen = ids->readUint16LE();
char *buf = new char[classlen + 1];
ids->read(buf, classlen);
buf[classlen] = 0;
diff --git a/engines/ultima/ultima8/kernel/object.cpp b/engines/ultima/ultima8/kernel/object.cpp
index 4da725684d..7975ad611a 100644
--- a/engines/ultima/ultima8/kernel/object.cpp
+++ b/engines/ultima/ultima8/kernel/object.cpp
@@ -80,7 +80,7 @@ void Object::writeObjectHeader(ODataSource *ods) const {
const char *cname = GetClassType()._className; // note: virtual
uint16 clen = strlen(cname);
- ods->write2(clen);
+ ods->writeUint16LE(clen);
ods->write(cname, clen);
}
@@ -88,11 +88,11 @@ void Object::saveData(ODataSource *ods) {
// note: Object is unversioned. If we ever want to version it,
// increase the global savegame version
- ods->write2(_objId);
+ ods->writeUint16LE(_objId);
}
bool Object::loadData(IDataSource *ids, uint32 version) {
- _objId = ids->read2();
+ _objId = ids->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/kernel/object_manager.cpp b/engines/ultima/ultima8/kernel/object_manager.cpp
index 8666f25f03..2dce59685f 100644
--- a/engines/ultima/ultima8/kernel/object_manager.cpp
+++ b/engines/ultima/ultima8/kernel/object_manager.cpp
@@ -232,7 +232,7 @@ void ObjectManager::save(ODataSource *ods) {
object->save(ods);
}
- ods->write2(0);
+ ods->writeUint16LE(0);
}
@@ -242,7 +242,7 @@ bool ObjectManager::load(IDataSource *ids, uint32 version) {
do {
// peek ahead for terminator
- uint16 classlen = ids->read2();
+ uint16 classlen = ids->readUint16LE();
if (classlen == 0) break;
char *buf = new char[classlen + 1];
ids->read(buf, classlen);
@@ -291,7 +291,7 @@ bool ObjectManager::load(IDataSource *ids, uint32 version) {
}
Object *ObjectManager::loadObject(IDataSource *ids, uint32 version) {
- uint16 classlen = ids->read2();
+ uint16 classlen = ids->readUint16LE();
char *buf = new char[classlen + 1];
ids->read(buf, classlen);
buf[classlen] = 0;
diff --git a/engines/ultima/ultima8/kernel/process.cpp b/engines/ultima/ultima8/kernel/process.cpp
index 9ae109907d..4e90f3a4f4 100644
--- a/engines/ultima/ultima8/kernel/process.cpp
+++ b/engines/ultima/ultima8/kernel/process.cpp
@@ -128,31 +128,31 @@ void Process::writeProcessHeader(ODataSource *ods) {
const char *cname = GetClassType()._className; // virtual
uint16 clen = strlen(cname);
- ods->write2(clen);
+ ods->writeUint16LE(clen);
ods->write(cname, clen);
}
void Process::saveData(ODataSource *ods) {
- ods->write2(_pid);
- ods->write4(_flags);
- ods->write2(_itemNum);
- ods->write2(_type);
- ods->write4(_result);
- ods->write4(static_cast<uint32>(_waiting.size()));
+ ods->writeUint16LE(_pid);
+ ods->writeUint32LE(_flags);
+ ods->writeUint16LE(_itemNum);
+ ods->writeUint16LE(_type);
+ ods->writeUint32LE(_result);
+ ods->writeUint32LE(static_cast<uint32>(_waiting.size()));
for (unsigned int i = 0; i < _waiting.size(); ++i)
- ods->write2(_waiting[i]);
+ ods->writeUint16LE(_waiting[i]);
}
bool Process::loadData(IDataSource *ids, uint32 version) {
- _pid = ids->read2();
- _flags = ids->read4();
- _itemNum = ids->read2();
- _type = ids->read2();
- _result = ids->read4();
- uint32 waitcount = ids->read4();
+ _pid = ids->readUint16LE();
+ _flags = ids->readUint32LE();
+ _itemNum = ids->readUint16LE();
+ _type = ids->readUint16LE();
+ _result = ids->readUint32LE();
+ uint32 waitcount = ids->readUint32LE();
_waiting.resize(waitcount);
for (unsigned int i = 0; i < waitcount; ++i)
- _waiting[i] = ids->read2();
+ _waiting[i] = ids->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/misc/id_man.cpp b/engines/ultima/ultima8/misc/id_man.cpp
index 2ae2d2552f..da9ee898b6 100644
--- a/engines/ultima/ultima8/misc/id_man.cpp
+++ b/engines/ultima/ultima8/misc/id_man.cpp
@@ -184,25 +184,25 @@ void idMan::clearID(uint16 id) {
}
void idMan::save(ODataSource *ods) {
- ods->write2(_begin);
- ods->write2(_end);
- ods->write2(_maxEnd);
- ods->write2(_startCount);
- ods->write2(_usedCount);
+ ods->writeUint16LE(_begin);
+ ods->writeUint16LE(_end);
+ ods->writeUint16LE(_maxEnd);
+ ods->writeUint16LE(_startCount);
+ ods->writeUint16LE(_usedCount);
uint16 cur = _first;
while (cur) {
- ods->write2(cur);
+ ods->writeUint16LE(cur);
cur = _ids[cur];
}
- ods->write2(0); // terminator
+ ods->writeUint16LE(0); // terminator
}
bool idMan::load(IDataSource *ds, uint32 version) {
- _begin = ds->read2();
- _end = ds->read2();
- _maxEnd = ds->read2();
- _startCount = ds->read2();
- uint16 realusedcount = ds->read2();
+ _begin = ds->readUint16LE();
+ _end = ds->readUint16LE();
+ _maxEnd = ds->readUint16LE();
+ _startCount = ds->readUint16LE();
+ uint16 realusedcount = ds->readUint16LE();
_ids.resize(_end + 1);
@@ -211,10 +211,10 @@ bool idMan::load(IDataSource *ds, uint32 version) {
}
_first = _last = 0;
- uint16 cur = ds->read2();
+ uint16 cur = ds->readUint16LE();
while (cur) {
clearID(cur);
- cur = ds->read2();
+ cur = ds->readUint16LE();
}
_usedCount = realusedcount;
diff --git a/engines/ultima/ultima8/ultima8.cpp b/engines/ultima/ultima8/ultima8.cpp
index 609393251c..d099bf4d08 100644
--- a/engines/ultima/ultima8/ultima8.cpp
+++ b/engines/ultima/ultima8/ultima8.cpp
@@ -914,17 +914,17 @@ void Ultima8Engine::writeSaveInfo(ODataSource *ods) {
TimeDate timeInfo;
g_system->getTimeAndDate(timeInfo);
- ods->write2(static_cast<uint16>(timeInfo.tm_year + 1900));
- ods->write1(static_cast<uint8>(timeInfo.tm_mon + 1));
- ods->write1(static_cast<uint8>(timeInfo.tm_mday));
- ods->write1(static_cast<uint8>(timeInfo.tm_hour));
- ods->write1(static_cast<uint8>(timeInfo.tm_min));
- ods->write1(static_cast<uint8>(timeInfo.tm_sec));
- ods->write4(_saveCount);
- ods->write4(getGameTimeInSeconds());
+ 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());
uint8 c = (_hasCheated ? 1 : 0);
- ods->write1(c);
+ ods->writeByte(c);
// write _game-specific info
_game->writeSaveInfo(ods);
@@ -1379,49 +1379,49 @@ uint32 Ultima8Engine::getGameTimeInSeconds() {
void Ultima8Engine::save(ODataSource *ods) {
uint8 s = (_avatarInStasis ? 1 : 0);
- ods->write1(s);
+ ods->writeByte(s);
int32 absoluteTime = Kernel::get_instance()->getFrameNum() + _timeOffset;
- ods->write4(static_cast<uint32>(absoluteTime));
- ods->write2(_avatarMoverProcess->getPid());
+ ods->writeUint32LE(static_cast<uint32>(absoluteTime));
+ ods->writeUint16LE(_avatarMoverProcess->getPid());
Palette *pal = PaletteManager::get_instance()->getPalette(PaletteManager::Pal_Game);
- for (int i = 0; i < 12; i++) ods->write2(pal->_matrix[i]);
- ods->write2(pal->_transform);
+ for (int i = 0; i < 12; i++) ods->writeUint16LE(pal->_matrix[i]);
+ ods->writeUint16LE(pal->_transform);
- ods->write2(static_cast<uint16>(_inversion));
+ ods->writeUint16LE(static_cast<uint16>(_inversion));
- ods->write4(_saveCount);
+ ods->writeUint32LE(_saveCount);
uint8 c = (_hasCheated ? 1 : 0);
- ods->write1(c);
+ ods->writeByte(c);
}
bool Ultima8Engine::load(IDataSource *ids, uint32 version) {
- _avatarInStasis = (ids->read1() != 0);
+ _avatarInStasis = (ids->readByte() != 0);
// no gump should be moused over after load
_mouse->resetMouseOverGump();
- int32 absoluteTime = static_cast<int32>(ids->read4());
+ int32 absoluteTime = static_cast<int32>(ids->readUint32LE());
_timeOffset = absoluteTime - Kernel::get_instance()->getFrameNum();
- uint16 amppid = ids->read2();
+ uint16 amppid = ids->readUint16LE();
_avatarMoverProcess = p_dynamic_cast<AvatarMoverProcess *>(Kernel::get_instance()->getProcess(amppid));
int16 matrix[12];
for (int i = 0; i < 12; i++)
- matrix[i] = ids->read2();
+ matrix[i] = ids->readUint16LE();
PaletteManager::get_instance()->transformPalette(PaletteManager::Pal_Game, matrix);
Palette *pal = PaletteManager::get_instance()->getPalette(PaletteManager::Pal_Game);
- pal->_transform = static_cast<PalTransforms>(ids->read2());
+ pal->_transform = static_cast<PalTransforms>(ids->readUint16LE());
- _inversion = ids->read2();
+ _inversion = ids->readUint16LE();
- _saveCount = ids->read4();
+ _saveCount = ids->readUint32LE();
- _hasCheated = (ids->read1() != 0);
+ _hasCheated = (ids->readByte() != 0);
return true;
}
diff --git a/engines/ultima/ultima8/usecode/bit_set.cpp b/engines/ultima/ultima8/usecode/bit_set.cpp
index ea8e3f9568..6dcf0cdb3b 100644
--- a/engines/ultima/ultima8/usecode/bit_set.cpp
+++ b/engines/ultima/ultima8/usecode/bit_set.cpp
@@ -116,12 +116,12 @@ void BitSet::setBits(unsigned int pos, unsigned int n, uint32 bits) {
}
void BitSet::save(ODataSource *ods) {
- ods->write4(_size);
+ ods->writeUint32LE(_size);
ods->write(_data, _bytes);
}
bool BitSet::load(IDataSource *ids, uint32 version) {
- uint32 s = ids->read4();
+ uint32 s = ids->readUint32LE();
setSize(s);
ids->read(_data, _bytes);
diff --git a/engines/ultima/ultima8/usecode/uc_list.cpp b/engines/ultima/ultima8/usecode/uc_list.cpp
index e54e48b1ed..ce0d4344d2 100644
--- a/engines/ultima/ultima8/usecode/uc_list.cpp
+++ b/engines/ultima/ultima8/usecode/uc_list.cpp
@@ -117,15 +117,15 @@ void UCList::removeString(uint16 s, bool nodel) {
}
void UCList::save(ODataSource *ods) {
- ods->write4(_elementSize);
- ods->write4(_size);
+ ods->writeUint32LE(_elementSize);
+ ods->writeUint32LE(_size);
ods->write(&(_elements[0]), _size * _elementSize);
}
bool UCList::load(IDataSource *ids, uint32 version) {
- _elementSize = ids->read4();
- _size = ids->read4();
+ _elementSize = ids->readUint32LE();
+ _size = ids->readUint32LE();
_elements.resize(_size * _elementSize);
ids->read(&(_elements[0]), _size * _elementSize);
diff --git a/engines/ultima/ultima8/usecode/uc_machine.cpp b/engines/ultima/ultima8/usecode/uc_machine.cpp
index 8b4d4719b8..5282b515e9 100644
--- a/engines/ultima/ultima8/usecode/uc_machine.cpp
+++ b/engines/ultima/ultima8/usecode/uc_machine.cpp
@@ -155,7 +155,7 @@ void UCMachine::execProcess(UCProcess *p) {
//! guard against reading past end of class
//! guard against other error conditions
- uint8 opcode = cs.read1();
+ uint8 opcode = cs.readByte();
#ifdef DEBUG
uint16 trace_classid = p->_classId;
@@ -179,7 +179,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x00:
// 00 xx
// pop 16 bit int, and assign LS 8 bit int into bp+xx
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
ui16a = p->_stack.pop2();
p->_stack.assign1(p->_bp + si8a, static_cast<uint8>(ui16a));
LOGPF(("pop byte\t%s = %02Xh\n", print_bp(si8a), ui16a));
@@ -188,7 +188,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x01:
// 01 xx
// pop 16 bit int into bp+xx
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
ui16a = p->_stack.pop2();
p->_stack.assign2(p->_bp + si8a, ui16a);
LOGPF(("pop\t\t%s = %04Xh\n", print_bp(si8a), ui16a));
@@ -197,7 +197,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x02:
// 02 xx
// pop 32 bit int into bp+xx
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
ui32a = p->_stack.pop4();
p->_stack.assign4(p->_bp + si8a, ui32a);
LOGPF(("pop dword\t%s = %08Xh\n", print_bp(si8a), ui32a));
@@ -207,8 +207,8 @@ void UCMachine::execProcess(UCProcess *p) {
// 03 xx yy
// pop yy bytes into bp+xx
{
- si8a = static_cast<int8>(cs.read1());
- uint8 size = cs.read1();
+ si8a = static_cast<int8>(cs.readByte());
+ uint8 size = cs.readByte();
uint8 buf[256];
p->_stack.pop(buf, size);
p->_stack.assign(p->_bp + si8a, buf, size);
@@ -230,9 +230,9 @@ void UCMachine::execProcess(UCProcess *p) {
// 09 xx yy zz
// pop yy bytes into an element of list bp+xx (or slist if zz set)
{
- si8a = static_cast<int8>(cs.read1());
- ui32a = cs.read1();
- si8b = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
+ ui32a = cs.readByte();
+ si8b = static_cast<int8>(cs.readByte());
LOGPF(("assign element\t%s (%02X) (slist==%02X)\n",
print_bp(si8a), ui32a, si8b));
ui16a = p->_stack.pop2() - 1; // index
@@ -266,7 +266,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x0A:
// 0A xx
// push sign-extended 8 bit xx onto the stack as 16 bit
- ui16a = static_cast<int8>(cs.read1());
+ ui16a = static_cast<int8>(cs.readByte());
p->_stack.push2(ui16a);
LOGPF(("push byte\t%04Xh\n", ui16a));
break;
@@ -274,7 +274,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x0B:
// 0B xx xx
// push 16 bit xxxx onto the stack
- ui16a = cs.read2();
+ ui16a = cs.readUint16LE();
p->_stack.push2(ui16a);
LOGPF(("push\t\t%04Xh\n", ui16a));
break;
@@ -282,7 +282,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x0C:
// 0C xx xx xx xx
// push 32 bit xxxxxxxx onto the stack
- ui32a = cs.read4();
+ ui32a = cs.readUint32LE();
p->_stack.push4(ui32a);
LOGPF(("push dword\t%08Xh\n", ui32a));
break;
@@ -291,7 +291,7 @@ void UCMachine::execProcess(UCProcess *p) {
// 0D xx xx yy ... yy 00
// push string (yy ... yy) of length xx xx onto the stack
{
- ui16a = cs.read2();
+ ui16a = cs.readUint16LE();
char *str = new char[ui16a + 1];
cs.read(str, ui16a);
str[ui16a] = 0;
@@ -307,7 +307,7 @@ void UCMachine::execProcess(UCProcess *p) {
LOGPF(("push string\t\"%s\"\n", str));
- ui16b = cs.read1();
+ ui16b = cs.readByte();
if (ui16b != 0) {
perr << "Zero terminator missing in push string"
<< Std::endl;
@@ -323,8 +323,8 @@ void UCMachine::execProcess(UCProcess *p) {
// pop yy values of size xx and push the resulting list
// (list is created in reverse order)
{
- ui16a = cs.read1();
- ui16b = cs.read1();
+ ui16a = cs.readByte();
+ ui16b = cs.readByte();
UCList *l = new UCList(ui16a, ui16b);
p->_stack.addSP(ui16a * (ui16b - 1));
for (unsigned int i = 0; i < ui16b; i++) {
@@ -347,8 +347,8 @@ void UCMachine::execProcess(UCProcess *p) {
// NB: do not actually pop these argument bytes
{
//! TODO
- uint16 arg_bytes = cs.read1();
- uint16 func = cs.read2();
+ uint16 arg_bytes = cs.readByte();
+ uint16 func = cs.readUint16LE();
debug(MM_INFO, "calli\t\t%04Xh (%02Xh arg bytes) %s \n", func, arg_bytes, _convUse->intrinsics()[func]);
// !constants
@@ -391,15 +391,15 @@ void UCMachine::execProcess(UCProcess *p) {
// Crusader:
// call function number yy yy of class xx xx
{
- uint16 new_classid = cs.read2();
- uint16 new_offset = cs.read2();
+ uint16 new_classid = cs.readUint16LE();
+ uint16 new_offset = cs.readUint16LE();
LOGPF(("call\t\t%04X:%04X\n", new_classid, new_offset));
if (GAME_IS_CRUSADER) {
new_offset = p->_usecode->get_class_event(new_classid,
new_offset);
}
- p->_ip = static_cast<uint16>(cs.getPos()); // Truncates!!
+ p->_ip = static_cast<uint16>(cs.pos()); // Truncates!!
p->call(new_classid, new_offset);
// Update the code segment
@@ -508,7 +508,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x19:
// 19 02
// add two stringlists, removing duplicates
- ui32a = cs.read1();
+ ui32a = cs.readByte();
if (ui32a != 2) {
perr << "Unhandled operand " << ui32a << " to union slist"
<< Std::endl;
@@ -527,7 +527,7 @@ void UCMachine::execProcess(UCProcess *p) {
// substract string list
// NB: this one takes a length parameter in crusader. (not in U8)!!
// (or rather, it seems it takes one after all? -wjp,20030511)
- ui32a = cs.read1(); // elementsize
+ ui32a = cs.readByte(); // elementsize
ui32a = 2;
ui16a = p->_stack.pop2();
ui16b = p->_stack.pop2();
@@ -542,7 +542,7 @@ void UCMachine::execProcess(UCProcess *p) {
// pop two lists from the stack and remove the 2nd from the 1st
// (free the originals? order?)
// only occurs in crusader.
- ui32a = cs.read1(); // elementsize
+ ui32a = cs.readByte(); // elementsize
ui16a = p->_stack.pop2();
ui16b = p->_stack.pop2();
getList(ui16b)->substractList(*getList(ui16a));
@@ -902,8 +902,8 @@ void UCMachine::execProcess(UCProcess *p) {
// is element (size xx) in list? (or slist if yy is true)
// free list/slist afterwards
- ui16a = cs.read1();
- ui32a = cs.read1();
+ ui16a = cs.readByte();
+ ui32a = cs.readByte();
ui16b = p->_stack.pop2();
if (ui32a) { // stringlist
if (ui16a != 2) {
@@ -979,7 +979,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x3E:
// 3E xx
// push the value of the unsigned 8 bit local var xx as 16 bit int
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
ui16a = p->_stack.access1(p->_bp + si8a);
p->_stack.push2(ui16a);
LOGPF(("push byte\t%s = %02Xh\n", print_bp(si8a), ui16a));
@@ -988,7 +988,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x3F:
// 3F xx
// push the value of the 16 bit local var xx
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
ui16a = p->_stack.access2(p->_bp + si8a);
p->_stack.push2(ui16a);
LOGPF(("push\t\t%s = %04Xh\n", print_bp(si8a), ui16a));
@@ -997,7 +997,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x40:
// 40 xx
// push the value of the 32 bit local var xx
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
ui32a = p->_stack.access4(p->_bp + si8a);
p->_stack.push4(ui32a);
LOGPF(("push dword\t%s = %08Xh\n", print_bp(si8a), ui32a));
@@ -1008,7 +1008,7 @@ void UCMachine::execProcess(UCProcess *p) {
// push the string local var xx
// duplicating the string?
{
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
ui16a = p->_stack.access2(p->_bp + si8a);
p->_stack.push2(duplicateString(ui16a));
LOGPF(("push string\t%s\n", print_bp(si8a)));
@@ -1020,8 +1020,8 @@ void UCMachine::execProcess(UCProcess *p) {
// push the list (with yy size elements) at BP+xx
// duplicating the list?
{
- si8a = static_cast<int8>(cs.read1());
- ui16a = cs.read1();
+ si8a = static_cast<int8>(cs.readByte());
+ ui16a = cs.readByte();
ui16b = p->_stack.access2(p->_bp + si8a);
UCList *l = new UCList(ui16a);
if (getList(ui16b)) {
@@ -1044,8 +1044,8 @@ void UCMachine::execProcess(UCProcess *p) {
// push the stringlist local var xx
// duplicating the list, duplicating the strings in the list
{
- si8a = static_cast<int8>(cs.read1());
-//!U8 ui16a = cs.read1();
+ si8a = static_cast<int8>(cs.readByte());
+//!U8 ui16a = cs.readByte();
ui16a = 2;
ui16b = p->_stack.access2(p->_bp + si8a);
UCList *l = new UCList(ui16a);
@@ -1073,8 +1073,8 @@ void UCMachine::execProcess(UCProcess *p) {
// in two places in U8: once it pops into temp afterwards,
// once it is indeed freed. So, guessing we should duplicate.
{
- ui32a = cs.read1();
- ui32b = cs.read1();
+ ui32a = cs.readByte();
+ ui32b = cs.readByte();
ui16a = p->_stack.pop2() - 1; // index
ui16b = p->_stack.pop2(); // list
UCList *l = getList(ui16b);
@@ -1104,8 +1104,8 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x45:
// 45 xx yy
// push huge of size yy from BP+xx
- si8a = static_cast<int8>(cs.read1());
- ui16b = cs.read1();
+ si8a = static_cast<int8>(cs.readByte());
+ ui16b = cs.readByte();
p->_stack.push(p->_stack.access(p->_bp + si8a), ui16b);
LOGPF(("push huge\t%s %02X\n", print_bp(si8a), ui16b));
break;
@@ -1113,7 +1113,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x4B:
// 4B xx
// push 32 bit pointer address of BP+XX
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
p->_stack.push4(stackToPtr(p->_pid, p->_bp + si8a));
LOGPF(("push addr\t%s\n", print_bp(si8a)));
break;
@@ -1124,7 +1124,7 @@ void UCMachine::execProcess(UCProcess *p) {
// pops a 32 bit pointer off the stack and pushes xx bytes
// from the location referenced by the pointer
{
- ui16a = cs.read1();
+ ui16a = cs.readByte();
ui32a = p->_stack.pop4();
p->_stack.addSP(-ui16a);
@@ -1148,7 +1148,7 @@ void UCMachine::execProcess(UCProcess *p) {
// pops a 32 bit pointer off the stack and pushes xx bytes
// from the location referenced by the pointer
{
- ui16a = cs.read1();
+ ui16a = cs.readByte();
ui32a = p->_stack.pop4();
if (assignPointer(ui32a, p->_stack.access(), ui16a)) {
@@ -1164,8 +1164,8 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x4E:
// 4E xx xx yy
// push global xxxx size yy bits
- ui16a = cs.read2();
- ui16b = cs.read1();
+ ui16a = cs.readUint16LE();
+ ui16b = cs.readByte();
// TODO: get flagname for output?
ui32a = _globals->getBits(ui16a, ui16b);
@@ -1176,8 +1176,8 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x4F:
// 4F xx xx yy
// pop value into global xxxx size yy bits
- ui16a = cs.read2();
- ui16b = cs.read1();
+ ui16a = cs.readUint16LE();
+ ui16b = cs.readByte();
// TODO: get flagname for output?
ui32a = p->_stack.pop2();
_globals->setBits(ui16a, ui16b, ui32a);
@@ -1222,26 +1222,26 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x51:
// 51 xx xx
// relative jump to xxxx if false
- si16a = static_cast<int16>(cs.read2());
+ si16a = static_cast<int16>(cs.readUint16LE());
ui16b = p->_stack.pop2();
if (!ui16b) {
- ui16a = cs.getPos() + si16a;
+ ui16a = cs.pos() + si16a;
cs.seek(ui16a);
LOGPF(("jne\t\t%04hXh\t(to %04X) (taken)\n", si16a,
- cs.getPos()));
+ cs.pos()));
} else {
LOGPF(("jne\t\t%04hXh\t(to %04X) (not taken)\n", si16a,
- cs.getPos()));
+ cs.pos()));
}
break;
case 0x52:
// 52 xx xx
// relative jump to xxxx
- si16a = static_cast<int16>(cs.read2());
- ui16a = cs.getPos() + si16a;
+ si16a = static_cast<int16>(cs.readUint16LE());
+ ui16a = cs.pos() + si16a;
cs.seek(ui16a);
- LOGPF(("jmp\t\t%04hXh\t(to %04X)\n", si16a, cs.getPos()));
+ LOGPF(("jmp\t\t%04hXh\t(to %04X)\n", si16a, cs.pos()));
break;
case 0x53:
@@ -1273,7 +1273,7 @@ void UCMachine::execProcess(UCProcess *p) {
// an 'implies'
{
- cs.read2(); // skip the 01 01
+ cs.readUint16LE(); // skip the 01 01
ui16a = p->_stack.pop2();
ui16b = p->_stack.pop2();
p->_stack.push2(ui16a); //!! which _pid do we need to push!?
@@ -1313,10 +1313,10 @@ void UCMachine::execProcess(UCProcess *p) {
// only remove the this pointer from stack (4 bytes)
// put PID of spawned process in temp
{
- int arg_bytes = cs.read1();
- int this_size = cs.read1();
- uint16 classid = cs.read2();
- uint16 offset = cs.read2();
+ int arg_bytes = cs.readByte();
+ int this_size = cs.readByte();
+ uint16 classid = cs.readUint16LE();
+ uint16 offset = cs.readUint16LE();
uint32 thisptr = p->_stack.pop4();
@@ -1361,11 +1361,11 @@ void UCMachine::execProcess(UCProcess *p) {
// uu = unknown (occurring values: 00, 02, 05)
{
- uint16 classid = cs.read2();
- uint16 offset = cs.read2();
- uint16 delta = cs.read2();
- int this_size = cs.read1();
- int unknown = cs.read1(); // ??
+ uint16 classid = cs.readUint16LE();
+ uint16 offset = cs.readUint16LE();
+ uint16 delta = cs.readUint16LE();
+ int this_size = cs.readByte();
+ int unknown = cs.readByte(); // ??
debug(MM_INFO, "spawn inline\t%04X:%04X+%04X=%04X %02X %02X\n",
classid, offset, delta, offset + delta, this_size, unknown);
@@ -1406,7 +1406,7 @@ void UCMachine::execProcess(UCProcess *p) {
// 5A xx
// init function. xx = local var size
// sets xx bytes on stack to 0, moving sp
- ui16a = cs.read1();
+ ui16a = cs.readByte();
LOGPF(("init\t\t%02X\n", ui16a));
if (ui16a & 1) ui16a++; // 16-bit align
@@ -1458,7 +1458,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x62:
// 62 xx
// free the string in var BP+xx
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
ui16a = p->_stack.access2(p->_bp + si8a);
freeString(ui16a);
LOGPF(("free string\t%s = %04X\n", print_bp(si8a), ui16a));
@@ -1467,7 +1467,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x63:
// 63 xx
// free the stringlist in var BP+xx
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
ui16a = p->_stack.access2(p->_bp + si8a);
freeStringList(ui16a);
LOGPF(("free slist\t%s = %04X\n", print_bp(si8a), ui16a));
@@ -1476,7 +1476,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x64:
// 64 xx
// free the list in var BP+xx
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
ui16a = p->_stack.access2(p->_bp + si8a);
freeList(ui16a);
LOGPF(("free list\t%s = %04X\n", print_bp(si8a), ui16a));
@@ -1487,7 +1487,7 @@ void UCMachine::execProcess(UCProcess *p) {
// free the string at SP+xx
// NB: sometimes there's a 32-bit string pointer at SP+xx
// However, the low word of this is exactly the 16bit ref
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
ui16a = p->_stack.access2(p->_stack.getSP() + si8a);
freeString(ui16a);
LOGPF(("free string\t%s = %04X\n", print_sp(si8a), ui16a));
@@ -1496,7 +1496,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x66:
// 66 xx
// free the list at SP+xx
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
ui16a = p->_stack.access2(p->_stack.getSP() + si8a);
freeList(ui16a);
LOGPF(("free list\t%s = %04X\n", print_sp(si8a), ui16a));
@@ -1505,7 +1505,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x67:
// 67 xx
// free the string list at SP+xx
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
ui16a = p->_stack.access2(p->_stack.getSP() + si8a);
freeStringList(ui16a);
LOGPF(("free slist\t%s = %04x\n", print_sp(si8a), ui16a));
@@ -1514,7 +1514,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x69:
// 69 xx
// push the string in var BP+xx as 32 bit pointer
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
ui16a = p->_stack.access2(p->_bp + si8a);
p->_stack.push4(stringToPtr(ui16a));
LOGPF(("str to ptr\t%s\n", print_bp(si8a)));
@@ -1533,8 +1533,8 @@ void UCMachine::execProcess(UCProcess *p) {
// yy = type (01 = string, 02 = slist, 03 = list)
// copy the (string/slist/list) in BP+xx to the current process,
// and add it to the "Free Me" list of the process
- si8a = cs.read1(); // index
- ui8a = cs.read1(); // type
+ si8a = cs.readByte(); // index
+ ui8a = cs.readByte(); // type
LOGPF(("param _pid chg\t%s, type=%u\n", print_bp(si8a), ui8a));
ui16a = p->_stack.access2(p->_bp + si8a);
@@ -1580,7 +1580,7 @@ void UCMachine::execProcess(UCProcess *p) {
// 6E xx
// substract xx from stack pointer
// (effect on SP is the same as popping xx bytes)
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
p->_stack.addSP(-si8a);
LOGPF(("move sp\t\t%s%02Xh\n", si8a < 0 ? "-" : "", si8a < 0 ? -si8a : si8a));
break;
@@ -1589,7 +1589,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x6F:
// 6F xx
// push 32 pointer address of SP-xx
- si8a = static_cast<int8>(cs.read1());
+ si8a = static_cast<int8>(cs.readByte());
p->_stack.push4(stackToPtr(p->_pid, static_cast<uint16>(p->_stack.getSP() - si8a)));
LOGPF(("push addr\t%s\n", print_sp(-si8a)));
break;
@@ -1612,8 +1612,8 @@ void UCMachine::execProcess(UCProcess *p) {
// zz == type
{
si16a = cs.readXS(1);
- uint32 scriptsize = cs.read1();
- uint32 searchtype = cs.read1();
+ uint32 scriptsize = cs.readByte();
+ uint32 searchtype = cs.readByte();
ui16a = p->_stack.pop2();
ui16b = p->_stack.pop2();
@@ -1802,7 +1802,7 @@ void UCMachine::execProcess(UCProcess *p) {
case 0x74:
// 74 xx
// add xx to the current 'loopscript'
- ui8a = cs.read1();
+ ui8a = cs.readByte();
p->_stack.push1(ui8a);
LOGPF(("loopscr\t\t%02X \"%c\"\n", ui8a, static_cast<char>(ui8a)));
break;
@@ -1848,9 +1848,9 @@ void UCMachine::execProcess(UCProcess *p) {
// Strings are _not_ duplicated when putting them in the loopvar
// Lists _are_ freed afterwards
- si8a = cs.read1(); // loop variable
- ui32a = cs.read1(); // list size
- si16a = cs.read2(); // jump offset
+ si8a = cs.readByte(); // loop variable
+ ui32a = cs.readByte(); // list size
+ si16a = cs.readUint16LE(); // jump offset
ui16a = p->_stack.access2(p->_stack.getSP()); // Loop index
ui16b = p->_stack.access2(p->_stack.getSP() + 2); // Loop list
@@ -1884,7 +1884,7 @@ void UCMachine::execProcess(UCProcess *p) {
p->_stack.addSP(4); // Pop list and counter
// jump out
- ui16a = cs.getPos() + si16a;
+ ui16a = cs.pos() + si16a;
cs.seek(ui16a);
} else {
// loop iteration
@@ -1953,7 +1953,7 @@ void UCMachine::execProcess(UCProcess *p) {
// write back IP (but preserve IP if there was an error)
if (!error)
- p->_ip = static_cast<uint16>(cs.getPos()); // TRUNCATES!
+ p->_ip = static_cast<uint16>(cs.pos()); // TRUNCATES!
// check if we suspended ourselves
if ((p->_flags & Process::PROC_SUSPENDED) != 0)
@@ -2237,23 +2237,23 @@ void UCMachine::saveGlobals(ODataSource *ods) {
void UCMachine::saveStrings(ODataSource *ods) {
_stringIDs->save(ods);
- ods->write4(static_cast<uint32>(_stringHeap.size()));
+ ods->writeUint32LE(static_cast<uint32>(_stringHeap.size()));
Std::map<uint16, Std::string>::iterator iter;
for (iter = _stringHeap.begin(); iter != _stringHeap.end(); ++iter) {
- ods->write2((*iter)._key);
- ods->write4((*iter)._value.size());
+ ods->writeUint16LE((*iter)._key);
+ ods->writeUint32LE((*iter)._value.size());
ods->write((*iter)._value.c_str(), (*iter)._value.size());
}
}
void UCMachine::saveLists(ODataSource *ods) {
_listIDs->save(ods);
- ods->write4(_listHeap.size());
+ ods->writeUint32LE(_listHeap.size());
Std::map<uint16, UCList *>::iterator iter;
for (iter = _listHeap.begin(); iter != _listHeap.end(); ++iter) {
- ods->write2((*iter)._key);
+ ods->writeUint16LE((*iter)._key);
(*iter)._value->save(ods);
}
}
@@ -2265,10 +2265,10 @@ bool UCMachine::loadGlobals(IDataSource *ids, uint32 version) {
bool UCMachine::loadStrings(IDataSource *ids, uint32 version) {
if (!_stringIDs->load(ids, version)) return false;
- uint32 stringcount = ids->read4();
+ uint32 stringcount = ids->readUint32LE();
for (unsigned int i = 0; i < stringcount; ++i) {
- uint16 sid = ids->read2();
- uint32 len = ids->read4();
+ uint16 sid = ids->readUint16LE();
+ uint32 len = ids->readUint32LE();
if (len) {
char *buf = new char[len + 1];
ids->read(buf, len);
@@ -2286,9 +2286,9 @@ bool UCMachine::loadStrings(IDataSource *ids, uint32 version) {
bool UCMachine::loadLists(IDataSource *ids, uint32 version) {
if (!_listIDs->load(ids, version)) return false;
- uint32 listcount = ids->read4();
+ uint32 listcount = ids->readUint32LE();
for (unsigned int i = 0; i < listcount; ++i) {
- uint16 lid = ids->read2();
+ uint16 lid = ids->readUint16LE();
UCList *l = new UCList(2); // the "2" will be ignored by load()
bool ret = l->load(ids, version);
if (!ret) return false;
diff --git a/engines/ultima/ultima8/usecode/uc_process.cpp b/engines/ultima/ultima8/usecode/uc_process.cpp
index 8c9b7b2303..bdfe83906e 100644
--- a/engines/ultima/ultima8/usecode/uc_process.cpp
+++ b/engines/ultima/ultima8/usecode/uc_process.cpp
@@ -163,15 +163,15 @@ void UCProcess::dumpInfo() const {
void UCProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write2(_bp);
- ods->write2(_classId);
- ods->write2(_ip);
- ods->write4(_temp32);
- ods->write4(static_cast<uint32>(_freeOnTerminate.size()));
+ ods->writeUint16LE(_bp);
+ ods->writeUint16LE(_classId);
+ ods->writeUint16LE(_ip);
+ ods->writeUint32LE(_temp32);
+ ods->writeUint32LE(static_cast<uint32>(_freeOnTerminate.size()));
Std::list<Std::pair<uint16, int> >::iterator iter;
for (iter = _freeOnTerminate.begin(); iter != _freeOnTerminate.end(); ++iter) {
- ods->write2(iter->first);
- ods->write4(static_cast<uint32>(iter->second));
+ ods->writeUint16LE(iter->first);
+ ods->writeUint32LE(static_cast<uint32>(iter->second));
}
_stack.save(ods);
}
@@ -179,15 +179,15 @@ void UCProcess::saveData(ODataSource *ods) {
bool UCProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _bp = ids->read2();
- _classId = ids->read2();
- _ip = ids->read2();
- _temp32 = ids->read4();
- uint32 freecount = ids->read4();
+ _bp = ids->readUint16LE();
+ _classId = ids->readUint16LE();
+ _ip = ids->readUint16LE();
+ _temp32 = ids->readUint32LE();
+ uint32 freecount = ids->readUint32LE();
for (unsigned int i = 0; i < freecount; ++i) {
Std::pair<uint16, int> p;
- p.first = ids->read2();
- p.second = static_cast<int>(ids->read4());
+ p.first = ids->readUint16LE();
+ p.second = static_cast<int>(ids->readUint32LE());
_freeOnTerminate.push_back(p);
}
_stack.load(ids, version);
diff --git a/engines/ultima/ultima8/usecode/uc_stack.cpp b/engines/ultima/ultima8/usecode/uc_stack.cpp
index 88824ad143..3506e61f9e 100644
--- a/engines/ultima/ultima8/usecode/uc_stack.cpp
+++ b/engines/ultima/ultima8/usecode/uc_stack.cpp
@@ -29,14 +29,14 @@ namespace Ultima {
namespace Ultima8 {
void UCStack::save(ODataSource *ods) {
- ods->write4(_size);
- ods->write4(getSP());
+ ods->writeUint32LE(_size);
+ ods->writeUint32LE(getSP());
ods->write(_bufPtr, stacksize());
}
bool UCStack::load(IDataSource *ids, uint32 version) {
- _size = ids->read4();
+ _size = ids->readUint32LE();
#ifdef USE_DYNAMIC_UCSTACK
if (_buf) delete[] _buf;
_buf = new uint8[_size];
@@ -47,7 +47,7 @@ bool UCStack::load(IDataSource *ids, uint32 version) {
}
_buf = _bufArray;
#endif
- uint32 sp = ids->read4();
+ uint32 sp = ids->readUint32LE();
_bufPtr = _buf + sp;
ids->read(_bufPtr, _size - sp);
diff --git a/engines/ultima/ultima8/world/actors/actor.cpp b/engines/ultima/ultima8/world/actors/actor.cpp
index 03fefebfb0..ab0ab880cb 100644
--- a/engines/ultima/ultima8/world/actors/actor.cpp
+++ b/engines/ultima/ultima8/world/actors/actor.cpp
@@ -1075,37 +1075,37 @@ void Actor::dumpInfo() const {
void Actor::saveData(ODataSource *ods) {
Container::saveData(ods);
- ods->write2(_strength);
- ods->write2(_dexterity);
- ods->write2(_intelligence);
- ods->write2(_hitPoints);
- ods->write2(_mana);
- ods->write2(_alignment);
- ods->write2(_enemyAlignment);
- ods->write2(_lastAnim);
- ods->write2(_animFrame);
- ods->write2(_direction);
- ods->write4(_fallStart);
- ods->write4(_actorFlags);
- ods->write1(_unk0C);
+ 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);
}
bool Actor::loadData(IDataSource *ids, uint32 version) {
if (!Container::loadData(ids, version)) return false;
- _strength = static_cast<int16>(ids->read2());
- _dexterity = static_cast<int16>(ids->read2());
- _intelligence = static_cast<int16>(ids->read2());
- _hitPoints = ids->read2();
- _mana = static_cast<int16>(ids->read2());
- _alignment = ids->read2();
- _enemyAlignment = ids->read2();
- _lastAnim = static_cast<Animation::Sequence>(ids->read2());
- _animFrame = ids->read2();
- _direction = ids->read2();
- _fallStart = ids->read4();
- _actorFlags = ids->read4();
- _unk0C = ids->read1();
+ _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();
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/actor_anim_process.cpp b/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
index 6415d586a4..d60561da3c 100644
--- a/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
+++ b/engines/ultima/ultima8/world/actors/actor_anim_process.cpp
@@ -635,38 +635,38 @@ void ActorAnimProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
uint8 ff = _firstFrame ? 1 : 0;
- ods->write1(ff);
+ ods->writeByte(ff);
uint8 ab = _animAborted ? 1 : 0;
- ods->write1(ab);
+ ods->writeByte(ab);
uint8 attacked = _attackedSomething ? 1 : 0;
- ods->write1(attacked);
- ods->write1(static_cast<uint8>(_dir));
- ods->write2(static_cast<uint16>(_action));
- ods->write2(static_cast<uint16>(_steps));
- ods->write2(static_cast<uint16>(_repeatCounter));
- ods->write2(static_cast<uint16>(_currentStep));
+ 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));
if (_tracker) {
- ods->write1(1);
+ ods->writeByte(1);
_tracker->save(ods);
} else
- ods->write1(0);
+ ods->writeByte(0);
}
bool ActorAnimProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _firstFrame = (ids->read1() != 0);
- _animAborted = (ids->read1() != 0);
- _attackedSomething = (ids->read1() != 0);
- _dir = ids->read1();
- _action = static_cast<Animation::Sequence>(ids->read2());
- _steps = ids->read2();
- _repeatCounter = ids->read2();
- _currentStep = ids->read2();
+ _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();
assert(_tracker == nullptr);
- if (ids->read1() != 0) {
+ if (ids->readByte() != 0) {
_tracker = new AnimationTracker();
if (!_tracker->load(ids, version))
return false;
diff --git a/engines/ultima/ultima8/world/actors/ambush_process.cpp b/engines/ultima/ultima8/world/actors/ambush_process.cpp
index 1c4246b814..a2f2418fb2 100644
--- a/engines/ultima/ultima8/world/actors/ambush_process.cpp
+++ b/engines/ultima/ultima8/world/actors/ambush_process.cpp
@@ -77,13 +77,13 @@ void AmbushProcess::run() {
void AmbushProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write4(_delayCount);
+ ods->writeUint32LE(_delayCount);
}
bool AmbushProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _delayCount = ids->read4();
+ _delayCount = ids->readUint32LE();
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/animation_tracker.cpp b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
index 414e8df6ad..08d7a1bc5f 100644
--- a/engines/ultima/ultima8/world/actors/animation_tracker.cpp
+++ b/engines/ultima/ultima8/world/actors/animation_tracker.cpp
@@ -560,63 +560,63 @@ void AnimationTracker::getSpeed(int32 &dx, int32 &dy, int32 &dz) const {
void AnimationTracker::save(ODataSource *ods) {
- ods->write4(_startFrame);
- ods->write4(_endFrame);
+ ods->writeUint32LE(_startFrame);
+ ods->writeUint32LE(_endFrame);
uint8 ff = _firstFrame ? 1 : 0;
- ods->write1(ff);
- ods->write4(_currentFrame);
+ ods->writeByte(ff);
+ ods->writeUint32LE(_currentFrame);
- ods->write2(_actor);
- ods->write1(static_cast<uint8>(_dir));
+ ods->writeUint16LE(_actor);
+ ods->writeByte(static_cast<uint8>(_dir));
if (_animAction) {
- ods->write4(_animAction->_shapeNum);
- ods->write4(_animAction->_action);
+ ods->writeUint32LE(_animAction->_shapeNum);
+ ods->writeUint32LE(_animAction->_action);
} else {
- ods->write4(0);
- ods->write4(0);
+ ods->writeUint32LE(0);
+ ods->writeUint32LE(0);
}
- ods->write4(static_cast<uint32>(_prevX));
- ods->write4(static_cast<uint32>(_prevY));
- ods->write4(static_cast<uint32>(_prevZ));
- ods->write4(static_cast<uint32>(_x));
- ods->write4(static_cast<uint32>(_y));
- ods->write4(static_cast<uint32>(_z));
+ 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));
- ods->write2(static_cast<uint16>(_mode));
+ ods->writeUint16LE(static_cast<uint16>(_mode));
if (_mode == TargetMode) {
- ods->write4(static_cast<uint32>(_targetDx));
- ods->write4(static_cast<uint32>(_targetDy));
- ods->write4(static_cast<uint32>(_targetDz));
- ods->write4(static_cast<uint32>(_targetOffGroundLeft));
+ ods->writeUint32LE(static_cast<uint32>(_targetDx));
+ ods->writeUint32LE(static_cast<uint32>(_targetDy));
+ ods->writeUint32LE(static_cast<uint32>(_targetDz));
+ ods->writeUint32LE(static_cast<uint32>(_targetOffGroundLeft));
}
uint8 fs = _firstStep ? 1 : 0;
- ods->write1(fs);
+ ods->writeByte(fs);
uint8 fl = _flipped ? 1 : 0;
- ods->write1(fl);
- ods->write4(_shapeFrame);
+ ods->writeByte(fl);
+ ods->writeUint32LE(_shapeFrame);
uint8 flag = _done ? 1 : 0;
- ods->write1(flag);
+ ods->writeByte(flag);
flag = _blocked ? 1 : 0;
- ods->write1(flag);
+ ods->writeByte(flag);
flag = _unsupported ? 1 : 0;
- ods->write1(flag);
- ods->write2(_hitObject);
+ ods->writeByte(flag);
+ ods->writeUint16LE(_hitObject);
}
bool AnimationTracker::load(IDataSource *ids, uint32 version) {
- _startFrame = ids->read4();
- _endFrame = ids->read4();
- _firstFrame = (ids->read1() != 0);
- _currentFrame = ids->read4();
+ _startFrame = ids->readUint32LE();
+ _endFrame = ids->readUint32LE();
+ _firstFrame = (ids->readByte() != 0);
+ _currentFrame = ids->readUint32LE();
- _actor = ids->read2();
- _dir = ids->read1();
+ _actor = ids->readUint16LE();
+ _dir = ids->readByte();
- uint32 shapenum = ids->read4();
- uint32 action = ids->read4();
+ uint32 shapenum = ids->readUint32LE();
+ uint32 action = ids->readUint32LE();
if (shapenum == 0) {
_animAction = nullptr;
} else {
@@ -625,20 +625,20 @@ bool AnimationTracker::load(IDataSource *ids, uint32 version) {
assert(_animAction);
}
- _prevX = ids->read4();
- _prevY = ids->read4();
- _prevZ = ids->read4();
- _x = ids->read4();
- _y = ids->read4();
- _z = ids->read4();
+ _prevX = ids->readUint32LE();
+ _prevY = ids->readUint32LE();
+ _prevZ = ids->readUint32LE();
+ _x = ids->readUint32LE();
+ _y = ids->readUint32LE();
+ _z = ids->readUint32LE();
- _mode = static_cast<Mode>(ids->read2());
+ _mode = static_cast<Mode>(ids->readUint16LE());
if (_mode == TargetMode) {
- _targetDx = ids->read4();
- _targetDy = ids->read4();
+ _targetDx = ids->readUint32LE();
+ _targetDy = ids->readUint32LE();
if (version >= 5) {
- _targetDz = ids->read4();
- _targetOffGroundLeft = ids->read4();
+ _targetDz = ids->readUint32LE();
+ _targetOffGroundLeft = ids->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->read1() != 0);
- _flipped = (ids->read1() != 0);
- _shapeFrame = ids->read4();
+ _firstStep = (ids->readByte() != 0);
+ _flipped = (ids->readByte() != 0);
+ _shapeFrame = ids->readUint32LE();
- _done = (ids->read1() != 0);
- _blocked = (ids->read1() != 0);
- _unsupported = (ids->read1() != 0);
- _hitObject = ids->read2();
+ _done = (ids->readByte() != 0);
+ _blocked = (ids->readByte() != 0);
+ _unsupported = (ids->readByte() != 0);
+ _hitObject = ids->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp b/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
index e3cdd6474f..2e7e461c53 100644
--- a/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
+++ b/engines/ultima/ultima8/world/actors/avatar_mover_process.cpp
@@ -821,17 +821,17 @@ void AvatarMoverProcess::OnMouseUp(int button) {
void AvatarMoverProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write4(_lastAttack);
- ods->write4(_idleTime);
- ods->write2(static_cast<uint8>(_lastHeadShakeAnim));
+ ods->writeUint32LE(_lastAttack);
+ ods->writeUint32LE(_idleTime);
+ ods->writeUint16LE(static_cast<uint8>(_lastHeadShakeAnim));
}
bool AvatarMoverProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _lastAttack = ids->read4();
- _idleTime = ids->read4();
- _lastHeadShakeAnim = static_cast<Animation::Sequence>(ids->read2());
+ _lastAttack = ids->readUint32LE();
+ _idleTime = ids->readUint32LE();
+ _lastHeadShakeAnim = static_cast<Animation::Sequence>(ids->readUint16LE());
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/combat_process.cpp b/engines/ultima/ultima8/world/actors/combat_process.cpp
index 8548b05e3b..1ff86ccddb 100644
--- a/engines/ultima/ultima8/world/actors/combat_process.cpp
+++ b/engines/ultima/ultima8/world/actors/combat_process.cpp
@@ -332,17 +332,17 @@ void CombatProcess::dumpInfo() const {
void CombatProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write2(_target);
- ods->write2(_fixedTarget);
- ods->write1(static_cast<uint8>(_combatMode));
+ ods->writeUint16LE(_target);
+ ods->writeUint16LE(_fixedTarget);
+ ods->writeByte(static_cast<uint8>(_combatMode));
}
bool CombatProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _target = ids->read2();
- _fixedTarget = ids->read2();
- _combatMode = static_cast<CombatMode>(ids->read1());
+ _target = ids->readUint16LE();
+ _fixedTarget = ids->readUint16LE();
+ _combatMode = static_cast<CombatMode>(ids->readByte());
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/grant_peace_process.cpp b/engines/ultima/ultima8/world/actors/grant_peace_process.cpp
index 505e1a2c2a..467d7bf5b1 100644
--- a/engines/ultima/ultima8/world/actors/grant_peace_process.cpp
+++ b/engines/ultima/ultima8/world/actors/grant_peace_process.cpp
@@ -222,13 +222,13 @@ void GrantPeaceProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
uint8 ht = _haveTarget ? 1 : 0;
- ods->write1(ht);
+ ods->writeByte(ht);
}
bool GrantPeaceProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _haveTarget = (ids->read1() != 0);
+ _haveTarget = (ids->readByte() != 0);
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/heal_process.cpp b/engines/ultima/ultima8/world/actors/heal_process.cpp
index b79b8bf696..1cc5a4b6cf 100644
--- a/engines/ultima/ultima8/world/actors/heal_process.cpp
+++ b/engines/ultima/ultima8/world/actors/heal_process.cpp
@@ -117,15 +117,15 @@ uint32 HealProcess::I_feedAvatar(const uint8 *args, unsigned int /*argsize*/) {
void HealProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write2(_healCounter);
- ods->write2(_hungerCounter);
+ ods->writeUint16LE(_healCounter);
+ ods->writeUint16LE(_hungerCounter);
}
bool HealProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _healCounter = ids->read2();
- _hungerCounter = ids->read2();
+ _healCounter = ids->readUint16LE();
+ _hungerCounter = ids->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/loiter_process.cpp b/engines/ultima/ultima8/world/actors/loiter_process.cpp
index fd0f61dd15..052b1c1108 100644
--- a/engines/ultima/ultima8/world/actors/loiter_process.cpp
+++ b/engines/ultima/ultima8/world/actors/loiter_process.cpp
@@ -107,14 +107,14 @@ void LoiterProcess::run() {
void LoiterProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write4(_count);
+ ods->writeUint32LE(_count);
}
bool LoiterProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
if (version >= 3)
- _count = ids->read4();
+ _count = ids->readUint32LE();
else
_count = 0; // default to loitering indefinitely
diff --git a/engines/ultima/ultima8/world/actors/main_actor.cpp b/engines/ultima/ultima8/world/actors/main_actor.cpp
index ff17bf2312..3b20017141 100644
--- a/engines/ultima/ultima8/world/actors/main_actor.cpp
+++ b/engines/ultima/ultima8/world/actors/main_actor.cpp
@@ -396,29 +396,29 @@ void MainActor::getWeaponOverlay(const WeaponOverlayFrame *&frame_, uint32 &shap
void MainActor::saveData(ODataSource *ods) {
Actor::saveData(ods);
uint8 jt = _justTeleported ? 1 : 0;
- ods->write1(jt);
- ods->write4(_accumStr);
- ods->write4(_accumDex);
- ods->write4(_accumInt);
+ ods->writeByte(jt);
+ ods->writeUint32LE(_accumStr);
+ ods->writeUint32LE(_accumDex);
+ ods->writeUint32LE(_accumInt);
uint8 namelength = static_cast<uint8>(_name.size());
- ods->write1(namelength);
+ ods->writeByte(namelength);
for (unsigned int i = 0; i < namelength; ++i)
- ods->write1(static_cast<uint8>(_name[i]));
+ ods->writeByte(static_cast<uint8>(_name[i]));
}
bool MainActor::loadData(IDataSource *ids, uint32 version) {
if (!Actor::loadData(ids, version)) return false;
- _justTeleported = (ids->read1() != 0);
- _accumStr = static_cast<int32>(ids->read4());
- _accumDex = static_cast<int32>(ids->read4());
- _accumInt = static_cast<int32>(ids->read4());
+ _justTeleported = (ids->readByte() != 0);
+ _accumStr = static_cast<int32>(ids->readUint32LE());
+ _accumDex = static_cast<int32>(ids->readUint32LE());
+ _accumInt = static_cast<int32>(ids->readUint32LE());
- uint8 namelength = ids->read1();
+ uint8 namelength = ids->readByte();
_name.resize(namelength);
for (unsigned int i = 0; i < namelength; ++i)
- _name[i] = ids->read1();
+ _name[i] = ids->readByte();
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/pathfinder_process.cpp b/engines/ultima/ultima8/world/actors/pathfinder_process.cpp
index c08756081a..0e3c0224f3 100644
--- a/engines/ultima/ultima8/world/actors/pathfinder_process.cpp
+++ b/engines/ultima/ultima8/world/actors/pathfinder_process.cpp
@@ -248,35 +248,35 @@ void PathfinderProcess::run() {
void PathfinderProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write2(_targetItem);
- ods->write2(static_cast<uint16>(_targetX));
- ods->write2(static_cast<uint16>(_targetY));
- ods->write2(static_cast<uint16>(_targetZ));
- ods->write1(_hitMode ? 1 : 0);
- ods->write2(static_cast<uint16>(_currentStep));
-
- ods->write2(static_cast<uint16>(_path.size()));
+ 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));
+
+ ods->writeUint16LE(static_cast<uint16>(_path.size()));
for (unsigned int i = 0; i < _path.size(); ++i) {
- ods->write2(static_cast<uint16>(_path[i]._action));
- ods->write2(static_cast<uint16>(_path[i]._direction));
+ ods->writeUint16LE(static_cast<uint16>(_path[i]._action));
+ ods->writeUint16LE(static_cast<uint16>(_path[i]._direction));
}
}
bool PathfinderProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _targetItem = ids->read2();
- _targetX = ids->read2();
- _targetY = ids->read2();
- _targetZ = ids->read2();
- _hitMode = (ids->read1() != 0);
- _currentStep = ids->read2();
+ _targetItem = ids->readUint16LE();
+ _targetX = ids->readUint16LE();
+ _targetY = ids->readUint16LE();
+ _targetZ = ids->readUint16LE();
+ _hitMode = (ids->readByte() != 0);
+ _currentStep = ids->readUint16LE();
- unsigned int pathsize = ids->read2();
+ unsigned int pathsize = ids->readUint16LE();
_path.resize(pathsize);
for (unsigned int i = 0; i < pathsize; ++i) {
- _path[i]._action = static_cast<Animation::Sequence>(ids->read2());
- _path[i]._direction = ids->read2();
+ _path[i]._action = static_cast<Animation::Sequence>(ids->readUint16LE());
+ _path[i]._direction = ids->readUint16LE();
}
return true;
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 915605a094..a89c232bbf 100644
--- a/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp
+++ b/engines/ultima/ultima8/world/actors/quick_avatar_mover_process.cpp
@@ -161,7 +161,7 @@ void QuickAvatarMoverProcess::startMover(int x, int y, int z, int dir) {
void QuickAvatarMoverProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write4(_dir);
+ ods->writeUint32LE(_dir);
// don't save more information. We plan to terminate upon load
}
@@ -169,7 +169,7 @@ bool QuickAvatarMoverProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
// small safety precaution
- _dir = ids->read4();
+ _dir = ids->readUint32LE();
if (_dir < 6)
_amp[_dir] = 0;
else
diff --git a/engines/ultima/ultima8/world/actors/scheduler_process.cpp b/engines/ultima/ultima8/world/actors/scheduler_process.cpp
index 0e716b142f..ae26b0a8d2 100644
--- a/engines/ultima/ultima8/world/actors/scheduler_process.cpp
+++ b/engines/ultima/ultima8/world/actors/scheduler_process.cpp
@@ -83,15 +83,15 @@ void SchedulerProcess::run() {
void SchedulerProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write4(_lastRun);
- ods->write2(_nextActor);
+ ods->writeUint32LE(_lastRun);
+ ods->writeUint16LE(_nextActor);
}
bool SchedulerProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _lastRun = ids->read4();
- _nextActor = ids->read2();
+ _lastRun = ids->readUint32LE();
+ _nextActor = ids->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp b/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
index 8087d15320..00830c25a8 100644
--- a/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
+++ b/engines/ultima/ultima8/world/actors/targeted_anim_process.cpp
@@ -56,18 +56,18 @@ bool TargetedAnimProcess::init() {
void TargetedAnimProcess::saveData(ODataSource *ods) {
ActorAnimProcess::saveData(ods);
- ods->write4(static_cast<uint32>(_x));
- ods->write4(static_cast<uint32>(_y));
- ods->write4(static_cast<uint32>(_z));
+ ods->writeUint32LE(static_cast<uint32>(_x));
+ ods->writeUint32LE(static_cast<uint32>(_y));
+ ods->writeUint32LE(static_cast<uint32>(_z));
}
bool TargetedAnimProcess::loadData(IDataSource *ids, uint32 version) {
if (!ActorAnimProcess::loadData(ids, version)) return false;
- _x = ids->read4();
- _y = ids->read4();
- _z = ids->read4();
+ _x = ids->readUint32LE();
+ _y = ids->readUint32LE();
+ _z = ids->readUint32LE();
return true;
}
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 da1ce96873..39b0d90461 100644
--- a/engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp
+++ b/engines/ultima/ultima8/world/actors/teleport_to_egg_process.cpp
@@ -56,15 +56,15 @@ void TeleportToEggProcess::run() {
void TeleportToEggProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write4(static_cast<uint32>(_mapNum));
- ods->write4(static_cast<uint32>(_teleportId));
+ ods->writeUint32LE(static_cast<uint32>(_mapNum));
+ ods->writeUint32LE(static_cast<uint32>(_teleportId));
}
bool TeleportToEggProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _mapNum = static_cast<int>(ids->read4());
- _teleportId = static_cast<int>(ids->read4());
+ _mapNum = static_cast<int>(ids->readUint32LE());
+ _teleportId = static_cast<int>(ids->readUint32LE());
return true;
}
diff --git a/engines/ultima/ultima8/world/camera_process.cpp b/engines/ultima/ultima8/world/camera_process.cpp
index fd87e134fd..69d6ebd9cb 100644
--- a/engines/ultima/ultima8/world/camera_process.cpp
+++ b/engines/ultima/ultima8/world/camera_process.cpp
@@ -272,37 +272,37 @@ uint16 CameraProcess::FindRoof(int32 factor) {
void CameraProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write4(static_cast<uint32>(_sx));
- ods->write4(static_cast<uint32>(_sy));
- ods->write4(static_cast<uint32>(_sz));
- ods->write4(static_cast<uint32>(_ex));
- ods->write4(static_cast<uint32>(_ey));
- ods->write4(static_cast<uint32>(_ez));
- ods->write4(static_cast<uint32>(_time));
- ods->write4(static_cast<uint32>(_elapsed));
- ods->write2(_itemNum);
- ods->write4(_lastFrameNum);
- ods->write4(static_cast<uint32>(_earthquake));
- ods->write4(static_cast<uint32>(_eqX));
- ods->write4(static_cast<uint32>(_eqY));
+ 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));
}
bool CameraProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _sx = static_cast<int32>(ids->read4());
- _sy = static_cast<int32>(ids->read4());
- _sz = static_cast<int32>(ids->read4());
- _ex = static_cast<int32>(ids->read4());
- _ey = static_cast<int32>(ids->read4());
- _ez = static_cast<int32>(ids->read4());
- _time = static_cast<int32>(ids->read4());
- _elapsed = static_cast<int32>(ids->read4());
- _itemNum = ids->read2();
- _lastFrameNum = ids->read4();
- _earthquake = static_cast<int32>(ids->read4()); //static
- _eqX = static_cast<int32>(ids->read4()); //static
- _eqY = static_cast<int32>(ids->read4()); //static
+ _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
_camera = this; //static
diff --git a/engines/ultima/ultima8/world/container.cpp b/engines/ultima/ultima8/world/container.cpp
index 1c165473f8..59531c6e57 100644
--- a/engines/ultima/ultima8/world/container.cpp
+++ b/engines/ultima/ultima8/world/container.cpp
@@ -307,7 +307,7 @@ void Container::dumpInfo() const {
void Container::saveData(ODataSource *ods) {
Item::saveData(ods);
- ods->write4(static_cast<uint32>(_contents.size()));
+ ods->writeUint32LE(static_cast<uint32>(_contents.size()));
Std::list<Item *>::iterator iter;
for (iter = _contents.begin(); iter != _contents.end(); ++iter) {
(*iter)->save(ods);
@@ -317,7 +317,7 @@ void Container::saveData(ODataSource *ods) {
bool Container::loadData(IDataSource *ids, uint32 version) {
if (!Item::loadData(ids, version)) return false;
- uint32 contentcount = ids->read4();
+ uint32 contentcount = ids->readUint32LE();
// read _contents
for (unsigned int i = 0; i < contentcount; ++i) {
diff --git a/engines/ultima/ultima8/world/create_item_process.cpp b/engines/ultima/ultima8/world/create_item_process.cpp
index 9d872b3229..82bfde12de 100644
--- a/engines/ultima/ultima8/world/create_item_process.cpp
+++ b/engines/ultima/ultima8/world/create_item_process.cpp
@@ -66,31 +66,31 @@ void CreateItemProcess::run() {
void CreateItemProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write4(_shape);
- ods->write4(_frame);
- ods->write2(_quality);
- ods->write2(_flags);
- ods->write2(_npcNum);
- ods->write2(_mapNum);
- ods->write4(_extendedFlags);
- ods->write4(static_cast<uint32>(_x));
- ods->write4(static_cast<uint32>(_y));
- ods->write4(static_cast<uint32>(_z));
+ 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));
}
bool CreateItemProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _shape = ids->read4();
- _frame = ids->read4();
- _quality = ids->read2();
- _flags = ids->read2();
- _npcNum = ids->read2();
- _mapNum = ids->read2();
- _extendedFlags = ids->read4();
- _x = static_cast<int32>(ids->read4());
- _y = static_cast<int32>(ids->read4());
- _z = static_cast<int32>(ids->read4());
+ _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());
return true;
}
diff --git a/engines/ultima/ultima8/world/current_map.cpp b/engines/ultima/ultima8/world/current_map.cpp
index 0cedd85825..041f5605fc 100644
--- a/engines/ultima/ultima8/world/current_map.cpp
+++ b/engines/ultima/ultima8/world/current_map.cpp
@@ -1271,7 +1271,7 @@ void CurrentMap::setWholeMapFast() {
void CurrentMap::save(ODataSource *ods) {
for (unsigned int i = 0; i < MAP_NUM_CHUNKS; ++i) {
for (unsigned int j = 0; j < MAP_NUM_CHUNKS / 32; ++j) {
- ods->write4(_fast[i][j]);
+ ods->writeUint32LE(_fast[i][j]);
}
}
}
@@ -1279,7 +1279,7 @@ void CurrentMap::save(ODataSource *ods) {
bool CurrentMap::load(IDataSource *ids, 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->read4();
+ _fast[i][j] = ids->readUint32LE();
}
}
diff --git a/engines/ultima/ultima8/world/egg.cpp b/engines/ultima/ultima8/world/egg.cpp
index 019493a2b0..f42adb10c2 100644
--- a/engines/ultima/ultima8/world/egg.cpp
+++ b/engines/ultima/ultima8/world/egg.cpp
@@ -63,13 +63,13 @@ void Egg::saveData(ODataSource *ods) {
Item::saveData(ods);
uint8 h = _hatched ? 1 : 0;
- ods->write1(h);
+ ods->writeByte(h);
}
bool Egg::loadData(IDataSource *ids, uint32 version) {
if (!Item::loadData(ids, version)) return false;
- _hatched = (ids->read1() != 0);
+ _hatched = (ids->readByte() != 0);
return true;
}
diff --git a/engines/ultima/ultima8/world/fireball_process.cpp b/engines/ultima/ultima8/world/fireball_process.cpp
index 419505786b..97bea0e8b6 100644
--- a/engines/ultima/ultima8/world/fireball_process.cpp
+++ b/engines/ultima/ultima8/world/fireball_process.cpp
@@ -206,25 +206,25 @@ uint32 FireballProcess::I_TonysBalls(const uint8 *args,
void FireballProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write4(static_cast<uint32>(_xSpeed));
- ods->write4(static_cast<uint32>(_ySpeed));
- ods->write2(_target);
- ods->write2(_tail[0]);
- ods->write2(_tail[1]);
- ods->write2(_tail[2]);
- ods->write2(_age);
+ 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);
}
bool FireballProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _xSpeed = static_cast<int>(ids->read4());
- _ySpeed = static_cast<int>(ids->read4());
- _target = ids->read2();
- _tail[0] = ids->read2();
- _tail[1] = ids->read2();
- _tail[2] = ids->read2();
- _age = ids->read2();
+ _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();
return true;
}
diff --git a/engines/ultima/ultima8/world/gravity_process.cpp b/engines/ultima/ultima8/world/gravity_process.cpp
index c7edde02a1..4e620041f9 100644
--- a/engines/ultima/ultima8/world/gravity_process.cpp
+++ b/engines/ultima/ultima8/world/gravity_process.cpp
@@ -349,19 +349,19 @@ void GravityProcess::dumpInfo() const {
void GravityProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write4(static_cast<uint32>(_gravity));
- ods->write4(static_cast<uint32>(_xSpeed));
- ods->write4(static_cast<uint32>(_ySpeed));
- ods->write4(static_cast<uint32>(_zSpeed));
+ ods->writeUint32LE(static_cast<uint32>(_gravity));
+ ods->writeUint32LE(static_cast<uint32>(_xSpeed));
+ ods->writeUint32LE(static_cast<uint32>(_ySpeed));
+ ods->writeUint32LE(static_cast<uint32>(_zSpeed));
}
bool GravityProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _gravity = static_cast<int>(ids->read4());
- _xSpeed = static_cast<int>(ids->read4());
- _ySpeed = static_cast<int>(ids->read4());
- _zSpeed = static_cast<int>(ids->read4());
+ _gravity = static_cast<int>(ids->readUint32LE());
+ _xSpeed = static_cast<int>(ids->readUint32LE());
+ _ySpeed = static_cast<int>(ids->readUint32LE());
+ _zSpeed = static_cast<int>(ids->readUint32LE());
return true;
}
diff --git a/engines/ultima/ultima8/world/item.cpp b/engines/ultima/ultima8/world/item.cpp
index 3616e37f54..a96afc2cc5 100644
--- a/engines/ultima/ultima8/world/item.cpp
+++ b/engines/ultima/ultima8/world/item.cpp
@@ -1760,48 +1760,48 @@ bool Item::canMergeWith(Item *other) {
void Item::saveData(ODataSource *ods) {
Object::saveData(ods);
- ods->write2(static_cast<uint16>(_extendedFlags));
- ods->write2(_flags);
- ods->write2(static_cast<uint16>(_shape));
- ods->write2(static_cast<uint16>(_frame));
- ods->write2(static_cast<uint16>(_x));
- ods->write2(static_cast<uint16>(_y));
- ods->write2(static_cast<uint16>(_z));
- ods->write2(_quality);
- ods->write2(_npcNum);
- ods->write2(_mapNum);
+ 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);
if (getObjId() != 0xFFFF) {
// these only make sense in currently loaded items
- ods->write2(_gump);
- ods->write2(_gravityPid);
+ ods->writeUint16LE(_gump);
+ ods->writeUint16LE(_gravityPid);
}
if ((_flags & FLG_ETHEREAL) && (_flags & (FLG_CONTAINED | FLG_EQUIPPED)))
- ods->write2(_parent);
+ ods->writeUint16LE(_parent);
}
bool Item::loadData(IDataSource *ids, uint32 version) {
if (!Object::loadData(ids, version)) return false;
- _extendedFlags = ids->read2();
- _flags = ids->read2();
- _shape = ids->read2();
- _frame = ids->read2();
- _x = ids->read2();
- _y = ids->read2();
- _z = ids->read2();
-
- _quality = ids->read2();
- _npcNum = ids->read2();
- _mapNum = ids->read2();
+ _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();
if (getObjId() != 0xFFFF) {
- _gump = ids->read2();
- _gravityPid = ids->read2();
+ _gump = ids->readUint16LE();
+ _gravityPid = ids->readUint16LE();
} else {
_gump = _gravityPid = 0;
}
if ((_flags & FLG_ETHEREAL) && (_flags & (FLG_CONTAINED | FLG_EQUIPPED)))
- _parent = ids->read2();
+ _parent = ids->readUint16LE();
else
_parent = 0;
diff --git a/engines/ultima/ultima8/world/map.cpp b/engines/ultima/ultima8/world/map.cpp
index fa32885699..e7385b6ab8 100644
--- a/engines/ultima/ultima8/world/map.cpp
+++ b/engines/ultima/ultima8/world/map.cpp
@@ -201,7 +201,7 @@ void Map::unloadFixed() {
void Map::loadFixedFormatObjects(Std::list<Item *> &itemlist, IDataSource *ds,
uint32 extendedflags) {
if (!ds) return;
- uint32 size = ds->getSize();
+ uint32 size = ds->size();
if (size == 0) return;
uint32 itemcount = size / 16;
@@ -220,13 +220,13 @@ void Map::loadFixedFormatObjects(Std::list<Item *> &itemlist, IDataSource *ds,
y *= 2;
}
- uint32 shape = ds->read2();
- uint32 frame = ds->read1();
- uint16 flags = ds->read2();
- uint16 quality = ds->read2();
- uint16 npcNum = static_cast<uint16>(ds->read1());
- uint16 mapNum = static_cast<uint16>(ds->read1());
- uint16 next = ds->read2(); // do we need next for anything?
+ 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?
// find container this item belongs to, if any.
// the x coordinate stores the container-depth of this item,
@@ -279,7 +279,7 @@ void Map::loadFixedFormatObjects(Std::list<Item *> &itemlist, IDataSource *ds,
void Map::save(ODataSource *ods) {
- ods->write4(static_cast<uint32>(_dynamicItems.size()));
+ ods->writeUint32LE(static_cast<uint32>(_dynamicItems.size()));
Std::list<Item *>::iterator iter;
for (iter = _dynamicItems.begin(); iter != _dynamicItems.end(); ++iter) {
@@ -289,7 +289,7 @@ void Map::save(ODataSource *ods) {
bool Map::load(IDataSource *ids, uint32 version) {
- uint32 itemcount = ids->read4();
+ uint32 itemcount = ids->readUint32LE();
for (unsigned int i = 0; i < itemcount; ++i) {
Object *obj = ObjectManager::get_instance()->loadObject(ids, version);
diff --git a/engines/ultima/ultima8/world/map_glob.cpp b/engines/ultima/ultima8/world/map_glob.cpp
index 2e524bc5f2..ea9188929d 100644
--- a/engines/ultima/ultima8/world/map_glob.cpp
+++ b/engines/ultima/ultima8/world/map_glob.cpp
@@ -36,19 +36,19 @@ MapGlob::~MapGlob() {
}
void MapGlob::read(IDataSource *ds) {
- unsigned int itemcount = ds->read2();
- assert(ds->getSize() >= 2 + itemcount * 6);
+ unsigned int itemcount = ds->readUint16LE();
+ assert(ds->size() >= 2 + itemcount * 6);
_contents.clear();
_contents.resize(itemcount);
for (unsigned int i = 0; i < itemcount; ++i) {
GlobItem item;
- item.x = ds->read1();
- item.y = ds->read1();
- item.z = ds->read1();
- item.shape = ds->read2();
- item.frame = ds->read1();
+ item.x = ds->readByte();
+ item.y = ds->readByte();
+ item.z = ds->readByte();
+ item.shape = ds->readUint16LE();
+ item.frame = ds->readByte();
_contents[i] = item;
}
diff --git a/engines/ultima/ultima8/world/split_item_process.cpp b/engines/ultima/ultima8/world/split_item_process.cpp
index 6774ef6d97..392996d7ac 100644
--- a/engines/ultima/ultima8/world/split_item_process.cpp
+++ b/engines/ultima/ultima8/world/split_item_process.cpp
@@ -93,13 +93,13 @@ void SplitItemProcess::run() {
void SplitItemProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write2(_target);
+ ods->writeUint16LE(_target);
}
bool SplitItemProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _target = ids->read2();
+ _target = ids->readUint16LE();
return true;
}
diff --git a/engines/ultima/ultima8/world/sprite_process.cpp b/engines/ultima/ultima8/world/sprite_process.cpp
index fc1c122cb4..42b5032ae0 100644
--- a/engines/ultima/ultima8/world/sprite_process.cpp
+++ b/engines/ultima/ultima8/world/sprite_process.cpp
@@ -114,33 +114,33 @@ uint32 SpriteProcess::I_createSprite(const uint8 *args, unsigned int argsize) {
void SpriteProcess::saveData(ODataSource *ods) {
Process::saveData(ods);
- ods->write4(static_cast<uint32>(_shape));
- ods->write4(static_cast<uint32>(_frame));
- ods->write4(static_cast<uint32>(_firstFrame));
- ods->write4(static_cast<uint32>(_lastFrame));
- ods->write4(static_cast<uint32>(_repeats));
- ods->write4(static_cast<uint32>(_delay));
- ods->write4(static_cast<uint32>(_x));
- ods->write4(static_cast<uint32>(_y));
- ods->write4(static_cast<uint32>(_z));
- ods->write4(static_cast<uint32>(_delayCounter));
- ods->write1(_initialized ? 1 : 0);
+ 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);
}
bool SpriteProcess::loadData(IDataSource *ids, uint32 version) {
if (!Process::loadData(ids, version)) return false;
- _shape = static_cast<int>(ids->read4());
- _frame = static_cast<int>(ids->read4());
- _firstFrame = static_cast<int>(ids->read4());
- _lastFrame = static_cast<int>(ids->read4());
- _repeats = static_cast<int>(ids->read4());
- _delay = static_cast<int>(ids->read4());
- _x = static_cast<int>(ids->read4());
- _y = static_cast<int>(ids->read4());
- _z = static_cast<int>(ids->read4());
- _delayCounter = static_cast<int>(ids->read4());
- _initialized = (ids->read1() != 0);
+ _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);
return true;
}
diff --git a/engines/ultima/ultima8/world/world.cpp b/engines/ultima/ultima8/world/world.cpp
index 74619c77c5..0f7f892530 100644
--- a/engines/ultima/ultima8/world/world.cpp
+++ b/engines/ultima/ultima8/world/world.cpp
@@ -231,24 +231,24 @@ void World::loadItemCachNPCData(IDataSource *itemcach, IDataSource *npcdata) {
int32 z = static_cast<int32>(itemds->readX(1));
itemds->seek(0x0B400 + i * 2);
- uint32 shape = itemds->read2();
+ uint32 shape = itemds->readUint16LE();
itemds->seek(0x0FC00 + i * 1);
- uint32 frame = itemds->read1();
+ uint32 frame = itemds->readByte();
itemds->seek(0x12000 + i * 2);
- uint16 flags = itemds->read2();
+ uint16 flags = itemds->readUint16LE();
itemds->seek(0x16800 + i * 2);
- uint16 quality = itemds->read2();
+ uint16 quality = itemds->readUint16LE();
itemds->seek(0x1B000 + i * 1);
- uint16 npcnum = static_cast<uint8>(itemds->read1());
+ uint16 npcnum = static_cast<uint8>(itemds->readByte());
itemds->seek(0x1D400 + i * 1);
- uint16 mapnum = static_cast<uint8>(itemds->read1());
+ uint16 mapnum = static_cast<uint8>(itemds->readByte());
itemds->seek(0x1F800 + i * 2);
//uint16 next;
- (void)itemds->read2();
+ (void)itemds->readUint16LE();
// half the frame number is stored in npcdata.dat
npcds->seek(7 + i * 0x31);
- frame += npcds->read1() << 8;
+ frame += npcds->readByte() << 8;
if (shape == 0) {
// U8's itemcach has a lot of garbage in it.
@@ -276,35 +276,35 @@ void World::loadItemCachNPCData(IDataSource *itemcach, IDataSource *npcdata) {
// read npcdata:
npcds->seek(i * 0x31);
- actor->setStr(npcds->read1()); // 0x00: strength
- actor->setDex(npcds->read1()); // 0x01: dexterity
- actor->setInt(npcds->read1()); // 0x02: intelligence
- actor->setHP(npcds->read1()); // 0x03: hitpoints
- actor->setDir(npcds->read1()); // 0x04: direction
- uint16 la = npcds->read2(); // 0x05,0x06: last anim
+ actor->setStr(npcds->readByte()); // 0x00: strength
+ actor->setDex(npcds->readByte()); // 0x01: dexterity
+ actor->setInt(npcds->readByte()); // 0x02: intelligence
+ actor->setHP(npcds->readByte()); // 0x03: hitpoints
+ actor->setDir(npcds->readByte()); // 0x04: direction
+ uint16 la = npcds->readUint16LE(); // 0x05,0x06: last anim
actor->setLastAnim(static_cast<Animation::Sequence>(la));
npcds->skip(1); // 0x07: high byte of framenum
npcds->skip(1); // 0x08: current anim frame
npcds->skip(1); // 0x09: start Z of current fall
npcds->skip(1); // 0x0A: unknown, always zero
- uint8 align = npcds->read1(); // 0x0B: alignments
+ uint8 align = npcds->readByte(); // 0x0B: alignments
actor->setAlignment(align & 0x0F);
actor->setEnemyAlignment(align & 0xF0);
- actor->setUnk0C(npcds->read1()); // 0x0C: unknown;
+ actor->setUnk0C(npcds->readByte()); // 0x0C: unknown;
// 0x0C is almost always zero, except for
// the avatar (0xC0) and
// Malchir, Vardion, Gorgrond, Beren (0xE0)
npcds->skip(14); // 0x0D-0x1A: unknown, always zero
actor->clearActorFlag(0xFF);
- actor->setActorFlag(npcds->read1()); // 0x1B: flags
+ actor->setActorFlag(npcds->readByte()); // 0x1B: flags
npcds->skip(1); // 0x1C: unknown, always zero
npcds->skip(16); // 0x1D-0x2C: equipment
- int16 mana = static_cast<int16>(npcds->read2()); // 0x2D,0x2E: mana
+ int16 mana = static_cast<int16>(npcds->readUint16LE()); // 0x2D,0x2E: mana
actor->setMana(mana);
actor->clearActorFlag(0xFFFF00);
- uint32 flags2F = npcds->read1(); // 0x2F: flags
+ uint32 flags2F = npcds->readByte(); // 0x2F: flags
actor->setActorFlag(flags2F << 8);
- uint32 flags30 = npcds->read1(); // 0x30: flags
+ uint32 flags30 = npcds->readByte(); // 0x30: flags
actor->setActorFlag(flags30 << 16);
}
@@ -337,12 +337,12 @@ void World::worldStats() const {
}
void World::save(ODataSource *ods) {
- ods->write4(_currentMap->getNum());
+ ods->writeUint32LE(_currentMap->getNum());
- ods->write2(_currentMap->_eggHatcher);
+ ods->writeUint16LE(_currentMap->_eggHatcher);
uint16 es = static_cast<uint16>(_ethereal.size());
- ods->write4(es);
+ ods->writeUint32LE(es);
// empty stack and refill it again
uint16 *e = new uint16[es];
@@ -354,28 +354,28 @@ void World::save(ODataSource *ods) {
}
for (i = 0; i < es; ++i) {
- ods->write2(e[i]);
+ ods->writeUint16LE(e[i]);
}
delete[] e;
}
// load items
bool World::load(IDataSource *ids, uint32 version) {
- uint16 curmapnum = ids->read4();
+ uint16 curmapnum = ids->readUint32LE();
_currentMap->setMap(_maps[curmapnum]);
- _currentMap->_eggHatcher = ids->read2();
+ _currentMap->_eggHatcher = ids->readUint16LE();
- uint32 etherealcount = ids->read4();
+ uint32 etherealcount = ids->readUint32LE();
for (unsigned int i = 0; i < etherealcount; ++i) {
- _ethereal.push_front(ids->read2());
+ _ethereal.push_front(ids->readUint16LE());
}
return true;
}
void World::saveMaps(ODataSource *ods) {
- ods->write4(static_cast<uint32>(_maps.size()));
+ ods->writeUint32LE(static_cast<uint32>(_maps.size()));
for (unsigned int i = 0; i < _maps.size(); ++i) {
_maps[i]->save(ods);
}
@@ -383,7 +383,7 @@ void World::saveMaps(ODataSource *ods) {
bool World::loadMaps(IDataSource *ids, uint32 version) {
- uint32 mapcount = ids->read4();
+ uint32 mapcount = ids->readUint32LE();
// Map objects have already been created by reset()
for (unsigned int i = 0; i < mapcount; ++i) {
More information about the Scummvm-git-logs
mailing list