aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
authorMax Horn2011-04-12 16:53:15 +0200
committerMax Horn2011-04-12 16:53:15 +0200
commit0ce2ca4e006a70d787481040fa844c85aac43222 (patch)
tree25fb61d7e7165ec2570ecf14a4af52e9bdb6b176 /engines/kyra
parenta8b3501252c46c3fc4fd129fa0a945eb87f47d0a (diff)
downloadscummvm-rg350-0ce2ca4e006a70d787481040fa844c85aac43222.tar.gz
scummvm-rg350-0ce2ca4e006a70d787481040fa844c85aac43222.tar.bz2
scummvm-rg350-0ce2ca4e006a70d787481040fa844c85aac43222.zip
COMMON: Replace MKID_BE by MKTAG
MKID_BE relied on unspecified behavior of the C++ compiler, and as such was always a bit unsafe. The new MKTAG macro is slightly less elegant, but does no longer depend on the behavior of the compiler. Inspired by FFmpeg, which has an almost identical macro.
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/resource_intern.cpp2
-rw-r--r--engines/kyra/saveload.cpp14
-rw-r--r--engines/kyra/script.cpp6
-rw-r--r--engines/kyra/script.h4
-rw-r--r--engines/kyra/script_tim.cpp4
-rw-r--r--engines/kyra/vqa.cpp42
6 files changed, 36 insertions, 36 deletions
diff --git a/engines/kyra/resource_intern.cpp b/engines/kyra/resource_intern.cpp
index f26cb8fb26..1dc084f14d 100644
--- a/engines/kyra/resource_intern.cpp
+++ b/engines/kyra/resource_intern.cpp
@@ -356,7 +356,7 @@ Common::Archive *ResLoaderPak::load(Common::ArchiveMemberPtr memberFile, Common:
const uint32 magic = stream.readUint32BE();
- if (magic != MKID_BE('SCVM'))
+ if (magic != MKTAG('S','C','V','M'))
error("LINKLIST file does not contain 'SCVM' header");
const uint32 links = stream.readUint32BE();
diff --git a/engines/kyra/saveload.cpp b/engines/kyra/saveload.cpp
index cd5ef52b92..44579c3377 100644
--- a/engines/kyra/saveload.cpp
+++ b/engines/kyra/saveload.cpp
@@ -47,13 +47,13 @@ KyraEngine_v1::kReadSaveHeaderError KyraEngine_v1::readSaveHeader(Common::Seekab
header.flags = 0;
header.thumbnail = 0;
- if (type == MKID_BE('KYRA') || type == MKID_BE('ARYK')) { // old Kyra1 header ID
+ if (type == MKTAG('K','Y','R','A') || type == MKTAG('A','R','Y','K')) { // old Kyra1 header ID
header.gameID = GI_KYRA1;
header.oldHeader = true;
- } else if (type == MKID_BE('HOFS')) { // old Kyra2 header ID
+ } else if (type == MKTAG('H','O','F','S')) { // old Kyra2 header ID
header.gameID = GI_KYRA2;
header.oldHeader = true;
- } else if (type == MKID_BE('WWSV')) {
+ } else if (type == MKTAG('W','W','S','V')) {
header.gameID = in->readByte();
} else {
// try checking for original save header
@@ -71,12 +71,12 @@ KyraEngine_v1::kReadSaveHeaderError KyraEngine_v1::readSaveHeader(Common::Seekab
type = in->readUint32BE();
header.version = in->readUint16LE();
- if (type == MKID_BE('MBL3') && header.version == 100) {
+ if (type == MKTAG('M','B','L','3') && header.version == 100) {
saveOk = true;
header.description = descriptionBuffer;
header.gameID = GI_KYRA2;
break;
- } else if (type == MKID_BE('MBL4') && header.version == 102) {
+ } else if (type == MKTAG('M','B','L','4') && header.version == 102) {
saveOk = true;
header.description = descriptionBuffer;
header.gameID = GI_KYRA3;
@@ -94,7 +94,7 @@ KyraEngine_v1::kReadSaveHeaderError KyraEngine_v1::readSaveHeader(Common::Seekab
}
header.version = in->readUint32BE();
- if (header.version > CURRENT_SAVE_VERSION || (header.oldHeader && header.version > 8) || (type == MKID_BE('ARYK') && header.version > 3))
+ if (header.version > CURRENT_SAVE_VERSION || (header.oldHeader && header.version > 8) || (type == MKTAG('A','R','Y','K') && header.version > 3))
return kRSHEInvalidVersion;
// Versions prior to 9 are using a fixed length description field
@@ -190,7 +190,7 @@ Common::WriteStream *KyraEngine_v1::openSaveForWriting(const char *filename, con
}
// Savegame version
- out->writeUint32BE(MKID_BE('WWSV'));
+ out->writeUint32BE(MKTAG('W','W','S','V'));
out->writeByte(_flags.gameID);
out->writeUint32BE(CURRENT_SAVE_VERSION);
out->write(saveName, strlen(saveName)+1);
diff --git a/engines/kyra/script.cpp b/engines/kyra/script.cpp
index 0343cbfeae..956bf39b5a 100644
--- a/engines/kyra/script.cpp
+++ b/engines/kyra/script.cpp
@@ -68,14 +68,14 @@ EMCInterpreter::EMCInterpreter(KyraEngine_v1 *vm) : _vm(vm), _scriptData(0), _fi
bool EMCInterpreter::callback(Common::IFFChunk &chunk) {
switch (chunk._type) {
- case MKID_BE('TEXT'):
+ case MKTAG('T','E','X','T'):
_scriptData->text = new byte[chunk._size];
assert(_scriptData->text);
if (chunk._stream->read(_scriptData->text, chunk._size) != chunk._size)
error("Couldn't read TEXT chunk from file '%s'", _filename);
break;
- case MKID_BE('ORDR'):
+ case MKTAG('O','R','D','R'):
_scriptData->ordr = new uint16[chunk._size >> 1];
assert(_scriptData->ordr);
if (chunk._stream->read(_scriptData->ordr, chunk._size) != chunk._size)
@@ -85,7 +85,7 @@ bool EMCInterpreter::callback(Common::IFFChunk &chunk) {
_scriptData->ordr[i] = READ_BE_UINT16(&_scriptData->ordr[i]);
break;
- case MKID_BE('DATA'):
+ case MKTAG('D','A','T','A'):
_scriptData->data = new uint16[chunk._size >> 1];
assert(_scriptData->data);
if (chunk._stream->read(_scriptData->data, chunk._size) != chunk._size)
diff --git a/engines/kyra/script.h b/engines/kyra/script.h
index 68620829bb..faa80a3f21 100644
--- a/engines/kyra/script.h
+++ b/engines/kyra/script.h
@@ -84,9 +84,9 @@ public:
// Both lead to some problems in our IFF parser, either reading after the end
// of file or producing a "Chunk overread" error message. To work around this
// we need to adjust the size field properly.
- if (_formType == MKID_BE('EMC2'))
+ if (_formType == MKTAG('E','M','C','2'))
_formChunk.size -= 8;
- else if (_formType == MKID_BE('AVFS'))
+ else if (_formType == MKTAG('A','V','F','S'))
_formChunk.size += 4;
}
};
diff --git a/engines/kyra/script_tim.cpp b/engines/kyra/script_tim.cpp
index 28f18a1f79..1e978caf15 100644
--- a/engines/kyra/script_tim.cpp
+++ b/engines/kyra/script_tim.cpp
@@ -115,14 +115,14 @@ TIMInterpreter::~TIMInterpreter() {
bool TIMInterpreter::callback(Common::IFFChunk &chunk) {
switch (chunk._type) {
- case MKID_BE('TEXT'):
+ case MKTAG('T','E','X','T'):
_tim->text = new byte[chunk._size];
assert(_tim->text);
if (chunk._stream->read(_tim->text, chunk._size) != chunk._size)
error("Couldn't read TEXT chunk from file '%s'", _filename);
break;
- case MKID_BE('AVTL'):
+ case MKTAG('A','V','T','L'):
_avtlChunkSize = chunk._size >> 1;
_tim->avtl = new uint16[_avtlChunkSize];
assert(_tim->avtl);
diff --git a/engines/kyra/vqa.cpp b/engines/kyra/vqa.cpp
index 382ec2429d..b3371793de 100644
--- a/engines/kyra/vqa.cpp
+++ b/engines/kyra/vqa.cpp
@@ -204,7 +204,7 @@ bool VQAMovie::open(const char *filename) {
if (!_file)
return false;
- if (_file->readUint32BE() != MKID_BE('FORM')) {
+ if (_file->readUint32BE() != MKTAG('F','O','R','M')) {
warning("VQAMovie::open: Cannot find `FORM' tag");
return false;
}
@@ -212,7 +212,7 @@ bool VQAMovie::open(const char *filename) {
// For now, we ignore the size of the FORM chunk.
_file->readUint32BE();
- if (_file->readUint32BE() != MKID_BE('WVQA')) {
+ if (_file->readUint32BE() != MKTAG('W','V','Q','A')) {
warning("WQAMovie::open: Cannot find `WVQA' tag");
return false;
}
@@ -228,7 +228,7 @@ bool VQAMovie::open(const char *filename) {
uint32 size = _file->readUint32BE();
switch (tag) {
- case MKID_BE('VQHD'): // VQA header
+ case MKTAG('V','Q','H','D'): // VQA header
_header.version = _file->readUint16LE();
_header.flags = _file->readUint16LE();
_header.numFrames = _file->readUint16LE();
@@ -304,7 +304,7 @@ bool VQAMovie::open(const char *filename) {
foundHeader = true;
break;
- case MKID_BE('FINF'): // Frame info
+ case MKTAG('F','I','N','F'): // Frame info
if (!foundHeader) {
warning("VQAMovie::open: Found `FINF' before `VQHD'");
return false;
@@ -343,7 +343,7 @@ bool VQAMovie::open(const char *filename) {
if (_file->eos())
break;
- if (scanTag == MKID_BE('VQFR')) {
+ if (scanTag == MKTAG('V','Q','F','R')) {
_frameInfo[0] = (_file->pos() - 8) | 0x80000000;
break;
}
@@ -421,7 +421,7 @@ void VQAMovie::displayFrame(uint frameNum) {
int32 end;
switch (tag) {
- case MKID_BE('SND0'): // Uncompressed sound
+ case MKTAG('S','N','D','0'): // Uncompressed sound
foundSound = true;
inbuf = (byte *)malloc(size);
_file->read(inbuf, size);
@@ -429,7 +429,7 @@ void VQAMovie::displayFrame(uint frameNum) {
_stream->queueBuffer(inbuf, size, DisposeAfterUse::YES, Audio::FLAG_UNSIGNED);
break;
- case MKID_BE('SND1'): // Compressed sound, almost like AUD
+ case MKTAG('S','N','D','1'): // Compressed sound, almost like AUD
foundSound = true;
outsize = _file->readUint16LE();
insize = _file->readUint16LE();
@@ -449,13 +449,13 @@ void VQAMovie::displayFrame(uint frameNum) {
}
break;
- case MKID_BE('SND2'): // Compressed sound
+ case MKTAG('S','N','D','2'): // Compressed sound
foundSound = true;
warning("VQAMovie::displayFrame: `SND2' is not implemented");
_file->seek(size, SEEK_CUR);
break;
- case MKID_BE('VQFR'):
+ case MKTAG('V','Q','F','R'):
foundFrame = true;
end = _file->pos() + size - 8;
@@ -464,49 +464,49 @@ void VQAMovie::displayFrame(uint frameNum) {
size = _file->readUint32BE();
switch (tag) {
- case MKID_BE('CBF0'): // Full codebook
+ case MKTAG('C','B','F','0'): // Full codebook
_file->read(_codeBook, size);
break;
- case MKID_BE('CBFZ'): // Full codebook
+ case MKTAG('C','B','F','Z'): // Full codebook
inbuf = (byte *)allocBuffer(0, size);
_file->read(inbuf, size);
Screen::decodeFrame4(inbuf, _codeBook, _codeBookSize);
break;
- case MKID_BE('CBP0'): // Partial codebook
+ case MKTAG('C','B','P','0'): // Partial codebook
_compressedCodeBook = false;
_file->read(_partialCodeBook + _partialCodeBookSize, size);
_partialCodeBookSize += size;
_numPartialCodeBooks++;
break;
- case MKID_BE('CBPZ'): // Partial codebook
+ case MKTAG('C','B','P','Z'): // Partial codebook
_compressedCodeBook = true;
_file->read(_partialCodeBook + _partialCodeBookSize, size);
_partialCodeBookSize += size;
_numPartialCodeBooks++;
break;
- case MKID_BE('CPL0'): // Palette
+ case MKTAG('C','P','L','0'): // Palette
assert(size <= 3 * 256);
_file->read(_screen->getPalette(0).getData(), size);
break;
- case MKID_BE('CPLZ'): // Palette
+ case MKTAG('C','P','L','Z'): // Palette
inbuf = (byte *)allocBuffer(0, size);
_file->read(inbuf, size);
Screen::decodeFrame4(inbuf, _screen->getPalette(0).getData(), 768);
break;
- case MKID_BE('VPT0'): // Frame data
+ case MKTAG('V','P','T','0'): // Frame data
assert(size / 2 <= _numVectorPointers);
for (i = 0; i < size / 2; i++)
_vectorPointers[i] = _file->readUint16LE();
break;
- case MKID_BE('VPTZ'): // Frame data
+ case MKTAG('V','P','T','Z'): // Frame data
inbuf = (byte *)allocBuffer(0, size);
outbuf = (byte *)allocBuffer(1, 2 * _numVectorPointers);
@@ -613,13 +613,13 @@ void VQAMovie::play() {
}
switch (tag) {
- case MKID_BE('SND0'): // Uncompressed sound
+ case MKTAG('S','N','D','0'): // Uncompressed sound
inbuf = (byte *)malloc(size);
_file->read(inbuf, size);
_stream->queueBuffer(inbuf, size, DisposeAfterUse::YES, Audio::FLAG_UNSIGNED);
break;
- case MKID_BE('SND1'): // Compressed sound
+ case MKTAG('S','N','D','1'): // Compressed sound
outsize = _file->readUint16LE();
insize = _file->readUint16LE();
@@ -636,12 +636,12 @@ void VQAMovie::play() {
}
break;
- case MKID_BE('SND2'): // Compressed sound
+ case MKTAG('S','N','D','2'): // Compressed sound
warning("VQAMovie::play: `SND2' is not implemented");
_file->seek(size, SEEK_CUR);
break;
- case MKID_BE('CMDS'): // Unused tag, always empty in kyra3
+ case MKTAG('C','M','D','S'): // Unused tag, always empty in kyra3
_file->seek(size, SEEK_CUR);
break;