aboutsummaryrefslogtreecommitdiff
path: root/scumm/gfx.cpp
diff options
context:
space:
mode:
authorMax Horn2003-05-08 15:48:50 +0000
committerMax Horn2003-05-08 15:48:50 +0000
commit98881c3a6a513c27a06e596c29e0b40b355844f6 (patch)
treea6ddbd3a2e3aa483bae3d82e63fa2ccb6fc40f13 /scumm/gfx.cpp
parent6ab104cc3ca433b672318b3e9bde26f7e882940c (diff)
downloadscummvm-rg350-98881c3a6a513c27a06e596c29e0b40b355844f6.tar.gz
scummvm-rg350-98881c3a6a513c27a06e596c29e0b40b355844f6.tar.bz2
scummvm-rg350-98881c3a6a513c27a06e596c29e0b40b355844f6.zip
init all VAR_* variables to 0xFF; replaced access to _vars in the form _vars[VAR_*] by VARS(VAR_*) which performs a validity checK; renamed _vars to _scummVars to make sure I updated all places; fixed two places where V6 and newer games would access V5 vars (but there are still some left, it seems); checked VAR access for now only generates a warning
svn-id: r7393
Diffstat (limited to 'scumm/gfx.cpp')
-rw-r--r--scumm/gfx.cpp146
1 files changed, 73 insertions, 73 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp
index 7c997d9b63..e0b50e1966 100644
--- a/scumm/gfx.cpp
+++ b/scumm/gfx.cpp
@@ -204,7 +204,7 @@ void Scumm::getGraphicsPerformance() {
}
if (!(_features & GF_SMALL_HEADER)) // Variable is reserved for game scripts in earlier games
- _vars[VAR_PERFORMANCE_1] = 0;
+ VAR(VAR_PERFORMANCE_1) = 0;
for (i = 10; i != 0; i--) {
setDirtyRange(0, 0, _realHeight); //ender
@@ -212,7 +212,7 @@ void Scumm::getGraphicsPerformance() {
}
if (!(_features & GF_SMALL_HEADER)) // Variable is reserved for game scripts in earlier games
- _vars[VAR_PERFORMANCE_2] = 0;
+ VAR(VAR_PERFORMANCE_2) = 0;
if (_features & GF_AFTER_V7)
initScreens(0, 0, _realWidth, _realHeight);
@@ -497,7 +497,7 @@ void Gdi::resetBackground(int top, int bottom, int strip) {
numLinesToProcess = bottom - top;
if (numLinesToProcess) {
- if ((_vm->_features & GF_AFTER_V6) || (_vm->_vars[_vm->VAR_CURRENT_LIGHTS] & LIGHTMODE_screen)) {
+ if ((_vm->_features & GF_AFTER_V6) || (_vm->VAR(_vm->VAR_CURRENT_LIGHTS) & LIGHTMODE_screen)) {
if (_vm->hasCharsetMask(strip << 3, top, (strip + 1) << 3, bottom))
draw8ColWithMasking(backbuff_ptr, bgbak_ptr, numLinesToProcess, _mask_ptr);
else
@@ -602,7 +602,7 @@ void Scumm::drawFlashlight() {
x = _virtual_mouse_x;
y = _virtual_mouse_y;
} else {
- Actor *a = a = derefActorSafe(_vars[VAR_EGO], "drawFlashlight");
+ Actor *a = a = derefActorSafe(VAR(VAR_EGO), "drawFlashlight");
x = a->x;
y = a->y;
}
@@ -774,7 +774,7 @@ void Scumm::restoreBG(int left, int top, int right, int bottom, byte backColor)
width = right - left;
// Check whether lights are turned on or not
- lightsOn = (_features & GF_AFTER_V6) || (vs->number != 0) || (_vars[VAR_CURRENT_LIGHTS] & LIGHTMODE_screen);
+ lightsOn = (_features & GF_AFTER_V6) || (vs->number != 0) || (VAR(VAR_CURRENT_LIGHTS) & LIGHTMODE_screen);
if (vs->alloctwobuffers && _currentRoom != 0 && lightsOn ) {
blit(backbuff, bgbak, width, height);
@@ -853,7 +853,7 @@ void Gdi::drawBitmap(byte *ptr, VirtScreen *vs, int x, int y, const int h,
bool useOrDecompress = false;
// Check whether lights are turned on or not
- lightsOn = (_vm->_features & GF_AFTER_V6) || (vs->number != 0) || (_vm->_vars[_vm->VAR_CURRENT_LIGHTS] & LIGHTMODE_screen);
+ lightsOn = (_vm->_features & GF_AFTER_V6) || (vs->number != 0) || (_vm->VAR(_vm->VAR_CURRENT_LIGHTS) & LIGHTMODE_screen);
CHECK_HEAP;
if (_vm->_features & GF_SMALL_HEADER)
@@ -1958,16 +1958,16 @@ void Scumm::setCameraAt(int pos_x, int pos_y) {
clampCameraPos(&camera._cur);
camera._dest = camera._cur;
- _vars[VAR_CAMERA_DEST_X] = camera._dest.x;
- _vars[VAR_CAMERA_DEST_Y] = camera._dest.y;
+ VAR(VAR_CAMERA_DEST_X) = camera._dest.x;
+ VAR(VAR_CAMERA_DEST_Y) = camera._dest.y;
assert(camera._cur.x >= (_realWidth / 2) && camera._cur.y >= (_realHeight / 2));
if ((camera._cur.x != old.x || camera._cur.y != old.y)
- && _vars[VAR_SCROLL_SCRIPT]) {
- _vars[VAR_CAMERA_POS_X] = camera._cur.x;
- _vars[VAR_CAMERA_POS_Y] = camera._cur.y;
- runScript(_vars[VAR_SCROLL_SCRIPT], 0, 0, 0);
+ && VAR(VAR_SCROLL_SCRIPT)) {
+ VAR(VAR_CAMERA_POS_X) = camera._cur.x;
+ VAR(VAR_CAMERA_POS_Y) = camera._cur.y;
+ runScript(VAR(VAR_SCROLL_SCRIPT), 0, 0, 0);
}
} else {
@@ -1976,15 +1976,15 @@ void Scumm::setCameraAt(int pos_x, int pos_y) {
}
camera._dest.x = pos_x;
- if (camera._cur.x < _vars[VAR_CAMERA_MIN_X])
- camera._cur.x = _vars[VAR_CAMERA_MIN_X];
+ if (camera._cur.x < VAR(VAR_CAMERA_MIN_X))
+ camera._cur.x = VAR(VAR_CAMERA_MIN_X);
- if (camera._cur.x > _vars[VAR_CAMERA_MAX_X])
- camera._cur.x = _vars[VAR_CAMERA_MAX_X];
+ if (camera._cur.x > VAR(VAR_CAMERA_MAX_X))
+ camera._cur.x = VAR(VAR_CAMERA_MAX_X);
- if (_vars[VAR_SCROLL_SCRIPT]) {
- _vars[VAR_CAMERA_POS_X] = camera._cur.x;
- runScript(_vars[VAR_SCROLL_SCRIPT], 0, 0, 0);
+ if (VAR(VAR_SCROLL_SCRIPT)) {
+ VAR(VAR_CAMERA_POS_X) = camera._cur.x;
+ runScript(VAR(VAR_SCROLL_SCRIPT), 0, 0, 0);
}
if (camera._cur.x != camera._last.x && _charset->_hasMask)
@@ -1998,7 +1998,7 @@ void Scumm::setCameraFollows(Actor *a) {
int ax, ay;
camera._follows = a->number;
- _vars[VAR_CAMERA_FOLLOWED_ACTOR] = a->number;
+ VAR(VAR_CAMERA_FOLLOWED_ACTOR) = a->number;
if (!a->isInCurrentRoom()) {
startScene(a->getRoom(), 0, 0);
@@ -2007,7 +2007,7 @@ void Scumm::setCameraFollows(Actor *a) {
ax = abs(a->x - camera._cur.x);
ay = abs(a->y - camera._cur.y);
- if (ax > _vars[VAR_CAMERA_THRESHOLD_X] || ay > _vars[VAR_CAMERA_THRESHOLD_Y] || ax > (_realWidth / 2) || ay > (_realHeight / 2)) {
+ if (ax > VAR(VAR_CAMERA_THRESHOLD_X) || ay > VAR(VAR_CAMERA_THRESHOLD_Y) || ax > (_realWidth / 2) || ay > (_realHeight / 2)) {
setCameraAt(a->x, a->y);
}
@@ -2041,17 +2041,17 @@ void Scumm::setCameraFollows(Actor *a) {
}
void Scumm::clampCameraPos(ScummPoint *pt) {
- if (pt->x < _vars[VAR_CAMERA_MIN_X])
- pt->x = _vars[VAR_CAMERA_MIN_X];
+ if (pt->x < VAR(VAR_CAMERA_MIN_X))
+ pt->x = VAR(VAR_CAMERA_MIN_X);
- if (pt->x > _vars[VAR_CAMERA_MAX_X])
- pt->x = _vars[VAR_CAMERA_MAX_X];
+ if (pt->x > VAR(VAR_CAMERA_MAX_X))
+ pt->x = VAR(VAR_CAMERA_MAX_X);
- if (pt->y < _vars[VAR_CAMERA_MIN_Y])
- pt->y = _vars[VAR_CAMERA_MIN_Y];
+ if (pt->y < VAR(VAR_CAMERA_MIN_Y))
+ pt->y = VAR(VAR_CAMERA_MIN_Y);
- if (pt->y > _vars[VAR_CAMERA_MAX_Y])
- pt->y = _vars[VAR_CAMERA_MAX_Y];
+ if (pt->y > VAR(VAR_CAMERA_MAX_Y))
+ pt->y = VAR(VAR_CAMERA_MAX_Y);
}
void Scumm::moveCamera() {
@@ -2061,12 +2061,12 @@ void Scumm::moveCamera() {
if (camera._follows) {
a = derefActorSafe(camera._follows, "moveCamera");
- if (abs(camera._cur.x - a->x) > _vars[VAR_CAMERA_THRESHOLD_X] ||
- abs(camera._cur.y - a->y) > _vars[VAR_CAMERA_THRESHOLD_Y]) {
+ if (abs(camera._cur.x - a->x) > VAR(VAR_CAMERA_THRESHOLD_X) ||
+ abs(camera._cur.y - a->y) > VAR(VAR_CAMERA_THRESHOLD_Y)) {
camera._movingToActor = true;
- if (_vars[VAR_CAMERA_THRESHOLD_X] == 0)
+ if (VAR(VAR_CAMERA_THRESHOLD_X) == 0)
camera._cur.x = a->x;
- if (_vars[VAR_CAMERA_THRESHOLD_Y] == 0)
+ if (VAR(VAR_CAMERA_THRESHOLD_Y) == 0)
camera._cur.y = a->y;
clampCameraPos(&camera._cur);
}
@@ -2075,8 +2075,8 @@ void Scumm::moveCamera() {
}
if (camera._movingToActor) {
- _vars[VAR_CAMERA_DEST_X] = camera._dest.x = a->x;
- _vars[VAR_CAMERA_DEST_Y] = camera._dest.y = a->y;
+ VAR(VAR_CAMERA_DEST_X) = camera._dest.x = a->x;
+ VAR(VAR_CAMERA_DEST_Y) = camera._dest.y = a->y;
}
assert(camera._cur.x >= (_realWidth / 2) && camera._cur.y >= (_realHeight / 2));
@@ -2084,25 +2084,25 @@ void Scumm::moveCamera() {
clampCameraPos(&camera._dest);
if (camera._cur.x < camera._dest.x) {
- camera._cur.x += _vars[VAR_CAMERA_SPEED_X];
+ camera._cur.x += VAR(VAR_CAMERA_SPEED_X);
if (camera._cur.x > camera._dest.x)
camera._cur.x = camera._dest.x;
}
if (camera._cur.x > camera._dest.x) {
- camera._cur.x -= _vars[VAR_CAMERA_SPEED_X];
+ camera._cur.x -= VAR(VAR_CAMERA_SPEED_X);
if (camera._cur.x < camera._dest.x)
camera._cur.x = camera._dest.x;
}
if (camera._cur.y < camera._dest.y) {
- camera._cur.y += _vars[VAR_CAMERA_SPEED_Y];
+ camera._cur.y += VAR(VAR_CAMERA_SPEED_Y);
if (camera._cur.y > camera._dest.y)
camera._cur.y = camera._dest.y;
}
if (camera._cur.y > camera._dest.y) {
- camera._cur.y -= _vars[VAR_CAMERA_SPEED_Y];
+ camera._cur.y -= VAR(VAR_CAMERA_SPEED_Y);
if (camera._cur.y < camera._dest.y)
camera._cur.y = camera._dest.y;
}
@@ -2111,31 +2111,31 @@ void Scumm::moveCamera() {
camera._movingToActor = false;
camera._accel.x = camera._accel.y = 0;
- _vars[VAR_CAMERA_SPEED_X] = _vars[VAR_CAMERA_SPEED_Y] = 0;
+ VAR(VAR_CAMERA_SPEED_X) = VAR(VAR_CAMERA_SPEED_Y) = 0;
} else {
- camera._accel.x += _vars[VAR_CAMERA_ACCEL_X];
- camera._accel.y += _vars[VAR_CAMERA_ACCEL_Y];
+ camera._accel.x += VAR(VAR_CAMERA_ACCEL_X);
+ camera._accel.y += VAR(VAR_CAMERA_ACCEL_Y);
- _vars[VAR_CAMERA_SPEED_X] += camera._accel.x / 100;
- _vars[VAR_CAMERA_SPEED_Y] += camera._accel.y / 100;
+ VAR(VAR_CAMERA_SPEED_X) += camera._accel.x / 100;
+ VAR(VAR_CAMERA_SPEED_Y) += camera._accel.y / 100;
- if (_vars[VAR_CAMERA_SPEED_X] < 8)
- _vars[VAR_CAMERA_SPEED_X] = 8;
+ if (VAR(VAR_CAMERA_SPEED_X) < 8)
+ VAR(VAR_CAMERA_SPEED_X) = 8;
- if (_vars[VAR_CAMERA_SPEED_Y] < 8)
- _vars[VAR_CAMERA_SPEED_Y] = 8;
+ if (VAR(VAR_CAMERA_SPEED_Y) < 8)
+ VAR(VAR_CAMERA_SPEED_Y) = 8;
}
cameraMoved();
if (camera._cur.x != old.x || camera._cur.y != old.y) {
- _vars[VAR_CAMERA_POS_X] = camera._cur.x;
- _vars[VAR_CAMERA_POS_Y] = camera._cur.y;
+ VAR(VAR_CAMERA_POS_X) = camera._cur.x;
+ VAR(VAR_CAMERA_POS_Y) = camera._cur.y;
- if (_vars[VAR_SCROLL_SCRIPT])
- runScript(_vars[VAR_SCROLL_SCRIPT], 0, 0, 0);
+ if (VAR(VAR_SCROLL_SCRIPT))
+ runScript(VAR(VAR_SCROLL_SCRIPT), 0, 0, 0);
}
} else {
int pos = camera._cur.x;
@@ -2144,18 +2144,18 @@ void Scumm::moveCamera() {
camera._cur.x &= 0xFFF8;
- if (camera._cur.x < _vars[VAR_CAMERA_MIN_X]) {
- if (_vars[VAR_CAMERA_FAST_X])
- camera._cur.x = _vars[VAR_CAMERA_MIN_X];
+ if (camera._cur.x < VAR(VAR_CAMERA_MIN_X)) {
+ if (VAR(VAR_CAMERA_FAST_X))
+ camera._cur.x = VAR(VAR_CAMERA_MIN_X);
else
camera._cur.x += 8;
cameraMoved();
return;
}
- if (camera._cur.x > _vars[VAR_CAMERA_MAX_X]) {
- if (_vars[VAR_CAMERA_FAST_X])
- camera._cur.x = _vars[VAR_CAMERA_MAX_X];
+ if (camera._cur.x > VAR(VAR_CAMERA_MAX_X)) {
+ if (VAR(VAR_CAMERA_FAST_X))
+ camera._cur.x = VAR(VAR_CAMERA_MAX_X);
else
camera._cur.x -= 8;
cameraMoved();
@@ -2169,7 +2169,7 @@ void Scumm::moveCamera() {
t = (actorx >> 3) - _screenStartStrip;
if (t < camera._leftTrigger || t > camera._rightTrigger) {
- if (_vars[VAR_CAMERA_FAST_X]) {
+ if (VAR(VAR_CAMERA_FAST_X)) {
if (t > 35)
camera._dest.x = actorx + 80;
if (t < 5)
@@ -2184,13 +2184,13 @@ void Scumm::moveCamera() {
camera._dest.x = a->x;
}
- if (camera._dest.x < _vars[VAR_CAMERA_MIN_X])
- camera._dest.x = _vars[VAR_CAMERA_MIN_X];
+ if (camera._dest.x < VAR(VAR_CAMERA_MIN_X))
+ camera._dest.x = VAR(VAR_CAMERA_MIN_X);
- if (camera._dest.x > _vars[VAR_CAMERA_MAX_X])
- camera._dest.x = _vars[VAR_CAMERA_MAX_X];
+ if (camera._dest.x > VAR(VAR_CAMERA_MAX_X))
+ camera._dest.x = VAR(VAR_CAMERA_MAX_X);
- if (_vars[VAR_CAMERA_FAST_X]) {
+ if (VAR(VAR_CAMERA_FAST_X)) {
camera._cur.x = camera._dest.x;
} else {
if (camera._cur.x < camera._dest.x)
@@ -2206,9 +2206,9 @@ void Scumm::moveCamera() {
cameraMoved();
- if (pos != camera._cur.x && _vars[VAR_SCROLL_SCRIPT]) {
- _vars[VAR_CAMERA_POS_X] = camera._cur.x;
- runScript(_vars[VAR_SCROLL_SCRIPT], 0, 0, 0);
+ if (pos != camera._cur.x && VAR(VAR_SCROLL_SCRIPT)) {
+ VAR(VAR_CAMERA_POS_X) = camera._cur.x;
+ runScript(VAR(VAR_SCROLL_SCRIPT), 0, 0, 0);
}
}
}
@@ -2249,9 +2249,9 @@ void Scumm::cameraMoved() {
void Scumm::panCameraTo(int x, int y) {
if (_features & GF_AFTER_V7) {
- _vars[VAR_CAMERA_FOLLOWED_ACTOR] = camera._follows = 0;
- _vars[VAR_CAMERA_DEST_X] = camera._dest.x = x;
- _vars[VAR_CAMERA_DEST_Y] = camera._dest.y = y;
+ VAR(VAR_CAMERA_FOLLOWED_ACTOR) = camera._follows = 0;
+ VAR(VAR_CAMERA_DEST_X) = camera._dest.x = x;
+ VAR(VAR_CAMERA_DEST_Y) = camera._dest.y = y;
} else {
camera._dest.x = x;
@@ -2759,9 +2759,9 @@ void Scumm::cyclePalette() {
byte *start, *end;
byte tmp[3];
- valueToAdd = _vars[VAR_TIMER];
- if (valueToAdd < _vars[VAR_TIMER_NEXT])
- valueToAdd = _vars[VAR_TIMER_NEXT];
+ valueToAdd = VAR(VAR_TIMER);
+ if (valueToAdd < VAR(VAR_TIMER_NEXT))
+ valueToAdd = VAR(VAR_TIMER_NEXT);
if (!_colorCycle) // FIXME
return;