aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner
diff options
context:
space:
mode:
authorPeter Kohaut2019-02-21 20:37:23 +0100
committerPeter Kohaut2019-02-23 11:39:54 +0100
commitf70251819aa2e5e9715a25bf8c4ed26394a164cf (patch)
tree704615311301f80538c560da831d27962b3ca49a /engines/bladerunner
parent68f9acad0de7758b1c00524e3ae63572f13463ba (diff)
downloadscummvm-rg350-f70251819aa2e5e9715a25bf8c4ed26394a164cf.tar.gz
scummvm-rg350-f70251819aa2e5e9715a25bf8c4ed26394a164cf.tar.bz2
scummvm-rg350-f70251819aa2e5e9715a25bf8c4ed26394a164cf.zip
BLADERUNNER: Fixed CppCheck warnings
Rat interaction at UG15 is now working exactly as in the original game. Before the bridge didn't break if player shot the rat on it.
Diffstat (limited to 'engines/bladerunner')
-rw-r--r--engines/bladerunner/actor.cpp5
-rw-r--r--engines/bladerunner/audio_player.cpp4
-rw-r--r--engines/bladerunner/decompress_lcw.cpp4
-rw-r--r--engines/bladerunner/fog.cpp46
-rw-r--r--engines/bladerunner/game_info.cpp7
-rw-r--r--engines/bladerunner/light.cpp110
-rw-r--r--engines/bladerunner/screen_effects.cpp4
-rw-r--r--engines/bladerunner/script/ai/free_slot_a.cpp16
-rw-r--r--engines/bladerunner/script/ai/officer_leary.cpp7
-rw-r--r--engines/bladerunner/script/ai_script.h2
-rw-r--r--engines/bladerunner/script/scene/ar01.cpp2
-rw-r--r--engines/bladerunner/script/scene/nr07.cpp2
-rw-r--r--engines/bladerunner/script/script.cpp2
-rw-r--r--engines/bladerunner/set.cpp6
-rw-r--r--engines/bladerunner/slice_renderer.cpp4
-rw-r--r--engines/bladerunner/ui/kia.cpp9
-rw-r--r--engines/bladerunner/ui/kia_section_save.cpp2
-rw-r--r--engines/bladerunner/ui/ui_check_box.cpp3
-rw-r--r--engines/bladerunner/ui/ui_container.cpp12
-rw-r--r--engines/bladerunner/vqa_decoder.cpp14
-rw-r--r--engines/bladerunner/vqa_player.cpp3
21 files changed, 123 insertions, 141 deletions
diff --git a/engines/bladerunner/actor.cpp b/engines/bladerunner/actor.cpp
index 6403eab9e8..b884fe7453 100644
--- a/engines/bladerunner/actor.cpp
+++ b/engines/bladerunner/actor.cpp
@@ -285,7 +285,6 @@ void Actor::timerUpdate(int timerId) {
void Actor::movementTrackNext(bool omitAiScript) {
bool hasNextMovement;
- int waypointSetId;
bool running;
int angle;
int delay;
@@ -302,7 +301,7 @@ void Actor::movementTrackNext(bool omitAiScript) {
if (angle == -1) {
angle = 0;
}
- waypointSetId = _vm->_waypoints->getSetId(waypointId);
+ int waypointSetId = _vm->_waypoints->getSetId(waypointId);
_vm->_waypoints->getXYZ(waypointId, &waypointPosition.x, &waypointPosition.y, &waypointPosition.z);
if (_setId == waypointSetId && waypointSetId == _vm->_actors[0]->_setId) {
stopWalking(false);
@@ -545,8 +544,8 @@ bool Actor::loopWalkToSceneObject(const Common::String &objectName, int proximit
if (d < closestDistance) {
closestX = x0;
closestZ = z1;
- closestDistance = d;
}
+
bool inWalkbox;
float y = _vm->_scene->_set->getAltitudeAtXZ(closestX, closestZ, &inWalkbox);
Vector3 destination(closestX, y, closestZ);
diff --git a/engines/bladerunner/audio_player.cpp b/engines/bladerunner/audio_player.cpp
index df92be2d42..4507506888 100644
--- a/engines/bladerunner/audio_player.cpp
+++ b/engines/bladerunner/audio_player.cpp
@@ -76,8 +76,8 @@ void AudioPlayer::adjustVolume(int track, int volume, int delay, bool overrideVo
actualVolume = actualVolume * _sfxVolume / 100;
}
- _tracks[track].volume = volume;
- _vm->_audioMixer->adjustVolume(_tracks[track].channel, volume, 60 * delay);
+ _tracks[track].volume = actualVolume;
+ _vm->_audioMixer->adjustVolume(_tracks[track].channel, actualVolume, 60 * delay);
}
void AudioPlayer::adjustPan(int track, int pan, int delay) {
diff --git a/engines/bladerunner/decompress_lcw.cpp b/engines/bladerunner/decompress_lcw.cpp
index 9fc4640d1b..7f96fa8f7c 100644
--- a/engines/bladerunner/decompress_lcw.cpp
+++ b/engines/bladerunner/decompress_lcw.cpp
@@ -28,7 +28,7 @@ namespace BladeRunner {
uint32 decompress_lcw(uint8 *inBuf, uint32 inLen, uint8 *outBuf, uint32 outLen) {
int version = 1;
- int count, i, color, pos, relpos, out_remain;
+ int count, i, color, pos, relpos;
uint8 *src = inBuf;
uint8 *dst = outBuf;
@@ -40,7 +40,7 @@ uint32 decompress_lcw(uint8 *inBuf, uint32 inLen, uint8 *outBuf, uint32 outLen)
}
while (src < inBuf + inLen && dst < outEnd && src[0] != 0x80) {
- out_remain = (int)(outEnd - dst);
+ int out_remain = (int)(outEnd - dst);
if (src[0] == 0xff) { // 0b11111111
count = src[1] | (src[2] << 8);
diff --git a/engines/bladerunner/fog.cpp b/engines/bladerunner/fog.cpp
index edebc9412f..4856f1d3b3 100644
--- a/engines/bladerunner/fog.cpp
+++ b/engines/bladerunner/fog.cpp
@@ -78,17 +78,17 @@ void Fog::readAnimationData(Common::ReadStream *stream, int size) {
}
_m11ptr = _animationData;
- _m12ptr = _m11ptr + (_animatedParameters & 0x1 ? _frameCount : 1);
- _m13ptr = _m12ptr + (_animatedParameters & 0x2 ? _frameCount : 1);
- _m14ptr = _m13ptr + (_animatedParameters & 0x4 ? _frameCount : 1);
- _m21ptr = _m14ptr + (_animatedParameters & 0x8 ? _frameCount : 1);
- _m22ptr = _m21ptr + (_animatedParameters & 0x10 ? _frameCount : 1);
- _m23ptr = _m22ptr + (_animatedParameters & 0x20 ? _frameCount : 1);
- _m24ptr = _m23ptr + (_animatedParameters & 0x40 ? _frameCount : 1);
- _m31ptr = _m24ptr + (_animatedParameters & 0x80 ? _frameCount : 1);
- _m32ptr = _m31ptr + (_animatedParameters & 0x100 ? _frameCount : 1);
- _m33ptr = _m32ptr + (_animatedParameters & 0x200 ? _frameCount : 1);
- _m34ptr = _m33ptr + (_animatedParameters & 0x400 ? _frameCount : 1);
+ _m12ptr = _m11ptr + ((_animatedParameters & 0x1) ? _frameCount : 1);
+ _m13ptr = _m12ptr + ((_animatedParameters & 0x2) ? _frameCount : 1);
+ _m14ptr = _m13ptr + ((_animatedParameters & 0x4) ? _frameCount : 1);
+ _m21ptr = _m14ptr + ((_animatedParameters & 0x8) ? _frameCount : 1);
+ _m22ptr = _m21ptr + ((_animatedParameters & 0x10) ? _frameCount : 1);
+ _m23ptr = _m22ptr + ((_animatedParameters & 0x20) ? _frameCount : 1);
+ _m24ptr = _m23ptr + ((_animatedParameters & 0x40) ? _frameCount : 1);
+ _m31ptr = _m24ptr + ((_animatedParameters & 0x80) ? _frameCount : 1);
+ _m32ptr = _m31ptr + ((_animatedParameters & 0x100) ? _frameCount : 1);
+ _m33ptr = _m32ptr + ((_animatedParameters & 0x200) ? _frameCount : 1);
+ _m34ptr = _m33ptr + ((_animatedParameters & 0x400) ? _frameCount : 1);
setupFrame(0);
}
@@ -98,18 +98,18 @@ void Fog::reset() {
void Fog::setupFrame(int frame) {
int offset = frame % _frameCount;
- _matrix._m[0][0] = (_animatedParameters & 0x1 ? _m11ptr[offset] : *_m11ptr);
- _matrix._m[0][1] = (_animatedParameters & 0x2 ? _m12ptr[offset] : *_m12ptr);
- _matrix._m[0][2] = (_animatedParameters & 0x4 ? _m13ptr[offset] : *_m13ptr);
- _matrix._m[0][3] = (_animatedParameters & 0x8 ? _m14ptr[offset] : *_m14ptr);
- _matrix._m[1][0] = (_animatedParameters & 0x10 ? _m21ptr[offset] : *_m21ptr);
- _matrix._m[1][1] = (_animatedParameters & 0x20 ? _m22ptr[offset] : *_m22ptr);
- _matrix._m[1][2] = (_animatedParameters & 0x40 ? _m23ptr[offset] : *_m23ptr);
- _matrix._m[1][3] = (_animatedParameters & 0x80 ? _m24ptr[offset] : *_m24ptr);
- _matrix._m[2][0] = (_animatedParameters & 0x100 ? _m31ptr[offset] : *_m31ptr);
- _matrix._m[2][1] = (_animatedParameters & 0x200 ? _m32ptr[offset] : *_m32ptr);
- _matrix._m[2][2] = (_animatedParameters & 0x400 ? _m33ptr[offset] : *_m33ptr);
- _matrix._m[2][3] = (_animatedParameters & 0x800 ? _m34ptr[offset] : *_m34ptr);
+ _matrix._m[0][0] = ((_animatedParameters & 0x1) ? _m11ptr[offset] : *_m11ptr);
+ _matrix._m[0][1] = ((_animatedParameters & 0x2) ? _m12ptr[offset] : *_m12ptr);
+ _matrix._m[0][2] = ((_animatedParameters & 0x4) ? _m13ptr[offset] : *_m13ptr);
+ _matrix._m[0][3] = ((_animatedParameters & 0x8) ? _m14ptr[offset] : *_m14ptr);
+ _matrix._m[1][0] = ((_animatedParameters & 0x10) ? _m21ptr[offset] : *_m21ptr);
+ _matrix._m[1][1] = ((_animatedParameters & 0x20) ? _m22ptr[offset] : *_m22ptr);
+ _matrix._m[1][2] = ((_animatedParameters & 0x40) ? _m23ptr[offset] : *_m23ptr);
+ _matrix._m[1][3] = ((_animatedParameters & 0x80) ? _m24ptr[offset] : *_m24ptr);
+ _matrix._m[2][0] = ((_animatedParameters & 0x100) ? _m31ptr[offset] : *_m31ptr);
+ _matrix._m[2][1] = ((_animatedParameters & 0x200) ? _m32ptr[offset] : *_m32ptr);
+ _matrix._m[2][2] = ((_animatedParameters & 0x400) ? _m33ptr[offset] : *_m33ptr);
+ _matrix._m[2][3] = ((_animatedParameters & 0x800) ? _m34ptr[offset] : *_m34ptr);
_inverted = invertMatrix(_matrix);
}
diff --git a/engines/bladerunner/game_info.cpp b/engines/bladerunner/game_info.cpp
index f777a86fae..e610dc96fa 100644
--- a/engines/bladerunner/game_info.cpp
+++ b/engines/bladerunner/game_info.cpp
@@ -56,7 +56,6 @@ bool GameInfo::open(const Common::String &name) {
return false;
}
- uint32 unk;
_actorCount = s->readUint32LE(); /* 00 */
_playerId = s->readUint32LE(); /* 01 */
_flagCount = s->readUint32LE(); /* 02 */
@@ -64,9 +63,9 @@ bool GameInfo::open(const Common::String &name) {
_globalVarCount = s->readUint32LE(); /* 04 */
_sceneNamesCount = s->readUint32LE(); /* 05 */
_initialSceneId = s->readUint32LE(); /* 06 */
- unk = s->readUint32LE(); /* 07 */
+ s->skip(4); /* 07 */
_initialSetId = s->readUint32LE(); /* 08 */
- unk = s->readUint32LE(); /* 09 */
+ s->skip(4); /* 09 */
_waypointCount = s->readUint32LE(); /* 10 */
_sfxTrackCount = s->readUint32LE(); /* 11 */
_musicTrackCount = s->readUint32LE(); /* 12 */
@@ -76,8 +75,6 @@ bool GameInfo::open(const Common::String &name) {
_coverWaypointCount = s->readUint32LE(); /* 16 */
_fleeWaypointCount = s->readUint32LE(); /* 17 */
- (void)unk;
-
char buf[9];
_sceneNames.resize(_sceneNamesCount);
diff --git a/engines/bladerunner/light.cpp b/engines/bladerunner/light.cpp
index 2231e0460e..0590630dbb 100644
--- a/engines/bladerunner/light.cpp
+++ b/engines/bladerunner/light.cpp
@@ -85,24 +85,24 @@ void Light::read(Common::ReadStream *stream, int frameCount, int frame, int anim
}
_m11ptr = _animationData;
- _m12ptr = _m11ptr + (_animatedParameters & 0x1 ? frameCount : 1);
- _m13ptr = _m12ptr + (_animatedParameters & 0x2 ? frameCount : 1);
- _m14ptr = _m13ptr + (_animatedParameters & 0x4 ? frameCount : 1);
- _m21ptr = _m14ptr + (_animatedParameters & 0x8 ? frameCount : 1);
- _m22ptr = _m21ptr + (_animatedParameters & 0x10 ? frameCount : 1);
- _m23ptr = _m22ptr + (_animatedParameters & 0x20 ? frameCount : 1);
- _m24ptr = _m23ptr + (_animatedParameters & 0x40 ? frameCount : 1);
- _m31ptr = _m24ptr + (_animatedParameters & 0x80 ? frameCount : 1);
- _m32ptr = _m31ptr + (_animatedParameters & 0x100 ? frameCount : 1);
- _m33ptr = _m32ptr + (_animatedParameters & 0x200 ? frameCount : 1);
- _m34ptr = _m33ptr + (_animatedParameters & 0x400 ? frameCount : 1);
- _colorRPtr = _m34ptr + (_animatedParameters & 0x800 ? frameCount : 1);
- _colorGPtr = _colorRPtr + (_animatedParameters & 0x1000 ? frameCount : 1);
- _colorBPtr = _colorGPtr + (_animatedParameters & 0x2000 ? frameCount : 1);
- _falloffStartPtr = _colorBPtr + (_animatedParameters & 0x4000 ? frameCount : 1);
- _falloffEndPtr = _falloffStartPtr + (_animatedParameters & 0x8000 ? frameCount : 1);
- _angleStartPtr = _falloffEndPtr + (_animatedParameters & 0x10000 ? frameCount : 1);
- _angleEndPtr = _angleStartPtr + (_animatedParameters & 0x20000 ? frameCount : 1);
+ _m12ptr = _m11ptr + ((_animatedParameters & 0x1) ? frameCount : 1);
+ _m13ptr = _m12ptr + ((_animatedParameters & 0x2) ? frameCount : 1);
+ _m14ptr = _m13ptr + ((_animatedParameters & 0x4) ? frameCount : 1);
+ _m21ptr = _m14ptr + ((_animatedParameters & 0x8) ? frameCount : 1);
+ _m22ptr = _m21ptr + ((_animatedParameters & 0x10) ? frameCount : 1);
+ _m23ptr = _m22ptr + ((_animatedParameters & 0x20) ? frameCount : 1);
+ _m24ptr = _m23ptr + ((_animatedParameters & 0x40) ? frameCount : 1);
+ _m31ptr = _m24ptr + ((_animatedParameters & 0x80) ? frameCount : 1);
+ _m32ptr = _m31ptr + ((_animatedParameters & 0x100) ? frameCount : 1);
+ _m33ptr = _m32ptr + ((_animatedParameters & 0x200) ? frameCount : 1);
+ _m34ptr = _m33ptr + ((_animatedParameters & 0x400) ? frameCount : 1);
+ _colorRPtr = _m34ptr + ((_animatedParameters & 0x800) ? frameCount : 1);
+ _colorGPtr = _colorRPtr + ((_animatedParameters & 0x1000) ? frameCount : 1);
+ _colorBPtr = _colorGPtr + ((_animatedParameters & 0x2000) ? frameCount : 1);
+ _falloffStartPtr = _colorBPtr + ((_animatedParameters & 0x4000) ? frameCount : 1);
+ _falloffEndPtr = _falloffStartPtr + ((_animatedParameters & 0x8000) ? frameCount : 1);
+ _angleStartPtr = _falloffEndPtr + ((_animatedParameters & 0x10000) ? frameCount : 1);
+ _angleEndPtr = _angleStartPtr + ((_animatedParameters & 0x20000) ? frameCount : 1);
setupFrame(frame);
}
@@ -126,49 +126,49 @@ void Light::readVqa(Common::ReadStream *stream, int frameCount, int frame, int a
}
_m11ptr = _animationData;
- _m12ptr = _m11ptr + (_animatedParameters & 0x1 ? frameCount : 1);
- _m13ptr = _m12ptr + (_animatedParameters & 0x2 ? frameCount : 1);
- _m14ptr = _m13ptr + (_animatedParameters & 0x4 ? frameCount : 1);
- _m21ptr = _m14ptr + (_animatedParameters & 0x8 ? frameCount : 1);
- _m22ptr = _m21ptr + (_animatedParameters & 0x10 ? frameCount : 1);
- _m23ptr = _m22ptr + (_animatedParameters & 0x20 ? frameCount : 1);
- _m24ptr = _m23ptr + (_animatedParameters & 0x40 ? frameCount : 1);
- _m31ptr = _m24ptr + (_animatedParameters & 0x80 ? frameCount : 1);
- _m32ptr = _m31ptr + (_animatedParameters & 0x100 ? frameCount : 1);
- _m33ptr = _m32ptr + (_animatedParameters & 0x200 ? frameCount : 1);
- _m34ptr = _m33ptr + (_animatedParameters & 0x400 ? frameCount : 1);
- _colorRPtr = _m34ptr + (_animatedParameters & 0x800 ? frameCount : 1);
- _colorGPtr = _colorRPtr + (_animatedParameters & 0x1000 ? frameCount : 1);
- _colorBPtr = _colorGPtr + (_animatedParameters & 0x2000 ? frameCount : 1);
- _falloffStartPtr = _colorBPtr + (_animatedParameters & 0x4000 ? frameCount : 1);
- _falloffEndPtr = _falloffStartPtr + (_animatedParameters & 0x8000 ? frameCount : 1);
- _angleStartPtr = _falloffEndPtr + (_animatedParameters & 0x10000 ? frameCount : 1);
- _angleEndPtr = _angleStartPtr + (_animatedParameters & 0x20000 ? frameCount : 1);
+ _m12ptr = _m11ptr + ((_animatedParameters & 0x1) ? frameCount : 1);
+ _m13ptr = _m12ptr + ((_animatedParameters & 0x2) ? frameCount : 1);
+ _m14ptr = _m13ptr + ((_animatedParameters & 0x4) ? frameCount : 1);
+ _m21ptr = _m14ptr + ((_animatedParameters & 0x8) ? frameCount : 1);
+ _m22ptr = _m21ptr + ((_animatedParameters & 0x10) ? frameCount : 1);
+ _m23ptr = _m22ptr + ((_animatedParameters & 0x20) ? frameCount : 1);
+ _m24ptr = _m23ptr + ((_animatedParameters & 0x40) ? frameCount : 1);
+ _m31ptr = _m24ptr + ((_animatedParameters & 0x80) ? frameCount : 1);
+ _m32ptr = _m31ptr + ((_animatedParameters & 0x100) ? frameCount : 1);
+ _m33ptr = _m32ptr + ((_animatedParameters & 0x200) ? frameCount : 1);
+ _m34ptr = _m33ptr + ((_animatedParameters & 0x400) ? frameCount : 1);
+ _colorRPtr = _m34ptr + ((_animatedParameters & 0x800) ? frameCount : 1);
+ _colorGPtr = _colorRPtr + ((_animatedParameters & 0x1000) ? frameCount : 1);
+ _colorBPtr = _colorGPtr + ((_animatedParameters & 0x2000) ? frameCount : 1);
+ _falloffStartPtr = _colorBPtr + ((_animatedParameters & 0x4000) ? frameCount : 1);
+ _falloffEndPtr = _falloffStartPtr + ((_animatedParameters & 0x8000) ? frameCount : 1);
+ _angleStartPtr = _falloffEndPtr + ((_animatedParameters & 0x10000) ? frameCount : 1);
+ _angleEndPtr = _angleStartPtr + ((_animatedParameters & 0x20000) ? frameCount : 1);
setupFrame(frame);
}
void Light::setupFrame(int frame) {
int offset = frame % _frameCount;
- _matrix._m[0][0] = (_animatedParameters & 0x1 ? _m11ptr[offset] : *_m11ptr);
- _matrix._m[0][1] = (_animatedParameters & 0x2 ? _m12ptr[offset] : *_m12ptr);
- _matrix._m[0][2] = (_animatedParameters & 0x4 ? _m13ptr[offset] : *_m13ptr);
- _matrix._m[0][3] = (_animatedParameters & 0x8 ? _m14ptr[offset] : *_m14ptr);
- _matrix._m[1][0] = (_animatedParameters & 0x10 ? _m21ptr[offset] : *_m21ptr);
- _matrix._m[1][1] = (_animatedParameters & 0x20 ? _m22ptr[offset] : *_m22ptr);
- _matrix._m[1][2] = (_animatedParameters & 0x40 ? _m23ptr[offset] : *_m23ptr);
- _matrix._m[1][3] = (_animatedParameters & 0x80 ? _m24ptr[offset] : *_m24ptr);
- _matrix._m[2][0] = (_animatedParameters & 0x100 ? _m31ptr[offset] : *_m31ptr);
- _matrix._m[2][1] = (_animatedParameters & 0x200 ? _m32ptr[offset] : *_m32ptr);
- _matrix._m[2][2] = (_animatedParameters & 0x400 ? _m33ptr[offset] : *_m33ptr);
- _matrix._m[2][3] = (_animatedParameters & 0x800 ? _m34ptr[offset] : *_m34ptr);
- _color.r = (_animatedParameters & 0x1000 ? _colorRPtr[offset] : *_colorRPtr);
- _color.g = (_animatedParameters & 0x2000 ? _colorGPtr[offset] : *_colorGPtr);
- _color.b = (_animatedParameters & 0x4000 ? _colorBPtr[offset] : *_colorBPtr);
- _falloffStart = (_animatedParameters & 0x8000 ? _falloffStartPtr[offset] : *_falloffStartPtr);
- _falloffEnd = (_animatedParameters & 0x10000 ? _falloffEndPtr[offset] : *_falloffEndPtr);
- _angleStart = (_animatedParameters & 0x20000 ? _angleStartPtr[offset] : *_angleStartPtr);
- _angleEnd = (_animatedParameters & 0x40000 ? _angleEndPtr[offset] : *_angleEndPtr);
+ _matrix._m[0][0] = ((_animatedParameters & 0x1) ? _m11ptr[offset] : *_m11ptr);
+ _matrix._m[0][1] = ((_animatedParameters & 0x2) ? _m12ptr[offset] : *_m12ptr);
+ _matrix._m[0][2] = ((_animatedParameters & 0x4) ? _m13ptr[offset] : *_m13ptr);
+ _matrix._m[0][3] = ((_animatedParameters & 0x8) ? _m14ptr[offset] : *_m14ptr);
+ _matrix._m[1][0] = ((_animatedParameters & 0x10) ? _m21ptr[offset] : *_m21ptr);
+ _matrix._m[1][1] = ((_animatedParameters & 0x20) ? _m22ptr[offset] : *_m22ptr);
+ _matrix._m[1][2] = ((_animatedParameters & 0x40) ? _m23ptr[offset] : *_m23ptr);
+ _matrix._m[1][3] = ((_animatedParameters & 0x80) ? _m24ptr[offset] : *_m24ptr);
+ _matrix._m[2][0] = ((_animatedParameters & 0x100) ? _m31ptr[offset] : *_m31ptr);
+ _matrix._m[2][1] = ((_animatedParameters & 0x200) ? _m32ptr[offset] : *_m32ptr);
+ _matrix._m[2][2] = ((_animatedParameters & 0x400) ? _m33ptr[offset] : *_m33ptr);
+ _matrix._m[2][3] = ((_animatedParameters & 0x800) ? _m34ptr[offset] : *_m34ptr);
+ _color.r = ((_animatedParameters & 0x1000) ? _colorRPtr[offset] : *_colorRPtr);
+ _color.g = ((_animatedParameters & 0x2000) ? _colorGPtr[offset] : *_colorGPtr);
+ _color.b = ((_animatedParameters & 0x4000) ? _colorBPtr[offset] : *_colorBPtr);
+ _falloffStart = ((_animatedParameters & 0x8000) ? _falloffStartPtr[offset] : *_falloffStartPtr);
+ _falloffEnd = ((_animatedParameters & 0x10000) ? _falloffEndPtr[offset] : *_falloffEndPtr);
+ _angleStart = ((_animatedParameters & 0x20000) ? _angleStartPtr[offset] : *_angleStartPtr);
+ _angleEnd = ((_animatedParameters & 0x40000) ? _angleEndPtr[offset] : *_angleEndPtr);
}
float Light::calculate(Vector3 start, Vector3 end) const {
diff --git a/engines/bladerunner/screen_effects.cpp b/engines/bladerunner/screen_effects.cpp
index a65d4edcbd..eae768166d 100644
--- a/engines/bladerunner/screen_effects.cpp
+++ b/engines/bladerunner/screen_effects.cpp
@@ -50,7 +50,7 @@ void ScreenEffects::readVqa(Common::SeekableReadStream *stream) {
entryCount = MIN(entryCount, 7);
_entries.resize(entryCount);
- for (Common::Array<Entry>::iterator entry = _entries.begin(); entry != _entries.end(); entry++) {
+ for (Common::Array<Entry>::iterator entry = _entries.begin(); entry != _entries.end(); ++entry) {
stream->read(&entry->palette, sizeof(Color256) * 16);
entry->x = stream->readUint16LE();
@@ -123,7 +123,7 @@ void ScreenEffects::readVqa(Common::SeekableReadStream *stream) {
void ScreenEffects::getColor(Color256 *outColor, uint16 x, uint16 y, uint16 z) const {
Color256 color = { 0, 0, 0 };
- for (Common::Array<const Entry>::iterator entry = _entries.begin(); entry != _entries.end(); entry++) {
+ for (Common::Array<const Entry>::iterator entry = _entries.begin(); entry != _entries.end(); ++entry) {
uint16 x1 = (x / 2) - entry->x;
uint16 y1 = (y / 2) - entry->y;
if (x1 < entry->width && y1 < entry->height && z > entry->z) {
diff --git a/engines/bladerunner/script/ai/free_slot_a.cpp b/engines/bladerunner/script/ai/free_slot_a.cpp
index f31fbaa550..c80b4da778 100644
--- a/engines/bladerunner/script/ai/free_slot_a.cpp
+++ b/engines/bladerunner/script/ai/free_slot_a.cpp
@@ -202,13 +202,14 @@ void AIScriptFreeSlotA::OtherAgentEnteredCombatMode(int otherActorId, int combat
}
void AIScriptFreeSlotA::ShotAtAndMissed() {
- if (Actor_Query_In_Set(kActorFreeSlotA, kSetUG15))
- calcHit();
+ if (Actor_Query_In_Set(kActorFreeSlotA, kSetUG15)) {
+ checkIfOnBridge();
+ }
}
bool AIScriptFreeSlotA::ShotAtAndHit() {
if (Actor_Query_In_Set(kActorFreeSlotA, kSetUG15)) {
- calcHit();
+ checkIfOnBridge();
Actor_Set_Goal_Number(kActorFreeSlotA, kGoalFreeSlotAUG15Die);
return true;
}
@@ -539,14 +540,11 @@ void AIScriptFreeSlotA::FledCombat() {
// return false;
}
-void AIScriptFreeSlotA::calcHit() {
+void AIScriptFreeSlotA::checkIfOnBridge() {
float x, y, z;
-
Actor_Query_XYZ(kActorFreeSlotA, &x, &y, &z);
-
- if (x >= -30.0f
- && x < -150.0f
- ) {
+ // bug? this should probably check if McCoy is close enough because bridge will break long after rat died and player tries to walk through
+ if (-150.0 <= x && x < -30.0f) {
Game_Flag_Set(kFlagUG15BridgeWillBreak);
}
}
diff --git a/engines/bladerunner/script/ai/officer_leary.cpp b/engines/bladerunner/script/ai/officer_leary.cpp
index 69ec583a6a..d1e7eea4d7 100644
--- a/engines/bladerunner/script/ai/officer_leary.cpp
+++ b/engines/bladerunner/script/ai/officer_leary.cpp
@@ -539,9 +539,6 @@ bool AIScriptOfficerLeary::GoalChanged(int currentGoalNumber, int newGoalNumber)
}
bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
- int v57;
- int a1;
-
switch (_animationState) {
case 32:
*animation = 603;
@@ -872,10 +869,8 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
*animation = 591;
}
if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(*animation) / 2) {
- a1 = *animation;
_animationFrame += 3;
- v57 = _animationFrame;
- if (v57 > Slice_Animation_Query_Number_Of_Frames(a1) - 1) {
+ if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(*animation) - 1) {
_animationFrame = 0;
_animationState = _animationStateNext;
*animation = _animationNext;
diff --git a/engines/bladerunner/script/ai_script.h b/engines/bladerunner/script/ai_script.h
index 5c5a77457d..6c857da43c 100644
--- a/engines/bladerunner/script/ai_script.h
+++ b/engines/bladerunner/script/ai_script.h
@@ -462,7 +462,7 @@ DECLARE_SCRIPT(FreeSlotA)
float _fallHeightCurrent;
float _fallHeightTarget;
- void calcHit();
+ void checkIfOnBridge();
void goToRandomUGxx();
END_SCRIPT
diff --git a/engines/bladerunner/script/scene/ar01.cpp b/engines/bladerunner/script/scene/ar01.cpp
index 1213f47814..6c6067d1d5 100644
--- a/engines/bladerunner/script/scene/ar01.cpp
+++ b/engines/bladerunner/script/scene/ar01.cpp
@@ -111,7 +111,7 @@ void SceneScriptAR01::InitializeScene() {
&& Game_Flag_Query(kFlagHC01toAR01)
) {
Scene_Loop_Set_Default(kAR01LoopMainLoopNoSpinner);
- } else {
+ } else { // bug? branch content is equal to previous branch
Scene_Loop_Set_Default(kAR01LoopMainLoopNoSpinner);
}
}
diff --git a/engines/bladerunner/script/scene/nr07.cpp b/engines/bladerunner/script/scene/nr07.cpp
index 6fbebd22ff..02224d0b09 100644
--- a/engines/bladerunner/script/scene/nr07.cpp
+++ b/engines/bladerunner/script/scene/nr07.cpp
@@ -241,7 +241,7 @@ void SceneScriptNR07::clickedOnVase() {
int friendliness = Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy);
if (friendliness > 50) {
Actor_Modify_Friendliness_To_Other(kActorDektora, kActorMcCoy, 2);
- } else if (friendliness <= 50) {
+ } else {
Actor_Modify_Friendliness_To_Other(kActorDektora, kActorMcCoy, -2);
}
Actor_Says(kActorMcCoy, 3600, 19);
diff --git a/engines/bladerunner/script/script.cpp b/engines/bladerunner/script/script.cpp
index 9e2097b2d9..e38477d03f 100644
--- a/engines/bladerunner/script/script.cpp
+++ b/engines/bladerunner/script/script.cpp
@@ -96,8 +96,6 @@ bool ScriptBase::Region_Check(int left, int top, int right, int down) {
&& _vm->_sceneScript->_mouseY >= top
&& _vm->_sceneScript->_mouseX <= right
&& _vm->_sceneScript->_mouseY <= down;
-
- return false;
}
bool ScriptBase::Object_Query_Click(const char *objectName1, const char *objectName2) {
diff --git a/engines/bladerunner/set.cpp b/engines/bladerunner/set.cpp
index 227dd81adb..f53a635057 100644
--- a/engines/bladerunner/set.cpp
+++ b/engines/bladerunner/set.cpp
@@ -94,8 +94,6 @@ bool Set::open(const Common::String &name) {
assert(_walkboxCount <= 95);
for (int i = 0; i < _walkboxCount; ++i) {
- float x, z;
-
s->read(buf, sizeof(buf));
_walkboxes[i].name = buf;
@@ -105,8 +103,8 @@ bool Set::open(const Common::String &name) {
assert(_walkboxes[i].vertexCount <= 8);
for (int j = 0; j < _walkboxes[i].vertexCount; ++j) {
- x = s->readFloatLE();
- z = s->readFloatLE();
+ float x = s->readFloatLE();
+ float z = s->readFloatLE();
_walkboxes[i].vertices[j] = Vector3(x, _walkboxes[i].altitude, z);
}
diff --git a/engines/bladerunner/slice_renderer.cpp b/engines/bladerunner/slice_renderer.cpp
index 1fd0030857..73d0cef929 100644
--- a/engines/bladerunner/slice_renderer.cpp
+++ b/engines/bladerunner/slice_renderer.cpp
@@ -298,7 +298,7 @@ struct SliceLineIterator {
float startScreenX, float startScreenY, float startScreenZ,
float endSlice, float startSlice,
Matrix3x2 m);
- float line();
+ float line() const;
void advance();
};
@@ -340,7 +340,7 @@ void SliceLineIterator::setup(
_sliceMatrix = mScale * (mTranslate * m);
}
-float SliceLineIterator::line() {
+float SliceLineIterator::line() const {
float var_0 = 0.0f;
if (_currentZ != 0.0f)
diff --git a/engines/bladerunner/ui/kia.cpp b/engines/bladerunner/ui/kia.cpp
index c889890276..2cc978f0cc 100644
--- a/engines/bladerunner/ui/kia.cpp
+++ b/engines/bladerunner/ui/kia.cpp
@@ -524,13 +524,12 @@ void KIA::handleKeyDown(const Common::KeyState &kbd) {
void KIA::playerReset() {
if (_playerActorDialogueQueueSize != _playerActorDialogueQueuePosition) {
- if (_playerActorDialogueQueueSize != _playerActorDialogueQueuePosition) {
- int actorId = _playerActorDialogueQueue[_playerActorDialogueQueuePosition].actorId;
- if (_vm->_actors[actorId]->isSpeeching()) {
- _vm->_actors[actorId]->speechStop();
- }
+ int actorId = _playerActorDialogueQueue[_playerActorDialogueQueuePosition].actorId;
+ if (_vm->_actors[actorId]->isSpeeching()) {
+ _vm->_actors[actorId]->speechStop();
}
}
+
_playerActorDialogueQueueSize = _playerActorDialogueQueuePosition;
_playerSliceModelId = -1;
if (_playerPhotographId != -1) {
diff --git a/engines/bladerunner/ui/kia_section_save.cpp b/engines/bladerunner/ui/kia_section_save.cpp
index 46ee0384d2..0dbd6033c1 100644
--- a/engines/bladerunner/ui/kia_section_save.cpp
+++ b/engines/bladerunner/ui/kia_section_save.cpp
@@ -389,7 +389,7 @@ void KIASectionSave::save() {
Common::OutSaveFile *saveFile = BladeRunner::SaveFileManager::openForSaving(_vm->getTargetName(), slot);
if (saveFile == nullptr || saveFile->err()) {
delete saveFile;
- error("Can not open savegame file for writing");
+ warning("KIASectionSave::save(): Can not open savegame file for writing");
return;
}
diff --git a/engines/bladerunner/ui/ui_check_box.cpp b/engines/bladerunner/ui/ui_check_box.cpp
index 510d6e6dbd..0e572c287e 100644
--- a/engines/bladerunner/ui/ui_check_box.cpp
+++ b/engines/bladerunner/ui/ui_check_box.cpp
@@ -55,8 +55,9 @@ UICheckBox::UICheckBox(BladeRunnerEngine *vm, UIComponentCallback *valueChangedC
void UICheckBox::draw(Graphics::Surface &surface) {
- int shapeId;
if (_rect.right > _rect.left && _rect.bottom > _rect.top) {
+ int shapeId;
+
uint timeNow = _vm->_time->currentSystem();
if (timeNow - _timeLast > 67) {
int frameDelta = (timeNow - _timeLast) / 67u;
diff --git a/engines/bladerunner/ui/ui_container.cpp b/engines/bladerunner/ui/ui_container.cpp
index 34a8cecfb1..eed1bcd9a2 100644
--- a/engines/bladerunner/ui/ui_container.cpp
+++ b/engines/bladerunner/ui/ui_container.cpp
@@ -27,37 +27,37 @@
namespace BladeRunner {
void UIContainer::draw(Graphics::Surface &surface) {
- for (Common::Array<UIComponent*>::iterator component = _components.begin(); component != _components.end(); component++) {
+ for (Common::Array<UIComponent*>::iterator component = _components.begin(); component != _components.end(); ++component) {
(*component)->draw(surface);
}
}
void UIContainer::handleMouseMove(int mouseX, int mouseY) {
- for (Common::Array<UIComponent*>::iterator component = _components.begin(); component != _components.end(); component++) {
+ for (Common::Array<UIComponent*>::iterator component = _components.begin(); component != _components.end(); ++component) {
(*component)->handleMouseMove(mouseX, mouseY);
}
}
void UIContainer::handleMouseDown(bool alternateButton) {
- for (Common::Array<UIComponent*>::iterator component = _components.begin(); component != _components.end(); component++) {
+ for (Common::Array<UIComponent*>::iterator component = _components.begin(); component != _components.end(); ++component) {
(*component)->handleMouseDown(alternateButton);
}
}
void UIContainer::handleMouseUp(bool alternateButton) {
- for (Common::Array<UIComponent*>::iterator component = _components.begin(); component != _components.end(); component++) {
+ for (Common::Array<UIComponent*>::iterator component = _components.begin(); component != _components.end(); ++component) {
(*component)->handleMouseUp(alternateButton);
}
}
void UIContainer::handleKeyUp(const Common::KeyState &kbd) {
- for (Common::Array<UIComponent*>::iterator component = _components.begin(); component != _components.end(); component++) {
+ for (Common::Array<UIComponent*>::iterator component = _components.begin(); component != _components.end(); ++component) {
(*component)->handleKeyUp(kbd);
}
}
void UIContainer::handleKeyDown(const Common::KeyState &kbd) {
- for (Common::Array<UIComponent*>::iterator component = _components.begin(); component != _components.end(); component++) {
+ for (Common::Array<UIComponent*>::iterator component = _components.begin(); component != _components.end(); ++component) {
(*component)->handleKeyDown(kbd);
}
}
diff --git a/engines/bladerunner/vqa_decoder.cpp b/engines/bladerunner/vqa_decoder.cpp
index 05cabfcb9b..96746b65f3 100644
--- a/engines/bladerunner/vqa_decoder.cpp
+++ b/engines/bladerunner/vqa_decoder.cpp
@@ -166,7 +166,6 @@ bool VQADecoder::loadStream(Common::SeekableReadStream *s) {
IFFChunkHeader chd;
uint32 type;
- bool rc;
readIFFChunkHeader(s, &chd);
if (chd.id != kFORM || !chd.size)
@@ -181,7 +180,7 @@ bool VQADecoder::loadStream(Common::SeekableReadStream *s) {
if (!readIFFChunkHeader(_s, &chd))
return false;
- rc = false;
+ bool rc = false;
switch (chd.id) {
case kCINF: rc = readCINF(s, chd.size); break;
case kCLIP: rc = readCLIP(s, chd.size); break;
@@ -238,14 +237,13 @@ void VQADecoder::readPacket(uint readFlags) {
IFFChunkHeader chd;
if (remain(_s) < 8) {
- warning("VQADecoder::readPacket: remain: %d", remain(_s));
+ warning("VQADecoder::readPacket(): remain: %d", remain(_s));
assert(remain(_s) < 8);
}
do {
if (!readIFFChunkHeader(_s, &chd)) {
- error("VQADecoder::readPacket: Error reading chunk header");
- return;
+ error("VQADecoder::readPacket(): Error reading chunk header");
}
bool rc = false;
@@ -266,7 +264,7 @@ void VQADecoder::readPacket(uint readFlags) {
}
if (!rc) {
- warning("VQADecoder::readPacket: Error handling chunk %s", strTag(chd.id));
+ warning("VQADecoder::readPacket(): Error handling chunk %s", strTag(chd.id));
return;
}
} while (chd.id != kVQFR);
@@ -274,7 +272,7 @@ void VQADecoder::readPacket(uint readFlags) {
void VQADecoder::readFrame(int frame, uint readFlags) {
if (frame < 0 || frame >= numFrames()) {
- error("VQADecoder::readFrame: frame %d out of bounds, frame count is %d", frame, numFrames());
+ error("VQADecoder::readFrame(): frame %d out of bounds, frame count is %d", frame, numFrames());
}
uint32 frameOffset = 2 * (_frameInfo[frame] & 0x0FFFFFFF);
@@ -364,7 +362,7 @@ bool VQADecoder::VQAVideoTrack::readVQFR(Common::SeekableReadStream *s, uint32 s
}
if (!rc) {
- warning("VQFR: error handling chunk %s", strTag(chd.id));
+ error("VQADecoder::VQAVideoTrack::readVQFR(): error handling chunk %s", strTag(chd.id));
return false;
}
}
diff --git a/engines/bladerunner/vqa_player.cpp b/engines/bladerunner/vqa_player.cpp
index f073895ae5..9a1c89a5bc 100644
--- a/engines/bladerunner/vqa_player.cpp
+++ b/engines/bladerunner/vqa_player.cpp
@@ -114,9 +114,8 @@ int VQAPlayer::update(bool forceDraw, bool advanceFrame, bool useTime, Graphics:
_decoder.readFrame(_frameNext, kVQAReadVideo);
_decoder.decodeVideoFrame(customSurface != nullptr ? customSurface : _surface, _frameNext);
- int audioPreloadFrames = 14;
-
if (_hasAudio) {
+ int audioPreloadFrames = 14;
if (!_audioStarted) {
for (int i = 0; i < audioPreloadFrames; i++) {
if (_frameNext + i < _frameEnd) {