aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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) {