[Scummvm-git-logs] scummvm master -> 213e6b52c8861a128dc25b036ff9583314615785

peterkohaut peterkohaut at users.noreply.github.com
Mon Mar 4 19:47:43 CET 2019


This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
9c25be9121 BLADERUNNER: Cleanup of TODO notes
59f4893547 BLADERUNNER: Fixed stereo balance for speech
ae039b0648 BLADERUNNER: Fixed unexpected music playback
213e6b52c8 BLADERUNNER: Enable pathfinding


Commit: 9c25be9121bbd159163c458ce500379774a2ef3e
    https://github.com/scummvm/scummvm/commit/9c25be9121bbd159163c458ce500379774a2ef3e
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-03-04T19:43:36+01:00

Commit Message:
BLADERUNNER: Cleanup of TODO notes

Changed paths:
    engines/bladerunner/actor.cpp
    engines/bladerunner/ambient_sounds.cpp
    engines/bladerunner/ambient_sounds.h
    engines/bladerunner/bladerunner.cpp
    engines/bladerunner/debugger.cpp
    engines/bladerunner/dialogue_menu.cpp
    engines/bladerunner/outtake.cpp
    engines/bladerunner/savefile.cpp
    engines/bladerunner/scene.cpp
    engines/bladerunner/scene_objects.cpp
    engines/bladerunner/script/scene_script.cpp
    engines/bladerunner/set_effects.cpp
    engines/bladerunner/ui/elevator.cpp
    engines/bladerunner/ui/elevator.h
    engines/bladerunner/ui/esper.cpp
    engines/bladerunner/ui/esper.h
    engines/bladerunner/ui/kia.cpp
    engines/bladerunner/ui/kia_section_clues.h
    engines/bladerunner/vqa_player.cpp


