[Scummvm-git-logs] scummvm master -> 605e21953d161ca043bedebb56994676f4902fe3

antoniou79 antoniou at cti.gr
Sun May 26 16:37:53 CEST 2019


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

Summary:
93768c3307 BLADERUNNER: Item spin command in Debugger
605e21953d BLADERUNNER: Fix for View::calculateScreenPosition


Commit: 93768c33073129237109a056d219623ae9f6d712
    https://github.com/scummvm/scummvm/commit/93768c33073129237109a056d219623ae9f6d712
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-05-26T17:17:05+03:00

Commit Message:
BLADERUNNER: Item spin command in Debugger

Changed paths:
    engines/bladerunner/debugger.cpp
    engines/bladerunner/game_constants.h
    engines/bladerunner/script/kia_script.cpp


diff --git a/engines/bladerunner/debugger.cpp b/engines/bladerunner/debugger.cpp
index b19dd54..9cfb5d7 100644
--- a/engines/bladerunner/debugger.cpp
+++ b/engines/bladerunner/debugger.cpp
@@ -38,6 +38,7 @@
 #include "bladerunner/scene.h"
 #include "bladerunner/scene_objects.h"
 #include "bladerunner/items.h"
+#include "bladerunner/item_pickup.h"
 #include "bladerunner/screen_effects.h"
 #include "bladerunner/settings.h"
 #include "bladerunner/set.h"
@@ -1601,6 +1602,15 @@ bool Debugger::cmdItem(int argc, const char **argv) {
 				debugPrintf("No item was found with the specified id: %d in the scene\n", itemId);
 				return true;
 			}
+		} else if (modeName == "spin" && argc == 3) {
+			int itemAnimationId = atoi(argv[2]);
+			if (itemAnimationId >=0 && itemAnimationId <= 996) {
+				_vm->_itemPickup->setup(itemAnimationId, 320, 240);
+				return false; // close the debugger
+			} else {
+				debugPrintf("Valid value range for item animation Ids is [0, 996]\n");
+				return true;
+			}
 		} else {
 			invalidSyntax = true;
 		}
