aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/costume.cpp2
-rw-r--r--scumm/resource.cpp78
-rw-r--r--scumm/scumm.h20
-rw-r--r--scumm/scummvm.cpp4
-rw-r--r--scumm/sound.cpp16
-rw-r--r--scumm/sound.h12
-rw-r--r--scumm/verbs.cpp4
7 files changed, 53 insertions, 83 deletions
diff --git a/scumm/costume.cpp b/scumm/costume.cpp
index 4017165eeb..5fcaf7ddca 100644
--- a/scumm/costume.cpp
+++ b/scumm/costume.cpp
@@ -724,7 +724,7 @@ byte LoadedCostume::increaseAnim(Actor *a, int slot) {
} while (1);
}
-bool Scumm::isCostumeInUse(int cost) {
+bool Scumm::isCostumeInUse(int cost) const {
int i;
Actor *a;
diff --git a/scumm/resource.cpp b/scumm/resource.cpp
index 7c2cbb3319..8cd61c5166 100644
--- a/scumm/resource.cpp
+++ b/scumm/resource.cpp
@@ -31,7 +31,8 @@
#include "gui/message.h"
#include "dialogs.h"
-uint16 newTag2Old(uint32 oldTag);
+static uint16 newTag2Old(uint32 oldTag);
+static const char *resTypeFromId(int id);
/* Open a room */
void Scumm::openRoom(int room) {
@@ -1318,7 +1319,7 @@ byte *Scumm::createResource(int type, int idx, uint32 size) {
return ptr + sizeof(MemBlkHeader); /* skip header */
}
-bool Scumm::validateResource(const char *str, int type, int idx) {
+bool Scumm::validateResource(const char *str, int type, int idx) const {
if (type < rtFirst || type > rtLast || (uint) idx >= (uint) res.num[type]) {
warning("%s Illegal Glob type %s (%d) num %d", str, resTypeFromId(type), type, idx);
return false;
@@ -1509,8 +1510,7 @@ void Scumm::unlock(int type, int i) {
// debug(1, "unlocking %d,%d", type, i);
}
-bool Scumm::isResourceInUse(int type, int i)
-{
+bool Scumm::isResourceInUse(int type, int i) const {
if (!validateResource("isResourceInUse", type, i))
return false;
switch (type) {
@@ -1625,7 +1625,7 @@ void Scumm::loadPtrToResource(int type, int resindex, const byte *source) {
}
}
-bool Scumm::isResourceLoaded(int type, int idx) {
+bool Scumm::isResourceLoaded(int type, int idx) const {
if (!validateResource("isLoaded", type, idx))
return false;
return res.address[type][idx] != NULL;
@@ -1781,7 +1781,7 @@ void Scumm::allocateArrays() {
}
-bool Scumm::isGlobInMemory(int type, int idx) {
+bool Scumm::isGlobInMemory(int type, int idx) const{
if (!validateResource("isGlobInMemory", type, idx))
return false;
@@ -1792,99 +1792,71 @@ uint16 newTag2Old(uint32 oldTag) {
switch (oldTag) {
case (MKID('RMHD')):
return (0x4448); // HD
- break;
case (MKID('IM00')):
return (0x4D42); // BM
- break;
case (MKID('EXCD')):
return (0x5845); // EX
- break;
case (MKID('ENCD')):
return (0x4E45); // EN
- break;
case (MKID('SCAL')):
return (0x4153); // SA
- break;
case (MKID('LSCR')):
return (0x534C); // LS
- break;
case (MKID('OBCD')):
return (0x434F); // OC
- break;
case (MKID('OBIM')):
return (0x494F); // OI
- break;
case (MKID('SMAP')):
return (0x4D42); // BM
- break;
case (MKID('CLUT')):
return (0x4150); // PA
- break;
case (MKID('BOXD')):
return (0x5842); // BX
- break;
default:
return (0);
}
}
-char *Scumm::resTypeFromId(int id) {
+const char *resTypeFromId(int id) {
static char buf[100];
switch (id) {
case rtRoom:
- sprintf(buf, "Room");
- break;
+ return "Room";
case rtScript:
- sprintf(buf, "Script");
- break;
+ return "Script";
case rtCostume:
- sprintf(buf, "Costume");
- break;
+ return "Costume";
case rtSound:
- sprintf(buf, "Sound");
- break;
+ return "Sound";
case rtInventory:
- sprintf(buf, "Inventory");
- break;
+ return "Inventory";
case rtCharset:
- sprintf(buf, "Charset");
- break;
+ return "Charset";
case rtString:
- sprintf(buf, "String");
- break;
+ return "String";
case rtVerb:
- sprintf(buf, "Verb");
- break;
+ return "Verb";
case rtActorName:
- sprintf(buf, "ActorName");
- break;
+ return "ActorName";
case rtBuffer:
- sprintf(buf, "Buffer");
- break;
+ return "Buffer";
case rtScaleTable:
- sprintf(buf, "ScaleTable");
- break;
+ return "ScaleTable";
case rtTemp:
- sprintf(buf, "Temp");
- break;
+ return "Temp";
case rtFlObject:
- sprintf(buf, "FlObject");
- break;
+ return "FlObject";
case rtMatrix:
- sprintf(buf, "Matrix");
- break;
+ return "Matrix";
case rtBox:
- sprintf(buf, "Box");
- break;
+ return "Box";
case rtLast:
- sprintf(buf, "Last");
- break;
+ return "Last";
case rtNumTypes:
- sprintf(buf, "NumTypes");
- break;
+ return "NumTypes";
default:
sprintf(buf, "%d", id);
+ return buf;
}
- return buf;
}
diff --git a/scumm/scumm.h b/scumm/scumm.h
index b24b43cb20..5cfbdb06a7 100644
--- a/scumm/scumm.h
+++ b/scumm/scumm.h
@@ -342,7 +342,6 @@ public:
// Startup functions
void main();
void parseCommandLine(int argc, char **argv);
- void showHelpAndExit();
bool detectGame();
void launch();
void go();
@@ -619,15 +618,14 @@ protected:
void loadPtrToResource(int type, int i, const byte *ptr);
void readResTypeList(int id, uint32 tag, const char *name);
- char *resTypeFromId(int id);
void allocResTypeData(int id, uint32 tag, int num, const char *name, int mode);
byte *createResource(int type, int index, uint32 size);
int loadResource(int type, int i);
void nukeResource(int type, int i);
public:
- bool isGlobInMemory(int type, int index);
- bool isResourceLoaded(int type, int index);
+ bool isGlobInMemory(int type, int index) const;
+ bool isResourceLoaded(int type, int index) const;
byte *getResourceAddress(int type, int i);
byte *getStringAddress(int i);
byte *getStringAddressVar(int i);
@@ -638,9 +636,9 @@ protected:
int readSoundResource(int type, int index);
int readSoundResourceSmallHeader(int type, int index);
void setResourceCounter(int type, int index, byte flag);
- bool validateResource(const char *str, int type, int index);
+ bool validateResource(const char *str, int type, int index) const;
void increaseResourceCounter();
- bool isResourceInUse(int type, int i);
+ bool isResourceInUse(int type, int i) const;
void initRoomSubBlocks();
void clearRoomObjects();
void loadRoomObjects();
@@ -738,12 +736,12 @@ protected:
void redrawVerbs();
void checkExecVerbs();
void verbMouseOver(int verb);
- int checkMouseOver(int x, int y);
+ int checkMouseOver(int x, int y) const;
void drawVerb(int verb, int mode);
void runInputScript(int a, int cmd, int mode);
void restoreVerbBG(int verb);
void drawVerbBitmap(int verb, int x, int y);
- int getVerbSlot(int id, int mode);
+ int getVerbSlot(int id, int mode) const;
void killVerb(int slot);
void setVerbObject(uint room, uint object, uint verb);
@@ -759,8 +757,8 @@ protected:
public:
/* Should be in Actor class */
- Actor *derefActor(int id, const char *errmsg = 0);
- Actor *derefActorSafe(int id, const char *errmsg);
+ Actor *derefActor(int id, const char *errmsg = 0) const;
+ Actor *derefActorSafe(int id, const char *errmsg) const;
uint32 *_classData;
@@ -776,7 +774,7 @@ protected:
void processUpperActors();
int getActorFromPos(int x, int y);
- bool isCostumeInUse(int i);
+ bool isCostumeInUse(int i) const;
public:
/* Actor talking stuff */
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp
index 83abcdc49e..d25cb0f24f 100644
--- a/scumm/scummvm.cpp
+++ b/scumm/scummvm.cpp
@@ -2115,7 +2115,7 @@ void Scumm::convertKeysToClicks() {
}
}
-Actor *Scumm::derefActor(int id, const char *errmsg) {
+Actor *Scumm::derefActor(int id, const char *errmsg) const {
if (id < 1 || id >= _numActors || _actors[id].number != id) {
if (errmsg)
error("Invalid actor %d in %s", id, errmsg);
@@ -2125,7 +2125,7 @@ Actor *Scumm::derefActor(int id, const char *errmsg) {
return &_actors[id];
}
-Actor *Scumm::derefActorSafe(int id, const char *errmsg) {
+Actor *Scumm::derefActorSafe(int id, const char *errmsg) const {
if (id < 1 || id >= _numActors || _actors[id].number != id) {
debug(2, "Invalid actor %d in %s (script %d, opcode 0x%x) - This is potentially a BIG problem.",
id, errmsg, vm.slot[_curExecScript].number, _opcode);
diff --git a/scumm/sound.cpp b/scumm/sound.cpp
index fb140b5cd9..85ea5ef4e0 100644
--- a/scumm/sound.cpp
+++ b/scumm/sound.cpp
@@ -591,7 +591,7 @@ bool Sound::isMouthSyncOff(uint pos) {
}
-int Sound::isSoundRunning(int sound) {
+int Sound::isSoundRunning(int sound) const {
int i;
if (sound == _current_cd_sound)
@@ -603,7 +603,7 @@ int Sound::isSoundRunning(int sound) {
} else if (sound == -1) {
// getSoundStatus(), with a -1, will return the
// ID number of the first active music it finds.
- return _scumm->_imuse->getSoundStatus (sound);
+ return _scumm->_imuse->getSoundStatus(sound);
}
}
@@ -626,7 +626,7 @@ int Sound::isSoundRunning(int sound) {
return _scumm->_imuse->getSoundStatus(sound);
if (_scumm->_playerV2)
- return _scumm->_playerV2->getSoundStatus (sound);
+ return _scumm->_playerV2->getSoundStatus(sound);
return 0;
}
@@ -635,7 +635,7 @@ int Sound::isSoundRunning(int sound) {
// calls IMuse::get_sound_active() instead of IMuse::getSoundStatus().
// This is necessary when determining what resources to
// expire from memory.
-bool Sound::isSoundActive(int sound) {
+bool Sound::isSoundActive(int sound) const {
int i;
if (sound == _current_cd_sound)
@@ -662,7 +662,7 @@ bool Sound::isSoundActive(int sound) {
return _scumm->_imuse->get_sound_active(sound);
}
-bool Sound::isSoundInQueue(int sound) {
+bool Sound::isSoundInQueue(int sound) const {
int i = 0, j, num;
int16 table[16];
@@ -961,7 +961,7 @@ void Sound::stopSfxSound() {
}
}
-bool Sound::isSfxFinished() {
+bool Sound::isSfxFinished() const {
return !_scumm->_mixer->hasActiveSFXChannel();
}
@@ -1454,7 +1454,7 @@ void Sound::stopCD() {
_scumm->_system->stop_cdrom();
}
-int Sound::pollCD() {
+int Sound::pollCD() const {
if (pollMP3CD())
return 1;
@@ -1566,7 +1566,7 @@ int Sound::stopMP3CD() {
return -1;
}
-int Sound::pollMP3CD() {
+int Sound::pollMP3CD() const{
if (_dig_cd_playing == true)
return 1;
return 0;
diff --git a/scumm/sound.h b/scumm/sound.h
index 4617b807fc..f0f8d2551a 100644
--- a/scumm/sound.h
+++ b/scumm/sound.h
@@ -118,9 +118,9 @@ public:
int startTalkSound(uint32 offset, uint32 b, int mode);
void stopTalkSound();
bool isMouthSyncOff(uint pos);
- int isSoundRunning(int sound);
- bool isSoundActive(int sound);
- bool isSoundInQueue(int sound);
+ int isSoundRunning(int sound) const;
+ bool isSoundActive(int sound) const;
+ bool isSoundInQueue(int sound) const;
void stopSound(int a);
void stopAllSounds();
void soundKludge(int *list, int num);
@@ -141,7 +141,7 @@ public:
void playCDTrack(int track, int num_loops, int start, int delay);
void stopCD();
- int pollCD();
+ int pollCD() const;
void updateCD();
protected:
@@ -150,7 +150,7 @@ protected:
File *openSfxFile();
int startSfxSound(File *file, int file_size);
void stopSfxSound();
- bool isSfxFinished();
+ bool isSfxFinished() const;
int playSfxSound(void *sound, uint32 size, uint rate, bool isUnsigned);
int playSfxSound_MP3(void *sound, uint32 size);
int playSfxSound_Vorbis(void *sound, uint32 size);
@@ -158,7 +158,7 @@ protected:
int getCachedTrack(int track);
int playMP3CDTrack(int track, int num_loops, int start, int delay);
int stopMP3CD();
- int pollMP3CD();
+ int pollMP3CD() const;
int updateMP3CD();
};
diff --git a/scumm/verbs.cpp b/scumm/verbs.cpp
index 6b4798c3ed..3ad2b92a08 100644
--- a/scumm/verbs.cpp
+++ b/scumm/verbs.cpp
@@ -319,7 +319,7 @@ void Scumm::verbMouseOver(int verb) {
}
}
-int Scumm::checkMouseOver(int x, int y) {
+int Scumm::checkMouseOver(int x, int y) const {
VerbSlot *vs;
int i = _maxVerbs - 1;
@@ -505,7 +505,7 @@ void Scumm::drawVerbBitmap(int verb, int x, int y) {
vs->alloctwobuffers = twobufs;
}
-int Scumm::getVerbSlot(int id, int mode) {
+int Scumm::getVerbSlot(int id, int mode) const {
int i;
for (i = 1; i < _maxVerbs; i++) {
if (_verbs[i].verbid == id && _verbs[i].saveid == mode) {