diff --git a/engines/bladerunner/actor.cpp b/engines/bladerunner/actor.cpp
index 34345c9..a5cc4c4 100644
--- a/engines/bladerunner/actor.cpp
+++ b/engines/bladerunner/actor.cpp
@@ -1365,8 +1365,8 @@ void Actor::save(SaveFileWriteStream &f) {
 	f.writeInt(_retiredWidth);
 	f.writeInt(_retiredHeight);
 	f.writeInt(_damageAnimIfMoving);
-	f.writeInt(0); // TODO: _actorFieldU6
-	f.writeInt(0); // TODO: _actorFieldU7
+	f.writeInt(0);
+	f.writeInt(0);
 	f.writeFloat(_scale);
 
 	for (int i = 0; i < 7; ++i) {
@@ -1444,8 +1444,8 @@ void Actor::load(SaveFileReadStream &f) {
 	_retiredWidth = f.readInt();
 	_retiredHeight = f.readInt();
 	_damageAnimIfMoving = f.readInt();
-	f.skip(4); // TODO: _actorFieldU6
-	f.skip(4); // TODO: _actorFieldU7
+	f.skip(4);
+	f.skip(4);
 	_scale = f.readFloat();
 
 	for (int i = 0; i < 7; ++i) {
@@ -1453,7 +1453,6 @@ void Actor::load(SaveFileReadStream &f) {
 	}
 	// Bugfix: Special initialization case for timer 4 when it's value is restored as 0
 	// This should be harmless, but will remedy any broken save-games where the timer 4 was saved as 0.
-//	//
 	if (_timersLeft[4] == 0) {
 		_timersLeft[4] = _timer4RemainDefault;
 	}
diff --git a/engines/bladerunner/ambient_sounds.cpp b/engines/bladerunner/ambient_sounds.cpp
index 81f4c7c..08ec388 100644
--- a/engines/bladerunner/ambient_sounds.cpp
+++ b/engines/bladerunner/ambient_sounds.cpp
@@ -358,7 +358,7 @@ void AmbientSounds::removeLoopingSoundByIndex(int index, int delay) {
 }
 
 void AmbientSounds::save(SaveFileWriteStream &f) {
-	f.writeBool(false); // TODO: _isDisabled
+	f.writeBool(false); // _isDisabled - not used
 
 	for (int i = 0; i != kNonLoopingSounds; ++i) {
 		// 73 bytes per non-looping sound
@@ -397,7 +397,7 @@ void AmbientSounds::load(SaveFileReadStream &f) {
 	removeAllLoopingSounds(0);
 	removeAllNonLoopingSounds(true);
 
-	f.skip(4); // TODO: _isDisabled
+	f.skip(4); // _isDisabled - not used
 
 	uint32 now = _vm->_time->getPauseStart();
 
diff --git a/engines/bladerunner/ambient_sounds.h b/engines/bladerunner/ambient_sounds.h
index f52bdd4..06144d6 100644
--- a/engines/bladerunner/ambient_sounds.h
+++ b/engines/bladerunner/ambient_sounds.h
@@ -118,14 +118,6 @@ private:
 	int findAvailableLoopingTrack() const;
 	int findLoopingTrackByHash(int32 hash) const;
 
-	// stopNonLoopingTrack
-	// stopLoopingTrack
-
-	// saveToSaveGame
-	// initFromSaveGame
-	// addSoundByName
-	// playVolumeAdjustSound
-
 	void addSoundByName(
 		const Common::String &name,
 		int timeMin, int timeMax,
diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp
index 0ea6cae..0bd4a40 100644
--- a/engines/bladerunner/bladerunner.cpp
+++ b/engines/bladerunner/bladerunner.cpp
@@ -613,7 +613,6 @@ void BladeRunnerEngine::shutdown() {
 	delete _esper;
 	_esper = nullptr;
 
-	/// todo
 	for (uint i = 0; i != _shapes.size(); ++i) {
 		delete _shapes[i];
 	}
diff --git a/engines/bladerunner/debugger.cpp b/engines/bladerunner/debugger.cpp
index 48087ac..f8101f6 100644
--- a/engines/bladerunner/debugger.cpp
+++ b/engines/bladerunner/debugger.cpp
@@ -892,7 +892,6 @@ void Debugger::drawLights() {
 		Light *light = _vm->_lights->_lights[i];
 		Matrix4x3 m = light->_matrix;
 		m = invertMatrix(m);
-		//todo do this properly
 		Vector3 posOrigin = m * Vector3(0.0f, 0.0f, 0.0f);
 		float t = posOrigin.y;
 		posOrigin.y = posOrigin.z;
@@ -927,7 +926,6 @@ void Debugger::drawFogs() {
 		// m = invertMatrix(m);
 		Matrix4x3 m = fog->_inverted;
 
-		//todo do this properly
 		Vector3 posOrigin = m * Vector3(0.0f, 0.0f, 0.0f);
 		float t = posOrigin.y;
 		posOrigin.y = posOrigin.z;
diff --git a/engines/bladerunner/dialogue_menu.cpp b/engines/bladerunner/dialogue_menu.cpp
index 3811471..c3aced0 100644
--- a/engines/bladerunner/dialogue_menu.cpp
+++ b/engines/bladerunner/dialogue_menu.cpp
@@ -207,10 +207,6 @@ int DialogueMenu::queryInput() {
 		if (agenda == kPlayerAgendaUserChoice) {
 			_waitingForInput = true;
 			do {
-				// TODO: game resuming
-				// if (!_vm->_gameRunning)
-				// 	break;
-
 				while (!_vm->playerHasControl()) {
 					_vm->playerGainsControl();
 				}
diff --git a/engines/bladerunner/outtake.cpp b/engines/bladerunner/outtake.cpp
index f37729f..986f6fc5 100644
--- a/engines/bladerunner/outtake.cpp
+++ b/engines/bladerunner/outtake.cpp
@@ -95,8 +95,6 @@ void OuttakePlayer::play(const Common::String &name, bool noLocalization, int co
 	_vm->_vqaStopIsRequested = false;
 	vqaPlayer.close();
 
-	// TODO: scene video is played fast after end of outtake - visible in tb07
-
 	_vm->playerGainsControl();
 
 	if (container > 0) {
diff --git a/engines/bladerunner/savefile.cpp b/engines/bladerunner/savefile.cpp
index 62bcdb2..ed62179 100644
--- a/engines/bladerunner/savefile.cpp
+++ b/engines/bladerunner/savefile.cpp
@@ -22,6 +22,7 @@
 
 #include "bladerunner/savefile.h"
 
+#include "bladerunner/bladerunner.h"
 #include "bladerunner/boundingbox.h"
 #include "bladerunner/vector.h"
 
@@ -130,8 +131,7 @@ bool SaveFileManager::readHeader(Common::SeekableReadStream &in, SaveFileHeader
 		void *thumbnailData = malloc(kThumbnailSize); // freed by ScummVM's smartptr
 		s.read(thumbnailData, kThumbnailSize);
 
-		// TODO: cleanup - remove magic constants
-		header._thumbnail->init(80, 60, 160, thumbnailData, Graphics::PixelFormat(2, 5, 5, 5, 0, 10, 5, 0, 0));
+		header._thumbnail->init(80, 60, 160, thumbnailData, createRGB555());
 
 		s.seek(pos);
 	}
diff --git a/engines/bladerunner/scene.cpp b/engines/bladerunner/scene.cpp
index 78b1bb6..dc6a7f7 100644
--- a/engines/bladerunner/scene.cpp
+++ b/engines/bladerunner/scene.cpp
@@ -160,21 +160,20 @@ bool Scene::open(int setId, int sceneId, bool isLoadingGame) {
 		Actor *actor = _vm->_actors[i];
 		if (actor->getSetId() == setId) {
 			_vm->_sceneObjects->addActor(
-				   i + kSceneObjectOffsetActors,
-				   actor->getBoundingBox(),
-				   actor->getScreenRectangle(),
-				   true,
-				   false,
-				   actor->isTarget(),
-				   actor->isRetired());
+				i + kSceneObjectOffsetActors,
+				actor->getBoundingBox(),
+				actor->getScreenRectangle(),
+				true,
+				false,
+				actor->isTarget(),
+				actor->isRetired()
+			);
 		}
 	}
 
 	_set->addObjectsToScene(_vm->_sceneObjects);
 	_vm->_items->addToSet(setId);
 	_vm->_sceneObjects->updateObstacles();
-	// TODO: add all items to scene
-	// TODO: calculate walking obstacles??
 
 	if (_specialLoopMode != kSceneLoopModeLoseControl) {
 		_vm->_sceneScript->playerWalkedIn();
diff --git a/engines/bladerunner/scene_objects.cpp b/engines/bladerunner/scene_objects.cpp
index c84bf95..5eace21 100644
--- a/engines/bladerunner/scene_objects.cpp
+++ b/engines/bladerunner/scene_objects.cpp
@@ -313,8 +313,6 @@ void SceneObjects::setIsTarget(int sceneObjectId, bool isTarget) {
 }
 
 void SceneObjects::updateObstacles() {
-	// TODO remove comments after pathfinding is working properly
-	// debug("o.clear()");
 	_vm->_obstacles->clear();
 	for (int i = 0; i < _count; ++i) {
 		int index = _sceneObjectsSortedByDistance[i];
@@ -323,8 +321,6 @@ void SceneObjects::updateObstacles() {
 			float x0, y0, z0, x1, y1, z1;
 			sceneObject->boundingBox.getXYZ(&x0, &y0, &z0, &x1, &y1, &z1);
 			_vm->_obstacles->add(x0, z0, x1, z1);
-
-			// debug("o.add(%f, %f, %f, %f);", x0, z0, x1, z1);
 		}
 	}
 	_vm->_obstacles->backup();
diff --git a/engines/bladerunner/script/scene_script.cpp b/engines/bladerunner/script/scene_script.cpp
index 77ebaa2..dd68595 100644
--- a/engines/bladerunner/script/scene_script.cpp
+++ b/engines/bladerunner/script/scene_script.cpp
@@ -254,7 +254,6 @@ void SceneScript::sceneFrameAdvanced(int frame) {
 
 void SceneScript::actorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) {
 	_inScriptCounter++;
-	//TODO remove this check
 	if(_currentScript)
 		_currentScript->ActorChangedGoal(actorId, newGoal, oldGoal, currentSet);
 	_inScriptCounter--;
diff --git a/engines/bladerunner/set_effects.cpp b/engines/bladerunner/set_effects.cpp
index 99cb030..d54fd2b 100644
--- a/engines/bladerunner/set_effects.cpp
+++ b/engines/bladerunner/set_effects.cpp
@@ -66,10 +66,10 @@ void SetEffects::read(Common::ReadStream *stream, int frameCount) {
 		case 2:
 			fog = new FogBox();
 			break;
+		default:
+			error("Uknown fog type %d", type);
 		}
-		if (!fog) {
-			//TODO exception, unknown fog type
-		} else {
+		if (fog != nullptr) {
 			fog->read(stream, frameCount);
 			fog->_next = _fogs;
 			_fogs = fog;
diff --git a/engines/bladerunner/ui/elevator.cpp b/engines/bladerunner/ui/elevator.cpp
index a5e0c65..9baca0f 100644
--- a/engines/bladerunner/ui/elevator.cpp
+++ b/engines/bladerunner/ui/elevator.cpp
@@ -303,10 +303,6 @@ void Elevator::tickDescription() {
 	_sentenceId = -1;
 }
 
-void Elevator::resume() {
-	// TODO
-}
-
 void Elevator::mouseInCallback(int buttonId, void *self) {
 	((Elevator *)self)->buttonFocus(buttonId);
 }
diff --git a/engines/bladerunner/ui/elevator.h b/engines/bladerunner/ui/elevator.h
index f2e1443..9672443 100644
--- a/engines/bladerunner/ui/elevator.h
+++ b/engines/bladerunner/ui/elevator.h
@@ -59,7 +59,6 @@ public:
 	void setupDescription(int actorId, int sentenceId);
 	void resetDescription();
 	void tickDescription();
-	void resume();
 
 private:
 	static void mouseInCallback(int, void *);
diff --git a/engines/bladerunner/ui/esper.cpp b/engines/bladerunner/ui/esper.cpp
index 4b6b7f0..a5d858e 100644
--- a/engines/bladerunner/ui/esper.cpp
+++ b/engines/bladerunner/ui/esper.cpp
@@ -245,10 +245,6 @@ void ESPER::tick() {
 	}
 }
 
-void ESPER::resume() {
-	// TODO
-}
-
 void ESPER::addPhoto(const char *name, int photoId, int shapeId) {
 	int i = findEmptyPhoto();
 	if (i >= 0) {
@@ -303,9 +299,7 @@ void ESPER::mouseUpCallback(int buttonId, void *callbackData) {
 	if (buttonId < kPhotoCount) {
 		self->selectPhoto(buttonId);
 	} else if (self->_statePhoto != kEsperPhotoStateVideoZoomOut) {
-		if (buttonId == kPhotoCount + 1) {
-			// TODO: is it even used?
-		} else if (buttonId == kPhotoCount + 2) {
+		if (buttonId == kPhotoCount + 2) {
 			self->zoomOutStop();
 		} else if (buttonId == kPhotoCount + 3) {
 			self->goBack();
@@ -912,7 +906,6 @@ void ESPER::drawVideoZoomOut(Graphics::Surface &surface) {
 	if (timeNow > _timeZoomNext && _vqaLastFrame > 0) {
 		_timeZoomNext = timeNow + 300;
 		playSound(419, 25);
-		//TODO: implement frame loading after seek, then advanceFrame can be removed
 		_vqaPlayerPhoto->seekToFrame(_vqaLastFrame);
 		int nextFrame = _vqaPlayerPhoto->getFrameCount() / 4;
 		if (nextFrame <= 0) {
diff --git a/engines/bladerunner/ui/esper.h b/engines/bladerunner/ui/esper.h
index 4a1c606..34648a3 100644
--- a/engines/bladerunner/ui/esper.h
+++ b/engines/bladerunner/ui/esper.h
@@ -195,8 +195,6 @@ public:
 
 	void tick();
 
-	void resume();
-
 	void addPhoto(const char *name, int photoId, int shapeId);
 	void defineRegion(int regionId, Common::Rect inner, Common::Rect outer, Common::Rect selection, const char *name);
 
diff --git a/engines/bladerunner/ui/kia.cpp b/engines/bladerunner/ui/kia.cpp
index 2cc978f..be64131 100644
--- a/engines/bladerunner/ui/kia.cpp
+++ b/engines/bladerunner/ui/kia.cpp
@@ -315,7 +315,7 @@ void KIA::tick() {
 			_shapes->get(39)->draw(_vm->_surfaceFront, 583, 342);
 		}
 	}
-	//TODO: implement frame loading after seek, then advanceFrame can be removed
+
 	_playerVqaPlayer->seekToFrame(_playerVqaFrame);
 	_playerVqaPlayer->update(true, true);
 
@@ -370,7 +370,7 @@ void KIA::tick() {
 			_shapes->get(47)->draw(_vm->_surfaceFront, 182, 446);
 		}
 	}
-	_vm->_mainFont->drawColor("1.00", _vm->_surfaceFront, 438, 471, 0x1CE7); // TODO: 1.01 for DVD version
+	_vm->_mainFont->drawColor("1.00", _vm->_surfaceFront, 438, 471, 0x1CE7); // 1.01 is DVD version, but only cd handling routines were changed, no game logic
 	if (!_transitionId) {
 		_buttons->drawTooltip(_vm->_surfaceFront, mouse.x, mouse.y);
 	}
diff --git a/engines/bladerunner/ui/kia_section_clues.h b/engines/bladerunner/ui/kia_section_clues.h
index 1061e63..eb43f60 100644
--- a/engines/bladerunner/ui/kia_section_clues.h
+++ b/engines/bladerunner/ui/kia_section_clues.h
@@ -36,7 +36,6 @@ class UIImagePicker;
 class UIScrollBox;
 
 class KIASectionClues : public KIASectionBase {
-	//TODO: use gameInfo->getClueCount(), not in original game
 	static const int kClueCount = 288;
 
 	struct Line {
diff --git a/engines/bladerunner/vqa_player.cpp b/engines/bladerunner/vqa_player.cpp
index 040bb58..300740e 100644
--- a/engines/bladerunner/vqa_player.cpp
+++ b/engines/bladerunner/vqa_player.cpp
@@ -195,8 +195,6 @@ bool VQAPlayer::setBeginAndEndFrame(int begin, int end, int repeatsCount, int lo
 		loopSetMode = kLoopSetModeImmediate;
 	}
 
-	//TODO: there is code in original game which deals with changing loop at start of loop, is it nescesarry? loc_46EA04
-
 	_frameBegin = begin;
 
 	if (loopSetMode == kLoopSetModeJustStart) {


Commit: 59f4893547fc9b4506a104876b6c37ded5ffc340
    https://github.com/scummvm/scummvm/commit/59f4893547fc9b4506a104876b6c37ded5ffc340
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-03-04T19:43:45+01:00

Commit Message:
BLADERUNNER: Fixed stereo balance for speech

Changed paths:
    engines/bladerunner/actor.cpp


diff --git a/engines/bladerunner/actor.cpp b/engines/bladerunner/actor.cpp
index a5cc4c4..f616614 100644
--- a/engines/bladerunner/actor.cpp
+++ b/engines/bladerunner/actor.cpp
@@ -1144,10 +1144,8 @@ void Actor::speechPlay(int sentenceId, bool voiceOver) {
 
 	int balance = 0;
 	if (!voiceOver && _id != BladeRunnerEngine::kActorVoiceOver) {
-		// Vector3 pos = _vm->_view->_frameViewMatrix * _position;
-		int screenX = 320; //, screenY = 0;
-		//TODO: transform to screen space using fov;
-		balance = 127 * (2 * screenX - 640) / 640;
+		Vector3 screenPosition = _vm->_view->calculateScreenPosition(_position);
+		balance = (127 * (2 * screenPosition.x - 640)) / 640;
 		balance = CLIP<int>(balance, -127, 127);
 	}
 


Commit: ae039b06489401a1a790b40a65f5a7ce011f0de4
    https://github.com/scummvm/scummvm/commit/ae039b06489401a1a790b40a65f5a7ce011f0de4
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-03-04T19:43:45+01:00

Commit Message:
BLADERUNNER: Fixed unexpected music playback

Changed paths:
    engines/bladerunner/music.cpp


diff --git a/engines/bladerunner/music.cpp b/engines/bladerunner/music.cpp
index a29b981..38afafa 100644
--- a/engines/bladerunner/music.cpp
+++ b/engines/bladerunner/music.cpp
@@ -132,6 +132,11 @@ void Music::stop(int delay) {
 		return;
 	}
 
+#if !BLADERUNNER_ORIGINAL_BUGS
+	// In original game, on queued music was not removed and it started playing after actor left the scene
+	_isNextPresent = false;
+#endif
+
 	_current.loop = false;
 	_vm->_audioMixer->stop(_channel, 60 * delay);
 }


Commit: 213e6b52c8861a128dc25b036ff9583314615785
    https://github.com/scummvm/scummvm/commit/213e6b52c8861a128dc25b036ff9583314615785
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-03-04T19:43:45+01:00

Commit Message:
BLADERUNNER: Enable pathfinding

Changed paths:
    engines/bladerunner/obstacles.cpp


diff --git a/engines/bladerunner/obstacles.cpp b/engines/bladerunner/obstacles.cpp
index 933a01e..8fe32f0 100644
--- a/engines/bladerunner/obstacles.cpp
+++ b/engines/bladerunner/obstacles.cpp
@@ -32,7 +32,7 @@
 
 #include "common/debug.h"
 
-#define DISABLE_PATHFINDING 1
+#define DISABLE_PATHFINDING 0
 
 #define WITHIN_TOLERANCE(a, b) (((a) - 0.009) < (b) && ((a) + 0.009) > (b))
 





More information about the Scummvm-git-logs mailing list