@@ -1617,6 +1627,7 @@ bool Debugger::cmdItem(int argc, const char **argv) {
 		debugPrintf("Usage 3: %s flags  <id> <isVisible> <isTarget>\n", argv[0]);
 		debugPrintf("Usage 4: %s bounds <id> <posX> <posY> <posZ>  <facing> <height> <width>\n", argv[0]);
 		debugPrintf("Usage 5: %s remove <id>\n", argv[0]);
+		debugPrintf("Usage 6: %s spin <animationId>\n", argv[0]);
 	}
 	return true;
 }
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 6e8e1c7..0e8307a 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -1862,7 +1862,7 @@ enum GameModelAnimations {
 	kModelAnimationWeaponsOrderForm            = 965,
 	kModelAnimationShellCasings                = 966,
 	kModelAnimationSlug                        = 967,
-//	kModelAnimation                            = 968, // unused - a knife?
+//	kModelAnimationKnife                       = 968, // unused - a knife? - spins badly
 	kModelAnimationStrangeScale                = 969,
 	kModelAnimationHysteriaToken               = 970,
 	kModelAnimationToyDog                      = 971,
@@ -1882,14 +1882,14 @@ enum GameModelAnimations {
 	kModelAnimationCrystalsCigarette           = 985,
 	kModelAnimationSpinnerKeys                 = 986,
 	kModelAnimationBriefcase                   = 987,
-	kModelAnimationDNAEvidenceOnePart          = 988,
-//	kModelAnimation                            = 989, // unused?
-	kModelAnimationDNAEvidenceTwoParts         = 990,
-	kModelAnimationDNAEvidenceThreeParts       = 991,
-//	kModelAnimation                            = 992, // unused?
+	kModelAnimationDNAEvidence01OutOf6         = 988,
+//	kModelAnimationDNAEvidence02OutOf6         = 989, // unused - actual 2 parts of DNA
+	kModelAnimationDNAEvidence03OutOf6         = 990, // used for two parts found
+	kModelAnimationDNAEvidence04OutOf6         = 991, // used for three parts found
+//	kModelAnimationDNAEvidence05OutOf6         = 992, // unused - actual 5 parts of DNA
 	kModelAnimationDNAEvidenceComplete         = 993,
-//	kModelAnimation                            = 994, // unused?
-    kModelAnimationAmmoType01                  = 995, // from Bullet Bob's
+//	kModelAnimationAmmoType00                  = 994, // unused - simple bullet
+	kModelAnimationAmmoType01                  = 995, // from Bullet Bob's
 	kModelAnimationAmmoType02                  = 996  // from Izo stash (Act 4)
 };
 
diff --git a/engines/bladerunner/script/kia_script.cpp b/engines/bladerunner/script/kia_script.cpp
index 10afa16..35f26ae 100644
--- a/engines/bladerunner/script/kia_script.cpp
+++ b/engines/bladerunner/script/kia_script.cpp
@@ -663,11 +663,11 @@ void KIAScript::SCRIPT_KIA_DLL_Play_Clue_Asset_Script(int notUsed, int clueId) {
 		{
 			int dnaEvidences = Global_Variable_Query(kVariableDNAEvidence);
 			if (dnaEvidences == 1) {
-				KIA_Play_Slice_Model(kModelAnimationDNAEvidenceOnePart);
+				KIA_Play_Slice_Model(kModelAnimationDNAEvidence01OutOf6);
 			} else if (dnaEvidences == 2) {
-				KIA_Play_Slice_Model(kModelAnimationDNAEvidenceTwoParts);
+				KIA_Play_Slice_Model(kModelAnimationDNAEvidence03OutOf6);
 			} else if (dnaEvidences == 3) {
-				KIA_Play_Slice_Model(kModelAnimationDNAEvidenceThreeParts);
+				KIA_Play_Slice_Model(kModelAnimationDNAEvidence04OutOf6);
 			} else if (dnaEvidences >= 4) {
 				KIA_Play_Slice_Model(kModelAnimationDNAEvidenceComplete);
 			}


Commit: 605e21953d161ca043bedebb56994676f4902fe3
    https://github.com/scummvm/scummvm/commit/605e21953d161ca043bedebb56994676f4902fe3
Author: Thanasis Antoniou (a.antoniou79 at gmail.com)
Date: 2019-05-26T17:17:05+03:00

Commit Message:
BLADERUNNER: Fix for View::calculateScreenPosition

Draw objects in debugger no longer draws mishappen rectangles

Changed paths:
    engines/bladerunner/game_constants.h
    engines/bladerunner/script/scene/ug18.cpp
    engines/bladerunner/view.cpp


diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index 0e8307a..1fe3767 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -1862,7 +1862,7 @@ enum GameModelAnimations {
 	kModelAnimationWeaponsOrderForm            = 965,
 	kModelAnimationShellCasings                = 966,
 	kModelAnimationSlug                        = 967,
-//	kModelAnimationKnife                       = 968, // unused - a knife? - spins badly
+//	kModelAnimationKnife                       = 968, // unused - 3 frames - a knife? - spins badly
 	kModelAnimationStrangeScale                = 969,
 	kModelAnimationHysteriaToken               = 970,
 	kModelAnimationToyDog                      = 971,
diff --git a/engines/bladerunner/script/scene/ug18.cpp b/engines/bladerunner/script/scene/ug18.cpp
index 8b6c1da..4201d3b 100644
--- a/engines/bladerunner/script/scene/ug18.cpp
+++ b/engines/bladerunner/script/scene/ug18.cpp
@@ -229,8 +229,8 @@ void SceneScriptUG18::SceneFrameAdvanced(int frame) {
 			Ambient_Sounds_Play_Sound(kSfxSUBWAY1, 24, 30, 0, 50);
 		}
 
-		if (frame == 119     //  end of main loop unloading // works better the using the 120 value
-		   || frame ==  240 // end of main loop no trains
+		if (frame == 119    //  end of main loop unloading // works better than using the 120 value
+		   || frame ==  240 //  end of main loop no trains
 		) {
 			if (Global_Variable_Query(kVariableUG18CountUpForNextTrainAction) < kUG18TrainsCountUpTargetRegular) {
 				if (Global_Variable_Query(kVariableUG18StateOfTrains) == kUG18NoTrains) {
diff --git a/engines/bladerunner/view.cpp b/engines/bladerunner/view.cpp
index cb14f51..f2f9749 100644
--- a/engines/bladerunner/view.cpp
+++ b/engines/bladerunner/view.cpp
@@ -24,6 +24,7 @@
 
 #include "common/debug.h"
 #include "common/stream.h"
+#include "common/util.h"
 
 namespace BladeRunner {
 
@@ -73,8 +74,8 @@ void View::calculateCameraPosition() {
 Vector3 View::calculateScreenPosition(Vector3 worldPosition) {
 	Vector3 viewPosition = _frameViewMatrix * worldPosition;
 	return Vector3(
-		_viewportPosition.x - viewPosition.x / viewPosition.z * _viewportPosition.z,
-		_viewportPosition.y - viewPosition.y / viewPosition.z * _viewportPosition.z,
+		_viewportPosition.x - ((viewPosition.x / ABS(viewPosition.z)) * ABS(_viewportPosition.z)),
+		_viewportPosition.y - ((viewPosition.y / ABS(viewPosition.z)) * ABS(_viewportPosition.z)),
 		viewPosition.z
 	);
 }





More information about the Scummvm-git-logs mailing list