aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Snover2016-09-26 19:28:51 -0500
committerColin Snover2016-09-29 19:39:16 -0500
commit6290f1e5fcc241441230912c4762828500988dab (patch)
tree0c763293504b076fc1ffdc1ae83043449facc00e
parent8cb994b80125fbb02a1c2d35781e96e194a56ed1 (diff)
downloadscummvm-rg350-6290f1e5fcc241441230912c4762828500988dab.tar.gz
scummvm-rg350-6290f1e5fcc241441230912c4762828500988dab.tar.bz2
scummvm-rg350-6290f1e5fcc241441230912c4762828500988dab.zip
SCI: Add prefix to global variable constants
-rw-r--r--engines/sci/engine/kscripts.cpp4
-rw-r--r--engines/sci/engine/savegame.cpp6
-rw-r--r--engines/sci/engine/state.cpp4
-rw-r--r--engines/sci/engine/vm.cpp6
-rw-r--r--engines/sci/engine/vm.h26
-rw-r--r--engines/sci/graphics/animate.cpp4
-rw-r--r--engines/sci/graphics/frameout.cpp4
-rw-r--r--engines/sci/sci.cpp10
8 files changed, 31 insertions, 33 deletions
diff --git a/engines/sci/engine/kscripts.cpp b/engines/sci/engine/kscripts.cpp
index 749af67580..0e29ccf783 100644
--- a/engines/sci/engine/kscripts.cpp
+++ b/engines/sci/engine/kscripts.cpp
@@ -238,8 +238,8 @@ reg_t kScriptID(EngineState *s, int argc, reg_t *argv) {
// initialized to 0, whereas it's 6 in other versions. Thus, we assign it
// to 6 here, fixing the speed of the introduction. Refer to bug #3102071.
if (g_sci->getGameId() == GID_PQ2 && script == 200 &&
- s->variables[VAR_GLOBAL][kSpeed].isNull()) {
- s->variables[VAR_GLOBAL][kSpeed] = make_reg(0, 6);
+ s->variables[VAR_GLOBAL][kGlobalVarSpeed].isNull()) {
+ s->variables[VAR_GLOBAL][kGlobalVarSpeed] = make_reg(0, 6);
}
return make_reg(scriptSeg, address);
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index d50df94f4b..36c35e47ea 100644
--- a/engines/sci/engine/savegame.cpp
+++ b/engines/sci/engine/savegame.cpp
@@ -337,12 +337,12 @@ static void sync_SavegameMetadata(Common::Serializer &s, SavegameMetadata &obj)
if (s.isSaving()) {
const reg_t *globals = g_sci->getEngineState()->variables[VAR_GLOBAL];
if (g_sci->getGameId() == GID_SHIVERS) {
- obj.lowScore = globals[kScore].toUint16();
- obj.highScore = globals[kShivers1Score].toUint16();
+ obj.lowScore = globals[kGlobalVarScore].toUint16();
+ obj.highScore = globals[kGlobalVarShivers1Score].toUint16();
obj.avatarId = 0;
} else if (g_sci->getGameId() == GID_MOTHERGOOSEHIRES) {
obj.lowScore = obj.highScore = 0;
- obj.avatarId = readSelectorValue(g_sci->getEngineState()->_segMan, globals[kEgo], SELECTOR(view));
+ obj.avatarId = readSelectorValue(g_sci->getEngineState()->_segMan, globals[kGlobalVarEgo], SELECTOR(view));
} else {
obj.lowScore = obj.highScore = obj.avatarId = 0;
}
diff --git a/engines/sci/engine/state.cpp b/engines/sci/engine/state.cpp
index 5d4eba7c95..cec402da7d 100644
--- a/engines/sci/engine/state.cpp
+++ b/engines/sci/engine/state.cpp
@@ -159,11 +159,11 @@ void EngineState::initGlobals() {
}
uint16 EngineState::currentRoomNumber() const {
- return variables[VAR_GLOBAL][kNewRoomNo].toUint16();
+ return variables[VAR_GLOBAL][kGlobalVarNewRoomNo].toUint16();
}
void EngineState::setRoomNumber(uint16 roomNumber) {
- variables[VAR_GLOBAL][kNewRoomNo] = make_reg(0, roomNumber);
+ variables[VAR_GLOBAL][kGlobalVarNewRoomNo] = make_reg(0, roomNumber);
}
void EngineState::shrinkStackToBase() {
diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp
index 7c7f75c180..c0334f52ad 100644
--- a/engines/sci/engine/vm.cpp
+++ b/engines/sci/engine/vm.cpp
@@ -179,7 +179,7 @@ static void write_var(EngineState *s, int type, int index, reg_t value) {
// stopGroop object, which points to ego, to the new ego object. If this is not
// done, ego's movement will not be updated properly, so the result is
// unpredictable (for example in LSL5, Patti spins around instead of walking).
- if (index == kEgo && type == VAR_GLOBAL && getSciVersion() > SCI_VERSION_0_EARLY) {
+ if (index == kGlobalVarEgo && type == VAR_GLOBAL && getSciVersion() > SCI_VERSION_0_EARLY) {
reg_t stopGroopPos = s->_segMan->findObjectByName("stopGroop");
if (!stopGroopPos.isNull()) { // does the game have a stopGroop object?
// Find the "client" member variable of the stopGroop object, and update it
@@ -200,9 +200,9 @@ static void write_var(EngineState *s, int type, int index, reg_t value) {
s->variables[type][index] = value;
- if (type == VAR_GLOBAL && index == kMessageType) {
+ if (type == VAR_GLOBAL && index == kGlobalVarMessageType) {
// The game is trying to change its speech/subtitle settings
- if (!g_sci->getEngineState()->_syncedAudioOptions || s->variables[VAR_GLOBAL][kQuit] == TRUE_REG) {
+ if (!g_sci->getEngineState()->_syncedAudioOptions || s->variables[VAR_GLOBAL][kGlobalVarQuit] == TRUE_REG) {
// ScummVM audio options haven't been applied yet, so apply them.
// We also force the ScummVM audio options when loading a game from
// the launcher.
diff --git a/engines/sci/engine/vm.h b/engines/sci/engine/vm.h
index 31433555e4..a4ac16ea32 100644
--- a/engines/sci/engine/vm.h
+++ b/engines/sci/engine/vm.h
@@ -137,20 +137,18 @@ enum {
};
enum GlobalVar {
- kEgo = 0,
- kGame = 1,
- kCurrentRoom = 2,
- kSpeed = 3, // SCI16
- kDefaultPlane = 3, // SCI32
- kQuit = 4,
- kPlanes = 10, // SCI32
- kCurrentRoomNo = 11,
- kPreviousRoomNo = 12,
- kNewRoomNo = 13,
- kScore = 15,
- kFastCast = 84, // SCI16
- kMessageType = 90,
- kShivers1Score = 349
+ kGlobalVarEgo = 0,
+ kGlobalVarCurrentRoom = 2,
+ kGlobalVarSpeed = 3, // SCI16
+ kGlobalVarQuit = 4,
+ kGlobalVarPlanes = 10, // SCI32
+ kGlobalVarCurrentRoomNo = 11,
+ kGlobalVarPreviousRoomNo = 12,
+ kGlobalVarNewRoomNo = 13,
+ kGlobalVarScore = 15,
+ kGlobalVarFastCast = 84, // SCI16
+ kGlobalVarMessageType = 90,
+ kGlobalVarShivers1Score = 349
};
/** Number of kernel calls in between gcs; should be < 50000 */
diff --git a/engines/sci/graphics/animate.cpp b/engines/sci/graphics/animate.cpp
index e593484d8b..8d92cb905f 100644
--- a/engines/sci/graphics/animate.cpp
+++ b/engines/sci/graphics/animate.cpp
@@ -145,7 +145,7 @@ bool GfxAnimate::invoke(List *list, int argc, reg_t *argv) {
if (_fastCastEnabled) {
// Check if the game has a fastCast object set
// if we don't abort kAnimate processing, at least in kq5 there will be animation cels drawn into speech boxes.
- if (!_s->variables[VAR_GLOBAL][kFastCast].isNull()) {
+ if (!_s->variables[VAR_GLOBAL][kGlobalVarFastCast].isNull()) {
// This normally points to an object called "fastCast",
// but for example in Eco Quest 1 it may also point to an object called "EventHandler" (see bug #5170)
// Original SCI only checked, if this global was not 0.
@@ -338,7 +338,7 @@ void GfxAnimate::applyGlobalScaling(AnimateList::iterator entry, GfxView *view)
int16 maxScale = readSelectorValue(_s->_segMan, entry->object, SELECTOR(maxScale));
int16 celHeight = view->getHeight(entry->loopNo, entry->celNo);
int16 maxCelHeight = (maxScale * celHeight) >> 7;
- reg_t globalVar2 = _s->variables[VAR_GLOBAL][kCurrentRoom]; // current room object
+ reg_t globalVar2 = _s->variables[VAR_GLOBAL][kGlobalVarCurrentRoom]; // current room object
int16 vanishingY = readSelectorValue(_s->_segMan, globalVar2, SELECTOR(vanishingY));
int16 fixedPortY = _ports->getPort()->rect.bottom - vanishingY;
diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp
index 7410bdabac..c5c06c68d4 100644
--- a/engines/sci/graphics/frameout.cpp
+++ b/engines/sci/graphics/frameout.cpp
@@ -141,7 +141,7 @@ void GfxFrameout::syncWithScripts(bool addElements) {
return;
// Get planes list object
- reg_t planesListObject = engineState->variables[VAR_GLOBAL][kPlanes];
+ reg_t planesListObject = engineState->variables[VAR_GLOBAL][kGlobalVarPlanes];
reg_t planesListElements = readSelector(segMan, planesListObject, SELECTOR(elements));
List *planesList = segMan->lookupList(planesListElements);
@@ -565,7 +565,7 @@ void GfxFrameout::palMorphFrameOut(const int8 *styleRanges, PlaneShowStyle *show
Palette sourcePalette(_palette->getNextPalette());
alterVmap(sourcePalette, sourcePalette, -1, styleRanges);
- int16 prevRoom = g_sci->getEngineState()->variables[VAR_GLOBAL][kPreviousRoomNo].toSint16();
+ int16 prevRoom = g_sci->getEngineState()->variables[VAR_GLOBAL][kGlobalVarPreviousRoomNo].toSint16();
Common::Rect rect(_currentBuffer.screenWidth, _currentBuffer.screenHeight);
_showList.add(rect);
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index 4767b8a9c0..168e3c49ba 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -1123,9 +1123,9 @@ void SciEngine::syncIngameAudioOptions() {
if (useGlobal90) {
if (subtitlesOn && !speechOn) {
- _gamestate->variables[VAR_GLOBAL][kMessageType] = make_reg(0, 1); // subtitles
+ _gamestate->variables[VAR_GLOBAL][kGlobalVarMessageType] = make_reg(0, 1); // subtitles
} else if (!subtitlesOn && speechOn) {
- _gamestate->variables[VAR_GLOBAL][kMessageType] = make_reg(0, 2); // speech
+ _gamestate->variables[VAR_GLOBAL][kGlobalVarMessageType] = make_reg(0, 2); // speech
} else if (subtitlesOn && speechOn) {
// Is it a game that supports simultaneous speech and subtitles?
switch (_gameId) {
@@ -1146,11 +1146,11 @@ void SciEngine::syncIngameAudioOptions() {
// Phantasmagoria does not support simultaneous speech + subtitles
// Mixed Up Mother Goose Deluxe does not support simultaneous speech + subtitles
#endif // ENABLE_SCI32
- _gamestate->variables[VAR_GLOBAL][kMessageType] = make_reg(0, 3); // speech + subtitles
+ _gamestate->variables[VAR_GLOBAL][kGlobalVarMessageType] = make_reg(0, 3); // speech + subtitles
break;
default:
// Game does not support speech and subtitles, set it to speech
- _gamestate->variables[VAR_GLOBAL][kMessageType] = make_reg(0, 2); // speech
+ _gamestate->variables[VAR_GLOBAL][kGlobalVarMessageType] = make_reg(0, 2); // speech
}
}
}
@@ -1161,7 +1161,7 @@ void SciEngine::updateScummVMAudioOptions() {
// Update ScummVM's speech/subtitles settings for SCI1.1 CD games,
// depending on the in-game settings
if (isCD() && getSciVersion() == SCI_VERSION_1_1) {
- uint16 ingameSetting = _gamestate->variables[VAR_GLOBAL][kMessageType].getOffset();
+ uint16 ingameSetting = _gamestate->variables[VAR_GLOBAL][kGlobalVarMessageType].getOffset();
switch (ingameSetting) {
case 1: