diff options
author | Thanasis Antoniou | 2019-05-25 18:21:03 +0300 |
---|---|---|
committer | Thanasis Antoniou | 2019-05-26 17:17:05 +0300 |
commit | 93768c33073129237109a056d219623ae9f6d712 (patch) | |
tree | 1a1f21ae5243663a9a81b331459f1a874b1632e7 /engines/bladerunner | |
parent | 4dda6324b83a1fcd7c0dd67053dd62d9883e9ba0 (diff) | |
download | scummvm-rg350-93768c33073129237109a056d219623ae9f6d712.tar.gz scummvm-rg350-93768c33073129237109a056d219623ae9f6d712.tar.bz2 scummvm-rg350-93768c33073129237109a056d219623ae9f6d712.zip |
BLADERUNNER: Item spin command in Debugger
Diffstat (limited to 'engines/bladerunner')
-rw-r--r-- | engines/bladerunner/debugger.cpp | 11 | ||||
-rw-r--r-- | engines/bladerunner/game_constants.h | 16 | ||||
-rw-r--r-- | engines/bladerunner/script/kia_script.cpp | 6 |
3 files changed, 22 insertions, 11 deletions
diff --git a/engines/bladerunner/debugger.cpp b/engines/bladerunner/debugger.cpp index b19dd54d99..9cfb5d7eb1 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 6e8e1c7bdf..0e8307a73f 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 10afa16b67..35f26ae853 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); } |