aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Hesse2009-07-28 16:28:32 +0000
committerSven Hesse2009-07-28 16:28:32 +0000
commit550d9cf39de5fbbd1f4173d5b7bd955c7649995b (patch)
tree869ca4ccf769d286e5396990b7191563409f44d7
parentf5e9aa67c495a64117cc9d30596a34fbe21ef1d5 (diff)
downloadscummvm-rg350-550d9cf39de5fbbd1f4173d5b7bd955c7649995b.tar.gz
scummvm-rg350-550d9cf39de5fbbd1f4173d5b7bd955c7649995b.tar.bz2
scummvm-rg350-550d9cf39de5fbbd1f4173d5b7bd955c7649995b.zip
More alignment-related changes
svn-id: r42858
-rw-r--r--engines/gob/draw_v2.cpp3
-rw-r--r--engines/gob/gob.h2
-rw-r--r--engines/gob/inter_v1.cpp2
-rw-r--r--engines/gob/save/saveconverter.cpp6
-rw-r--r--engines/gob/sound/sounddesc.cpp6
-rw-r--r--engines/gob/sound/soundmixer.cpp25
-rw-r--r--engines/gob/sound/soundmixer.h4
-rw-r--r--engines/gob/variables.cpp32
-rw-r--r--engines/gob/variables.h12
9 files changed, 17 insertions, 75 deletions
diff --git a/engines/gob/draw_v2.cpp b/engines/gob/draw_v2.cpp
index 5c1986289a..a1074d7ecb 100644
--- a/engines/gob/draw_v2.cpp
+++ b/engines/gob/draw_v2.cpp
@@ -521,8 +521,7 @@ void Draw_v2::printTotText(int16 id) {
case 10:
str[0] = (char) 255;
- WRITE_LE_UINT16((uint16 *) (str + 1),
- ptr - _vm->_game->_resources->getTexts());
+ WRITE_LE_UINT16(str + 1, ptr - _vm->_game->_resources->getTexts());
str[3] = 0;
ptr++;
for (int i = *ptr++; i > 0; i--) {
diff --git a/engines/gob/gob.h b/engines/gob/gob.h
index 5976924a12..84ff707877 100644
--- a/engines/gob/gob.h
+++ b/engines/gob/gob.h
@@ -75,8 +75,6 @@ class SaveLoad;
#define GET_VAR_FSTR(var) _vm->_inter->_variables->getAddressVarString(var)
#define GET_VARO_FSTR(off) _vm->_inter->_variables->getAddressOffString(off)
-#define VAR_ADDRESS(var) _vm->_inter->_variables->getAddressVar32(var)
-
#define WRITE_VAR_OFFSET(off, val) WRITE_VARO_UINT32((off), (val))
#define WRITE_VAR(var, val) WRITE_VAR_UINT32((var), (val))
#define VAR_OFFSET(off) READ_VARO_UINT32(off)
diff --git a/engines/gob/inter_v1.cpp b/engines/gob/inter_v1.cpp
index 910f3f7b5f..446d86643d 100644
--- a/engines/gob/inter_v1.cpp
+++ b/engines/gob/inter_v1.cpp
@@ -2312,7 +2312,7 @@ void Inter_v1::o1_setItemPos(OpGobParams &params) {
void Inter_v1::o1_loadObjects(OpGobParams &params) {
params.extraData = _vm->_game->_script->readInt16();
- _vm->_goblin->loadObjects((char *) VAR_ADDRESS(params.extraData));
+ _vm->_goblin->loadObjects(_variables->getAddressVarString(params.extraData));
}
void Inter_v1::o1_freeObjects(OpGobParams &params) {
diff --git a/engines/gob/save/saveconverter.cpp b/engines/gob/save/saveconverter.cpp
index 38fec06859..7bfb2a2da2 100644
--- a/engines/gob/save/saveconverter.cpp
+++ b/engines/gob/save/saveconverter.cpp
@@ -122,14 +122,14 @@ bool SaveConverter::swapDataEndian(byte *data, const byte *sizes, uint32 count)
while (count-- > 0) {
if (*sizes == 3) // 32bit value (3 additional bytes)
- *((uint32 *) data) = SWAP_BYTES_32(*((uint32 *) data));
+ WRITE_UINT32(data, SWAP_BYTES_32(READ_UINT32(data)));
else if (*sizes == 1) // 16bit value (1 additional byte)
- *((uint16 *) data) = SWAP_BYTES_16(*((uint16 *) data));
+ WRITE_UINT16(data, SWAP_BYTES_16(READ_UINT16(data)));
else if (*sizes != 0) // else, it has to be an 8bit value
return false;
count -= *sizes;
- data += *sizes + 1;
+ data += *sizes + 1;
sizes += *sizes + 1;
}
diff --git a/engines/gob/sound/sounddesc.cpp b/engines/gob/sound/sounddesc.cpp
index b9b327d105..e8045d21f7 100644
--- a/engines/gob/sound/sounddesc.cpp
+++ b/engines/gob/sound/sounddesc.cpp
@@ -121,9 +121,9 @@ void SoundDesc::convToSigned() {
return;
if (_mixerFlags & Audio::Mixer::FLAG_16BITS) {
- uint16 *data = (uint16 *) _dataPtr;
- for (uint32 i = 0; i < _size; i++)
- data[i] ^= 0x8000;
+ byte *data = _dataPtr;
+ for (uint32 i = 0; i < _size; i++, data += 2)
+ WRITE_LE_UINT16(data, READ_LE_UINT16(data) ^ 0x8000);
} else
for (uint32 i = 0; i < _size; i++)
_dataPtr[i] ^= 0x80;
diff --git a/engines/gob/sound/soundmixer.cpp b/engines/gob/sound/soundmixer.cpp
index 68a96d3b01..eb6d7882f0 100644
--- a/engines/gob/sound/soundmixer.cpp
+++ b/engines/gob/sound/soundmixer.cpp
@@ -33,8 +33,7 @@ SoundMixer::SoundMixer(Audio::Mixer &mixer, Audio::Mixer::SoundType type) : _mix
_rate = _mixer->getOutputRate();
_end = true;
- _data8 = 0;
- _data16 = 0;
+ _data = 0;
_length = 0;
_freq = 0;
_repCount = 0;
@@ -61,9 +60,9 @@ SoundMixer::~SoundMixer() {
inline int16 SoundMixer::getData(int offset) {
if (!_16bit)
- return (int16) _data8[offset];
+ return (int16) ((int8) _data[offset]);
else
- return (int16) FROM_LE_16(_data16[offset]);
+ return (int16) READ_LE_UINT16(_data + (offset * 2));
}
bool SoundMixer::isPlaying() const {
@@ -78,8 +77,7 @@ void SoundMixer::stop(int16 fadeLength) {
Common::StackLock slock(_mutex);
if (fadeLength <= 0) {
- _data8 = 0;
- _data16 = 0;
+ _data = 0;
_end = true;
_playingSound = 0;
return;
@@ -109,13 +107,7 @@ void SoundMixer::setSample(SoundDesc &sndDesc, int16 repCount, int16 frequency,
_16bit = (sndDesc._mixerFlags & Audio::Mixer::FLAG_16BITS) != 0;
- if (_16bit) {
- _data16 = (int16 *) sndDesc.getData();
- _shift = 0;
- } else {
- _data8 = (int8 *) sndDesc.getData();
- _shift = 8;
- }
+ _data = sndDesc.getData();
_length = sndDesc.size();
_freq = frequency;
@@ -171,7 +163,7 @@ int SoundMixer::readBuffer(int16 *buffer, const int numSamples) {
Common::StackLock slock(_mutex);
for (int i = 0; i < numSamples; i++) {
- if (!_data8 && !_data16)
+ if (!_data)
return i;
if (_end || (_offset >= _length))
checkEndSample();
@@ -181,7 +173,7 @@ int SoundMixer::readBuffer(int16 *buffer, const int numSamples) {
// Linear interpolation. See sound/rate.cpp
int16 val = (_last + (((_cur - _last) * _offsetFrac +
- FRAC_HALF) >> FRAC_BITS)) << _shift;
+ FRAC_HALF) >> FRAC_BITS)) << (_16bit ? 0 : 8);
*buffer++ = (val * _fadeVol) >> 16;
_offsetFrac += _offsetInc;
@@ -211,8 +203,7 @@ int SoundMixer::readBuffer(int16 *buffer, const int numSamples) {
void SoundMixer::endFade() {
if (_fadeVolStep > 0) {
- _data8 = 0;
- _data16 = 0;
+ _data = 0;
_end = true;
_playingSound = 0;
} else {
diff --git a/engines/gob/sound/soundmixer.h b/engines/gob/sound/soundmixer.h
index 20376b5152..9e66c474e9 100644
--- a/engines/gob/sound/soundmixer.h
+++ b/engines/gob/sound/soundmixer.h
@@ -62,11 +62,9 @@ protected:
Common::Mutex _mutex;
bool _16bit;
- int _shift;
bool _end;
- int8 *_data8;
- int16 *_data16;
+ byte *_data;
uint32 _length;
uint32 _rate;
int32 _freq;
diff --git a/engines/gob/variables.cpp b/engines/gob/variables.cpp
index 1183ec21ae..572cba0796 100644
--- a/engines/gob/variables.cpp
+++ b/engines/gob/variables.cpp
@@ -123,22 +123,6 @@ uint8 *Variables::getAddressVar8(uint32 var) {
return getAddressOff8(var * 4);
}
-const uint16 *Variables::getAddressVar16(uint32 var) const {
- return getAddressOff16(var * 4);
-}
-
-uint16 *Variables::getAddressVar16(uint32 var) {
- return getAddressOff16(var * 4);
-}
-
-const uint32 *Variables::getAddressVar32(uint32 var) const {
- return getAddressOff32(var * 4);
-}
-
-uint32 *Variables::getAddressVar32(uint32 var) {
- return getAddressOff32(var * 4);
-}
-
const char *Variables::getAddressVarString(uint32 var) const {
return getAddressOffString(var * 4);
}
@@ -155,22 +139,6 @@ uint8 *Variables::getAddressOff8(uint32 offset) {
return ((uint8 *) (_vars + offset));
}
-const uint16 *Variables::getAddressOff16(uint32 offset) const {
- return ((const uint16 *) (_vars + offset));
-}
-
-uint16 *Variables::getAddressOff16(uint32 offset) {
- return ((uint16 *) (_vars + offset));
-}
-
-const uint32 *Variables::getAddressOff32(uint32 offset) const {
- return ((const uint32 *) (_vars + offset));
-}
-
-uint32 *Variables::getAddressOff32(uint32 offset) {
- return ((uint32 *) (_vars + offset));
-}
-
const char *Variables::getAddressOffString(uint32 offset) const {
return ((const char *) (_vars + offset));
}
diff --git a/engines/gob/variables.h b/engines/gob/variables.h
index 84a4772baa..d11b91ea16 100644
--- a/engines/gob/variables.h
+++ b/engines/gob/variables.h
@@ -69,24 +69,12 @@ public:
const uint8 *getAddressVar8(uint32 var) const;
uint8 *getAddressVar8(uint32 var);
- const uint16 *getAddressVar16(uint32 var) const;
- uint16 *getAddressVar16(uint32 var);
-
- const uint32 *getAddressVar32(uint32 var) const;
- uint32 *getAddressVar32(uint32 var);
-
const char *getAddressVarString(uint32 var) const;
char *getAddressVarString(uint32 var);
const uint8 *getAddressOff8(uint32 offset) const;
uint8 *getAddressOff8(uint32 offset);
- const uint16 *getAddressOff16(uint32 offset) const;
- uint16 *getAddressOff16(uint32 offset);
-
- const uint32 *getAddressOff32(uint32 offset) const;
- uint32 *getAddressOff32(uint32 offset);
-
const char *getAddressOffString(uint32 offset) const;
char *getAddressOffString(uint32 offset);