[Scummvm-git-logs] scummvm master -> 61625cc2b0bc30d877b548a13745c6c952089813
antoniou79
a.antoniou79 at gmail.com
Thu Jul 1 21:47:27 UTC 2021
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
61625cc2b0 BLADERUNNER: RESTOREDCONTENT: FLYTRU_E with custom sound
Commit: 61625cc2b0bc30d877b548a13745c6c952089813
https://github.com/scummvm/scummvm/commit/61625cc2b0bc30d877b548a13745c6c952089813
Author: antoniou79 (a.antoniou79 at gmail.com)
Date: 2021-07-02T00:43:40+03:00
Commit Message:
BLADERUNNER: RESTOREDCONTENT: FLYTRU_E with custom sound
Outtake FLYTRU_E is only available in Act 1
Also only when taking off from McCoy's roof or Police Station and again it's a random chance
Changed paths:
engines/bladerunner/game_constants.h
engines/bladerunner/outtake.cpp
engines/bladerunner/script/scene/ma01.cpp
engines/bladerunner/script/scene/ps01.cpp
diff --git a/engines/bladerunner/game_constants.h b/engines/bladerunner/game_constants.h
index c00ba8fec4..acf9a48b37 100644
--- a/engines/bladerunner/game_constants.h
+++ b/engines/bladerunner/game_constants.h
@@ -1258,7 +1258,7 @@ enum Outtakes {
kOuttakeDescent = 33, // Act 1, 4, 5
kOuttakeInside1 = 34, // Act 1
kOuttakeInside2 = 35, // Act 1, 2, 3
- kOuttakeTowards1 = 36, // Act 1
+ kOuttakeTowards1 = 36, // Act 1 - This is sort of the reverse of kOuttakeFlyThrough (spinner is flying towards player)
kOuttakeTowards2 = 37, // Act 1
kOuttakeTowards3 = 38, // Act 1, 2, 3
kOuttakeRachel = 39,
@@ -1380,11 +1380,11 @@ enum Scenes {
kSceneHC02 = 32, // Hawker's Circle - China bar
kSceneHC03 = 33, // Hawker's Circle - Green pawn - Inside
kSceneHF01 = 34, // Hysteria Hall - Outside
- kSceneHF02 = 35, // Hysteria Hall - Hall of Mirrors - Exit
+ kSceneHF02 = 35, // Hysteria Hall - Hall of Mirrors - Exit / Arcade Back Alley
kSceneHF03 = 36, // Hysteria Hall - Hysteria Arcade
kSceneHF04 = 37, // Hysteria Hall - Hall of Mirrors
kSceneHF05 = 38, // Hysteria Hall - Crazy Legs Larry Autos - Inside
- kSceneHF06 = 39, // Hysteria Hall - Crazy Legs Larry Autos - Root
+ kSceneHF06 = 39, // Hysteria Hall - Crazy Legs Larry Autos - Roof
kSceneHF07 = 40, // Hysteria Hall - Crazy Legs Larry Autos - Underground
kSceneKP01 = 41, // Kipple - Rubble
kSceneKP02 = 42, // Kipple - Entry / Gate
@@ -3566,11 +3566,11 @@ enum MusicTracks {
};
enum SFXSounds {
- kSfxCROSLOCK = 0,
+ kSfxCROSLOCK = 0, // PS02, PS10, VK
kSfxSTEAM1 = 1,
- kSfxSPINNY1 = 2,
+ kSfxSPINNY1 = 2, // used only in Shooting Range Set
kSfxFEMHURT1 = 3, // used only 3 times; 2 of them are bugs
- kSfxFEMHURT2 = 4,
+ kSfxFEMHURT2 = 4, // used only in Shooting Range Set (and for Moraji (Removed))
kSfxGUNMISS1 = 5, // unused
kSfxGUNMISS2 = 6, // unused
kSfxGUNMISS3 = 7, // unused
@@ -3579,13 +3579,13 @@ enum SFXSounds {
kSfxHITTARG2 = 10, // unused
kSfxHITTARG3 = 11, // unused
kSfxLGCAL1 = 12,
- kSfxLGCAL2 = 13, // used only twice
- kSfxLGCAL3 = 14,
+ kSfxLGCAL2 = 13, // used only twice in UG18
+ kSfxLGCAL3 = 14, // used only in UG18
kSfxMDCAL1 = 15, // unused
kSfxMDCAL2 = 16, // unused
kSfxRICO1 = 17, // unused
kSfxRICO2 = 18, // unused
- kSfxRICO3 = 19, // used only once
+ kSfxRICO3 = 19, // used only once - PS11 for a maze target (A Bug?)
kSfxRICOCHT1 = 20, // unused
kSfxRICOCHT2 = 21, // unused
kSfxRICOCHT3 = 22, // unused
@@ -3597,36 +3597,36 @@ enum SFXSounds {
kSfxSMCAL4 = 28, // unused
kSfxTARGUP1 = 29,
kSfxTARGUP2 = 30, // unused
- kSfxTARGUP3 = 31, // used only once
+ kSfxTARGUP3 = 31, // used only once - PS11
kSfxTARGUP4 = 32,
kSfxTARGUP5 = 33,
kSfxTARGUP6 = 34,
kSfxTARGUP7 = 35, // unused - similar to TARGUP6, bit more sustained
kSfxTRGSPIN1 = 36, // unused
- kSfxTRGSPIN2 = 37, // unused
- kSfxTRGSPIN3 = 38, // unused
+ kSfxTRGSPIN2 = 37, // unused - similar to kSfxTRGSPIN1, bit faster
+ kSfxTRGSPIN3 = 38, // unused - ugly sound
kSfxDRIPPY4 = 39, // unused
- kSfxDRIPPY10 = 40,
- kSfxDRIPPY1 = 41,
- kSfxDRIPPY2 = 42,
- kSfxDRIPPY6 = 43,
- kSfxDRIPPY7 = 44,
+ kSfxDRIPPY10 = 40, // used only once - CT05
+ kSfxDRIPPY1 = 41, // used only once - CT05
+ kSfxDRIPPY2 = 42, // used only once - CT05
+ kSfxDRIPPY6 = 43, // used only once - CT05
+ kSfxDRIPPY7 = 44, // used only once - CT05
kSfxPSAMB6 = 45, // - Looping
- kSfxRTONE3 = 46, // - Looping
- kSfxSCANNER1 = 47,
- kSfxSCANNER2 = 48,
- kSfxSCANNER3 = 49,
- kSfxSCANNER4 = 50,
- kSfxSCANNER5 = 51,
- kSfxSCANNER6 = 52,
- kSfxSCANNER7 = 53,
+ kSfxRTONE3 = 46, // - Looping (Guzza's Office PS04) - Used once
+ kSfxSCANNER1 = 47, // used only twice. In PS04 and UG02 (Izo's stash)
+ kSfxSCANNER2 = 48, // used only twice. In PS04 and UG02 (Izo's stash)
+ kSfxSCANNER3 = 49, // used only twice. In PS04 and UG02 (Izo's stash)
+ kSfxSCANNER4 = 50, // used only twice. In PS04 and UG02 (Izo's stash)
+ kSfxSCANNER5 = 51, // used only twice. In PS04 and UG02 (Izo's stash)
+ kSfxSCANNER6 = 52, // used only twice. In PS04 and UG02 (Izo's stash)
+ kSfxSCANNER7 = 53, // used only twice. In PS04 and UG02 (Izo's stash)
kSfxCTRAIN1 = 54, // - Looping
- kSfxCTAMBL1 = 55, // - Looping
+ kSfxCTAMBL1 = 55, // - Looping (CT01, CT12) - Used twice
kSfxCTAMBR1 = 56, // - Looping
kSfxSTEAM3 = 57,
kSfxSTEAM6A = 58,
- kSfxNEON5 = 59,
- kSfxNEON6 = 60,
+ kSfxNEON5 = 59, // used three times. In CT01, CT12, DR03.
+ kSfxNEON6 = 60, // used three times. In CT01, CT12, HC02.
kSfxDISH1 = 61,
kSfxDISH2 = 62,
kSfxDISH3 = 63,
@@ -3636,117 +3636,117 @@ enum SFXSounds {
kSfxSPIN2A = 67,
kSfxSPIN2B = 68,
kSfxSPIN3A = 69,
- kSfxBOOLOOP2 = 70, // - Looping
+ kSfxBOOLOOP2 = 70, // - Looping (Hall of Mirrors HF04) - Used once
kSfxBRBED5 = 71, // - Looping
kSfxSWEEP2 = 72,
kSfxSWEEP3 = 73,
kSfxSWEEP4 = 74,
- kSfxWINDLOP8 = 75, // - Looping
- kSfxPETDEAD1 = 76,
- kSfxPETDEAD3 = 77,
- kSfxPETDEAD4 = 78,
- kSfxPETDEAD5 = 79,
+ kSfxWINDLOP8 = 75, // - Looping (Runciter's interior RC02) - Used once
+ kSfxPETDEAD1 = 76, // used only once - RC02
+ kSfxPETDEAD3 = 77, // used only once - RC02
+ kSfxPETDEAD4 = 78, // used only once - RC02
+ kSfxPETDEAD5 = 79, // used only once - CT05 (Chinatown Warehouse)
kSfxRCAMB1 = 80, // unused - Looping
kSfxRCAMBR1 = 81, // - Looping
kSfxRCCARBY1 = 82,
kSfxRCCARBY2 = 83,
kSfxRCCARBY3 = 84,
- kSfxRCRAIN1 = 85, // - Looping
+ kSfxRCRAIN1 = 85, // - Looping (Runciter's interior RC02) - Used once
kSfxRCTALK1 = 86, // unused - Looping?
kSfxSIREN2 = 87,
kSfxRCTALK2 = 88, // unused - Looping?
kSfxRCTALK3 = 89, // unused - Looping?
kSfxPSDOOR1 = 90,
kSfxPSDOOR2 = 91,
- kSfxPSPA6 = 92,
- kSfxPSPA7 = 93,
- kSfxPSPA8 = 94,
+ kSfxPSPA6 = 92, // used only once - PS03 (Ground Level)
+ kSfxPSPA7 = 93, // used only once - PS03 (Ground Level)
+ kSfxPSPA8 = 94, // used only once - PS03 (Ground Level)
kSfxBOILPOT2 = 95, // - Looping
- kSfxKTCHRAIN = 96, // - Looping
+ kSfxKTCHRAIN = 96, // - Looping - (Zuben's Kitchen CT02) - Used once
kSfxNEON7 = 97,
- kSfxBIGFAN2 = 98, // - Looping
+ kSfxBIGFAN2 = 98, // - Looping (DR01, DR02) - Used twice
kSfxROOFAIR1 = 99, // - Looping
kSfxROOFRMB1 = 100, // - Looping
kSfxROOFRAN1 = 101, // - Looping
- kSfxROOFLIT1 = 102,
+ kSfxROOFLIT1 = 102, // used only twice. In MA01 (McCoy's roof) and MA05 (McCoy's balcony)
kSfxRAINAWN1 = 103, // - Looping
- kSfxAPRTAMB5 = 104, // - Looping
+ kSfxAPRTAMB5 = 104, // - Looping (MA02, MA04) - Used twice
kSfxCTRUNOFF = 105, // - Looping
- kSfxCTROOFL1 = 106, // - Looping
- kSfxCTROOFR1 = 107, // - Looping
- kSfxDRAMB4 = 108, // - Looping
+ kSfxCTROOFL1 = 106, // - Looping (Chinatown Warehouse CT05) - Used once
+ kSfxCTROOFR1 = 107, // - Looping (Chinatown Warehouse CT05) - Used once
+ kSfxDRAMB4 = 108, // - Looping (Crazylegs underground basement HF07) - Used once
kSfxBRBED3 = 109, // - Looping
- kSfxRESPRTR1 = 110, // - Looping
- kSfxDRAMB5 = 111, // - Looping
- kSfxFACTAMB2 = 112, // Looping
+ kSfxRESPRTR1 = 110, // - Looping (Chew's EyeWorld DR03) - Used once
+ kSfxDRAMB5 = 111, // - Looping (Dektora's Backstage NR06, NR07) - Used twice
+ kSfxFACTAMB2 = 112, // Looping (DR01, HF07) - Used twice
kSfxDRRAIN1 = 113, // unused - Looping
- kSfxSPINUP1 = 114, // elevator sound
- kSfxSPINOPN3 = 115, // unused
+ kSfxSPINUP1 = 114, // used only in elevator MA06 (Name implies use for Spinner taking off)
+ kSfxSPINOPN3 = 115, // unused (spinner door open)
kSfxSPINOPN4 = 116,
kSfxCARUP3 = 117,
kSfxCARDOWN3 = 118,
kSfxSPINCLS1 = 119,
- kSfxSERVOU1 = 120,
- kSfxSERVOD1 = 121, // used only twice; 1 is unused (shot doll "General")
- kSfxMTLHIT1 = 122,
+ kSfxSERVOU1 = 120, // used only in PS01 (Police HQ Roof)
+ kSfxSERVOD1 = 121, // used only twice; 1 is unused (shot doll "General"), other is in PS01
+ kSfxMTLHIT1 = 122, // used three times; MA01 (Roof), PS01 (Roof), NR11 (Loft)
kSfxSPNBEEP9 = 123,
- kSfxPRISAMB3 = 124, // - Looping
- kSfxPRISSLM1 = 125,
- kSfxPRISSLM2 = 126,
- kSfxPRISSLM3 = 127,
- kSfxSPINAMB2 = 128, // unused - Looping?
- kSfxSPNAMB1 = 129, // unused - Looping?
- kSfxSPNBEEP2 = 130,
- kSfxSPNBEEP3 = 131,
- kSfxSPNBEEP4 = 132,
- kSfxSPNBEEP5 = 133,
- kSfxSPNBEEP6 = 134,
- kSfxSPNBEEP7 = 135,
- kSfxSPNBEEP8 = 136,
- kSfxPRISAMB1 = 137, // - Looping
- kSfxBRBED5X = 138, // - Looping
+ kSfxPRISAMB3 = 124, // - Looping (Lockup PS09) - Used once
+ kSfxPRISSLM1 = 125, // used once in PS09
+ kSfxPRISSLM2 = 126, // used once in PS09
+ kSfxPRISSLM3 = 127, // used once in PS09
+ kSfxSPINAMB2 = 128, // unused - Restored in spinner.cpp (At "Select Destination" message)
+ kSfxSPNAMB1 = 129, // unused - Looping? Ugly Sound
+ kSfxSPNBEEP2 = 130, // used once in UG02
+ kSfxSPNBEEP3 = 131, // used only twice; UG02 and KIA Save
+ kSfxSPNBEEP4 = 132, // used only twice; UG02 and MA04
+ kSfxSPNBEEP5 = 133, // used once in UG02
+ kSfxSPNBEEP6 = 134, // used only twice; UG02 and KIA Save
+ kSfxSPNBEEP7 = 135, // used in UG02, and KIA Save, KIA Settings
+ kSfxSPNBEEP8 = 136, // used once in UG02
+ kSfxPRISAMB1 = 137, // - Looping (Lockup PS09) - Used once
+ kSfxBRBED5X = 138, // - Looping (Lockup PS09) - Used once
kSfxLABAMB1 = 139, // unused - Looping?
kSfxLABAMB2 = 140, // unused - Looping?
kSfxLABAMB3 = 141, // - Looping
- kSfxTUBES1 = 142,
+ kSfxTUBES1 = 142, // used once in PS07 (Lab)
kSfxTUBES2 = 143, // unused
kSfxTUBES3 = 144, // unused
- kSfxTUBES4 = 145,
- kSfxLABMISC1 = 146,
+ kSfxTUBES4 = 145, // used once in PS07 (Lab)
+ kSfxLABMISC1 = 146, // used twice; in PS07, TB05
kSfxLABMISC2 = 147,
kSfxLABMISC3 = 148,
kSfxLABMISC4 = 149,
kSfxLABMISC5 = 150,
kSfxLABMISC6 = 151,
- kSfxLABMISC7 = 152, // used only once
- kSfxLABMISC8 = 153, // used only once
- kSfxLABMISC9 = 154, // used only once
- kSfxLABBUZZ1 = 155,
- kSfxPAGE1 = 156,
- kSfxPAGE2 = 157,
- kSfxPAGE3 = 158,
- kSfxUPTARG3 = 159,
- kSfxCEMENTL1 = 160,
- kSfxCEMENTL2 = 161,
- kSfxCEMENTL3 = 162,
- kSfxCEMENTL4 = 163,
- kSfxCEMENTL5 = 164,
- kSfxCEMENTR1 = 165,
- kSfxCEMENTR2 = 166,
- kSfxCEMENTR3 = 167,
- kSfxCEMENTR4 = 168,
- kSfxCEMENTR5 = 169,
- kSfxCEMWETL1 = 170,
- kSfxCEMWETL2 = 171,
- kSfxCEMWETL3 = 172,
- kSfxCEMWETL4 = 173,
- kSfxCEMWETL5 = 174,
- kSfxCEMWETR1 = 175,
- kSfxCEMWETR2 = 176,
- kSfxCEMWETR3 = 177,
- kSfxCEMWETR4 = 178,
- kSfxCEMWETR5 = 179,
- kSfxGARBAGE4 = 180, // used only once
+ kSfxLABMISC7 = 152, // used once in PS07 (Lab)
+ kSfxLABMISC8 = 153, // used once in PS07 (Lab)
+ kSfxLABMISC9 = 154, // used once in PS07 (Lab)
+ kSfxLABBUZZ1 = 155, // used in PS07 (restored), PS10 (Buzzer fix), PS15 (removed)
+ kSfxPAGE1 = 156, // used twice; in PS15 (Sgt Walls Armory), PS05 (Mainframe Hall)
+ kSfxPAGE2 = 157, // used twice; in PS15 (Sgt Walls Armory), PS05 (Mainframe Hall)
+ kSfxPAGE3 = 158, // used twice; in PS15 (Sgt Walls Armory), PS05 (Mainframe Hall)
+ kSfxUPTARG3 = 159, // used in PS10 (for Maze Targets)
+ kSfxCEMENTL1 = 160, // footsteps sound (left) (also used in DR06 for mannequin head)
+ kSfxCEMENTL2 = 161, // footsteps sound (left) (also used in DR06 for mannequin head)
+ kSfxCEMENTL3 = 162, // footsteps sound (left)
+ kSfxCEMENTL4 = 163, // footsteps sound (left)
+ kSfxCEMENTL5 = 164, // footsteps sound (left)
+ kSfxCEMENTR1 = 165, // footsteps sound (right)
+ kSfxCEMENTR2 = 166, // footsteps sound (right)
+ kSfxCEMENTR3 = 167, // footsteps sound (right)
+ kSfxCEMENTR4 = 168, // footsteps sound (right)
+ kSfxCEMENTR5 = 169, // footsteps sound (right)
+ kSfxCEMWETL1 = 170, // footsteps sound (Wet, left)
+ kSfxCEMWETL2 = 171, // footsteps sound (Wet, left)
+ kSfxCEMWETL3 = 172, // footsteps sound (Wet, left)
+ kSfxCEMWETL4 = 173, // footsteps sound (Wet, left)
+ kSfxCEMWETL5 = 174, // footsteps sound (Wet, left)
+ kSfxCEMWETR1 = 175, // footsteps sound (Wet, right)
+ kSfxCEMWETR2 = 176, // footsteps sound (Wet, right)
+ kSfxCEMWETR3 = 177, // footsteps sound (Wet, right)
+ kSfxCEMWETR4 = 178, // footsteps sound (Wet, right)
+ kSfxCEMWETR5 = 179, // footsteps sound (Wet, right)
+ kSfxGARBAGE4 = 180, // used once in CT04 (Chinatown Back Alley with big dumpster)
kSfx67_0470R = 181,
kSfx67_0480R = 182,
kSfx67_0500R = 183,
@@ -3769,44 +3769,44 @@ enum SFXSounds {
kSfxBIGPOT4 = 200, // unused
kSfxMTLDOOR2 = 201,
kSfxPOTSPL4 = 202, // unused
- kSfxPOTSPL5 = 203,
- kSfxBIGPOT3 = 204, // used only twice
+ kSfxPOTSPL5 = 203, // used once in CT02 - also in (cut) ShotAtAndHit() code of Generic Walkers A, B, C
+ kSfxBIGPOT3 = 204, // used only twice; CT02 and DR06 (mannequin head broken)
kSfxCTDRONE1 = 205,
kSfxZUBLAND1 = 206,
- kSfxZUBDEAD1 = 207,
- kSfxELDOORO2 = 208,
- kSfxELDOORC1 = 209,
- kSfxELEAMB3 = 210, // - Looping
- kSfxFOUNTAIN = 211, // - Looping
- kSfxBELLY1 = 212,
- kSfxBELLY2 = 213,
- kSfxBELLY3 = 214,
- kSfxBELLY4 = 215,
- kSfxBELLY5 = 216,
- kSfxHUMMER1 = 217, // - Looping and non-looping
- kSfxHUMMER2 = 218,
- kSfxHUMMER3 = 219, // - Looping
- kSfxHUMMER4 = 220,
- kSfxPUNCH1 = 221,
- kSfxKICK1 = 222,
- kSfxKICK2 = 223,
+ kSfxZUBDEAD1 = 207, // used only in Zuben AI
+ kSfxELDOORO2 = 208, // used in MA06, PS02
+ kSfxELDOORC1 = 209, // used in MA06, PS02
+ kSfxELEAMB3 = 210, // - Looping used in MA06, PS02
+ kSfxFOUNTAIN = 211, // - Looping used in TB02, TB03
+ kSfxBELLY1 = 212, // used in TB02, TB03, TB07
+ kSfxBELLY2 = 213, // used in TB02, TB03, TB07
+ kSfxBELLY3 = 214, // used in TB02, TB03, TB07
+ kSfxBELLY4 = 215, // used in TB02, TB03, TB07
+ kSfxBELLY5 = 216, // used in TB02, TB03, TB07
+ kSfxHUMMER1 = 217, // - Looping (DR04) and non-looping (TB05)
+ kSfxHUMMER2 = 218, // used once in TB05
+ kSfxHUMMER3 = 219, // - Looping (DR01, DR02, TB05)
+ kSfxHUMMER4 = 220, // used once in TB05
+ kSfxPUNCH1 = 221, // used only in Sadik AI
+ kSfxKICK1 = 222, // used only in Sadik and holloway AI
+ kSfxKICK2 = 223, // used only in Sadik AI
kSfxBANG1 = 224,
kSfxBANG2 = 225,
- kSfxBANG3 = 226,
+ kSfxBANG3 = 226, // used twice; UG03 and UG05
kSfxBANG4 = 227,
kSfxBANG5 = 228,
kSfxBANG6 = 229,
- kSfxGLOOP1 = 230,
+ kSfxGLOOP1 = 230, // used only in UG10
kSfxGLOOP2 = 231, // unused
kSfxGLOOP3 = 232, // unused
- kSfxGLOOP4 = 233,
+ kSfxGLOOP4 = 233, // used only in UG10
kSfxPIPER1 = 234,
kSfxSQUEAK1 = 235,
- kSfxTB5LOOP1 = 236, // - Looping
- kSfxTB5LOOP2 = 237, // - Looping
- kSfxHCBELL1 = 238,
+ kSfxTB5LOOP1 = 236, // - Looping (TB05, TB06)
+ kSfxTB5LOOP2 = 237, // - Looping (TB05, TB06)
+ kSfxHCBELL1 = 238, // used twice; HC02 and HC03
kSfxHCSING1 = 239, // unused
- kSfxINDFLUT1 = 240,
+ kSfxINDFLUT1 = 240, // used twice; HC02 and HC03
kSfxHCLOOP1 = 241, // - Looping
kSfxHCANM8 = 242,
kSfxHCANM2 = 243,
@@ -3817,7 +3817,7 @@ enum SFXSounds {
kSfxHCANM7 = 248,
kSfxHCANM1 = 249,
kSfxDOGTOY3 = 250, // unused
- kSfxBARAMB2 = 251, // unused
+ kSfxBARAMB2 = 251, // unused - identical to kSfxBARAMB1
kSfxBARSFX1 = 252,
kSfxBARSFX2 = 253, // unused
kSfxBARSFX3 = 254,
@@ -3829,8 +3829,8 @@ enum SFXSounds {
kSfxCLINK2 = 260,
kSfxCLINK3 = 261,
kSfxCLINK4 = 262,
- kSfxDOGBARK1 = 263,
- kSfxDOGBARK3 = 264,
+ kSfxDOGBARK1 = 263, // used only in Maggie AI
+ kSfxDOGBARK3 = 264, // used only in Maggie AI
kSfxDOGBITE1 = 265, // unused
kSfxDOGCRY1 = 266, // unused
kSfxDOGCRY2 = 267, // unused
@@ -3838,36 +3838,36 @@ enum SFXSounds {
kSfxDOGFAR2 = 269, // unused
kSfxDOGGUN1 = 270, // unused
kSfxDOGGUN2 = 271, // unused
- kSfxDOGHURT1 = 272,
+ kSfxDOGHURT1 = 272, // used only in Maggie AI
kSfxDOGMAD1 = 273, // unused
kSfxDOGNEED1 = 274, // unused
kSfxDOGNEED2 = 275, // unused
- kSfxDOGTAIL1 = 276,
+ kSfxDOGTAIL1 = 276, // used only in Maggie AI
kSfxDOGTAIL2 = 277, // unused
kSfxDOGTOY1 = 278, // unused
kSfxDOGTOY2 = 279, // unused
kSfxBARAMB1 = 280, // - Looping
- kSfx14KBEEP1 = 281,
+ kSfx14KBEEP1 = 281, // used only in HC03
kSfxTBBEEP1 = 282, // unused
- kSfxTBDOOR1 = 283,
+ kSfxTBDOOR1 = 283, // used twice; TB05, TB06
kSfxTBDOOR2 = 284, // unused
- kSfxTBLOOP1 = 285, // - Looping
- kSfxTRUCKBY1 = 286,
- kSfxCHEVBY1 = 287,
- kSfxFIREBD1 = 288, // - Looping
- kSfxGLASSY1 = 289,
- kSfxGLASSY2 = 290,
+ kSfxTBLOOP1 = 285, // - Looping (TB06)
+ kSfxTRUCKBY1 = 286, // used twice; BB01, RC03
+ kSfxCHEVBY1 = 287, // used only in RC03 (outside Bullet Bob's)
+ kSfxFIREBD1 = 288, // - Looping (DR04, UG06)
+ kSfxGLASSY1 = 289, // used only in BB10 (Bradubury Bookcase Before Rooftop)
+ kSfxGLASSY2 = 290, // used only in BB10
kSfxBBDRIP1 = 291,
kSfxBBDRIP2 = 292,
kSfxBBDRIP3 = 293,
kSfxBBDRIP4 = 294,
kSfxBBDRIP5 = 295,
kSfxRADIATR1 = 296, // unused
- kSfxRADIATR2 = 297,
- kSfxRADIATR3 = 298,
- kSfxRADIATR4 = 299,
- kSfxJESTMOV1 = 300,
- kSfxINDXPLOD = 301,
+ kSfxRADIATR2 = 297, // used only in BB09 (Bradubury above bathroom)
+ kSfxRADIATR3 = 298, // used only in BB09
+ kSfxRADIATR4 = 299, // used only in BB09
+ kSfxJESTMOV1 = 300, // used only in DR06
+ kSfxINDXPLOD = 301, // used only in DR04
kSfxJESTMUS1 = 302, // unused
kSfxBBGRN1 = 303,
kSfxBBGRN2 = 304,
diff --git a/engines/bladerunner/outtake.cpp b/engines/bladerunner/outtake.cpp
index 03192d69bf..e63fe5f457 100644
--- a/engines/bladerunner/outtake.cpp
+++ b/engines/bladerunner/outtake.cpp
@@ -27,6 +27,10 @@
#include "bladerunner/subtitles.h"
#include "bladerunner/vqa_player.h"
#include "bladerunner/time.h"
+#include "bladerunner/ambient_sounds.h"
+#include "bladerunner/audio_player.h"
+#include "bladerunner/game_constants.h"
+#include "bladerunner/game_info.h"
#include "common/debug.h"
#include "common/events.h"
@@ -80,6 +84,10 @@ void OuttakePlayer::play(const Common::String &name, bool noLocalization, int co
int frame = vqaPlayer.update();
blit(_surfaceVideo, _vm->_surfaceFront); // This helps to make subtitles disappear properly, if the video is rendered in separate surface and then pushed to the front surface
if (frame == -3) { // end of video
+ if (_vm->_cutContent && resName.equals("FLYTRU_E.VQA")) {
+ _vm->_ambientSounds->removeAllNonLoopingSounds(true);
+ _vm->_ambientSounds->removeAllLoopingSounds(1u);
+ }
break;
}
@@ -87,9 +95,52 @@ void OuttakePlayer::play(const Common::String &name, bool noLocalization, int co
_vm->_subtitles->loadOuttakeSubsText(resNameNoVQASuffix, frame);
_vm->_subtitles->tickOuttakes(_vm->_surfaceFront);
_vm->blitToScreen(_vm->_surfaceFront);
+ if (_vm->_cutContent && resName.equals("FLYTRU_E.VQA")) {
+ // This FLYTRU_E outtake has 150 frames
+ _vm->_ambientSounds->tick();
+ switch (frame) {
+ case 0:
+ _vm->_ambientSounds->addLoopingSound(kSfxLABAMB1, 95, 0, 0u);
+ _vm->_ambientSounds->addLoopingSound(kSfxROOFAIR1, 100, 0, 0u);
+ _vm->_ambientSounds->addLoopingSound(kSfxPSPA6, 70, 0, 1u);
+ break;
+ case 6:
+ _vm->_ambientSounds->playSound(kSfxSPIN1A, 100, 60, 100, 99);
+ break;
+ case 12:
+ _vm->_ambientSounds->playSound(kSfxSWEEP3, 55, 60, 100, 89);
+ break;
+ case 28:
+ if (_vm->_rnd.getRandomNumberRng(1, 5) < 4)
+ _vm->_ambientSounds->playSound(kSfxTHNDER3, 82, -20, -20, 99);
+ break;
+ case 34:
+ _vm->_audioPlayer->playAud(_vm->_gameInfo->getSfxTrack(kSfxMUSVOL8), 22, 30, 30, 99, 0, Audio::Mixer::kMusicSoundType);
+ break;
+ case 52:
+ if (_vm->_rnd.getRandomNumberRng(1, 4) < 4)
+ _vm->_ambientSounds->playSound(kSfxTHNDR3, 90, 10, 10, 89);
+ break;
+ case 82:
+ if (_vm->_rnd.getRandomNumberRng(1, 5) < 5)
+ _vm->_ambientSounds->playSound(kSfxSIREN2, 62, -60, 45, 99);
+ break;
+ case 105:
+ if (_vm->_rnd.getRandomNumberRng(1, 5) < 4)
+ _vm->_ambientSounds->playSound(kSfxTHNDER4, 95, -20, -20, 99);
+ break;
+ }
+ }
}
}
+ if ((_vm->_vqaStopIsRequested || _vm->shouldQuit())
+ && _vm->_cutContent && resName.equals("FLYTRU_E.VQA")) {
+ _vm->_ambientSounds->removeAllNonLoopingSounds(true);
+ _vm->_ambientSounds->removeAllLoopingSounds(0u);
+ _vm->_audioPlayer->stopAll();
+ }
+
_vm->_vqaIsPlaying = false;
_vm->_vqaStopIsRequested = false;
vqaPlayer.close();
diff --git a/engines/bladerunner/script/scene/ma01.cpp b/engines/bladerunner/script/scene/ma01.cpp
index a94a8f873d..b5a8cb4902 100644
--- a/engines/bladerunner/script/scene/ma01.cpp
+++ b/engines/bladerunner/script/scene/ma01.cpp
@@ -306,16 +306,15 @@ void SceneScriptMA01::PlayerWalkedOut() {
if (!Game_Flag_Query(kFlagMA01toMA06)) {
if (Global_Variable_Query(kVariableChapter) == 1) {
- Outtake_Play(kOuttakeTowards2, true, -1);
- Outtake_Play(kOuttakeInside1, true, -1);
-// // Commented out - Has no sound - TODO can we use external SFX for it?
-// if (_vm->_cutContent) {
-// Outtake_Play(kOuttakeFlyThrough, true, -1);
-// }
- Outtake_Play(kOuttakeTowards1, true, -1);
+ if (_vm->_cutContent && (Random_Query(1, 2) == 1)) {
+ Outtake_Play(kOuttakeFlyThrough, true, -1);
+ } else {
+ Outtake_Play(kOuttakeTowards2, true, -1);
+ Outtake_Play(kOuttakeInside1, true, -1);
+ Outtake_Play(kOuttakeTowards1, true, -1);
+ }
}
-#if BLADERUNNER_ORIGINAL_BUGS
-#else
+#if !BLADERUNNER_ORIGINAL_BUGS
else {
// Acts 2, 3 - should still use a spinner fly-through transition
if (!Game_Flag_Query(kFlagMcCoyInTyrellBuilding)) {
@@ -323,7 +322,7 @@ void SceneScriptMA01::PlayerWalkedOut() {
Outtake_Play(kOuttakeAway1, true, -1); // available in Acts 2, 3
}
}
-#endif // BLADERUNNER_ORIGINAL_BUGS
+#endif // !BLADERUNNER_ORIGINAL_BUGS
}
}
diff --git a/engines/bladerunner/script/scene/ps01.cpp b/engines/bladerunner/script/scene/ps01.cpp
index 440ec96063..cc76a0485a 100644
--- a/engines/bladerunner/script/scene/ps01.cpp
+++ b/engines/bladerunner/script/scene/ps01.cpp
@@ -323,10 +323,13 @@ void SceneScriptPS01::PlayerWalkedOut() {
if (!Game_Flag_Query(kflagPS01toPS02)) {
if (Global_Variable_Query(kVariableChapter) == 1) {
- Outtake_Play(kOuttakeTowards3, true, -1);
+ if (_vm->_cutContent && (Random_Query(1, 8) == 1)) {
+ Outtake_Play(kOuttakeFlyThrough, true, -1);
+ } else {
+ Outtake_Play(kOuttakeTowards3, true, -1);
+ }
}
-#if BLADERUNNER_ORIGINAL_BUGS
-#else
+#if !BLADERUNNER_ORIGINAL_BUGS
else {
// Acts 2, 3 - should still use a spinner fly-through transition
if (!Game_Flag_Query(kFlagMcCoyInTyrellBuilding)) {
@@ -335,7 +338,7 @@ void SceneScriptPS01::PlayerWalkedOut() {
Outtake_Play(kOuttakeTowards3, true, -1); // available in Acts 1, 2, 3
}
}
-#endif // BLADERUNNER_ORIGINAL_BUGS
+#endif // !BLADERUNNER_ORIGINAL_BUGS
}
}
More information about the Scummvm-git-logs
mailing list