[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