ScummVM API documentation
game_constants.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22#ifndef BLADERUNNER_GAME_CONSTANTS_H
23#define BLADERUNNER_GAME_CONSTANTS_H
24
25namespace BladeRunner {
26
27enum Actors {
28 kActorMcCoy = 0,
29 kActorSteele = 1,
30 kActorGordo = 2,
31 kActorDektora = 3,
32 kActorGuzza = 4,
33 kActorClovis = 5,
34 kActorLucy = 6,
35 kActorIzo = 7,
36 kActorSadik = 8,
37 kActorCrazylegs = 9,
38 kActorLuther = 10, // This is the main model and AI for Luther and Lance (twins)
39 kActorGrigorian = 11,
40 kActorTransient = 12, // Homeless
41 kActorLance = 13, // Used for Lance speech lines (essentially empty AI script) - has Clues DB and Health
42 kActorBulletBob = 14,
43 kActorRunciter = 15,
44 kActorInsectDealer = 16,
45 kActorTyrellGuard = 17,
46 kActorEarlyQ = 18,
47 kActorZuben = 19,
48 kActorHasan = 20,
49 kActorMarcus = 21, // Used for Marcus Eisenduller corpse - has Clues DB and Health
50 kActorMia = 22,
51 kActorOfficerLeary = 23,
52 kActorOfficerGrayford = 24,
53 kActorHanoi = 25,
54 kActorBaker = 26, // Not actually used in anything (essentially empty AI script) - has Clues DB and Health and a T-pose Guard model
55 kActorDeskClerk = 27,
56 kActorHowieLee = 28,
57 kActorFishDealer = 29,
58 kActorKlein = 30,
59 kActorMurray = 31,
60 kActorHawkersBarkeep = 32,
61 kActorHolloway = 33,
62 kActorSergeantWalls = 34,
63 kActorMoraji = 35,
64 kActorTheBard = 36, // Not actually used in anything (essentially empty AI script) - has Health
65 kActorPhotographer = 37,
66 kActorDispatcher = 38, // Used for actor speech and ambient sound (essentially empty AI script)
67 kActorAnsweringMachine = 39, // Used for machines's speech (essentially empty AI script)
68 kActorRajif = 40,
69 kActorGovernorKolvig = 41, // Used for actor speech (essentially empty AI script) - has Health
70 kActorEarlyQBartender = 42,
71 kActorHawkersParrot = 43, // Used for parrot speech (DEU, FRA only) (essentially empty AI script) - has Health
72 kActorTaffyPatron = 44, // Gordo's hostage (has speech in DEU, FRA)
73 kActorLockupGuard = 45, // Not actually used in anything (essentially empty AI script) - has Health
74 kActorTeenager = 46, // Not actually used in anything (essentially empty AI script) - has Health
75 kActorHysteriaPatron1 = 47, // Early Q's Dancer (has (cut) speech in DEU, FRA, but belongs to patron not dancer)
76 kActorHysteriaPatron2 = 48, // Early Q's Dancer (has (cut) speech in DEU, FRA, but belongs to patron not dancer)
77 kActorHysteriaPatron3 = 49, // Early Q's Dancer (Restored) (has (cut) speech in DEU, FRA, but belongs to patron not dancer)
78 kActorShoeshineMan = 50, // Not actually used in anything (has code remnants in AI script) - has Health
79 kActorTyrell = 51,
80 kActorChew = 52,
81 kActorGaff = 53,
82 kActorBryant = 54, // Used as Sebastian's Bear doll in Bradbury
83 kActorTaffy = 55, // Not actually used in anything (essentially empty AI script) - has Clues DB and Health
84 kActorSebastian = 56,
85 kActorRachael = 57,
86 kActorGeneralDoll = 58,
87 kActorIsabella = 59,
88 kActorBlimpGuy = 60, // Used for ambient sound (essentially empty AI script)
89 kActorNewscaster = 61, // Used for TV speech (essentially empty AI script)
90 kActorLeon = 62,
91 kActorMaleAnnouncer = 63, // Not actually used in anything (essentially empty AI script)
92 kActorFreeSlotA = 64, // Rat (also the big Rat on the bridge)
93 kActorFreeSlotB = 65, // Rat
94 kActorMaggie = 66,
95 kActorGenwalkerA = 67, // Generic Walker or Bullet Bob's tracking gun
96 kActorGenwalkerB = 68,
97 kActorGenwalkerC = 69,
98 kActorMutant1 = 70,
99 kActorMutant2 = 71,
100 kActorMutant3 = 72,
101 kActorVoiceOver = 99
102};
103
104enum Clues {
105 kClueOfficersStatement = 0, // Audio Recording
106 kClueDoorForced1 = 1, // Audio Recording - Acquired when Leary is not present
107 kClueDoorForced2 = 2, // Audio Recording - Acquired when Leary is present
108 kClueLimpingFootprints = 3, // Audio Recording
109 kClueGracefulFootprints = 4, // Audio Recording
110 kClueShellCasings = 5, // Object
111 kClueCandy = 6, // Object
112 kClueToyDog = 7, // Object
113 kClueChopstickWrapper = 8, // Object
114 kClueSushiMenu = 9, // Photograph - ESPER hard-copy
115 kClueLabCorpses = 10, // Audio Recording
116 kClueLabShellCasings = 11, // Audio Recording
117 kClueRuncitersVideo = 12, // Video Clip
118 kClueLucy = 13, // Photograph - ESPER hard-copy
119 kClueDragonflyAnklet = 14, // Photograph - ESPER hard-copy
120 kClueReferenceLetter = 15, // Object
121 kClueCrowdInterviewA = 16, // Audio Recording
122 kClueCrowdInterviewB = 17, // Audio Recording
123 kClueZubenRunsAway = 18, // (Intangible) - Not checked in KIA
124 kClueZubenInterview = 19, // Audio Recording (CT02)
125 kClueZubenSquadPhoto = 20, // Photograph
126 kClueBigManLimping = 21, // Audio Recording - UNOBTAINED - Checked in KIA - Transient's hint about Zuben - TODO?
127 kClueRunciterInterviewA = 22, // Audio Recording - Identity Reveal for Lucy
128 kClueRunciterInterviewB1 = 23, // Audio Recording - Lucy is Replicant
129 kClueRunciterInterviewB2 = 24, // Audio Recording - Lucy is Human
130 kClueHowieLeeInterview = 25, // Audio Recording
131 kCluePaintTransfer = 26, // Audio Recording
132 kClueChromeDebris = 27, // Object
133 kClueRuncitersViewA = 28, // Photograph
134 kClueRuncitersViewB = 29, // Photograph
135 kClueCarColorAndMake = 30, // Photograph - ESPER hard-copy
136 kCluePartialLicenseNumber = 31, // Photograph - ESPER hard-copy
137 kClueBriefcase = 32, // Object
138 kClueGaffsInformation = 33, // Audio Recording
139 kClueCrystalVisitedRunciters = 34, // Intangible - UNOBTAINED - Not checked in KIA
140 kClueCrystalVisitedChinatown = 35, // Intangible - UNOBTAINED - Not checked in KIA
141 kClueWantedPoster = 36, // Intangible - UNOBTAINED - Not checked in KIA - checked by Leon's AI
142 kClueLicensePlate = 37, // Object
143 kClueLicensePlateMatch = 38, // UNUSED
144 kClueLabPaintTransfer = 39, // Audio Recording
145 kClueDispatchHitAndRun = 40, // Audio Recording - Acquired in Cut Content. Original: Unobtained
146 kClueInceptShotRoy = 41, // Photograph - UNOBTAINED - Not checked in KIA
147 kClueInceptShotsLeon = 42, // UNUSED
148 kCluePhoneCallGuzza = 43, // Audio Recording
149 kClueDragonflyEarring = 44, // Object
150 kClueTyrellSecurity = 45, // Video Clip
151 kClueTyrellGuardInterview = 46, // Audio Recording - Acquired in Cut Content. Original: Unobtained
152 kClueBombingSuspect = 47, // Photograph - ESPER hard-copy
153 kClueSadiksGun = 48, // Photograph - UNOBTAINED - Not checked in KIA - TODO: A removed ESPER clue?
154 kClueDetonatorWire = 49, // Object
155 kClueVictimInformation = 50, // Audio Recording
156 kClueAttemptedFileAccess = 51, // Audio Recording
157 kClueCrystalsCase = 52, // Audio Recording
158 kClueKingstonKitchenBox1 = 53, // Object
159 kClueTyrellSalesPamphletEntertainModel = 54, // Object
160 kClueTyrellSalesPamphletLolita = 55, // Object
161 kCluePeruvianLadyInterview = 56, // Audio Recording
162 kClueHasanInterview = 57, // Audio Recording
163 kClueBobInterview1 = 58, // Audio Recording - when Izo is Replicant
164 kClueBobInterview2 = 59, // Audio Recording - when Izo is Human
165 kClueIzoInterview = 60, // Audio Recording - About INSECT JEWELRY
166 kClueIzosWarning = 61, // Audio Recording - UNOBTAINED - Checked in KIA - Identity Reveal for Clovis - TODO?
167 kClueRadiationGoggles = 62, // Object
168 kClueGogglesReplicantIssue = 63, // Audio Recording
169 kClueFishLadyInterview = 64, // Audio Recording
170 kClueDogCollar1 = 65, // Object
171 kClueWeaponsCache = 66, // Audio Recording
172 kClueChewInterview = 67, // Audio Recording
173 kClueMorajiInterview = 68, // Audio Recording
174 kClueGordoInterview1 = 69, // Audio Recording - When Gordo is Replicant - Identity Reveal for Gordo
175 kClueGordoInterview2 = 70, // Audio Recording - When Gordo is Human - Identity Reveal for Gordo
176 kClueAnsweringMachineMessage = 71, // Audio Recording - Sebastian's message
177 kClueChessTable = 72, // Audio Recording - Acquired after bug fix. Original: Unobtained
178 kClueSightingSadikBradbury = 73, // (Intangible) - UNOBTAINED - Not checked in KIA - added to many actors DBs
179 kClueStaggeredbyPunches = 74, // Audio Recording
180 kClueMaggieBracelet = 75, // Object
181 kClueEnvelope = 76, // Object
182 kClueIzosFriend = 77, // Photograph - ESPER hard-copy (Clovis)
183 kClueChinaBarSecurityPhoto = 78, // Photograph
184 kCluePurchasedScorpions = 79, // Audio Recording
185 kClueWeaponsOrderForm = 80, // Object
186 kClueShippingForm = 81, // Object
187 kClueGuzzasCash = 82, // Restored Content: Audio Recording. Original: (Intangible)
188 kCluePoliceIssueWeapons = 83, // (Intangible) - Can be acquired - Not checked in KIA - TODO?
189 kClueHysteriaToken = 84, // Object
190 kClueRagDoll = 85, // Object
191 kClueMoonbus1 = 86, // Photograph
192 kClueCheese = 87, // Object
193 kClueDektorasDressingRoom = 88, // Photograph
194 kClueEarlyQsClub = 89, // Video Clip
195 kClueDragonflyCollection = 90, // Restored Content: Audio Recording. Original: (Intangible) - From Peruvian Lady
196 kClueDragonflyBelt = 91, // Restored Content: Object. Original: (Intangible)
197 kClueEarlyQInterview = 92, // Restored Content: Audio Recording. Original: (Intangible) - Identity Reveal for Dektora
198 kClueStrangeScale1 = 93, // Object
199 kClueDektoraInterview1 = 94, // Audio Recording
200 kClueSuspectDektora = 95, // (Intangible) - UNOBTAINED - Not checked in KIA - added to many actors DBs
201 kClueDektoraInterview2 = 96, // Audio Recording - About belt and dragonflies
202 kClueDektoraInterview3 = 97, // Audio Recording - About vase (flowers)
203 kClueDektorasCard = 98, // Object
204 kClueGrigoriansNote = 99, // Object - Acquired in Cut Content. Original: Unobtained
205 kClueCollectionReceipt = 100, // Object
206 kClueSpecialIngredient = 101, // Audio Recording
207 kClueStolenCheese = 102, // Audio Recording
208 kClueGordoInterview3 = 103, // Audio Recording - when Gordo is Replicant (about JOB)
209 kClueGordoConfession = 104, // Audio Recording - about Cheese
210 kClueGordosLighterReplicant = 105, // Object
211 kClueGordosLighterHuman = 106, // Object
212 kClueDektoraInterview4 = 107, // Audio Recording - McCoy lets Dektora escape from attic - Identity Reveal for Clovis, Lucy - Replicant Clue for Dektora, Lucy, Clovis
213 kClueHollowayInterview = 108, // Audio Recording - UNOBTAINED - Checked in KIA - Holloway says he's seen McCoy's incept photo - TODO?
214 kClueBakersBadge = 109, // Object - UNOBTAINED - Checked in KIA - TODO?
215 kClueHoldensBadge = 110, // Object
216 kClueCar = 111, // (Intangible) - Not checked in KIA - Acquired when inspecting the crashed car, if McCoy has enough clues - TODO?
217 kClueCarIdentified = 112, // Audio Recording - UNOBTAINED - Checked in KIA - McCoy's monologue when mainframe confirms suspect car - TODO?
218 kClueCarRegistration1 = 113, // Audio Recording - Dektora bought the car
219 kClueCarRegistration2 = 114, // Audio Recording - Gavin Kelly bought the car
220 kClueCarRegistration3 = 115, // Audio Recording - Blake Williams bought the car
221 kClueCrazylegsInterview1 = 116, // Audio Recording - Acquired after bug fix. Original: Unobtained - Checked in KIA - When Dektora bought the car - Enables WOMAN dialogue option
222 kClueCrazylegsInterview2 = 117, // Audio Recording - UNOBTAINED - Not checked in KIA - added to many actors DBs - TODO?
223 kClueLichenDogWrapper = 118, // Object
224 kClueRequisitionForm = 119, // Object - UNOBTAINED - Checked in KIA - TODO?
225 kClueScaryChair = 120, // Audio Recording
226 kClueIzosStashRaided = 121, // Audio Recording
227 kClueHomelessManInterview1 = 122, // Audio Recording
228 kClueHomelessManInterview2 = 123, // Audio Recording
229 kClueHomelessManKid = 124, // Audio Recording
230 kClueFolder = 125, // Object
231 kClueGuzzaFramedMcCoy = 126, // Audio Recording
232 kClueOriginalShippingForm = 127, // Object - UNOBTAINED - Checked in KIA - TODO?
233 kClueOriginalRequisitionForm = 128, // Object
234 kClueCandyWrapper = 129, // Object - UNOBTAINED - Checked in KIA - TODO?
235 kClueGordoBlabs = 130, // (Intangible) - UNOBTAINED - Not checked in KIA - added to many actors DBs - TODO probably Audio Recording?
236 kClueFlaskOfAbsinthe = 131, // Object
237 kClueGuzzaAgreesToMeet = 132, // UNUSED
238 kClueDektoraConfession = 133, // Audio Recording - UNOBTAINED - Not checked in KIA - added to many actors DBs - TODO?
239 kClueRunciterConfession1 = 134, // Audio Recording - UNOBTAINED - Not checked in KIA - added to many actors DBs - TODO? Why in addition to 280, 281, 282? - Requires Zuben's Motive and Lucy to be Replicant
240 kClueRunciterConfession2 = 135, // Audio Recording - UNOBTAINED - Not checked in KIA - added to many actors DBs - TODO? Why in addition to 280, 281, 282?
241 kClueLutherLanceInterview = 136, // Audio Recording
242 kClueMoonbus2 = 137, // Photograph - UNOBTAINED - Not checked in KIA
243 kClueMoonbusCloseup = 138, // Photograph - UNOBTAINED - Not checked in KIA
244 kCluePhoneCallDektora1 = 139, // Audio Recording - McCoy agrees to leave with Dektora
245 kCluePhoneCallDektora2 = 140, // Audio Recording - McCoy prioritizes Moonbus and Clovis
246 kCluePhoneCallLucy1 = 141, // Audio Recording - Lucy suggests meeting at Crazylegs
247 kCluePhoneCallLucy2 = 142, // Audio Recording - McCoy prioritizes Moonbus and Clovis
248 kCluePhoneCallClovis = 143, // Audio Recording
249 kCluePhoneCallCrystal = 144, // Audio Recording
250 kCluePowerSource = 145, // Object
251 kClueBomb = 146, // Object - Acquired when McCoy leaves by car (underground) alone
252 kClueDNATyrell = 147, // Object
253 kClueDNASebastian = 148, // Object
254 kClueDNAChew = 149, // Object - UNOBTAINED - Checked in KIA - added to many actors DBs - TODO?
255 kClueDNAMoraji = 150, // Object - UNOBTAINED - Checked in KIA - added to many actors DBs - TODO?
256 kClueDNALutherLance = 151, // Object
257 kClueDNAMarcus = 152, // Object
258 kClueGarterSnake = 153, // Object - Acquired in Cut Content. Original: Unobtained
259 kClueSlug = 154, // Object - Acquired in Cut Content. Original: Unobtained
260 kClueGoldfish = 155, // Object - Acquired in Cut Content. Original: Unobtained
261 kClueZubenTalksAboutLucy1 = 156, // Audio Recording - Lucy is Replicant
262 kClueZubenTalksAboutLucy2 = 157, // Audio Recording - Lucy is Human
263 kClueZubensMotive = 158, // Audio Recording
264 kClueSightingBulletBob = 159, // UNUSED
265 kClueSightingClovis = 160, // UNUSED
266 kClueSightingDektora = 161, // UNUSED
267 kClueVKDektoraReplicant = 162, // Audio Recording
268 kClueVKDektoraHuman = 163, // Audio Recording
269 kClueVKBobGorskyReplicant = 164, // Audio Recording
270 kClueVKBobGorskyHuman = 165, // Audio Recording
271 kClueVKLutherLanceReplicant = 166, // (Intangible) - UNOBTAINED - Checked in KIA - added to many actors DBs - TODO? (Audio Recording)
272 kClueVKLutherLanceHuman = 167, // (Intangible) - UNOBTAINED - Checked in KIA - TODO? (Audio Recording)
273 kClueVKGrigorianReplicant = 168, // Audio Recording
274 kClueVKGrigorianHuman = 169, // Audio Recording
275 kClueVKIzoReplicant = 170, // (Intangible) - UNOBTAINED - Checked in KIA - added to many actors DBs - TODO? (Audio Recording)
276 kClueVKIzoHuman = 171, // (Intangible) - UNOBTAINED - Checked in KIA - TODO? (Audio Recording)
277 kClueVKCrazylegsReplicant = 172, // (Intangible) - UNOBTAINED - Checked in KIA - added to many actors DBs - TODO? (Audio Recording)
278 kClueVKCrazylegsHuman = 173, // (Intangible) - UNOBTAINED - Checked in KIA - TODO? (Audio Recording)
279 kClueVKRunciterReplicant = 174, // Audio Recording - Restored in Cut Content - but Runciter cannot be a Replicant, hence intentionally never triggered
280 kClueVKRunciterHuman = 175, // Audio Recording - Restored in Cut Content
281 kClueVKEarlyQReplicant = 176, // (Intangible) - UNOBTAINED - Checked in KIA - added to many actors DBs - TODO? (Audio Recording)
282 kClueVKEarlyQHuman = 177, // (Intangible) - UNOBTAINED - Checked in KIA - TODO? (Audio Recording)
283 kClueCrimeSceneNotes = 178, // Audio Recording
284 kClueGrigorianInterviewA = 179, // Audio Recording
285 kClueGrigorianInterviewB1 = 180, // Audio Recording - When Izo is Replicant
286 kClueGrigorianInterviewB2 = 181, // Audio Recording - When Izo is Human
287 kClueLabAnalysisGoldChain = 182, // UNUSED
288 kClueSightingZuben = 183, // UNUSED
289 kClueCrystalRetiredZuben = 184, // UNUSED
290 kClueCrystalRetiredGordo = 185, // UNUSED
291 kClueSightingGordo = 186, // UNUSED
292 kClueCrystalRetiredIzo = 187, // UNUSED
293 kClueClovisIncept = 188, // UNUSED
294 kClueDektoraIncept = 189, // UNUSED
295 kClueLucyIncept = 190, // UNUSED
296 kClueGordoIncept = 191, // UNUSED
297 kClueIzoIncept = 192, // UNUSED
298 kClueSadikIncept = 193, // UNUSED
299 kClueZubenIncept = 194, // UNUSED
300 kClueMcCoyIncept = 195, // (Intangible) - UNOBTAINED - Not checked in KIA - added to DBs of Klein, Walls and Gaff
301 kClueWarRecordsGordoFrizz = 196, // UNUSED
302 kCluePoliceWeaponUsed = 197, // (Intangible) - UNOBTAINED - Not checked in KIA - added to DBs of Klein, Walls and Gaff
303 kClueMcCoysWeaponUsedonBob = 198, // (Intangible) - UNOBTAINED - Not checked in KIA - added to DBs of Klein, Walls and Gaff
304 kClueBobRobbed = 199, // UNUSED
305 kClueBobShotInSelfDefense = 200, // UNUSED
306 kClueBobShotInColdBlood = 201, // (Intangible) - UNOBTAINED - Not checked in KIA - added to DB of Grigorian
307 kClueMcCoyRecoveredHoldensBadge = 202, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele AI - added to DBs of Klein, Walls and Gaff
308 kClueCrystalTestedBulletBob = 203, // UNUSED
309 kClueCrystalRetiredBob = 204, // UNUSED
310 kClueCrystalTestedCrazylegs = 205, // UNUSED
311 kClueCrystalRetiredCrazylegs = 206, // UNUSED
312 kClueCrystalArrestedCrazylegs = 207, // (Intangible) - UNOBTAINED - Not checked in KIA - added to many actor's DBs
313 kClueCrystalTestedRunciter = 208, // UNUSED
314 kClueCrystalRetiredRunciter1 = 209, // UNUSED
315 kClueCrystalRetiredRunciter2 = 210, // UNUSED
316 kClueSightingMcCoyRuncitersShop = 211, // (Intangible) - UNOBTAINED - Not checked in KIA - added to many actors DBs
317 kClueMcCoyKilledRunciter1 = 212, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele, Clovis AI - added to many actors DBs - see also 230
318 kClueMcCoysDescription = 213, // (Intangible) - Acquired by Zuben, Gordo - Not checked in KIA - Checked in NR07 - added to many actors DBs
319 kClueMcCoyIsABladeRunner = 214, // (Intangible) - Acquired by Gordo, McCoy, Dektora, Zuben, Sebastian - Not checked in KIA - Checked in Sebastian, Clovis AI and NR07
320 kClueMcCoyLetZubenEscape = 215, // (Intangible) - Acquired by Gaff, Zuben - Not checked in KIA - Checked in Steele, Leary, Clovis AI and MA04
321 kClueMcCoyWarnedIzo = 216, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele, Clovis AI and NR07
322 kClueMcCoyHelpedIzoIzoIsAReplicant = 217, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele, Clovis AI and NR07
323 kClueMcCoyHelpedDektora = 218, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele, Clovis AI
324 kClueMcCoyHelpedLucy = 219, // (Intangible) - Acquired by Lucy - Not checked in KIA - Checked in Steele, Clovis, Lucy AI, HF04
325 kClueMcCoyHelpedGordo = 220, // (Intangible) - Acquired by Gordo - Not checked in KIA - Checked in Steele, Clovis AI
326 kClueMcCoyShotGuzza = 221, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele, Clovis AI
327 kClueMcCoyRetiredZuben = 222, // (Intangible) - Acquired by Gaff, Gordo - Not checked in KIA - Checked in Steele, Gaff, Gordo, Clovis, Leary AI, MA04
328 kClueMcCoyRetiredLucy = 223, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele, Clovis, Leary AI, UG07
329 kClueMcCoyRetiredDektora = 224, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele, Clovis, Leary AI, UG07
330 kClueMcCoyRetiredGordo = 225, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Leary AI
331 kClueMcCoyRetiredSadik = 226, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele, Clovis, Leary AI
332 kClueMcCoyShotZubenInTheBack = 227, // (Intangible) - Acquired by Zuben - Not checked in KIA - Checked in Steele, Clovis, Leary AI - added to many actors DBs
333 kClueMcCoyRetiredLutherLance = 228, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele, Clovis, Leary AI
334 kClueMcCoyBetrayal = 229, // (Intangible) - UNOBTAINED - Not checked in KIA - added to many actors DBs
335 kClueMcCoyKilledRunciter2 = 230, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele, Clovis AI - added to many actors DBs - see also 212
336 kClueClovisOrdersMcCoysDeath = 231, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele AI - added to many actors DBs
337 kClueEarlyAttemptedToSeduceLucy = 232, // (Intangible) - UNOBTAINED - Not checked in KIA - added to many actors DBs
338 kClueCarWasStolen = 233, // UNUSED
339 kClueGrigoriansResponse1 = 234, // UNUSED
340 kClueGrigoriansResponse2 = 235, // UNUSED
341 kClueCrazysInvolvement = 236, // Restored content - Object -- Original - (Intangible) - UNOBTAINED - Not checked in KIA - Has weight for Crazylegs
342 kClueGrigoriansResources = 237, // Restored content -- Original -(Intangible) - UNOBTAINED - Not checked in KIA - Checked for Crazylegs dialogue
343 kClueMcCoyPulledAGun = 238, // UNUSED - TODO: Was this for Crazylegs being offended?
344 kClueMcCoyIsStupid = 239, // (Intangible) - Obtained by Leary - Not checked in KIA - Checked in Steele, Clovis, Leary AI - added to many actors DBs
345 kClueMcCoyIsAnnoying = 240, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele, Clovis, Leary AI - added to many actors DBs
346 kClueMcCoyIsKind = 241, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele, Clovis AI - added to many actors DBs
347 kClueMcCoyIsInsane = 242, // (Intangible) - UNOBTAINED - Not checked in KIA - Checked in Steele, Clovis, Leary AI - added to many actors DBs
348 kClueAnimalMurderSuspect = 243, // Photograph - ESPER hard-copy
349 kClueMilitaryBoots = 244, // Photograph - ESPER hard-copy
350 kClueOuterDressingRoom = 245, // Photograph
351 kCluePhotoOfMcCoy1 = 246, // Photograph - ESPER hard-copy
352 kCluePhotoOfMcCoy2 = 247, // Photograph - ESPER hard-copy
353 kClueEarlyQAndLucy = 248, // Photograph - ESPER hard-copy
354 kClueClovisFlowers = 249, // Photograph - ESPER hard-copy
355 kClueLucyWithDektora = 250, // Photograph - ESPER hard-copy
356 kClueWomanInAnimoidRow = 251, // Photograph - ESPER hard-copy
357 kClueScorpions = 252, // Photograph - ESPER hard-copy
358 kClueStrangeScale2 = 253, // Photograph - ESPER hard-copy
359 kClueChinaBarSecurityCamera = 254, // Photograph - ESPER hard-copy
360 kClueIzo = 255, // Photograph - ESPER hard-copy
361 kClueGuzza = 256, // Photograph - ESPER hard-copy
362 kClueChinaBarSecurityDisc = 257, // Video Clip
363 kClueScorpionbox = 258, // Photograph - ESPER hard-copy
364 kClueTyrellSecurityPhoto = 259, // Photograph
365 kClueChinaBar = 260, // Photograph
366 kCluePlasticExplosive = 261, // Photograph - ESPER hard-copy
367 kClueDogCollar2 = 262, // Photograph - ESPER hard-copy
368 kClueKingstonKitchenBox2 = 263, // Photograph - ESPER hard-copy
369 kClueCrystalsCigarette = 264, // Object
370 kClueSpinnerKeys = 265, // Object
371 kClueAct2Ended = 266, // (Intangible) - Acquired by McCoy - Not checked in KIA - Identity Reveal for Clovis and Sadik
372 kClueAct3Ended = 267, // UNUSED
373 kClueAct4Ended = 268, // UNUSED
374 kClueExpertBomber = 269, // Audio Recording - When Sadik is Replicant
375 kClueAmateurBomber = 270, // Audio Recording - When Sadik is Human
376 kClueVKLucyReplicant = 271, // Audio Recording
377 kClueVKLucyHuman = 272, // Audio Recording
378 kClueLucyInterview = 273, // Audio Recording
379 kClueMoonbusReflection = 274, // Photograph - ESPER hard-copy
380 kClueMcCoyAtMoonbus = 275, // Photograph - ESPER hard-copy
381 kClueClovisAtMoonbus = 276, // Photograph - ESPER hard-copy
382 kClueSadikAtMoonbus = 277, // Photograph - ESPER hard-copy
383 kClueRachaelInterview = 278, // Audio Recording
384 kClueTyrellInterview = 279, // Audio Recording
385 kClueRuncitersConfession1 = 280, // Audio Recording
386 kClueRuncitersConfession2 = 281, // UNUSED
387 kClueRuncitersConfession3 = 282, // UNUSED
388 kClueEarlyInterviewA = 283, // Audio Recording - UNOBTAINED - Not checked in KIA
389 kClueEarlyInterviewB1 = 284, // Audio Recording - UNOBTAINED - Not checked in KIA
390 kClueEarlyInterviewB2 = 285, // Audio Recording - UNOBTAINED - Not checked in KIA
391 kClueCrazylegsInterview3 = 286, // Audio Recording - UNOBTAINED - Not checked in KIA
392 kClueCrazylegGrovels = 287 // Audio Recording - UNOBTAINED - Not checked in KIA
393};
394
395enum ClueTypes {
396 kClueTypeIntangible = -1,
397 kClueTypePhotograph = 0,
398 kClueTypeVideoClip = 1,
399 kClueTypeAudioRecording = 2,
400 kClueTypeObject = 3
401};
402
403enum Suspects {
404 kSuspectSadik = 0,
405 kSuspectClovis = 1,
406 kSuspectZuben = 2,
407 kSuspectLucy = 3,
408 kSuspectDektora = 4,
409 kSuspectGordo = 5,
410 kSuspectIzo = 6,
411 kSuspectMcCoy = 7,
412 kSuspectGuzza = 8
413};
414
415enum Crimes {
416 kCrimeAnimalMurder = 0,
417 kCrimeEisendullerMurder = 1,
418 kCrimeArmsDealing = 2,
419 kCrimeMorajiMurder = 3,
420 kCrimeBradburyAssault = 4,
421 kCrimeFactoryBombing = 5,
422 kCrimeBobMurder = 6, // Unused
423 kCrimeRunciterMurder = 7, // Unused
424 kCrimeMoonbusHijacking = 8
425};
426
427enum SpinnerDestinations {
428 kSpinnerDestinationPoliceStation = 0,
429 kSpinnerDestinationMcCoysApartment = 1,
430 kSpinnerDestinationRuncitersAnimals = 2,
431 kSpinnerDestinationChinatown = 3,
432 kSpinnerDestinationAnimoidRow = 4,
433 kSpinnerDestinationTyrellBuilding = 5,
434 kSpinnerDestinationDNARow = 6,
435 kSpinnerDestinationBradburyBuilding = 7,
436 kSpinnerDestinationNightclubRow = 8,
437 kSpinnerDestinationHysteriaHall = 9
438};
439
440enum Flags {
441 kFlagNotUsed0 = 0, // is never checked
442 kFlagRC02Entered = 1,
443 kFlagGamePlayedInRestoredContentMode = 2, // Re-purposed. Original: 2 is never used
444 kFlagRC01GotOfficersStatement = 3,
445 kFlagRC02Left = 4,
446 kFlagMcCoyCommentsOnMurderedAnimals = 5, // Re-purposed. Original: 5 is never used
447 kFlagRC02RunciterInterview = 6,
448 kFlagCT01TalkToHowieAboutDeadZuben = 7, // Re-purposed. Original: 7 is never used
449 kFlagRC01toRC02 = 8,
450 kFlagRC02toRC01 = 9,
451 kFlagDR01toDR04 = 10,
452 kFlagDR04toDR01 = 11,
453 kFlagPS07KleinTalkShellCasings = 12,
454 kFlagPS07KleinTalkOfficersStatement = 13,
455 kFlagPS10toPS11 = 14,
456 kFlagPS11toPS10 = 15,
457 kFlagPS11toPS12 = 16,
458 kFlagPS12toPS11 = 17, // is never checked
459 kFlagPS12toPS13 = 18,
460 kFlagPS13toPS12 = 19,
461 kFlagRC02RunciterVKChosen = 20, // Re-purposed. Original: 20 is never used
462 kFlagPS13toPS05 = 21,
463 kFlagPS02toPS05 = 22,
464 kFlagPS06toPS05 = 23,
465 kFlagIntroPlayed = 24,
466 kFlagCT01Visited = 25,
467 kFlagCT01McCoyTalkedToHowieLee = 26,
468 kFlagCT01Evidence1Linked = 27,
469 kFlagCT01Evidence2Linked = 28,
470 kFlagCT01ZubenLeft = 29,
471 kFlagCT01TalkToHowieAfterZubenMissing = 30, // New, it is now set/unset to restore cut content there. Original: is never set
472 kFlagCT01ZubenGone = 31,
473 kFlagCT01GordoTalk = 32,
474 kFlagMA02toMA06 = 33,
475 kFlagMA06ToMA02 = 34,
476 kFlagMA02ToMA04 = 35,
477 kFlagMA04ToMA02 = 36,
478 kFlagMA01toMA06 = 37,
479 kFlagMA06toMA01 = 38,
480 kFlagPS04toPS03 = 39,
481 kFlagZubenRetired = 40,
482 kFlagZubenSpared = 41,
483 kFlagPS03toPS04 = 42,
484 kFlagPS15Entered = 43,
485 kFlagIzoIsReplicant = 44,
486 kFlagGordoIsReplicant = 45,
487 kFlagLucyIsReplicant = 46,
488 kFlagDektoraIsReplicant = 47,
489 kFlagSadikIsReplicant = 48,
490 kFlagPS09GrigorianTalk1 = 49,
491 kFlagPS09GrigorianVKChosen = 50, // Re-purposed. Original: 50 is never used
492 kFlagGrigorianDislikeMcCoy = 51,
493 kFlagRC02McCoyCommentsOnVideoScreens = 52, // Re-purposed. Original: 52 is never used
494 kFlagPS09GrigorianDialogue = 53,
495 kFlagPS09GrigorianTalk2 = 54,
496 kFlagGrigorianArrested = 55,
497 kFlagPS09CrazylegsGrigorianTalk = 56,
498 kFlagMA07toMA06 = 57,
499 kFlagMA06toMA07 = 58,
500 kFlagCT02ZubenTalk = 59,
501 kFlagMA02MaggieIntroduced = 60,
502 kFlagChapter1Ended = 61,
503 kFlagMA04toMA05 = 62,
504 kFlagMA05toMA04 = 63,
505 kFlagGaffApproachedMcCoyAboutZuben = 64,
506 kFlagMcCoyCommentsOnTB05Monitors = 65, // Re-purposed. Original: 65 is never used
507 kFlagMcCoyCommentsOnNR03Sloth = 66, // Re-purposed. Original: 66 is never used
508 // 67 is never used
509 kFlagCT02toCT01 = 68,
510 kFlagCT02toCT03 = 69,
511 kFlagCT03toCT02 = 70,
512 kFlagCT03toCT01 = 71,
513 kFlagCT03toCT04 = 72,
514 kFlagCT04toCT03 = 73,
515 kFlagCT04toCT05 = 74,
516 kFlagCT05toCT04 = 75,
517 kFlagCT05toCT12 = 76,
518 kFlagCT05toCT06 = 77,
519 kFlagCT06toCT05 = 78,
520 kFlagCT06toCT08 = 79,
521 kFlagCT08toCT06 = 80, // is never checked
522 kFlagCT08toCT09 = 81,
523 kFlagCT09toCT10 = 82, // is never checked
524 kFlagCT09toCT11 = 83, // is never checked
525 kFlagCT09toCT08 = 84, // is never checked
526 kFlagCT10toCT09 = 85,
527 kFlagCT11toCT12 = 86,
528 // 87 is never used
529 kFlagCT12toCT01 = 88,
530 kFlagCT12toCT03 = 89,
531 kFlagCT12toCT05 = 90,
532 kFlagCT12toCT11 = 91,
533 // 92 is never used
534 // 93 is never used
535 kFlagCT05WarehouseOpen = 94,
536 kFlagTB05toTB02 = 95,
537 kFlagTB02toTB05 = 96, // is never checked
538 kFlagTB05toTB06 = 97, // is never checked
539 kFlagTB06toTB05 = 98,
540 kFlagTB05MonitorIntro = 99,
541 kFlagTB05MonitorUnlockAttempt = 100,
542 kFlagTB05MonitorDone = 101,
543 kFlagTB06Visited = 102,
544 kFlagNotUsed103 = 103, // is never set
545 kFlagPS07KleinTalkPaintTransfer = 104,
546 kFlagPS07KleinTalkChromeDebris = 105,
547 kFlagHC04IsabellaTalk = 106,
548 kFlagHC04toRC03 = 107,
549 kFlagRC03toHC04 = 108,
550 kFlagHC04toHC02 = 109,
551 kFlagHC02toHC04 = 110,
552 kFlagPS07KleinTalkClues = 111,
553 kFlagMcCoyCommentsOnAnimoids = 112, // Re-purposed. Original: 112 is never used
554 kFlagScorpionsInAR02 = 113, // Re-purposed. Original: 113 is never used
555 kFlagRC03toRC01 = 114,
556 kFlagRC01toRC03 = 115,
557 kFlagRC03toAR02 = 116,
558 kFlagAR02toRC03 = 117,
559 kFlagRC03toUG01 = 118,
560 kFlagUG01toRC03 = 119,
561 kFlagRC03toRC04 = 120, // is never checked
562 kFlagRC04toRC03 = 121,
563 // 122 is never used
564 kFlagCT01toCT12 = 123,
565 // 122 is never used
566 kFlagMcCoyHasShellCasings = 125,
567 kFlagMcCoyHasOfficersStatement = 126,
568 kFlagMcCoyHasPaintTransfer = 127,
569 kFlagMcCoyHasChromeDebris = 128,
570 kFlagCT01ZubenMcCoyCheck = 129,
571 kFlagPS02toPS01 = 130,
572 kFlagPS02toPS07 = 131,
573 kFlagPS02toPS03 = 132,
574 kFlagPS02toPS09 = 133,
575 kFlagPS03toPS14 = 134,
576 kFlagPS14toPS03 = 135,
577 kFlagPS05toPS06 = 136,
578 kFlagCT04HomelessTalk = 137,
579 kFlagPS07KleinInsulted = 138,
580 kFlagMcCoyTalkedToBulletBobAboutHasan = 139, // Re-purposed. Original: 139 is never used
581 // 140 is never used
582 kFlagRC51Available = 141,
583 kFlagNotUsed142 = 142, // is never checked
584 // 143 is never used
585 kFlagCT07toCT06 = 144,
586 kFlagCT06ZubenPhoto = 145,
587 kFlagChapter1Ending = 146,
588 kFlagRC51ChopstickWrapperTaken = 147,
589 kFlagRC51CandyTaken = 148,
590 kFlagRC51ToyDogTaken = 149,
591 kFlagNotUsed150 = 150, // has no use
592 kFlagRC03UnlockedToUG01 = 151,
593 kFlagUG15toUG16a = 152,
594 kFlagUG16toUG15a = 153,
595 kFlagTB02toTB03 = 154, // is never checked
596 kFlagTB03toTB02 = 155,
597 kFlagPS07KleinInsultedTalk = 156,
598 kFlagSergeantWallsMazeInstructions = 157, // Re-purposed. Original: 157 is never used
599 kFlagSergeantWallsBuzzInDone = 158,
600 kFlagPS04GuzzaTalkZubenRetired = 159,
601 kFlagPS04GuzzaTalkZubenEscaped = 160,
602 kFlagPS04GuzzaTalkIsFurious = 161,
603 kFlagPS04GuzzaTalkDumpToMainframe = 162,
604 kFlagRC01ChromeDebrisTaken = 163,
605 kFlagIzoArrested = 164,
606 kFlagCrazylegsArrested = 165,
607 kFlagPS09CrazylegsTalk1 = 166,
608 kFlagPS09IzoTalk1 = 167,
609 kFlagPS09IzoTalk2 = 168,
610 kFlagCT04HomelessKilledByMcCoy = 169,
611 kFlagCT04HomelessBodyInDumpster = 170,
612 kFlagCT04HomelessBodyFound = 171,
613 kFlagCT04HomelessBodyThrownAway = 172,
614 kFlagCT04HomelessBodyInDumpsterNotChecked = 173, // is never checked
615 kFlagCT04LicensePlaceFound = 174,
616 kFlagPS09CrazylegsTalk2 = 175,
617 kFlagMcCoyInChinaTown = 176,
618 kFlagMcCoyInDNARow = 177,
619 kFlagMcCoyInPoliceStation = 178,
620 kFlagMcCoyInMcCoyApartment = 179,
621 kFlagMcCoyInAnimoidRow = 180,
622 kFlagMcCoyInNightclubRow = 181,
623 kFlagMcCoyInRunciters = 182,
624 kFlagSteeleInRunciters = 183,
625 kFlagSteeleInChinaTown = 184,
626 kFlagSteeleInPoliceStation = 185,
627 kFlagRC01PoliceDone = 186,
628 kFlagRC02RunciterTalk1 = 187,
629 kFlagMcCoyConfessedKillingHomelessInCT04 = 188, // Original: 188 is never used
630 // 189 is never used
631 kFlagRC02ShellCasingsTaken = 190,
632 // 191 is never used
633 kFlagCT01BoughtHowieLeeFood = 192,
634 // 193 is never used
635 // 194 is never used
636 // 195 is never used
637 kFlagKleinAnimation1 = 196,
638 kFlagKleinAnimation2 = 197,
639 kFlagKleinAnimation3 = 198,
640 kFlagOfficerLearyTakingNotes = 199,
641 // 200 is never used
642 // 201 is never used
643 // 202 is never used
644 // 203 is never used
645 kFlagPS15toPS05 = 204,
646 // 205 is never used
647 kFlagSergeantWallsBuzzInRequest = 206, // is never set
648 // 207 is never used
649 // 208 is never used
650 // 209 is never used
651 kFlagCT02ZubenFled = 210,
652 kFlagPS09Entered = 211,
653 kFlagNotUsed212 = 212, // is never checked
654 // 213 is never used
655 // 214 is never used
656 // 215 is never used
657 kFlagBB09toBB10a = 216,
658 // 217 is never used
659 kFlagBB08toBB09 = 218,
660 kFlagBB09toBB08 = 219,
661 kFlagBB09toBB10b = 220,
662 kFlagBB10toBB09 = 221,
663 kFlagBB10toBB11 = 222, // is never checked
664 kFlagBB11toBB10 = 223,
665 kFlagDR01toDR02 = 224,
666 kFlagDR02toDR01 = 225,
667 kFlagDR02toDR03 = 226,
668 kFlagDR03toDR02 = 227,
669 kFlagDR04toDR05 = 228, // is never checked
670 kFlagDR05toDR04 = 229,
671 kFlagDR04toDR06 = 230,
672 kFlagDR06toDR04 = 231,
673 kFlagNotUsed232 = 232,
674 // 233 is never used
675 kFlagCT02toCT01walk = 234,
676 // 235 is never used
677 kFlagMcCoyAnimation1 = 236,
678 // 237 is never used
679 // 238 is never used
680 kFlagHowieLeeAnimation1 = 239,
681 // 240 is never used
682 // 241 is never used
683 // 242 is never used
684 // 243 is never used
685 // 244 is never used
686 // 245 is never used
687 kFlagWrongInvestigation = 246, // Re-purposed. Original: 246 is never used
688 kFlagArrivedFromSpinner1 = 247,
689 kFlagSpinnerAtCT01 = 248,
690 kFlagSpinnerAtRC01 = 249,
691 kFlagSpinnerAtMA01 = 250,
692 kFlagSpinnerAtPS01 = 251,
693 kFlagSpinnerAtAR01 = 252,
694 kFlagSpinnerAtDR01 = 253,
695 kFlagSpinnerAtBB01 = 254,
696 kFlagSpinnerAtNR01 = 255,
697 kFlagSpinnerAtHF01 = 256,
698 kFlagMcCoyInHysteriaHall = 257,
699 kFlagMcCoyInBradburyBuilding = 258,
700 kFlagMcCoyInUnderground = 259,
701 // 260 is never used
702 kFlagMcCoyInTyrellBuilding = 261,
703 kFlagBB01toBB02 = 262,
704 kFlagBB02toBB01 = 263,
705 kFlagBB01toDR02 = 264,
706 kFlagDR02toBB01 = 265,
707 kFlagDR05JustExploded = 266,
708 kFlagDR03ChewTalk1 = 267,
709 kFlagDR06JesterActive = 268,
710 kFlagDR05BombActivated = 269,
711 kFlagDR05ChainShot = 270,
712 kFlagDR05BombWillExplode = 271,
713 kFlagDR05BombExploded = 272,
714 kFlagArrivedFromSpinner2 = 273,
715 kFlagDR05MorajiTalk = 274,
716 // 275 is never used
717 kFlagNotUsed276 = 276, // is never set
718 // 277 is never used
719 kFlagDR06KeyboardChecked = 278,
720 // 279 is never used
721 kFlagDR06VidphoneChecked = 280,
722 kFlagBB03toBB02 = 281,
723 kFlagBB02toBB03 = 282, // is never checked
724 kFlagBB03toBB04 = 283,
725 kFlagBB04toBB03 = 284,
726 kFlagBB03toBB05 = 285, // is never checked
727 kFlagBB05toBB03 = 286,
728 kFlagRC04Entered = 287,
729 // 288 is never used
730 kFlagRC04McCoyShotBob = 289,
731 kFlagRC04BobTalk1 = 290,
732 // 291 is never used
733 kFlagRC04BobTalk2 = 292,
734 kFlagCT02PotTipped = 293,
735 kFlagCT12GaffSpinner = 294,
736 kFlagRC04BobShootMcCoy = 295,
737 kFlagRC04McCoyCombatMode = 296,
738 kFlagBB05toBB06 = 297,
739 kFlagBB06toBB05 = 298,
740 kFlagBB05toBB07 = 299,
741 kFlagBB07toBB05 = 300,
742 kFlagBB05toBB12 = 301, // is never checked
743 kFlagBB12toBB05 = 302,
744 kFlagRC04McCoyWarned = 303,
745 kFlagCT11toCT09 = 304, // is never checked
746 kFlagRC04BobTalkAmmo = 305,
747 kFlagNotUsed306 = 306, // is never set
748 kFlagSpinnerAtTB02 = 307,
749 kFlagHF01toHF02 = 308,
750 kFlagHF02toHF01 = 309,
751 kFlagHF01toHF03 = 310,
752 kFlagHF03toHF01 = 311,
753 kFlagHF01toHF05 = 312,
754 kFlagHF05toHF01 = 313,
755 kFlagUG01toUG02 = 314,
756 kFlagUG02toUG01 = 315,
757 kFlagUG01toUG10 = 316,
758 kFlagUG10toUG01 = 317,
759 kFlagUG02toHC03 = 318,
760 kFlagHC03toUG02 = 319,
761 kFlagAR01toAR02 = 320,
762 kFlagAR02toAR01 = 321,
763 kFlagAR01toHC01 = 322,
764 kFlagHC01toAR01 = 323,
765 kFlagUG01SteamOff = 324,
766 kFlagCT04BodyDumped = 325,
767 kFlagBB01Available = 326,
768 // 327 is never used
769 kFlagAR01FishDealerTalk = 328,
770 kFlagAR02InsectDealerInterviewed = 329,
771 kFlagAR02HassanTalk = 330,
772 kFlagAR02ScorpionsChecked = 331,
773 kFlagBB02toBB04 = 332,
774 kFlagBB04toBB02 = 333,
775 kFlagUG03toUG04 = 334, // is never checked
776 kFlagUG04toUG03 = 335,
777 kFlagUG03toUG10 = 336,
778 kFlagUG10toUG03 = 337,
779 kFlagUG04toUG05 = 338, // is never checked
780 kFlagUG05toUG04 = 339,
781 kFlagUG04toUG06 = 340,
782 kFlagUG06toUG04 = 341,
783 kFlagUG06toNR01 = 342,
784 kFlagNR01toUG06 = 343,
785 kFlagUG12toUG14 = 344,
786 kFlagUG14toUG12 = 345, // is never checked
787 kFlagUG14toUG10 = 346,
788 kFlagUG10toUG14 = 347, // is never checked
789 kFlagUG14toUG19 = 348,
790 kFlagUG19toUG14 = 349,
791 kFlagUG15toUG13 = 350,
792 kFlagUG13toUG15 = 351,
793 kFlagUG15toUG17 = 352,
794 kFlagUG17toUG15 = 353,
795 kFlagUG15toUG16b = 354, // is never checked
796 kFlagUG16toUG15b = 355,
797 kFlagUG19toMA07 = 356,
798 kFlagMA07toUG19 = 357,
799 kFlagHF07toHF05 = 358,
800 kFlagHF05toHF07 = 359,
801 kFlagHF07toUG06 = 360,
802 kFlagUG06toHF07 = 361,
803 kFlagBB07toBB06 = 362,
804 kFlagBB06toBB07 = 363,
805 kFlagBB07toBB12 = 364,
806 kFlagBB12toBB07 = 365,
807 kFlagAR02InsectDealerTalk = 366,
808 kFlagAR02StungByScorpion = 367,
809 kFlagHF07Hole = 368,
810 kFlagHF05Hole = 369,
811 kFlagNotUsed370 = 370, // is never checked
812 // 371 is never used
813 // 372 is never used
814 kFlagKP02Available = 373,
815 kFlagAR02DektoraBoughtScorpions = 374,
816 kFlagBB11SadikPunchedMcCoy = 375,
817 // 376 is never used
818 kFlagHF01MurrayMiaIntro = 377,
819 kFlagDirectorsCut = 378, // Designer's Cut (KIA options) flag!
820 kFlagCT08toCT51 = 379, // is never checked
821 kFlagCT51toCT08 = 380,
822 // 381 is never used
823 kFlagHF01MurrayMiaTalk = 382,
824 kFlagNotUsed383 = 383,
825 kFlagHC01toHC02 = 384,
826 kFlagHC02toHC01 = 385,
827 kFlagHC01toHC03 = 386, // is never checked
828 kFlagHC03toHC01 = 387,
829 kFlagHC03TrapDoorOpen = 388,
830 // 389 is never used
831 // 390 is never used
832 kFlagBB09SadikRun = 391,
833 kFlagRC01McCoyAndOfficerLearyTalking = 392,
834 kFlagBB06toBB51 = 393, // is never checked
835 kFlagBB51toBB06a = 394,
836 kFlagBB51toBB06b = 395,
837 kFlagBB07ElectricityOn = 396,
838 kFlagRC01McCoyAndOfficerLearyArtMetaphor = 397,
839 kFlagBB07PrinterChecked = 398,
840 kFlagGeneralDollShot = 399,
841 kFlagHC01IzoTalk1 = 400,
842 kFlagHC01IzoTalk2 = 401,
843 kFlagHC03Available = 402,
844 kFlagHC03CageOpen = 403,
845 kFlagHC02HawkersBarkeepIntroduction = 404,
846 kFlagHC02HawkersBarkeepBraceletTalk = 405,
847 kFlagUnused406 = 406, // is never checked
848 kFlagUnused407 = 407, // is never checked
849 kFlagMcCoyCommentsOnStatues = 408, // Re-purposed. Original: 408 is never used
850 kFlagMA01GaffApproachMcCoy = 409,
851 kFlagBB06AndroidDestroyed = 410,
852 kFlagKP02toUG12 = 411,
853 kFlagUG12toKP02 = 412, // is never checked
854 kFlagKP02toKP01 = 413, // is never checked
855 kFlagKP01toKP02 = 414,
856 kFlagKP01toKP04 = 415, // is never checked
857 kFlagKP04toKP01 = 416,
858 kFlagKP01toKP03 = 417,
859 kFlagKP03toKP01 = 418,
860 kFlagKP03toKP05 = 419,
861 kFlagKP05toKP03 = 420,
862 kFlagKP03BombActive = 421,
863 kFlagKP03BombExploded = 422,
864 kFlagUG07toUG10 = 423,
865 kFlagUG10toUG07 = 424, // is never checked
866 kFlagUG07toUG08 = 425, // is never checked
867 kFlagUG08toUG07 = 426,
868 kFlagUG07toUG09 = 427, // is never checked
869 kFlagUG09ToUG07 = 428,
870 kFlagUG08toUG13 = 429,
871 kFlagUG13toUG08 = 430,
872 kFlagUG08ElevatorUp = 431,
873 kFlagUG09toCT12 = 432,
874 kFlagCT12ToUG09 = 433,
875 kFlagUG13toUG18 = 434, // is never checked
876 kFlagUG18toUG13 = 435,
877 kFlagUG13CallElevator = 436,
878 kFlagNR04toNR03 = 437,
879 kFlagNR03toNR04 = 438,
880 kFlagNR06toNR08 = 439,
881 kFlagNR08toNR06 = 440, // is never checked
882 kFlagNR06toNR07 = 441,
883 kFlagNR07toNR06 = 442,
884 kFlagGenericWalkerWaiting = 443,
885 kFlagIzoShot = 444,
886 // 445 is never used
887 // 446 is never used
888 kFlagTB03toUG17 = 447,
889 kFlagUG17toTB03 = 448,
890 kFlagUG02WeaponsChecked = 449,
891 kFlagTB02ElevatorToTB05 = 450,
892 kFlagTB05Entered = 451,
893 // 452 is never used
894 kFlagTB02GuardTalk1 = 453,
895 // 454 is never used
896 kFlagTB02GuardTalk2 = 455,
897 kFlagTB02SteeleTalk = 456,
898 kFlagTB02SteeleEnter = 457,
899 // 458 is never used
900 // 459 is never used
901 kFlagSteeleWalkingAround = 460,
902 kFlagMaggieHasBomb = 461,
903 kFlagGuzzaIsMovingAround = 462,
904 kFlagHC01GuzzaWalk = 463,
905 kFlagHC01GuzzaPrepare = 464,
906 kFlagMcCoyArrested = 465,
907 kFlagBB10Shelf1Available = 466,
908 kFlagBB10Shelf2Available = 467,
909 kFlagBB10Shelf3Available = 468,
910 kFlagBB10Shelf4Available = 469,
911 kFlagBB10Shelf5Available = 470,
912 kFlagGaffChapter2Started = 471,
913 // 472 is never used
914 // 473 is never used
915 kFlagUG10GateOpen = 474,
916 kFlagNR09toNR10 = 475,
917 kFlagNR10toNR09 = 476,
918 kFlagNR11toNR10 = 477, // is never checked
919 kFlagMcCoyAtPS03 = 478, // has no use
920 kFlagMcCoyInHawkersCircle = 479,
921 // 480 is never used
922 // 481 is never used
923 kFlagSteeleSmoking = 482,
924 kFlagTB06Introduction = 483,
925 kFlagKP03BombDisarmed = 484,
926 kFlagTB06Photographer = 485,
927 kFlagDNARowAvailable = 486,
928 kFlagKIAPrivacyAddon = 487,
929 // 488 is never used
930 kFlagDektoraChapter2Started = 489,
931 kFlagEarlyQStartedChapter1 = 490,
932 kFlagEarlyQStartedChapter2 = 491,
933 kFlagCT04HomelessTrashFinish = 492,
934 kFlagBB02ElevatorDown = 493,
935 kFlagBB02Entered = 494,
936 kFlagBB05Entered = 495,
937 kFlagBB08Entered = 496,
938 kFlagBB12Entered = 497,
939 kFlagUG02FromUG01 = 498,
940 kFlagUG02Interactive = 499,
941 // 500 is never used
942 // 501 is never used
943 // 502 is never used
944 // 503 is never used
945 kFlagAR02DektoraWillBuyScorpions = 504,
946 kFlagDR03ChewTalkExplosion = 505,
947 kFlagBB08toBB12 = 506,
948 kFlagBB12toBB08 = 507, // is never checked
949 kFlagNR07Entered = 508,
950 kFlagBB11SadikFight = 509,
951 kFlagNotUsed510 = 510, // is never set
952 kFlagDR05ExplodedEntered = 511,
953 // 512 is never used
954 // 513 is never used
955 // 514 is never used
956 kFlagDR05ViewExplosion = 515,
957 kFlagCT07ZubenAttack = 516,
958 // 517 is never used
959 // 518 is never used
960 kFlagTB06DogCollarTaken = 519,
961 kFlagTB06KitchenBoxTaken = 520,
962 kFlagHC03TrapDoorOpened = 521,
963 kFlagUG05TalkAboutTunnel = 522,
964 kFlagMutantsActive = 523,
965 kFlagUG06Chapter4Started = 524,
966 kFlagCT10Entered = 525,
967 // 526 is never used
968 kFlagHF02toHF03 = 527,
969 kFlagHF03toHF02 = 528,
970 kFlagHF05toHF06 = 529, // is never checked
971 kFlagHF06toHF05 = 530,
972 kFlagCT11toDR01 = 531,
973 kFlagNR01toNR02 = 532,
974 kFlagNR02toNR01 = 533,
975 kFlagNR03toNR01 = 534,
976 kFlagNR01toNR03 = 535,
977 kFlagNR03toNR05 = 536,
978 kFlagNR05toNR03 = 537,
979 kFlagCT09Entered = 538,
980 kFlagCT09LeonInterrupted = 539,
981 kFlagCT09DeskClerkTalk = 540,
982 // 541 is never used
983 kFlagClovisChapter4Started = 542,
984 kFlagGordoTalk1 = 543,
985 kFlagGordoTalk2 = 544,
986 kFlagNotUsed545 = 545, // is never set
987 kFlagNR05toNR08 = 546,
988 kFlagNR08toNR05 = 547,
989 kFlagDR06MannequinHeadOpen = 548,
990 kFlagTB03Entered = 549,
991 kFlagMcCoyTiedDown = 550,
992 kFlagUG16toDR06 = 551, // is never checked
993 kFlagDR06toUG16 = 552,
994 kFlagUG13Entered = 553,
995 kFlagUG13HomelessTalk1 = 554,
996 // 555 is never used
997 kFlagUG16LutherLanceTalk1 = 556,
998 kFlagNotUsed557 = 557, // is never checked
999 kFlagDR01toCT11 = 558,
1000 kFlagHF06SteelInterruption = 559,
1001 kFlagLutherLanceIsReplicant = 560,
1002 kFlagNR02GordoLeaveLighter = 561,
1003 kFlagHF05CrazyLegsTalk1 = 562,
1004 kFlagHF05CrazyLegsTalk2 = 563,
1005 kFlagEarlyQStartedChapter3 = 564,
1006 kFlagNotUsed565 = 565, // has no use
1007 kFlagHF03toHF04 = 566, // is never checked
1008 kFlagHF04toHF03 = 567,
1009 kFlagUG16ComputerOff = 568,
1010 kFlagNR04EarlyQWalkedIn = 569,
1011 // 570 is never used
1012 // 571 is never used
1013 // 572 is never used
1014 kFlagNR03Entered = 573,
1015 kFlagKP04toKP05 = 574,
1016 kFlagKP05toKP04 = 575,
1017 kFlagKP05toKP06 = 576,
1018 kFlagKP06toKP05 = 577, // has no use
1019 kFlagKP06toKP07 = 578,
1020 kFlagKP07toKP06 = 579,
1021 // 580 is never used
1022 // 581 is never used
1023 kFlagKP07BusActive = 582, // is never set
1024 // 583 is never used
1025 kFlagHF04DoorsClosed = 584,
1026 kFlagHF04CloseDoors = 585,
1027 kFlagHF04OpenDoors = 586,
1028 kFlagUG15LutherLanceStartedDying = 587,
1029 kFlagNR05BartenderTalk1 = 588,
1030 kFlagNR05BartenderTalk2 = 589,
1031 kFlagNR05EarlyQTalk = 590,
1032 kFlagDektoraRanAway = 591,
1033 kFlagGordoRanAway = 592,
1034 kFlagLucyRanAway = 593,
1035 kFlagNR02GordoJumpDown = 594,
1036 kFlagLutherLanceAreDead = 595,
1037 kFlagUG16PulledGun = 596,
1038 kFlagUG16FolderFound = 597,
1039 kFlagUG07ClovisCaughtMcCoy = 598,
1040 kFlagKIAPrivacyAddonIntro = 599,
1041 kFlagUG16LutherLanceTalkReplicants = 600,
1042 kFlagUG16LutherLanceTalkHumans = 601,
1043 // 602 is never used
1044 kFlagSteeleAimingAtGordo = 603,
1045 kFlagNR03McCoyThrownOut = 604,
1046 kFlagNR04DiscFound = 605,
1047 kFlagNR04EarlyQStungByScorpions = 606,
1048 kFlagMcCoyRetiredHuman = 607,
1049 kFlagTB07toTB02 = 608,
1050 kFlagNR04McCoyAimedAtEarlyQ = 609,
1051 kFlagUG08Entered = 610,
1052 kFlagNR03HanoiTalk = 611,
1053 kFlagTB07RachaelTalk = 612,
1054 kFlagHF03LucyTalk = 613,
1055 kFlagNR08toNR09 = 614,
1056 kFlagNR09toNR08 = 615,
1057 kFlagMcCoyCapturedByHolloway = 616,
1058 kFlagSpinnerMissing = 617,
1059 // 618 is never used
1060 // 619 is never used
1061 kFlagNR08Available = 620,
1062 // 621 is never used
1063 kFlagNR08TouchedDektora = 622,
1064 kFlagUG07Empty = 623,
1065 // 624 is never used
1066 kFlagTB07TyrellMeeting = 625,
1067 // 626 is never used
1068 kFlagNR01McCoyIsDrugged = 627,
1069 // 628 is never used
1070 kFlagUnpauseGenWalkers = 629,
1071 kFlagMutantsPaused = 630,
1072 kFlagRatWalkingAround = 631,
1073 kFlagNR01DektoraFall = 632,
1074 kFlagNR11DektoraBurning = 633,
1075 kFlagNR11BurnedUp = 634,
1076 kFlagNR11SteeleShoot = 635,
1077 kFlagNR08Faded = 636,
1078 kFlagMcCoyCommentsOnOldProjector = 637, // Re-purposed. Original: 637 is never used
1079 kFlagNR07McCoyIsCop = 638,
1080 kFlagMcCoyCommentsOnEyeOfEyeworks = 639, // Re-purposed. Original: 639 is never used
1081 kFlagNR10CameraDestroyed = 640,
1082 kFlagNR10toNR11 = 641, // is never checked
1083 kFlagNR10McCoyBlinded = 642,
1084 kFlagSteeleKnowsBulletBobIsDead = 643,
1085 kFlagNotUsed644 = 644, // is never checked
1086 kFlagCT11DogWrapperTaken = 645,
1087 kFlagSteeleDead = 646, // is never checked
1088 kFlagMA04McCoySleeping = 647,
1089 kFlagMA07GaffTalk = 648,
1090 kFlagMA04PhoneMessageFromClovis = 649,
1091 kFlagMA04PhoneMessageFromLucy = 650,
1092 kFlagNR08McCoyWatchingShow = 651,
1093 kFlagCrazylegsArrestedTalk = 652,
1094 kFlagMcCoyIsHelpingReplicants = 653,
1095 kFlagMA02Chapter5Started = 654,
1096 kFlagMA02RajifTalk = 655,
1097 kFlagUG02RadiationGogglesTaken = 656,
1098 kFlagNotUsed657 = 657, // is never set
1099 kFlagKP07Entered = 658,
1100 kFlagNR11BreakWindow = 659,
1101 kFlagDNARowAvailableTalk = 660,
1102 kFlagTB07ShadeDown = 661, // is never set
1103 kFlagHF01TalkToLovedOne = 662,
1104 kFlagHF05PoliceArrived = 663,
1105 kFlagUG07PoliceLeave = 664,
1106 kFlagUG19Available = 665,
1107 kFlagMcCoyFreedOfAccusations = 666,
1108 kFlagCT11GrigorianNotePlaced = 667, // Re-purposed. Original: 667 is never used
1109 kFlagUG13OriginalRequisitionFormPlaced = 668, // Re-purposed. Original: 668 is never used
1110 kFlagKP02DispatchOnToxicKipple = 669, // Re-purposed. Original: 669 is never used
1111 kFlagCallWithGuzza = 670,
1112 kFlagUG18GuzzaScene = 671,
1113 kFlagMA07toPS14 = 672,
1114 kFlagPS14toMA07 = 673,
1115 kFlagKP01Entered = 674,
1116 kFlagUG04DispatchOnHoodooRats = 675, // Re-purposed. Original: 675 is never used
1117 kFlagUG15RatShot = 676,
1118 kFlagUG15BridgeWillBreak = 677,
1119 kFlagChapter2Intro = 678,
1120 kFlagChapter3Intro = 679,
1121 kFlagChapter4Intro = 680,
1122 kFlagMcCoyCommentsOnHoodooRats = 681, // Re-purposed. Original: 681 is never used
1123 kFlagUG15BridgeBroken = 682,
1124 kFlagUG05TalkToPolice = 683,
1125 kFlagHF05PoliceAttacked = 684,
1126 kFlagClovisLyingDown = 685,
1127 kFlagNotUsed686 = 686,
1128 kFlagMcCoyCommentsOnFans = 687, // Re-purposed. Original: 687 is never used
1129 kFlagPS05TV0 = 688,
1130 kFlagPS05TV1 = 689,
1131 kFlagPS05TV2 = 690,
1132 kFlagPS05TV3 = 691,
1133 kFlagPS05TV4 = 692,
1134 kFlagUG03DeadHomeless = 693,
1135 kFlagUG14DeadHomeless = 694,
1136 kFlagNR01VisitedFirstTimeWithSpinner = 695, // Re-purposed. Original: 695 is never used
1137 kFlagKP07ReplicantsAttackMcCoy = 696,
1138 kFlagKP07McCoyPulledGun = 697,
1139 kFlagUG15LanceLuthorTrade = 698,
1140 kFlagTalkToZuben = 699,
1141 kFlagBB01VisitedFirstTimeWithSpinner = 700, // Re-purposed. Original: 700 is never used
1142 kFlagMcCoyAttackedLucy = 701,
1143 kFlagBulletBobDead = 702,
1144 kFlagUG18BriefcaseTaken = 703,
1145 kFlagRC02EnteredChapter4 = 704,
1146 kFlagRC02RunciterTalkWithGun = 705,
1147 kFlagRC02RunciterTalk2 = 706,
1148 kFlagTB06PhotographTalk1 = 707,
1149 kFlagUG02AmmoTaken = 708,
1150 kFlagRC51Discovered = 709,
1151 kFlagAR01Entered = 710,
1152 kFlagMA04WatchedTV = 711,
1153 kFlagMcCoyShotAtZuben = 712,
1154 kFlagDR04McCoyShotMoraji = 713,
1155 kFlagMcCoyAttackedReplicants = 714,
1156 kFlagDR06UnlockedToUG16 = 715,
1157 kFlagUG13HomelessLayingdown = 716,
1158 kFlagRC04BobTalk3 = 717,
1159 kflagPS01toPS02 = 718,
1160 kFlagCT02McCoyFell = 719,
1161 kFlagCT02McCoyCombatReady = 720,
1162 kFlagCT02McCoyShouldCommentOnDumpedSoup = 721, // Now: used for cut content for McCoy's monologue if he fails to dodge the soup, Original: was set but not used
1163 kFlagChapter4Starting = 722,
1164 kFlagZubenBountyPaid = 723,
1165 kFlagUG15BridgeBreaks = 724,
1166 kFlagCT11DogWrapperAvailable = 725,
1167 kFlagAR02Entered = 726, // Now: never checked (superseded by new kFlagScorpionsInAR02). Original: used to track if McCoy visited AR02 in order to remove scorpion's cage item if Dektora buys it
1168 kFlagPS04WeaponsOrderForm = 727,
1169 kFlagDR01Visited = 728, // Re-purposed. Original: 728 is never used
1170 kFlagNR08DektoraShow = 729
1171 // INFO Flags count is set to 800 with _gameInfo->getFlagCount()
1172 // (the code technically allows up to 831, but there are checks and asserts for <= _flagCount in GameFlags class)
1173};
1174
1175enum Variables {
1176 kVariableChapter = 1,
1177 kVariableChinyen = 2,
1178 kVariableGameVersion = 3, // Re-purposed. Original: not used, so it would have value of 0 in the classic version
1179 kVariableUG18CountUpForNextTrainAction = 4, // Re-purposed. Original: not used
1180 kVariableUG18StateOfTrains = 5, // Re-purposed. Original: not used
1181 kVariableUG18StateOfGuzzaCorpse = 6, // Re-purposed. Original: not used
1182 kVariableRC02Act1RunciterBanter = 7, // Re-purposed. Original: not used
1183 // variable 8 is not used
1184 kVariablePoliceMazeScore = 9,
1185 kVariablePoliceMazePS10TargetCounter = 10,
1186 kVariablePoliceMazePS11TargetCounter = 11,
1187 kVariablePoliceMazePS12TargetCounter = 12,
1188 kVariablePoliceMazePS13TargetCounter = 13,
1189 kVariableMcCoyEvidenceMissed = 14,
1190 // variable 15 has no use
1191 kVariableFishDealerBanterTalk = 16, // Re-purposed. Original: not used
1192 kVariableInsectDealerBanterTalk = 17, // Re-purposed. Original: not used
1193 kVariableHasanBanterTalk = 18, // Re-purposed. Original: not used
1194 kVariableIzoShot = 19, // has no use
1195 // variables 20 - 23 are not used
1196 kVariableBobShot = 24, // has no use
1197 kVariableGeneralDollShot = 25, // has no use
1198 // variables 26 - 28 are not used
1199 kVariableLutherLanceShot = 29,
1200 // variables 30 - 31 are not used
1201 kVariableGenericWalkerAModel = 32, // values: 0 1 2 3 4 5 (6 7 8 9 for restored content)
1202 kVariableGenericWalkerBModel = 33, // values: 0 1 2 3 4 5 (6 7 8 9 for restored content)
1203 kVariableGenericWalkerCModel = 34, // values: 0 1 2 3 4 5 (6 7 8 9 for restored content)
1204 kVariableGenericWalkerConfig = 35, // Re-purposed. Original: has no real use
1205 kVariableBB10ShelvesAvailable = 36,
1206 kVariableWalkLoopActor = 37,
1207 kVariableWalkLoopRun = 38,
1208 kVariableDR06MannequinHeadOpened = 39,
1209 kVariableHollowayArrest = 40, // values: 1 dektora, 2 gordo, 3 lucy
1210 kVariableGordosJoke = 41,
1211 kVariableMcCoyDrinks = 42, // is never checked
1212 kVariableHanoiNR05Warnings = 43,
1213 kVariableHanoiNR04Warnings = 44,
1214 kVariableAffectionTowards = 45, // values: 0 none, 1 steele, 2 dektora, 3 lucy
1215 kVariableGunPulledInFrontOfSebastian = 46,
1216 kVariableNR01GetUpCounter = 47,
1217 kVariableDNAEvidence = 48,
1218 kVariableCorruptedGuzzaEvidence = 49,
1219 kVariableTaffyLewisMusic = 50,
1220 kVariableReplicantsSurvivorsAtMoonbus = 51,
1221 kVariableNextTvNews = 52,
1222 kVariableEarlyQFrontMusic = 53,
1223 kVariableEarlyQBackMusic = 54
1224};
1225
1226enum Outtakes {
1227 kOuttakeIntro = 0,
1228 kOuttakeMovieA = 1,
1229 kOuttakeMovieB1 = 2,
1230 kOuttakeMovieB2 = 3,
1231 kOuttakeMovieB3 = 4,
1232 kOuttakeMovieB4 = 5,
1233 kOuttakeMovieB5 = 6,
1234 kOuttakeMovieC1 = 7,
1235 kOuttakeMovieC2 = 8,
1236 kOuttakeMovieC3 = 9,
1237 kOuttakeMovieD = 10,
1238 kOuttakeInterrogation = 11,
1239 kOuttakeEnd1A = 12,
1240 kOuttakeEnd1B = 13,
1241 kOuttakeEnd1C = 14,
1242 kOuttakeEnd1D = 15,
1243 kOuttakeEnd1E = 16,
1244 kOuttakeEnd1F = 17,
1245 kOuttakeEnd2 = 18,
1246 kOuttakeEnd3 = 19,
1247 kOuttakeEnd4A = 20,
1248 kOuttakeEnd4B = 21,
1249 kOuttakeEnd4C = 22,
1250 kOuttakeEnd4D = 23,
1251 kOuttakeEnd5 = 24,
1252 kOuttakeEnd6 = 25,
1253 kOuttakeEnd7 = 26,
1254 kOuttakeTyrellBuildingFly = 27,
1255 kOuttakeWestwood = 28,
1256 kOuttakeFlyThrough = 29, // Act 1 - Original: unused - has no sound
1257 kOuttakeAway1 = 30, // Act 2, 3
1258 kOuttakeAway2 = 31, // Act 1
1259 kOuttakeAscent = 32, // Act 1, 4, 5 - Original: unused
1260 kOuttakeDescent = 33, // Act 1, 4, 5
1261 kOuttakeInside1 = 34, // Act 1
1262 kOuttakeInside2 = 35, // Act 1, 2, 3
1263 kOuttakeTowards1 = 36, // Act 1 - This is sort of the reverse of kOuttakeFlyThrough (spinner is flying towards player)
1264 kOuttakeTowards2 = 37, // Act 1
1265 kOuttakeTowards3 = 38, // Act 1, 2, 3
1266 kOuttakeRachel = 39,
1267 kOuttakeDektora = 40,
1268 kOuttakeBladeRunner = 41
1269};
1270
1271enum AnimationModes {
1272 kAnimationModeIdle = 0,
1273 kAnimationModeWalk = 1,
1274 kAnimationModeRun = 2,
1275 kAnimationModeTalk = 3,
1276 kAnimationModeCombatIdle = 4,
1277 kAnimationModeCombatAim = 5,
1278 kAnimationModeCombatAttack = 6,
1279 kAnimationModeCombatWalk = 7,
1280 kAnimationModeCombatRun = 8,
1281 // 9 - 19 various talk modes
1282 kAnimationModeDodge = 20,
1283 kAnimationModeHit = 21,
1284 kAnimationModeCombatHit = 22,
1285 // 23 give / take away
1286 // 24 - 25 not used
1287 // 26 ???
1288 // 27 - 28 not used
1289 // 29 stand up
1290 // 30 - 37 not used
1291 // 38 McCoy searches inside big dumpster
1292 // 39 McCoy agonizing death animation - not used
1293 // 40 McCoy throws body
1294 kAnimationModeSpinnerGetIn = 41,
1295 kAnimationModeSpinnerGetOut = 42,
1296 // 43 - taking photo/using cellphone
1297 kAnimationModeWalkUp = 44,
1298 kAnimationModeWalkDown = 45,
1299 kAnimationModeCombatWalkUp = 46,
1300 kAnimationModeCombatWalkDown = 47,
1301 kAnimationModeDie = 48,
1302 kAnimationModeCombatDie = 49,
1303 // 50 Luther, Tyrell Guard ???
1304 // 51 Steele, Maggie ???
1305 kAnimationModeFeeding = 52,
1306 kAnimationModeSit = 53, // sitting (eg. for McCoy used in NR04, NR05 rotating couch) (McCoy, Clovis, Dektora, Guzza, Gordo)
1307 // 54 Clovis, Maggie ???
1308 // 55 transient, Tyrell Guard, Maggie
1309 // 56 Maggie ???
1310 // 57 Maggie ???
1311 // 58 - 60 not used
1312 // 61 Guzza ???
1313 // 62 Sadik ???
1314 // 63 Sadik ???
1315 kAnimationModeClimbUp = 64,
1316 kAnimationModeClimbDown = 65,
1317 kAnimationModeCombatClimbUp = 66,
1318 kAnimationModeCombatClimbDown = 67
1319 // 68 McCoy getting kicked (while down)
1320 // 69 not used
1321 // 70 Dektora ???
1322 // 71 Dektora ???
1323 // 72 Desk Clerk, Leon ???
1324 // 73 EarlyQ ???
1325 // 74 EarlyQ ???
1326 // 75 McCoy drinking
1327 // 76 EarlyQ ???
1328 // 77 not used
1329 // 78 Hanoi ???
1330 // 79 Dektora ???
1331 // 80 Gordo ???
1332 // 81 - 82 not used
1333 // 83 Gordo ???
1334 // 84 Gordo ???
1335 // 85 McCoy, EarlyQ - sitdown
1336 // 86 - 87 not used
1337 // 88 ???
1338 // 89 Homeless ???
1339};
1340
1341enum SceneLoopMode {
1342 kSceneLoopModeNone = -1,
1343 kSceneLoopModeLoseControl = 0,
1344 kSceneLoopModeChangeSet = 1,
1345 kSceneLoopModeOnce = 2,
1346 kSceneLoopModeSpinner = 3,
1347 kSceneLoopModeOnceNStay = 4
1348};
1349
1350enum Scenes {
1351 kSceneAR01 = 0, // Animoid Row - Fish dealer
1352 kSceneAR02 = 1, // Animoid Row - Insect dealer
1353 kSceneBB01 = 2, // Bradbury building - Outside
1354 kSceneBB02 = 3, // Bradbury building - Inside
1355 kSceneBB03 = 4, // Bradbury building - Entrance
1356 kSceneBB04 = 5, // Bradbury building - Elevator
1357 kSceneBB05 = 6, // Bradbury building - Entry hall
1358 kSceneBB06 = 7, // Bradbury building - Billiard room - front
1359 kSceneBB07 = 8, // Bradbury building - Sebastian's office
1360 kSceneBB08 = 9, // Bradbury Building - Bathroom
1361 kSceneBB09 = 10, // Bradbury Building - Above bathroom
1362 kSceneBB10 = 11, // Bradbury Building - Bookcase
1363 kSceneBB11 = 12, // Bradbury Building - Roof
1364 kSceneCT01 = 13, // Chinatown - Howie Lee's Restaurant
1365 kSceneCT02 = 14, // Chinatown - Restaurant - Kitchen
1366 kSceneCT03 = 15, // Chinatown - Back alley - Restaurant
1367 kSceneCT04 = 16, // Chinatown - Back alley - Dumpster
1368 kSceneCT05 = 17, // Chinatown - Warehouse - Inside
1369 kSceneCT06 = 18, // Chinatown - Passage - front
1370 kSceneCT07 = 19, // Chinatown - Passage - back
1371 kSceneCT08 = 20, // Chinatown - Yukon Hotel - Backroom
1372 kSceneCT09 = 21, // Chinatown - Yukon Hotel - Lobby
1373 kSceneCT10 = 22, // Chinatown - Yukon Hotel - Room
1374 kSceneCT11 = 23, // Chinatown - Yukon Hotel - Outside
1375 kSceneCT12 = 24, // Chinatown - Warehouse - Outside
1376 kSceneDR01 = 25, // DNA Row - Street
1377 kSceneDR02 = 26, // DNA Row - Eyeworld - Outside
1378 kSceneDR03 = 27, // DNA Row - Eyeworld - Inside
1379 kSceneDR04 = 28, // DNA Row - Dermo design - Outside
1380 kSceneDR05 = 29, // DNA Row - Dermo design - Inside
1381 kSceneDR06 = 30, // DNA Row - Twin's office
1382 kSceneHC01 = 31, // Hawker's Circle - Green pawn - Outside
1383 kSceneHC02 = 32, // Hawker's Circle - China bar
1384 kSceneHC03 = 33, // Hawker's Circle - Green pawn - Inside
1385 kSceneHF01 = 34, // Hysteria Hall - Outside
1386 kSceneHF02 = 35, // Hysteria Hall - Hall of Mirrors - Exit / Arcade Back Alley
1387 kSceneHF03 = 36, // Hysteria Hall - Hysteria Arcade
1388 kSceneHF04 = 37, // Hysteria Hall - Hall of Mirrors
1389 kSceneHF05 = 38, // Hysteria Hall - Crazy Legs Larry Autos - Inside
1390 kSceneHF06 = 39, // Hysteria Hall - Crazy Legs Larry Autos - Roof
1391 kSceneHF07 = 40, // Hysteria Hall - Crazy Legs Larry Autos - Underground
1392 kSceneKP01 = 41, // Kipple - Rubble
1393 kSceneKP02 = 42, // Kipple - Entry / Gate
1394 kSceneKP03 = 43, // Kipple - Bomb
1395 kSceneKP04 = 44, // Kipple - Huge pillar
1396 kSceneKP05 = 45, // Kipple - Moonbus - Far
1397 kSceneKP06 = 46, // Kipple - Moonbus - Near
1398 kSceneKP07 = 47, // Kipple - Moonbus - Inside
1399 kSceneMA01 = 48, // McCoy's Apartment - Roof
1400 kSceneMA02 = 49, // McCoy's Apartment - Living room
1401 kSceneMA04 = 50, // McCoy's Apartment - Sleeping room
1402 kSceneMA05 = 51, // McCoy's Apartment - Balcony
1403 kSceneMA06 = 52, // McCoy's Apartment - Elevator
1404 kSceneMA07 = 53, // McCoy's Apartment - Ground floor
1405 kSceneNR01 = 54, // Nightclub Row - Outside
1406 kSceneNR02 = 55, // Nightclub Row - Taffy Lewis'
1407 kSceneNR03 = 56, // Nightclub Row - Early Q's - Main area
1408 kSceneNR04 = 57, // Nightclub Row - Early Q's - Office
1409 kSceneNR05 = 58, // Nightclub Row - Early Q's - VIP area
1410 kSceneNR06 = 59, // Nightclub Row - Early Q's - Empty dressing room
1411 kSceneNR07 = 60, // Nightclub Row - Early Q's - Dektora's dressing room
1412 kSceneNR08 = 61, // Nightclub Row - Early Q's - Stage
1413 kSceneNR09 = 62, // Nightclub Row - Early Q's - Balcony
1414 kSceneNR10 = 63, // Nightclub Row - Early Q's - Projector room
1415 kSceneNR11 = 64, // Nightclub Row - Early Q's - Loft
1416 kScenePS01 = 65, // Police Station - Roof
1417 kScenePS02 = 66, // Police Station - Elevator
1418 kScenePS03 = 67, // Police Station - Ground floor
1419 kScenePS04 = 68, // Police Station - Guzza's Office
1420 kScenePS05 = 69, // Police Station - Mainframe & Shooting range hallway
1421 kScenePS06 = 70, // Police Station - ESPER room
1422 kScenePS07 = 71, // Police Station - Laboratory
1423 kScenePS09 = 72, // Police Station - Lockup
1424 kScenePS10 = 73, // Police Station - Shooting range 1
1425 kScenePS11 = 74, // Police Station - Shooting range 2
1426 kScenePS12 = 75, // Police Station - Shooting range 3
1427 kScenePS13 = 76, // Police Station - Shooting range 4
1428 kScenePS14 = 77, // Police Station - Outside
1429 kSceneRC01 = 78, // Runciter - Outside
1430 kSceneRC02 = 79, // Runciter - Inside
1431 kSceneRC03 = 80, // Bullet Bob's Runner Surplus - Outside
1432 kSceneRC04 = 81, // Bullet Bob's Runner Surplus - Inside
1433 kSceneTB02 = 82, // Tyrell Building - Reception
1434 kSceneTB03 = 83, // Tyrell Building - Reception back
1435 kSceneTB05 = 84, // Tyrell Building - Grav Test Lab - Outside
1436 kSceneTB06 = 85, // Tyrell Building - Grav Test Lab - Inside
1437 kSceneUG01 = 86, // Underground - Under RC03
1438 kSceneUG02 = 87, // Underground - Under HC03
1439 kSceneUG03 = 88, // Underground - Chair
1440 kSceneUG04 = 89, // Underground - Rails with crash - start
1441 kSceneUG05 = 90, // Underground - Under HF07 - Rails with cars
1442 kSceneUG06 = 91, // Underground - Under NR01 - Metro entrance
1443 kSceneUG07 = 92, // Underground - Pipe
1444 kSceneUG08 = 93, // Underground - Elevator
1445 kSceneUG09 = 94, // Underground - Behind CT12
1446 kSceneUG10 = 95, // Underground - Moving bridge
1447 kSceneUG12 = 96, // Underground - Gate
1448 kSceneUG13 = 97, // Underground - Homeless' living room
1449 kSceneUG14 = 98, // Underground - Crossroad
1450 kSceneUG15 = 99, // Underground - Bridge with rat
1451 kSceneUG16 = 100, // Underground - Under DR06
1452 kSceneUG17 = 101, // Underground - Under TB03
1453 kSceneUG18 = 102, // Underground - Pit
1454 kSceneUG19 = 103, // Underground - Under MA07
1455 kSceneBB51 = 104, // Bradbury Building - Billiard room - Back
1456 kSceneCT51 = 105, // Chinatown - Yukon Hotel - Backroom - back
1457 kSceneHC04 = 106, // Hawker's Circle - Kingston kitchen
1458 kSceneRC51 = 107, // Runciter - Lucy's desk
1459 kSceneTB07 = 108, // Tyrell Building - Tyrell's office
1460 kScenePS15 = 119, // Police Station - Armory
1461 kSceneBB12 = 120 // Bradbury Building - Monkey room
1462};
1463
1464enum Sets {
1465 kSetAR01_AR02 = 0,
1466 kSetBB02_BB04_BB06_BB51 = 1,
1467 kSetBB06_BB07 = 2, //BB06
1468 kSetBB07 = 3,
1469 kSetCT01_CT12 = 4,
1470 kSetCT03_CT04 = 5,
1471 kSetCT08_CT51_UG12 = 6, //UG12
1472 kSetDR01_DR02_DR04 = 7,
1473 kSetHC01_HC02_HC03_HC04 = 8,
1474 kSetKP05_KP06 = 9,
1475 kSetMA02_MA04 = 10, //MA04
1476 kSetNR02 = 11,
1477 kSetNR04 = 12,
1478 kSetNR05_NR08 = 13,
1479 kSetPS10_PS11_PS12_PS13 = 14,
1480 kSetPS05 = 15,
1481 kSetRC02_RC51 = 16,
1482 kSetTB02_TB03 = 17,
1483 kSetTB07 = 18,
1484 kSetUG16 = 19,
1485 kSetBB01 = 20,
1486 kSetBB03 = 21,
1487 kSetBB05 = 22,
1488 kSetBB08 = 23,
1489 kSetBB09 = 24,
1490 kSetBB10 = 25,
1491 kSetBB11 = 26,
1492 kSetCT02 = 27,
1493 kSetCT05 = 28,
1494 kSetCT06 = 29,
1495 kSetCT07 = 30,
1496 kSetCT09 = 31,
1497 kSetCT10 = 32,
1498 kSetCT11 = 33,
1499 kSetDR03 = 34,
1500 kSetDR05 = 35,
1501 kSetDR06 = 36,
1502 kSetHF01 = 37,
1503 kSetHF02 = 38,
1504 kSetHF03 = 39,
1505 kSetHF04 = 40,
1506 kSetHF05 = 41,
1507 kSetHF06 = 42,
1508 kSetHF07 = 43,
1509 kSetKP01 = 44,
1510 kSetKP02 = 45,
1511 kSetKP03 = 46,
1512 kSetKP04 = 47,
1513 kSetKP07 = 48,
1514 kSetMA01 = 49,
1515 kSetMA04 = 50,
1516 kSetMA05 = 51,
1517 kSetMA06 = 52,
1518 kSetMA07 = 53,
1519 kSetNR01 = 54,
1520 kSetNR03 = 55,
1521 kSetNR06 = 56,
1522 kSetNR07 = 57,
1523 kSetNR09 = 58,
1524 kSetNR10 = 59,
1525 kSetNR11 = 60,
1526 kSetPS01 = 61,
1527 kSetPS02 = 62,
1528 kSetPS03 = 63,
1529 kSetPS04 = 64,
1530 kSetPS06 = 65,
1531 kSetPS07 = 66,
1532 kSetPS09 = 67,
1533 kSetPS14 = 68,
1534 kSetRC01 = 69,
1535 kSetRC03 = 70,
1536 kSetRC04 = 71,
1537 kSetTB05 = 72,
1538 kSetTB06 = 73,
1539 kSetUG01 = 74,
1540 kSetUG02 = 75,
1541 kSetUG03 = 76,
1542 kSetUG04 = 77,
1543 kSetUG05 = 78,
1544 kSetUG06 = 79,
1545 kSetUG07 = 80,
1546 kSetUG08 = 81,
1547 kSetUG09 = 82,
1548 kSetUG10 = 83,
1549 kSetUG12 = 84,
1550 kSetUG13 = 85,
1551 kSetUG14 = 86,
1552 kSetUG15 = 87,
1553 kSetUG17 = 88,
1554 kSetUG18 = 89,
1555 kSetUG19 = 90,
1556 kSetFreeSlotA = 91,
1557 kSetFreeSlotB = 92,
1558 kSetFreeSlotC = 93,
1559 kSetFreeSlotD = 94,
1560 kSetFreeSlotE = 95,
1561 kSetFreeSlotF = 96,
1562 kSetFreeSlotG = 97,
1563 kSetFreeSlotH = 98,
1564 kSetFreeSlotI = 99,
1565 kSetFreeSlotJ = 100,
1566 kSetPS15 = 101,
1567 kSetBB12 = 102
1568};
1569
1570enum GameItems {
1571 kItemPS10Target1 = 0,
1572 kItemPS10Target2 = 1,
1573 kItemPS10Target3 = 2,
1574 kItemPS10Target4 = 3,
1575 kItemPS10Target5 = 4,
1576 kItemPS10Target6 = 5,
1577 kItemPS10Target7 = 6,
1578 kItemPS10Target8 = 7,
1579 kItemPS10Target9 = 8,
1580 kItemPS11Target1 = 9,
1581 kItemPS11Target2 = 10,
1582 kItemPS11Target3 = 11,
1583 kItemPS11Target4 = 12,
1584 kItemPS11Target5 = 13,
1585 kItemPS11Target6 = 14,
1586 kItemPS11Target7 = 15,
1587 kItemPS11Target8 = 16,
1588 kItemPS11Target9 = 17,
1589 kItemPS11Target10 = 18,
1590 kItemPS11Target11 = 19,
1591 kItemPS11Target12 = 20,
1592 kItemPS11Target13 = 21,
1593 kItemPS11Target14 = 22,
1594 kItemPS11Target15 = 23,
1595 // 24 is never used
1596 // 25 is never used
1597 // 26 is never used
1598 kItemPS11Target16 = 27,
1599 // 28 is never used
1600 kItemPS12Target1 = 29,
1601 kItemPS12Target2 = 30,
1602 kItemPS12Target3 = 31,
1603 kItemPS12Target4 = 32,
1604 kItemPS12Target5 = 33,
1605 kItemPS12Target6 = 34,
1606 kItemPS12Target7 = 35,
1607 kItemPS12Target8 = 36,
1608 kItemPS12Target9 = 37,
1609 kItemPS12Target10 = 38,
1610 kItemPS12Target11 = 39,
1611 kItemPS12Target12 = 40,
1612 kItemPS12Target13 = 41,
1613 kItemPS12Target14 = 42,
1614 kItemPS12Target15 = 43,
1615 kItemPS12Target16 = 44,
1616 kItemPS12Target17 = 45,
1617 kItemPS13Target1 = 46,
1618 kItemPS13Target2 = 47,
1619 kItemPS13Target3 = 48,
1620 kItemPS13Target4 = 49,
1621 kItemPS13Target5 = 50,
1622 kItemPS13Target6 = 51,
1623 kItemPS13Target7 = 52,
1624 kItemPS13Target8 = 53,
1625 kItemPS13Target9 = 54,
1626 kItemPS13Target10 = 55,
1627 kItemPS13Target11 = 56,
1628 kItemPS13Target12 = 57,
1629 kItemPS13Target13 = 58,
1630 // 59 is never used
1631 // 60 is never used
1632 // 61 is never used
1633 kItemPS13Target14 = 62,
1634 kItemPS13Target15 = 63,
1635 // 64 is never used
1636 // 65 is never used
1637 kItemChromeDebris = 66,
1638 // 67 is never used
1639 // 68 is never used
1640 // 69 is never used
1641 // 70 is never used
1642 // 71 is never used
1643 // 72 is never used
1644 // 73 is never used
1645 // 74 is never used
1646 // 75 is never used
1647 // 76 is never used
1648 kItemDragonflyEarring = 76,
1649 kItemBB06ControlBox = 77,
1650 kItemBomb = 78,
1651 kItemCandy = 79,
1652 kItemCheese = 81,
1653 kItemChopstickWrapper = 82,
1654 kItemDNATyrell = 83,
1655 kItemDogCollar = 84,
1656 kItemRagDoll = 85,
1657 // 86 is never used
1658 // 87 is never used
1659 kItemRadiationGoogles = 88,
1660 kItemGordosLighterReplicant = 89,
1661 kItemGordosLighterHuman = 90,
1662 kItemBriefcase = 91,
1663 kItemNote = 92, // original: 92 is never used
1664 // 93 is never used
1665 // 94 is never used
1666 // 95 is never used
1667 // 96 is never used
1668 // 97 is never used
1669 kItemToyDog = 98,
1670 // 99 is never used
1671 kItemShellCasingA = 100,
1672 kItemShellCasingB = 101,
1673 kItemShellCasingC = 102,
1674 kItemDeadDogA = 103,
1675 kItemDeadDogB = 104,
1676 kItemDeadDogC = 105,
1677 kItemScorpions = 106,
1678 kItemCamera = 107,
1679 kItemKitchenBox = 108,
1680 kItemChair = 109,
1681 kItemWeaponsCrate = 110,
1682 kItemWeaponsOrderForm = 111,
1683 // 112 is never used
1684 // 113 is never used
1685 // 114 is never used
1686 kItemDogWrapper = 115,
1687 // 116 is never used
1688 // 117 is never used
1689 kItemPowerSource = 118,
1690 kItemTyrellSalesPamphlet = 119,
1691 kItemMoonbusPhoto = 120,
1692 kItemGreenPawnLock = 121,
1693 kItemChain = 122
1694};
1695
1696enum GameModelAnimations {
1697 // 0 - 53: McCoy animations
1698 kModelAnimationMcCoyWithGunIdle = 0,
1699 kModelAnimationMcCoyWithGunGotHitRight = 1,
1700 kModelAnimationMcCoyWithGunGotHitLeft = 2,
1701 kModelAnimationMcCoyWithGunWalking = 3,
1702 kModelAnimationMcCoyWithGunRunning = 4,
1703 kModelAnimationMcCoyWithGunShotDead = 5,
1704 kModelAnimationMcCoyWithGunClimbStairsUp = 6,
1705 kModelAnimationMcCoyWithGunClimbStairsDown = 7,
1706 kModelAnimationMcCoyWithGunUnholsterGun = 8,
1707 kModelAnimationMcCoyWithGunHolsterGun = 9,
1708 kModelAnimationMcCoyWithGunAiming = 10,
1709 kModelAnimationMcCoyWithGunStopAimResumeIdle = 11,
1710 kModelAnimationMcCoyWithGunShooting = 12,
1711 kModelAnimationMcCoyWalking = 13,
1712 kModelAnimationMcCoyRunning = 14,
1713 kModelAnimationMcCoyClimbStairsUp = 15,
1714 kModelAnimationMcCoyClimbStairsDown = 16,
1715 kModelAnimationMcCoyGotHitRight = 17,
1716 kModelAnimationMcCoyFallsOnHisBack = 18,
1717 kModelAnimationMcCoyIdle = 19,
1718 kModelAnimationMcCoyProtestingTalk = 20,
1719 kModelAnimationMcCoyScratchHeadTalk = 21,
1720 kModelAnimationMcCoyPointingTalk = 22,
1721 kModelAnimationMcCoyUpsetTalk = 23,
1722 kModelAnimationMcCoyDismissiveTalk = 24,
1723 kModelAnimationMcCoyScratchEarTalk = 25,
1724 kModelAnimationMcCoyHandsOnWaistTalk = 26,
1725 kModelAnimationMcCoyScratchEarLongerTalk = 27,
1726 kModelAnimationMcCoyDodgeAndDrawGun = 28,
1727 kModelAnimationMcCoyLeaningOver = 29,
1728 kModelAnimationMcCoyThrowsBeggarInTrash = 30,
1729 kModelAnimationMcCoyDiesInAgony = 31,
1730 kModelAnimationMcCoyGivesFromPocket = 32,
1731 kModelAnimationMcCoyLeaningOverSearching = 33,
1732 kModelAnimationMcCoyLeaningOverResumeIdle = 34,
1733 kModelAnimationMcCoyEntersSpinner = 35,
1734 kModelAnimationMcCoyExitsSpinner = 36,
1735 kModelAnimationMcCoyClimbsLadderUp = 37,
1736 kModelAnimationMcCoyClimbsLadderDown = 38,
1737 kModelAnimationMcCoyRecoversFromPassingOut = 39,
1738 kModelAnimationMcCoyGiveMovement = 40,
1739 kModelAnimationMcCoySittingToUseConsole = 41,
1740 kModelAnimationMcCoyWithGunGrabbedByArm0 = 42,
1741 kModelAnimationMcCoyWithGunGrabbedByArm1 = 43,
1742 kModelAnimationMcCoyWithGunGrabbedByArmHurt = 44,
1743 kModelAnimationMcCoyWithGunGrabbedByArmFreed = 45,
1744 kModelAnimationMcCoyTiedInChairIdle = 46,
1745 kModelAnimationMcCoyTiedInChairMoving = 47,
1746 kModelAnimationMcCoyTiedInChairFreed = 48,
1747 kModelAnimationMcCoyStartled = 49,
1748 kModelAnimationMcCoyCrouchingDown = 50,
1749 kModelAnimationMcCoyCrouchedIdle = 51,
1750 kModelAnimationMcCoyCrouchedGetsUp = 52,
1751 kModelAnimationMcCoyDrinkingBooze = 53,
1752 // 54 - 92: Steele animations
1753 kModelAnimationSteeleWithGunIdle = 54,
1754 kModelAnimationSteeleWithGunStrafeFast = 55, // untriggered
1755 kModelAnimationSteeleWithGunStrafeSlow = 56, // untriggered
1756 kModelAnimationSteeleWithGunGotHitRight = 57,
1757 kModelAnimationSteeleWithGunGotHitLeft = 58,
1758 kModelAnimationSteeleWithGunWalking = 59,
1759 kModelAnimationSteeleWithGunRunning = 60,
1760 kModelAnimationSteeleWithGunShotDead = 61,
1761 kModelAnimationSteeleWithGunClimbStairsUp = 62,
1762 kModelAnimationSteeleWithGunClimbStairsDown = 63,
1763 kModelAnimationSteeleWithGunUnholsterGun = 64,
1764 kModelAnimationSteeleWithGunHolsterGun = 65,
1765 kModelAnimationSteeleWithGunShooting = 66,
1766 kModelAnimationSteeleWalking = 67,
1767 kModelAnimationSteeleRunning = 68,
1768 kModelAnimationSteeleClimbStairsUp = 69,
1769 kModelAnimationSteeleClimbStairsDown = 70,
1770 kModelAnimationSteeleGotHitRight = 71,
1771 kModelAnimationSteeleGotHitLeft = 72,
1772 kModelAnimationSteeleShotDead = 73,
1773 kModelAnimationSteeleIdle = 74,
1774 kModelAnimationSteeleTakeCigPuff = 75,
1775 kModelAnimationSteeleThrowCigAndStepOnIt = 76,
1776 kModelAnimationSteeleATalk = 77,
1777 kModelAnimationSteeleBTalk = 78,
1778 kModelAnimationSteeleSmallLeftHandMoveTalk = 79,
1779 kModelAnimationSteeleProtestTalk = 80,
1780 kModelAnimationSteeleDismissTalk = 81,
1781 kModelAnimationSteeleWithGunAimingTalk = 82,
1782 kModelAnimationSteeleClimbUpTrapDoor = 83,
1783 kModelAnimationSteeleClimbLadderUp = 84, // untriggered
1784 kModelAnimationSteeleClimbLadderDown = 85, // untriggered
1785 kModelAnimationSteeleHopOffLadderDown = 86, // untriggered
1786 kModelAnimationSteeleLookRightThenDropDead = 87, // UNUSED
1787 kModelAnimationSteeleWithGunAimingToRightIdle = 88, // Aiming at Gordo
1788 kModelAnimationSteeleWithGunAimingToRightTalk = 89,
1789 kModelAnimationSteeleWithGunAimingToRightHandHit = 90,
1790 kModelAnimationSteeleWithGunAimingToRightHolster = 91,
1791 kModelAnimationSteeleWithGunAimingToRightShoot = 92, // Shooting at Gordo
1792 // 93 - 133: Gordo animations
1793 kModelAnimationGordoWithGunIdle = 93,
1794 kModelAnimationGordoStrafeFast = 94, // UNUSED
1795 kModelAnimationGordoStrafeSlow = 95, // UNUSED
1796 kModelAnimationGordoWithGunGotHitRight = 96,
1797 kModelAnimationGordoWithGunGotHitLeft = 97,
1798 kModelAnimationGordoWithGunWalking = 98,
1799 kModelAnimationGordoWithGunRunning = 99,
1800 kModelAnimationGordoWithGunShotDead = 100,
1801 kModelAnimationGordoWithGunClimbStairsUp = 101,
1802 kModelAnimationGordoWithGunClimbStairsDown = 102,
1803 kModelAnimationGordoWithGunUnholsterGun = 103,
1804 kModelAnimationGordoWithGunHolsterGun = 104,
1805 kModelAnimationGordoWithGunShooting = 105,
1806 kModelAnimationGordoWithGunJumpingDown = 106,
1807 kModelAnimationGordoWalking = 107,
1808 kModelAnimationGordoRunning = 108,
1809 kModelAnimationGordoClimbStairsUp = 109,
1810 kModelAnimationGordoClimbStairsDown = 110,
1811 kModelAnimationGordoGotHitRight = 111,
1812 kModelAnimationGordoGotHitLeft = 112,
1813 kModelAnimationGordoShotDead = 113,
1814 kModelAnimationGordoSitting = 114,
1815 kModelAnimationGordoWavesGetsUpAndPays = 115,
1816 kModelAnimationGordoIdle = 116,
1817 kModelAnimationGordoBrushOffShoulder = 117, // talks too?
1818 kModelAnimationGordoChecksHand = 118, // talks too?
1819 kModelAnimationGordoLeavesSomethingOnCounter = 119,
1820 kModelAnimationGordoIdleTalk = 120,
1821 kModelAnimationGordoSuggestingTalk = 121,
1822 kModelAnimationGordoSuggestAndPointTalk = 122,
1823 kModelAnimationGordoSuggestAndDismissTalk = 123,
1824 kModelAnimationGordoDismissiveTalk = 124,
1825 kModelAnimationGordoUpsetTalk = 125,
1826 kModelAnimationGordoExplainAndPointTalk = 126,
1827 kModelAnimationGordoAdjustBowtieTalk = 127,
1828 kModelAnimationGordoWithGunWithHostageATalk = 128,
1829 kModelAnimationGordoWithGunWithHostageBTalk = 129, // hostage pushes his gun-holding hand upwards
1830 kModelAnimationGordoWithGunWithHostageCTalk = 130, // shooting hostage?
1831 kModelAnimationGordoWithGunWithHostageLetsGo = 131, // hits hostage?
1832 kModelAnimationGordoWithGunWithHostageGetsShot = 132, // hits hostage?
1833 kModelAnimationGordoSitsLookingAtSomething = 133, // UNUSED
1834 // 134 - 171: Dektora animations
1835 kModelAnimationDektoraCombatIdle = 134,
1836 kModelAnimationDektoraCombatWalkingA = 135,
1837 kModelAnimationDektoraCombatWalkingB = 136,
1838 kModelAnimationDektoraCombatGotHitRight = 137,
1839 kModelAnimationDektoraCombatGotHitLeft = 138,
1840 kModelAnimationDektoraCombatBegin = 139, // assumes fighting pose
1841 kModelAnimationDektoraCombatEnd = 140, // exits combat mode
1842 kModelAnimationDektoraCombatLegAttack = 141,
1843 kModelAnimationDektoraCombatPunchAttack = 142,
1844 kModelAnimationDektoraWalking = 143,
1845 kModelAnimationDektoraRunning = 144, // fast walking
1846 kModelAnimationDektoraClimbStairsUp = 145,
1847 kModelAnimationDektoraClimbStairsDown = 146,
1848 kModelAnimationDektoraFrontShoveMove = 147,
1849 kModelAnimationDektoraBackDodgeMove = 148,
1850 kModelAnimationDektoraFallsDead = 149,
1851 kModelAnimationDektoraSittingIdle = 150,
1852 kModelAnimationDektoraSittingShootingGun = 151, // UNUSED?
1853 kModelAnimationDektoraSittingSubtleTalking = 152,
1854 kModelAnimationDektoraSittingIntenseTalking = 153,
1855 kModelAnimationDektoraSittingPullingGunOut = 154,
1856 kModelAnimationDektoraSittingHoldingGun = 155,
1857 kModelAnimationDektoraStandingIdle = 156, // slow nod left right, could be talking too
1858 kModelAnimationDektoraStandingTalkGestureA = 157, // dismissive / questioning
1859 kModelAnimationDektoraStandingNodShort = 158, // could be talking too
1860 kModelAnimationDektoraStandingTalkAgreeing = 159,
1861 kModelAnimationDektoraStandingTalkGestureB = 160, // mellow
1862 kModelAnimationDektoraStandingTalkGestureC = 161, // move both hands
1863 kModelAnimationDektoraStandingTalkGestureD = 162, // appreciative
1864 kModelAnimationDektoraInFlamesA = 163,
1865 kModelAnimationDektoraInFlamesGotHit = 164, // UNUSED?
1866 kModelAnimationDektoraInFlamesStartFalling = 165,
1867 kModelAnimationDektoraInFlamesB = 166,
1868 kModelAnimationDektoraInFlamesEndFalling = 167,
1869 kModelAnimationDektoraDancingA = 168,
1870 kModelAnimationDektoraDancingB = 169,
1871 kModelAnimationDektoraDancingC = 170,
1872 kModelAnimationDektoraDancingFinale = 171,
1873 // 172 - 207: Guzza animations
1874 kModelAnimationGuzzaWithGunIdle = 172,
1875 kModelAnimationGuzzaWithGunGotHitRight = 173, // Untriggered
1876 kModelAnimationGuzzaWithGunGotHitLeft = 174,
1877 kModelAnimationGuzzaWithGunGotHitStraight = 175,
1878 kModelAnimationGuzzaWithGunWalking = 176,
1879 kModelAnimationGuzzaWithGunRunning = 177,
1880 kModelAnimationGuzzaWithGunShotDeadCollapsesInPlace = 178, // UNUSED
1881 kModelAnimationGuzzaWithGunSuggestTalk = 179,
1882 kModelAnimationGuzzaWithGunDismissTalk = 180,
1883 kModelAnimationGuzzaWithGunBackwardTalk = 181, // Untriggered
1884 kModelAnimationGuzzaWithGunUnholsterGun = 182,
1885 kModelAnimationGuzzaWithGunHolsterGun = 183,
1886 kModelAnimationGuzzaWithGunShooting = 184,
1887 kModelAnimationGuzzaWalking = 185,
1888 kModelAnimationGuzzaRunning = 186,
1889 kModelAnimationGuzzaClimbStairsUp = 187,
1890 kModelAnimationGuzzaClimbStairsDown = 188,
1891 kModelAnimationGuzzaSitAndTalkOrChew = 189,
1892 kModelAnimationGuzzaSitAndEat = 190,
1893 kModelAnimationGuzzaSitAndLookAtFood = 191,
1894 kModelAnimationGuzzaSitAndSmallHandMoveTalk = 192,
1895 kModelAnimationGuzzaSitAndSmallBothHandsMoveTalk = 193,
1896 kModelAnimationGuzzaSitAndLargerHandMoveTalk = 194,
1897 kModelAnimationGuzzaSitAndUpsetHandMoveTalk = 195,
1898 kModelAnimationGuzzaSitAndDismissHandMoveTalk = 196,
1899 kModelAnimationGuzzaStandIdle = 197,
1900 kModelAnimationGuzzaStandAndWipeNose = 198,
1901 kModelAnimationGuzzaStandAndScratchBelly = 199,
1902 kModelAnimationGuzzaStandAndGiveOrPutHigh = 200, // animationMode 23. Is this ever used?
1903 kModelAnimationGuzzaStandAndSuggestTalk = 201,
1904 kModelAnimationGuzzaStandAndExplainOneHandMoveTalk = 202,
1905 kModelAnimationGuzzaStandAndExplainBothHandsMoveTalk = 203,
1906 kModelAnimationGuzzaStandAndGiveOrThrowWaistLevel = 204,
1907 kModelAnimationGuzzaStandAndDismissiveOneHandMoveTalk = 205,
1908 kModelAnimationGuzzaStandAndDismissiveBothHandsMoveTalk = 206,
1909 kModelAnimationGuzzaWithGunShotFallBackwards = 207,
1910 // 208 - 252: Clovis animations
1911 kModelAnimationClovisCombatIdle = 208,
1912 kModelAnimationClovisCombatStrafeSlow = 209, // Untriggered
1913 kModelAnimationClovisCombatStrafeFast = 210, // Untriggered
1914 kModelAnimationClovisCombatGotHitRight = 211,
1915 kModelAnimationClovisCombatGotHitLeft = 212,
1916 kModelAnimationClovisCombatWalking = 213, // Untriggered
1917 kModelAnimationClovisCombatRunning = 214, // UNUSED
1918 kModelAnimationClovisCombatClimbStairsUp = 215, // Untriggered
1919 kModelAnimationClovisCombatClimbStairsDown = 216, // Untriggered
1920 kModelAnimationClovisCombatAssumePosition = 217,
1921 kModelAnimationClovisCombatResumeNonCombat = 218,
1922 kModelAnimationClovisCombatPunchAttack = 219,
1923 kModelAnimationClovisWalking = 220,
1924 kModelAnimationClovisRunning = 221,
1925 kModelAnimationClovisClimbStairsUp = 222, // Untriggered
1926 kModelAnimationClovisClimbStairsDown = 223, // Untriggered
1927 kModelAnimationClovisGotHitRight = 224,
1928 kModelAnimationClovisGotHitLeft = 225,
1929 kModelAnimationClovisShotDead = 226,
1930 kModelAnimationClovisIdle = 227,
1931 kModelAnimationClovisLookingUpAndAbout = 228,
1932 kModelAnimationClovisOscillatingFeet = 229, // UNUSED
1933 kModelAnimationClovisCalmTalk = 230,
1934 kModelAnimationClovisSuggestingTalk = 231,
1935 kModelAnimationClovisSuggestingAndBeardScratchTalk = 232,
1936 kModelAnimationClovisAffirmingTalk = 233,
1937 kModelAnimationClovisHandCircularMoveTalk = 234,
1938 kModelAnimationClovisPointingTalk = 235,
1939 kModelAnimationClovisNegotiatingTalk = 236,
1940 kModelAnimationClovisGiveAndTakeOrPointingToSelf = 237, // UNUSED (Talking too?)
1941 kModelAnimationClovisKneelingChecking = 238,
1942 kModelAnimationClovisStandingToKneeling = 239,
1943 kModelAnimationClovisKneelingToStanding = 240,
1944 kModelAnimationClovisKneelingTalking = 241,
1945 kModelAnimationClovisJumpingDodging = 242, // animation mode 20 (TODO Where is this used in game? In the Moonbus massacre scenario?)
1946 kModelAnimationClovisLayingWithBookIdle = 243,
1947 kModelAnimationClovisLayingWithBookStopsReadingTalk = 244,
1948 kModelAnimationClovisLayingWithBookStillReadingTalk = 245,
1949 kModelAnimationClovisLayingWithBookGotHitOrSmallCough = 246, // UNUSED
1950 kModelAnimationClovisLayingWithBookReadingOutLoud = 247, // Untriggered - ends in kModelAnimationClovisLayingWithBookStopsReadingTalk
1951 kModelAnimationClovisLayingWithBookGotHitOrViolentCough = 248, // Untriggered - ends in kModelAnimationClovisLayingWithBookDyingDropBook
1952 kModelAnimationClovisLayingWithBookDyingDropBook = 249, // Untriggered?!
1953 kModelAnimationClovisLayingWithBookUnholsterGun = 250, // Untriggered - ends in kModelAnimationClovisLayingWithBookPointingGun
1954 kModelAnimationClovisLayingWithBookPointingGun = 251, // maybe also firing? // linked with untriggered kModelAnimationClovisLayingWithBookUnholsterGun
1955 kModelAnimationClovisLayingWithBookDyingDropGun = 252, // This is the one used for Clovis laying down death (A bug?)
1956 // 253 - 276: Lucy animations
1957 kModelAnimationLucyWalking = 253,
1958 kModelAnimationLucyRunning = 254,
1959 kModelAnimationLucyClimbStairsUp = 255,
1960 kModelAnimationLucyClimbStairsDown = 256,
1961 kModelAnimationLucyGotHitBendsForward = 257,
1962 kModelAnimationLucyGotHitBendsBackward = 258,
1963 kModelAnimationLucyShotDead = 259,
1964 kModelAnimationLucyIdle = 260,
1965 kModelAnimationLucyPlayingArcade = 261, // UNUSED
1966 kModelAnimationLucyGestureGive = 262, // UNUSED
1967 kModelAnimationLucyCalmShortRightwardsNodTalk = 263,
1968 kModelAnimationLucyComplainingTalk = 264,
1969 kModelAnimationLucyIntenseTalk = 265,
1970 kModelAnimationLucyPointingTalk = 266,
1971 kModelAnimationLucySelfPointingTalk = 267,
1972 kModelAnimationLucyVeryUpsetTalk = 268,
1973 kModelAnimationLucyCalmLongRightwardsNodTalk = 269,
1974 kModelAnimationLucySubtleThrowKissTalk = 270,
1975 kModelAnimationLucyHappyHopTalk = 271,
1976 kModelAnimationLucyCombatIdle = 272,
1977 kModelAnimationLucyCombatBlocksUp = 273, // Untriggered. Could potentially be used as "attacks up" too
1978 kModelAnimationLucyCombatResumeNonCombat = 274, // Untriggered
1979 kModelAnimationLucyCombatDropsDead = 275, // Untriggered. Somewhat faster than kModelAnimationLucyShotDead (259)
1980 kModelAnimationLucyRemovesNeckletDiesFromExplosion = 276, // Untriggered
1981 // 277 - 311: Izo animations
1982 kModelAnimationIzoCombatIdle = 277,
1983 kModelAnimationIzoCombatTurnRight = 278, // untriggered
1984 kModelAnimationIzoCombatTurnLeft = 279, // untriggered
1985 kModelAnimationIzoCombatGotHitRight = 280,
1986 kModelAnimationIzoCombatGotHitLeft = 281,
1987 kModelAnimationIzoCombatWalking = 282,
1988 kModelAnimationIzoCombatRunning = 283,
1989 kModelAnimationIzoCombatShotDead = 284,
1990 kModelAnimationIzoCombatClimbStairsUp = 285, // untriggered
1991 kModelAnimationIzoCombatClimbStairsDown = 286, // untriggered
1992 kModelAnimationIzoCombatUnseatheSword = 287,
1993 kModelAnimationIzoCombatSeatheSword = 288,
1994 kModelAnimationIzoCombatSwordAttack = 289,
1995 kModelAnimationIzoWalking = 290,
1996 kModelAnimationIzoRunning = 291,
1997 kModelAnimationIzoClimbStairsUp = 292, // untriggered
1998 kModelAnimationIzoClimbStairsDown = 293, // untriggered
1999 kModelAnimationIzoGotHitRight = 294, // UNUSED
2000 kModelAnimationIzoGotHitLeft = 295, // UNUSED
2001 kModelAnimationIzoShotDead = 296,
2002 kModelAnimationIzoIdle = 297,
2003 kModelAnimationIzoAwkwardPlayWithHands = 298,
2004 kModelAnimationIzoCalmTalk = 299,
2005 kModelAnimationIzoMoreCalmTalk = 300,
2006 kModelAnimationIzoExplainingTalk = 301,
2007 kModelAnimationIzoHeadNodsAgreeingTalk = 302,
2008 kModelAnimationIzoOffensiveTalk = 303,
2009 kModelAnimationIzoHeadNodsDisagreeingTalk = 304,
2010 kModelAnimationIzoUnderstandingTalk = 305,
2011 kModelAnimationIzoClimbLadderDown = 306, // untriggered
2012 kModelAnimationIzoClimbLadderUp = 307, // untriggered
2013 kModelAnimationIzoHoldingCameraIdle = 308,
2014 kModelAnimationIzoPicksCameraFromShop = 309,
2015 kModelAnimationIzoHoldingCameraTalk = 310,
2016 kModelAnimationIzoHoldingCameraUsesFlash = 311,
2017 // 312 - 345: Sadik animations
2018 kModelAnimationSadikCombatIdle = 312,
2019 kModelAnimationSadikCombatTurnRight = 313, // untriggered
2020 kModelAnimationSadikCombatTurnLeft = 314, // untriggered
2021 kModelAnimationSadikCombatGotHitFront = 315,
2022 kModelAnimationSadikCombatGotHitMore = 316,
2023 kModelAnimationSadikCombatWalking = 317,
2024 kModelAnimationSadikCombatRunning = 318,
2025 kModelAnimationSadikCombatShotDead = 319, // UNUSED
2026 kModelAnimationSadikCombatUnholsterGun = 320,
2027 kModelAnimationSadikCombatHolsterGun = 321, // untriggered
2028 kModelAnimationSadikCombatFireGunAndReturnToPoseIdle = 322, // A bit bugged. Sadik has all dark/black clothes suddenly here.
2029 kModelAnimationSadikWalking = 323,
2030 kModelAnimationSadikRunning = 324,
2031 kModelAnimationSadikGotHitFront = 325,
2032 kModelAnimationSadikGotHitMore = 326,
2033 kModelAnimationSadikShotDead = 327,
2034 kModelAnimationSadikIdle = 328,
2035 kModelAnimationSadikShiftsShoulders = 329,
2036 kModelAnimationSadikGesturePointOrGive = 330,
2037 kModelAnimationSadikCalmTalk = 331,
2038 kModelAnimationSadikMoreCalmTalk = 332,
2039 kModelAnimationSadikSuggestTalk = 333,
2040 kModelAnimationSadikUrgeTalk = 334,
2041 kModelAnimationSadikAccuseTalk = 335,
2042 kModelAnimationSadikProtestTalk = 336,
2043 kModelAnimationSadikMockTalk = 337,
2044 kModelAnimationSadikThisAndThatTalk = 338,
2045 kModelAnimationSadikClimbLadderDown = 339, // untriggered
2046 kModelAnimationSadikClimbLadderUp = 340, // untriggered
2047 kModelAnimationSadikJumpAcross = 341, // untriggered
2048 kModelAnimationSadikHangingDropsDown = 342, // untriggered
2049 kModelAnimationSadikKicksSomeoneWhoIsDown = 343,
2050 kModelAnimationSadikHoldsSomeoneAndPunches = 344,
2051 kModelAnimationSadikPicksUpAndThrowsMcCoy = 345, // A bit bugged. Last frames 27-30 are empty and Sadik's model looks rough/wrong-ish.
2052 // 346 - 359: Twins/Luther animations
2053 kModelAnimationTwinsSitIdle = 346,
2054 kModelAnimationTwinsSitTyping = 347, // UNUSED
2055 kModelAnimationTwinsSitLancePutsSomethingToTheLeft = 348,
2056 kModelAnimationTwinsSitLanceShortCalmTalk = 349, // Mostly looks like Lance is talking. Probably could be used for both.
2057 kModelAnimationTwinsSitLanceLongerCalmTalk = 350, // Mostly looks like Lance is talking. Probably could be used for both.
2058 kModelAnimationTwinsSitLutherCalmTalk = 351, // Mostly looks like Luther is talking. Probably could be used for both.
2059 kModelAnimationTwinsSitLutherMoreCalmTalk = 352, // Mostly looks like Luther is talking. Probably could be used for both.
2060 kModelAnimationTwinsSitLanceMoreCalmTalk = 353, // Mostly looks like Lance is talking. Probably could be used for both.
2061 kModelAnimationTwinsSitLutherProtestTalk = 354, // Mostly looks like Luther is talking. Probably could be used for both.
2062 kModelAnimationTwinsSitLutherGoAheadTalk = 355, // Mostly looks like Luther is talking. Probably could be used for both.
2063 kModelAnimationTwinsSitLutherHitsOrFeedsLance = 356, // TODO Check when this happens (animationMode: 6)
2064 kModelAnimationTwinsSitDropForwards = 357,
2065 kModelAnimationTwinsSitAlmostDeadLutherPushesButton = 358,
2066 kModelAnimationTwinsSitDieCompletely = 359,
2067 // 360 - 387: EarlyQ animations
2068 kModelAnimationEarlyQCombatIdle = 360,
2069 kModelAnimationEarlyQCombatWalking = 361,
2070 kModelAnimationEarlyQCombatUnholsterGun = 362,
2071 kModelAnimationEarlyQCombatHolsterGun = 363,
2072 kModelAnimationEarlyQCombatFiresGun = 364,
2073 kModelAnimationEarlyQWalking = 365,
2074 kModelAnimationEarlyQGotHitRight = 366,
2075 kModelAnimationEarlyQGotHitLeft = 367,
2076 kModelAnimationEarlyQDropsDead = 368,
2077 kModelAnimationEarlyQIdle = 369,
2078 kModelAnimationEarlyQHandOnFace = 370, // maybe cigarrette?
2079 kModelAnimationEarlyQGivesSomething = 371, // maybe the photo? // TODO check when this happens (animationMode 23)
2080 kModelAnimationEarlyQCalmTalk = 372,
2081 kModelAnimationEarlyQCalmExplainTalk = 373,
2082 kModelAnimationEarlyQVulgarTalk = 374,
2083 kModelAnimationEarlyQDismissTalk = 375,
2084 kModelAnimationEarlyQMoreDismissTalk = 376,
2085 kModelAnimationEarlyQIntenseExplainTalk = 377,
2086 kModelAnimationEarlyQSubtleExplainTalk = 378,
2087 kModelAnimationEarlyQExcitedTalk = 379,
2088 kModelAnimationEarlyQAnnounceTalk = 380,
2089 kModelAnimationEarlyQSPicksUpBottleAndPoursDrink = 381,
2090 kModelAnimationEarlyQSHoldsDrinkIdle = 382,
2091 kModelAnimationEarlyQSitsAndCrossesLegs = 383,
2092 kModelAnimationEarlyQSitIdle = 384,
2093 kModelAnimationEarlyQSitTalk = 385,
2094 kModelAnimationEarlyQSitScorpionAgonyDeath = 386,
2095 kModelAnimationEarlyQSitToStandingUp = 387,
2096 // 388 - 421: Zuben animations
2097 kModelAnimationZubenCombatIdle = 388,
2098 kModelAnimationZubenCombatHitFront = 389,
2099 kModelAnimationZubenCombatHitBack = 390,
2100 kModelAnimationZubenCombatWalking = 391,
2101 kModelAnimationZubenCombatRunning = 392,
2102 kModelAnimationZubenCombatShotDead = 393,
2103 kModelAnimationZubenCombatClimbStairsUp = 394, // UNUSED
2104 kModelAnimationZubenCombatClimbStairsDown = 395, // UNUSED
2105 kModelAnimationZubenCombatUnholsterCleaver = 396,
2106 kModelAnimationZubenCombatHolsterCleaver = 397, // TODO check if properly triggered
2107 kModelAnimationZubenCleaverAttack = 398,
2108 kModelAnimationZubenWalking = 399,
2109 kModelAnimationZubenRunning = 400,
2110 kModelAnimationZubenClimbStairsUp = 401, // UNUSED
2111 kModelAnimationZubenClimbStairsDown = 402, // UNUSED
2112 kModelAnimationZubenClimbShotFront = 403,
2113 kModelAnimationZubenClimbShotBack = 404,
2114 kModelAnimationZubenShotDead = 405,
2115 kModelAnimationZubenIdle = 406,
2116 kModelAnimationZubenQuickLookLeftRight = 407, // UNUSED
2117 kModelAnimationZubenLooksAtSomeone = 408,
2118 kModelAnimationZubenCalmTalk = 409,
2119 kModelAnimationZubenProtestTalk = 410,
2120 kModelAnimationZubenQuestionTalk = 411,
2121 kModelAnimationZubenMoreQuestionTalk = 412,
2122 kModelAnimationZubenPointingTalk = 413,
2123 kModelAnimationZubenYetMoreQuestiongTalk = 414,
2124 kModelAnimationZubenScratchEarTalk = 415,
2125 kModelAnimationZubenDontKnowTalk = 416,
2126 kModelAnimationZubenThreatenTalk = 417,
2127 kModelAnimationZubenPlayWithHands = 418, // TODO partially used?
2128 kModelAnimationZubenToppleSoupCauldron = 419,
2129 kModelAnimationZubenBashOnDoor = 420,
2130 kModelAnimationZubenJumpDownFromCeiling = 421,
2131 // 422 - 437: Generic walker A/B/C animations (with/without umbrella, walking/still)
2132 kModelGenWalkerHattedPersonFastPace = 422, // Walking - Frame 1 used for standing still
2133 kModelGenWalkerHattedPersonLoweredFace = 423, // Walking - Frame 6 used for standing still
2134 kModelGenWalkerHattedPersonWithUmbrella = 424, // Walking - Same model as 426
2135 kModelGenWalkerHattedPersonNoUmbrellaSmallSteps = 425, // Walking - Same model as 427
2136 kModelGenWalkerHattedPersonWithUmbrellaStandsStill = 426, // Standing - Same model as 424
2137 kModelGenWalkerHattedPersonNoUmbrellaStandsStill = 427, // Standing - Same model as 425
2138 kModelGenWalkerHoodedPersonWithUmbrella = 428, // Walking - Same model as 430
2139 kModelGenWalkerPunkPersonWithGlassesAndBeard = 429, // Walking - Same model as 431
2140 kModelGenWalkerHoodedPersonWithUmbrellaStandsStill = 430, // Standing - Same model as 428
2141 kModelGenWalkerPunkPersonWithGlassesAndBeardStandsStill = 431, // Standing - Same model as 429
2142 kModelGenWalkerPunkPersonWithGlasses = 432, // Walking - Same model as 433
2143 kModelGenWalkerPunkPersonWithGlassesStandsStill = 433, // Standing - Same model as 432
2144 kModelGenWalkerHattedChild = 434, // Walking - Frame 11 used for standing still
2145 kModelGenWalkerChild = 435, // Walking - Frame 0 (or 5) used for standing still
2146 kModelGenWalkerHattedPersonWithWoodenUmbrella = 436, // Walking - Frame 4 used for standing still
2147 kModelGenWalkerHattedLadyWithWoodenUmbrellaStandsStill = 437, // Standing - *Not the same model with 436* - Just single frame
2148 // 438 - 439: Dancer model animations (UNUSED - RESTORED)
2149 kModelAnimationHysteriaPatron3DanceHandsDownLeanBackForth = 438, // UNUSED - 27 frames - RESTORED
2150 kModelAnimationHysteriaPatron3DanceHandsDownToHandsUp = 439, // UNUSED - 24 frames - RESTORED (not looping, needs to be subsequently reversed to loop)
2151 // 440: Tracking Gun (At Bullet Bob's shop)
2152 kModelAnimationBulletBobsTrackingGun = 440,
2153 // 441 - 450: Shooting range targets
2154 kModelAnimationMaleTargetEmptyHandsActive = 441,
2155 kModelAnimationMaleTargetEmptyHandsDead = 442, // 441+1
2156 kModelAnimationMaleTargetWithGunActive = 443,
2157 kModelAnimationMaleTargetWithGunDead = 444, // 443+1
2158 kModelAnimationMaleTargetWithShotgunActive = 445,
2159 kModelAnimationMaleTargetWithShotgunDead = 446, // 445+1
2160 kModelAnimationFemaleTargetWithBabyActive = 447,
2161 kModelAnimationFemaleTargetWithBabyDead = 448, // 447+1
2162 kModelAnimationFemaleTargetWithGunActive = 449,
2163 kModelAnimationFemaleTargetWithGunDead = 450, // 449+1
2164 // 451: Baker animations (probably for debug purposes or leftover from a removed character)
2165 kModelAnimationBakerTpose = 451, // This is a security guard T-pose (1 frame) model
2166 // 452 - 469: CrazyLegs animations
2167 kModelAnimationCrazylegsRollSlow = 452,
2168 kModelAnimationCrazylegsRollFast = 453, // untriggered
2169 kModelAnimationCrazylegsIdle = 454,
2170 kModelAnimationCrazylegsHandsUpIdle = 455, // Is this triggered for Crazylegs?
2171 kModelAnimationCrazylegsMobileIdle = 456, // Is this triggered for Crazylegs?
2172 kModelAnimationCrazylegsGestureGive = 457, // animationMode 23. Is this triggered for Crazylegs?
2173 kModelAnimationCrazylegsCalmTalk = 458,
2174 kModelAnimationCrazylegsSmallHandMoveTalk = 459,
2175 kModelAnimationCrazylegsPointingAtSelfTalk = 460,
2176 kModelAnimationCrazylegsDisagreeTalk = 461,
2177 kModelAnimationCrazylegsFastTalk = 462,
2178 kModelAnimationCrazylegsProtestTalk = 463,
2179 kModelAnimationCrazylegsMobileCalmTalk = 464, // last frame (11) seems bugged (hand snaps to bit lower and without mobile)
2180 kModelAnimationCrazylegsMobileIntenseTalk = 465,
2181 kModelAnimationCrazylegsHandsUpTalk = 466,
2182 kModelAnimationCrazylegsHandsUpRaisesHands = 467, // untriggered
2183 kModelAnimationCrazylegsHandsUpLowersHands = 468,
2184 kModelAnimationCrazylegsHangsUpMobile = 469,
2185 // 470 - 486: Grigorian animations
2186 kModelAnimationGrigorianWalking = 470, // UNUSED
2187 kModelAnimationGrigorianSitIdle = 471, // UNUSED
2188 kModelAnimationGrigorianSitIdleNailBiting = 472, // UNUSED
2189 kModelAnimationGrigorianSitDismissTalk = 473, // UNUSED
2190 kModelAnimationGrigorianSitHeadacheTalk = 474, // UNUSED
2191 kModelAnimationGrigorianSitProtestTalk = 475, // UNUSED
2192 kModelAnimationGrigorianSitToStandingUp = 476, // UNUSED
2193 kModelAnimationGrigorianSitFromStandingUp = 477, // UNUSED
2194 kModelAnimationGrigorianStandIdle = 478, // maybe calm talk too?
2195 kModelAnimationGrigorianStandAnnoyedTalk = 479,
2196 kModelAnimationGrigorianStandArmsCrossedTalk = 480,
2197 kModelAnimationGrigorianStandProtestTalk = 481,
2198 kModelAnimationGrigorianStandProtestMoreTalk = 482,
2199 kModelAnimationGrigorianStandProtestEvenMoreTalk = 483,
2200 kModelAnimationGrigorianStandInsistentTalk = 484,
2201 kModelAnimationGrigorianStandDismissOrAccuseTalk = 485,
2202 kModelAnimationGrigorianStandBegOrMockingTalk = 486,
2203 // 487 - 505: Transient/Homeless animations
2204 kModelAnimationTransientWalking = 487,
2205 kModelAnimationTransientRunning = 488, // UNUSED
2206 kModelAnimationTransientShotDeadCollapseInPlace = 489,
2207 kModelAnimationTransientShotInTheBackDropsDead = 490, // UNUSED
2208 kModelAnimationTransientLayingIdle = 491,
2209 kModelAnimationTransientLayingCalmTalk = 492,
2210 kModelAnimationTransientLayingMoreCalmTalk = 493,
2211 kModelAnimationTransientLayingThisAndThatTalk = 494,
2212 kModelAnimationTransientLayingShotDead = 495,
2213 kModelAnimationTransientLayingGestureGiveOrTake = 496,
2214 kModelAnimationTransientIdle = 497,
2215 kModelAnimationTransientIdleToSearchingTrash = 498, // UNUSED
2216 kModelAnimationTransientPickingNodeAndWiping = 499,
2217 kModelAnimationTransientGestureGive = 500, // or probably idle, but it doesn't look like idle
2218 kModelAnimationTransientScratchBackOfHeadTalk = 501,
2219 kModelAnimationTransientDescriptiveTalk = 502,
2220 kModelAnimationTransientPointingAtTalk = 503, // Could be used when he points to where Zuben ran to
2221 kModelAnimationTransientSearchingTrash = 504,
2222 kModelAnimationTransientSearchingTrashToIdle = 505,
2223 // 506 - 525: Bullet Bob animations
2224 kModelAnimationBulletBobSittingCombatIdle = 506,
2225 kModelAnimationBulletBobSittingCombatGotHit = 507, // UNUSED
2226 kModelAnimationBulletBobSittingCombatStrafeSlow = 508, // UNUSED
2227 kModelAnimationBulletBobSittingCombatStrafeFast = 509, // UNUSED
2228 kModelAnimationBulletBobSittingCombatShotDead = 510,
2229 kModelAnimationBulletBobSittingCombatTalk = 511, // UNUSED
2230 kModelAnimationBulletBobSittingCombatRetrievesGun = 512,
2231 kModelAnimationBulletBobSittingCombatFiresGun = 513,
2232 kModelAnimationBulletBobSittingIdle = 514,
2233 kModelAnimationBulletBobSittingHeadMoveAround = 515, // UNUSED - RESTORED
2234 kModelAnimationBulletBobSittingHeadMoveDownThink = 516,
2235 kModelAnimationBulletBobSittingCalmTalk = 517,
2236 kModelAnimationBulletBobSittingDismissiveTalk = 518,
2237 kModelAnimationBulletBobSittingSuggestTalk = 519,
2238 kModelAnimationBulletBobSittingQuickSuggestTalk = 520,
2239 kModelAnimationBulletBobSittingExplainTalk = 521,
2240 kModelAnimationBulletBobSittingGossipTalk = 522,
2241 kModelAnimationBulletBobSittingHeadNodLeftTalk = 523,
2242 kModelAnimationBulletBobSittingPersistentTalk = 524,
2243 kModelAnimationBulletBobSittingThumbsUp = 525, // TODO when is this used? animationMode 23
2244 // 526 - 544: Runciter animations
2245 kModelAnimationRunciterWalking = 526,
2246 kModelAnimationRunciterGotHit = 527, // UNUSED
2247 kModelAnimationRunciterShotDead = 528,
2248 kModelAnimationRunciterIdle = 529,
2249 kModelAnimationRunciterScratchesWoundIdle = 530,
2250 kModelAnimationRunciterPicksNose = 531,
2251 kModelAnimationRunciterGestureGive = 532,
2252 kModelAnimationRunciterCalmTalk = 533,
2253 kModelAnimationRunciterSuggestOnTipToesTalk = 534, // TODO why does he seem on tip-toes? Is someone holding him up?
2254 kModelAnimationRunciterExplainTalk = 535,
2255 kModelAnimationRunciterAngryTalk = 536,
2256 kModelAnimationRunciterQuestionTalk = 537,
2257 kModelAnimationRunciterOffensiveTalk = 538,
2258 kModelAnimationRunciterComplainCryTalk = 539,
2259 kModelAnimationRunciterDespairTalk = 540,
2260 kModelAnimationRunciterCannotBelieveTalk = 541,
2261 kModelAnimationRunciterAttack = 542, // UNUSED - TODO What is he supposed to be doing?
2262 kModelAnimationRunciterDefendOrPourMove = 543, // UNUSED - TODO What is he supposed to be doing?
2263 kModelAnimationRunciterProtectSelfMove = 544, // UNUSED - TODO What is he supposed to be doing?
2264 // 545 - 554: Insect Dealer animations
2265 kModelAnimationInsectDealerSittingIdle = 545,
2266 kModelAnimationInsectDealerSittingScratchEarIdle = 546,
2267 kModelAnimationInsectDealerSittingGestureGive = 547, // TODO is this used? animationMode: 23
2268 kModelAnimationInsectDealerSittingCalmTalk = 548,
2269 kModelAnimationInsectDealerSittingExplainTalk = 549,
2270 kModelAnimationInsectDealerSittingPointingTalk = 550,
2271 kModelAnimationInsectDealerSittingHeadMoveTalk = 551,
2272 kModelAnimationInsectDealerSittingSuggestTalk = 552,
2273 kModelAnimationInsectDealerSittingGossipTalk = 553,
2274 kModelAnimationInsectDealerSittingDescriptiveTalk = 554,
2275 // 555 - 565: Tyrell Guard animations
2276 kModelAnimationTyrellGuardSittingIdle = 555,
2277 kModelAnimationTyrellGuardSittingLookingAtMonitorIdle = 556, // UNUSED
2278 kModelAnimationTyrellGuardSittingGestureGive = 557,
2279 kModelAnimationTyrellGuardSittingCalmTalk = 558,
2280 kModelAnimationTyrellGuardSittingExplainTalk = 559,
2281 kModelAnimationTyrellGuardSittingHandOverHeadTalk = 560,
2282 kModelAnimationTyrellGuardSittingSuggestTalk = 561,
2283 kModelAnimationTyrellGuardSittingUpsetTalk = 562,
2284 kModelAnimationTyrellGuardSittingMaybeHugsMonitors = 563, // ??? untriggered
2285 kModelAnimationTyrellGuardSittingSleepingWakingUp = 564, // Triggered to play partially (states 1, 2)
2286 kModelAnimationTyrellGuardSittingPressingAlertButton = 565, // TODO check - does this actually get triggered? animationMode 50
2287 // 566 - 570: Mia animations
2288 kModelAnimationMiaIdle = 566,
2289 kModelAnimationMiaGestureGive = 567, // TODO when is this used? animationMode 23
2290 kModelAnimationMiaHeadNodTalk = 568,
2291 kModelAnimationMiaMoreCalmTalk = 569,
2292 kModelAnimationMiaHandsOnWaistTalk = 570,
2293 // 571 - 604: Officer Leary animations
2294 kModelAnimationOfficerLearyCombatIdle = 571,
2295 kModelAnimationOfficerLearyCombatGotHitRight = 572,
2296 kModelAnimationOfficerLearyCombatGotHitLeft = 573,
2297 kModelAnimationOfficerLearyCombatWalking = 574,
2298 kModelAnimationOfficerLearyCombatRunning = 575,
2299 kModelAnimationOfficerLearyCombatShotDead = 576,
2300 kModelAnimationOfficerLearyCombatClimbStairsUp = 577, // untriggered?
2301 kModelAnimationOfficerLearyCombatClimbStairsDown = 578, // untriggered?
2302 kModelAnimationOfficerLearyCombatUnholsterGun = 579,
2303 kModelAnimationOfficerLearyCombatHolsterGun = 580,
2304 kModelAnimationOfficerLearyCombatFireGun = 581,
2305 kModelAnimationOfficerLearyWalking = 582,
2306 kModelAnimationOfficerLearyRunning = 583,
2307 kModelAnimationOfficerLearyClimbStairsUp = 584, // untriggered?
2308 kModelAnimationOfficerLearyClimbStairsDown = 585, // untriggered?
2309 kModelAnimationOfficerLearyGotHitFront = 586,
2310 kModelAnimationOfficerLearyGotHitBack = 587,
2311 kModelAnimationOfficerLearyShotDead = 588,
2312 kModelAnimationOfficerLearyOscillateIdle = 589,
2313 kModelAnimationOfficerLearyLookAroundIdle = 590,
2314 kModelAnimationOfficerLearyRockBackForthIdle = 591,
2315 kModelAnimationOfficerLearyCalmExplainTalk = 592,
2316 kModelAnimationOfficerLearyIndicateTalk = 593,
2317 kModelAnimationOfficerLearyLongerExplainTalk = 594,
2318 kModelAnimationOfficerLearyWarnOrThreatenTalk = 595,
2319 kModelAnimationOfficerLearyUpsetOrCommandTalk = 596,
2320 kModelAnimationOfficerLearyMoreUpsetTalk = 597,
2321 kModelAnimationOfficerLearyUrgeOrQuestionTalk = 598,
2322 kModelAnimationOfficerLearyHandsOnWaistTalk = 599,
2323 kModelAnimationOfficerLearyScratchHeadApologyTalk = 600,
2324 kModelAnimationOfficerLearyTakingNotes = 601,
2325 kModelAnimationOfficerLearyIntenseTakingNotes = 602, // UNUSED
2326 kModelAnimationOfficerLearyPutNotepadAway = 603,
2327 kModelAnimationOfficerLearyTakeOutNotepad = 604,
2328 // 605 - 641: Officer Grayford animations
2329 kModelAnimationOfficerGrayfordCombatIdle = 605,
2330 kModelAnimationOfficerGrayfordCombatSlowStrafe = 606, // UNUSED
2331 kModelAnimationOfficerGrayfordCombatFastStrafe = 607, // UNUSED
2332 kModelAnimationOfficerGrayfordCombatGotHitRight = 608,
2333 kModelAnimationOfficerGrayfordCombatGotHitLeft = 609,
2334 kModelAnimationOfficerGrayfordCombatWalking = 610,
2335 kModelAnimationOfficerGrayfordCombatRunning = 611,
2336 kModelAnimationOfficerGrayfordCombatShotDead = 612,
2337 kModelAnimationOfficerGrayfordCombatClimbStairsUp = 613, // UNUSED
2338 kModelAnimationOfficerGrayfordCombatClimbStairsDown = 614, // UNUSED
2339 kModelAnimationOfficerGrayfordCombatUnholsterGun = 615,
2340 kModelAnimationOfficerGrayfordCombatHolsterGun = 616,
2341 kModelAnimationOfficerGrayfordCombatFireGun = 617,
2342 kModelAnimationOfficerGrayfordWalking = 618,
2343 kModelAnimationOfficerGrayfordRunning = 619,
2344 kModelAnimationOfficerGrayfordClimbStairsUp = 620, // UNUSED
2345 kModelAnimationOfficerGrayfordClimbStairsDown = 621, // UNUSED
2346 kModelAnimationOfficerGrayfordGotHitFront = 622,
2347 kModelAnimationOfficerGrayfordGotHitBack = 623,
2348 kModelAnimationOfficerGrayfordShotDead = 624,
2349 kModelAnimationOfficerGrayfordOscillateIdle = 625,
2350 kModelAnimationOfficerGrayfordLookAroundDownwardsIdle = 626,
2351 kModelAnimationOfficerGrayfordLookAroundSidewaysIdle = 627,
2352 kModelAnimationOfficerGrayfordGestureGive = 628, // UNUSED
2353 kModelAnimationOfficerGrayfordCalmExplainTalk = 629,
2354 kModelAnimationOfficerGrayfordCalmRightHandMoveTalk = 630,
2355 kModelAnimationOfficerGrayfordScratchHeadTalk = 631,
2356 kModelAnimationOfficerGrayfordQuickHandMoveTalk = 632,
2357 kModelAnimationOfficerGrayfordSevereTalk = 633,
2358 kModelAnimationOfficerGrayfordMockTalk = 634,
2359 kModelAnimationOfficerGrayfordPointingTalk = 635,
2360 kModelAnimationOfficerGrayfordQuestionTalk = 636,
2361 kModelAnimationOfficerGrayfordDismissTalk = 637,
2362 kModelAnimationOfficerGrayfordPlaceRadioToEar = 638,
2363 kModelAnimationOfficerGrayfordTalkToAndLowerRadio = 639,
2364 kModelAnimationOfficerGrayfordTakeOutRadioFromPocket = 640,
2365 kModelAnimationOfficerGrayfordPutAwayRadioInPocket = 641,
2366 // 642 - 660: Hanoi animations
2367 kModelAnimationHanoiCombatIdle = 642,
2368 kModelAnimationHanoiCombatKicksDoorIn = 643, // TODO check when this happens (animationMode 71)
2369 kModelAnimationHanoiCombatFiresGun = 644,
2370 kModelAnimationHanoiWalking = 645,
2371 kModelAnimationHanoiGotHitOrViolentHeadNod = 646,
2372 kModelAnimationHanoiShotDead = 647,
2373 kModelAnimationHanoiLooksAroundIdle = 648,
2374 kModelAnimationHanoiScratchesBackIdle = 649,
2375 kModelAnimationHanoiCalmTalk = 650,
2376 kModelAnimationHanoiExplainTalk = 651,
2377 kModelAnimationHanoiDownwardsNodTalk = 652,
2378 kModelAnimationHanoiDenyTalk = 653,
2379 kModelAnimationHanoiSlightBowingTalk = 654,
2380 kModelAnimationHanoiLaughTalk = 655, // untriggered. Restored.
2381 kModelAnimationHanoiMockTalk = 656,
2382 kModelAnimationHanoiGrabsMcCoy = 657, // TODO check when this happens (animationMode 23)
2383 kModelAnimationHanoiHoldsMcCoyUp = 658,
2384 kModelAnimationHanoiHoldsMcCoyUpAndTalks = 659,
2385 kModelAnimationHanoiPunchUpAttack = 660, // untriggered
2386 // 661 - 670: Desk Clerk (Yukon) animations
2387 kModelAnimationDeskClerkReadPaperIdle = 661,
2388 kModelAnimationDeskClerkReadPaperChangePageIdle = 662,
2389 kModelAnimationDeskClerkReadPaperCalmTalk = 663,
2390 kModelAnimationDeskClerkReadPaperMoreCalmTalk = 664,
2391 kModelAnimationDeskClerkReadPaperMoveLeftTalk = 665,
2392 kModelAnimationDeskClerkReadPaperSlightClosePaperTalk = 666,
2393 kModelAnimationDeskClerkReadPaperMoreClosePaperTalk = 667,
2394 kModelAnimationDeskClerkIsHeldUpByLeonIdle = 668,
2395 kModelAnimationDeskClerkFallingAfterLeonLetsGo = 669,
2396 kModelAnimationDeskClerkHeadSmashedOnCounter = 670,
2397 // 671 - 681: Howie Lee animations
2398 kModelAnimationHowieLeeGathersOfTidiesUp = 671,
2399 kModelAnimationHowieLeeWalking = 672,
2400 kModelAnimationHowieLeePutsIngredientsCooking = 673,
2401 kModelAnimationHowieLeeLongGestureGive = 674,
2402 kModelAnimationHowieLeeQuickGestureGive = 675, // UNUSED
2403 kModelAnimationHowieLeeCalmTalk = 676,
2404 kModelAnimationHowieLeeExplainTalk = 677,
2405 kModelAnimationHowieLeeUpsetTalk = 678,
2406 kModelAnimationHowieLeeAngryTalk = 679,
2407 kModelAnimationHowieLeeNoTimeTalk = 680,
2408 kModelAnimationHowieLeeElaborateMovementTalk = 681, // Sushi throwing?
2409 // 682 - 687: Fish Dealer animations
2410 kModelAnimationFishDealerWalking = 682,
2411 kModelAnimationFishDealerIdle = 683,
2412 kModelAnimationFishDealerGestureGive = 684, // TODO check when this happens (animationMode 23)
2413 kModelAnimationFishDealerCalmTalk = 685,
2414 kModelAnimationFishDealerExplainTalk = 686,
2415 kModelAnimationFishDealerNoTroubleTalk = 687,
2416 // 688 - 697: Dino Klein animations
2417 kModelAnimationKleinWalking = 688,
2418 kModelAnimationKleinStandingIdle = 689,
2419 kModelAnimationKleinTalkScratchBackOfHead = 690,
2420 kModelAnimationKleinWorkingOnInstruments = 691,
2421 kModelAnimationKleinTalkSmallLeftHandMove = 692,
2422 kModelAnimationKleinTalkRightHandTouchFace = 693,
2423 kModelAnimationKleinTalkWideHandMotion = 694,
2424 kModelAnimationKleinTalkSuggestOrAsk = 695,
2425 kModelAnimationKleinTalkDismissive = 696,
2426 kModelAnimationKleinTalkRaisingBothHands = 697,
2427 // 698 - 704: Murray animations
2428 kModelAnimationMurrayIdle = 698,
2429 kModelAnimationMurrayGestureGive = 699, // untriggered
2430 kModelAnimationMurrayCalmTalk = 700,
2431 kModelAnimationMurrayMoreCalmTalk = 701,
2432 kModelAnimationMurrayExplainTalk = 702,
2433 kModelAnimationMurrayMoreExplainTalk = 703,
2434 kModelAnimationMurrayCautionTalk = 704,
2435 // 705 - 715: Hawker's Barkeep animations
2436 kModelAnimationHawkersBarkeepIdle = 705,
2437 kModelAnimationHawkersBarkeepCleaningBar = 706,
2438 kModelAnimationHawkersBarkeepWipingGlasses = 707,
2439 kModelAnimationHawkersBarkeepGestureGive = 708,
2440 kModelAnimationHawkersBarkeepGiveMoonshine = 709,
2441 kModelAnimationHawkersBarkeepCalmTalk = 710,
2442 kModelAnimationHawkersBarkeepExplainTalk = 711,
2443 kModelAnimationHawkersBarkeepBentsAndWipesTalk = 712,
2444 kModelAnimationHawkersBarkeepAltGestureGiveTalk = 713, // similar to 708, kind of bents more
2445 kModelAnimationHawkersBarkeepBentingTalk = 714,
2446 kModelAnimationHawkersBarkeepBentingAndDismissTalk = 715,
2447 // 716 - 721: Holloway animations
2448 kModelAnimationHollowayWalking = 716,
2449 kModelAnimationHollowayIdle = 717,
2450 kModelAnimationHollowaySlightHeadMove = 718, // UNUSED
2451 kModelAnimationHollowayGlobAttack = 719,
2452 kModelAnimationHollowayCalmTalk = 720,
2453 kModelAnimationHollowayExplainTalk = 721,
2454 // 722 - 731: Sergeant Walls animations
2455 kModelAnimationSergeantWallsIdle = 722,
2456 kModelAnimationSergeantWallsScratchHead = 723, // UNUSED
2457 kModelAnimationSergeantWallsGestureGive = 724,
2458 kModelAnimationSergeantWallsCalmTalk = 725,
2459 kModelAnimationSergeantWallsMoreHeadMoveTalk = 726,
2460 kModelAnimationSergeantWallsExplainTalk = 727,
2461 kModelAnimationSergeantWallsLaughTalk = 728,
2462 kModelAnimationSergeantWallsHarderLaughTalk = 729,
2463 kModelAnimationSergeantWallsDefendTalk = 730,
2464 kModelAnimationSergeantWallsHitsBuzzerTalk = 731,
2465 // 732 - 743: Moraji animations
2466 // In all Moraji's animations except 742, 743, he still has the cuff on his left hand
2467 kModelAnimationMorajiRunning = 732,
2468 kModelAnimationMorajiCuffedIdle = 733,
2469 kModelAnimationMorajiCuffedFastTalk = 734,
2470 kModelAnimationMorajiCuffedMoreFastTalk = 735,
2471 kModelAnimationMorajiCuffedPointingTalk = 736,
2472 kModelAnimationMorajiCuffedSomethingExplodingToHisLeft = 737, // McCoy shooting at cuffs
2473 kModelAnimationMorajiCuffedShotDead = 738,
2474 kModelAnimationMorajiRunningDivesForward = 739,
2475 kModelAnimationMorajiLayingForwardTalk = 740,
2476 kModelAnimationMorajiLayingForwardDies = 741,
2477 kModelAnimationMorajiSittingGetsUp = 742, // no cuff here
2478 kModelAnimationMorajiStandingUpUrgentTalk = 743, // UNUSED - no cuff here either
2479 // 744 - 750: Photographer animations
2480 kModelAnimationPhotographerWalking = 744,
2481 kModelAnimationPhotographerIdle = 745,
2482 kModelAnimationPhotographerTakingAPhoto = 746,
2483 kModelAnimationPhotographerCalmTalk = 747,
2484 kModelAnimationPhotographerMoreHeadMoveTalk = 748, // UNUSED - RESTORED
2485 kModelAnimationPhotographerExplainTalk = 749,
2486 kModelAnimationPhotographerSuggestTalk = 750,
2487 // 751: Rajif animations
2488 kModelAnimationRajifWithGunIdle = 751,
2489 // 752 - 757: EarlyQ Bartender animations
2490 kModelAnimationEarlyQBartenderWipingGlassIdle = 752,
2491 kModelAnimationEarlyQBartenderWipingTable = 753,
2492 kModelAnimationEarlyQBartenderPuttingAGlassOnTable = 754,
2493 kModelAnimationEarlyQBartenderCalmTalk = 755,
2494 kModelAnimationEarlyQBartenderExplainTalk = 756, // UNUSED - RESTORED
2495 kModelAnimationEarlyQBartenderDescribeTalk = 757,
2496 // 758 - 764: Shoeshine Man animations (UNUSED)
2497 kModelAnimationShoeshineManWalking = 758, // UNUSED
2498 kModelAnimationShoeshineManSitsIdle = 759, // UNUSED
2499 kModelAnimationShoeshineManSitsGestureGive = 760, // UNUSED
2500 kModelAnimationShoeshineManSitsCalmTalk = 761, // UNUSED
2501 kModelAnimationShoeshineManSitsMoreHeadMoveTalk = 762, // UNUSED
2502 kModelAnimationShoeshineManSitsViolentHeadMove = 763, // UNUSED - Coughs? Spits? Talks?
2503 kModelAnimationShoeshineManSitsGetsUp = 764, // UNUSED
2504 // 765 - 772: Tyrell animations
2505 kModelAnimationTyrellWalking = 765,
2506 kModelAnimationTyrellIdle = 766,
2507 kModelAnimationTyrellHeadMoveIdle = 767,
2508 kModelAnimationTyrellFastNodTalk = 768,
2509 kModelAnimationTyrellSuggestTalk = 769,
2510 kModelAnimationTyrellConsideringTalk = 770,
2511 kModelAnimationTyrellBowsAndSuggestsTalk = 771, // TODO check if triggered
2512 kModelAnimationTyrellDismissTalk = 772,
2513 // 773 - 787: Chew animations
2514 kModelAnimationChewWalking = 773, // untriggered
2515 kModelAnimationChewTakesAStepBackwards = 774, // untriggered
2516 kModelAnimationChewGotHit = 775, // untriggered
2517 kModelAnimationChewShotDead = 776, // untriggered
2518 kModelAnimationChewIdle = 777,
2519 kModelAnimationChewFiddlingWithInstruments = 778,
2520 kModelAnimationChewAdjustingInstrument = 779,
2521 kModelAnimationChewProtestTalk = 780,
2522 kModelAnimationChewAngryTalk = 781,
2523 kModelAnimationChewExplainTalk = 782,
2524 kModelAnimationChewGoAwayTalk = 783, // frame 6 is a bit bugged (a slice is missing at head height)
2525 kModelAnimationChewDismissiveTalk = 784,
2526 kModelAnimationChewPointingSomewhereTalk = 785, // TODO check if triggered
2527 kModelAnimationChewDescribePulledTalk = 786, // TODO check if triggered
2528 kModelAnimationChewDescribePushedTalk = 787, // TODO check if triggered
2529 // 788 - 804: Gaff animations
2530 kModelAnimationGaffWalking = 788,
2531 kModelAnimationGaffClimbStairsUp = 789, // UNUSED
2532 kModelAnimationGaffClimbStairsDown = 790, // UNUSED
2533 kModelAnimationGaffGotHitRight = 791, // UNUSED
2534 kModelAnimationGaffGotHitLeft = 792, // UNUSED
2535 kModelAnimationGaffShotDown = 793, // UNUSED // probably not dead, for continuity reasons
2536 kModelAnimationGaffIdle = 794,
2537 kModelAnimationGaffLooksAroundAndDown = 795, // UNUSED
2538 kModelAnimationGaffMakesOrigamiMaybe = 796, // UNUSED
2539 kModelAnimationGaffGestureGive = 797, // UNUSED
2540 kModelAnimationGaffCalmPointingWithStickTalk = 798,
2541 kModelAnimationGaffExplainTalk = 799,
2542 kModelAnimationGaffDescribeTalk = 800,
2543 kModelAnimationGaffLaughHeadBackTalk = 801,
2544 kModelAnimationGaffEntersSpinner = 802,
2545 kModelAnimationGaffExitsSpinner = 803, // UNUSED
2546 kModelAnimationGaffReachesOver = 804, // UNUSED
2547 // 805 - 808: Bear "Bryant" (Sebastian's toy) animations
2548 kModelAnimationBearToyWalking = 805,
2549 kModelAnimationBearToyOscillatingIdle = 806, // untriggered?
2550 kModelAnimationBearToyGotHit = 807, // UNUSED
2551 kModelAnimationBearToyShotDead = 808, // untriggered
2552 // 809 - 821: Sebastian animations
2553 kModelAnimationSebastianWalking = 809, // TODO check if Sebastian ever walks (probably not)
2554 kModelAnimationSebastianStepsBack = 810, // TODO check when this happens (animationMode 20)
2555 kModelAnimationSebastianIdle = 811,
2556 kModelAnimationSebastianAwkwardPlayWithHands = 812, // UNUSED
2557 kModelAnimationSebastianCalmHeadNodLeftTalk = 813,
2558 kModelAnimationSebastianCalmHeadNodRightTalk = 814,
2559 kModelAnimationSebastianSuggestTalk = 815,
2560 kModelAnimationSebastianWonderingTalk = 816,
2561 kModelAnimationSebastianPointingToSelfTalk = 817,
2562 kModelAnimationSebastianScratchEarTalk = 818,
2563 kModelAnimationSebastianAnnoyedTalk = 819,
2564 kModelAnimationSebastianWaitTalk = 820, // last frame 13 is bugged (empty)
2565 kModelAnimationSebastianTriesToRunHitsHeadAndFalls = 821, // untriggered -- related to animationMode 48 "kAnimationModeDie"
2566 // 822 - 832: Rachael animations
2567 kModelAnimationRachaelWalking = 822,
2568 kModelAnimationRachaelIdle = 823,
2569 kModelAnimationRachaelIdleOscilate = 824, // UNUSED
2570 kModelAnimationRachaelTalkSoftNod = 825,
2571 kModelAnimationRachaelTalkNodToLeft = 826,
2572 kModelAnimationRachaelTalkSuggestWithNodToLeft = 827,
2573 kModelAnimationRachaelTalkIndiffWithNodToLeft = 828,
2574 kModelAnimationRachaelTalkOfferPointing = 829,
2575 kModelAnimationRachaelTalkHaltMovement = 830,
2576 kModelAnimationRachaelTalkHandOnChest = 831,
2577 kModelAnimationRachaelTalkHandWaveToRight = 832,
2578 // 833 - 837: "General" (Sebastian's toy) animations
2579 kModelGeneralDollWalking = 833,
2580 kModelGeneralDollIdle = 834,
2581 kModelGeneralDollHaltSalute = 835,
2582 kModelGeneralDollShotDead = 836, // untriggered
2583 kModelGeneralDollGotHit = 837, // untriggered
2584 // 838 - 845: Mama Isabella animations
2585 kModelIsabellaIdle = 838,
2586 kModelIsabellaPutsSpicesInSoup = 839,
2587 kModelIsabellaGestureGiveOrTake = 840, // untriggered
2588 kModelIsabellaCalmTalk = 841,
2589 kModelIsabellaSuggestTalk = 842,
2590 kModelIsabellaProtestTalk = 843,
2591 kModelIsabellaMoreCalmTalk = 844,
2592 kModelIsabellaLaughTalk = 845,
2593 // 846 - 856: Leon animations
2594 kModelLeonWalking = 846,
2595 kModelLeonIdle = 847,
2596 kModelLeonGrabHoldHigh = 848,
2597 kModelLeonGrabLetsGo = 849,
2598 kModelLeonCalmTalk = 850,
2599 kModelLeonComplainTalk = 851,
2600 kModelLeonAwkwardTalk = 852,
2601 kModelLeonDenyTalk = 853,
2602 kModelLeonGrabTalk = 854,
2603 kModelLeonGrabAndGutPunchTalk = 855,
2604 kModelLeonPunchAttack = 856,
2605 // 857 - 862: Rat (Free Slot A/B) animations
2606 kModelAnimationRatJumpAttack = 857,
2607 kModelAnimationRatRunning = 858,
2608 kModelAnimationRatDying = 859,
2609 kModelAnimationRatHurt = 860,
2610 kModelAnimationRatIdle = 861,
2611 kModelAnimationRatSlowWalk = 862,
2612 // 863 - 876: Maggie animations
2613 kModelAnimationMaggieWalking = 863,
2614 kModelAnimationMaggieStandingIdle = 864,
2615 kModelAnimationMaggieBarking = 865,
2616 kModelAnimationMaggieLyingDown = 866,
2617 kModelAnimationMaggieLyingIdleTailWagging = 867,
2618 kModelAnimationMaggieLyingStandingUp = 868,
2619 kModelAnimationMaggieStandingOnTwoFeet = 869,
2620 kModelAnimationMaggieBarkingOrHeadUp = 870,
2621 kModelAnimationMaggieLyingDead = 871,
2622 kModelAnimationMaggieWalkingTrapped = 872,
2623 kModelAnimationMaggieStandingOnTwoFeetTrapped = 873,
2624 kModelAnimationMaggieExploding = 874,
2625 kModelAnimationMaggieStandingIdleTrapped = 875,
2626 kModelAnimationMaggieToggleSleepingWakeUp = 876,
2627 // 877 - 884: Hysteria Patron1 (dancer) animations
2628 kModelAnimationHysteriaPatron1DanceStandingUpSemiSitAndUp = 877,
2629 kModelAnimationHysteriaPatron1DanceStandingUpLeftMotion = 878,
2630 kModelAnimationHysteriaPatron1DanceStandingUpStowingMoney = 879, // original UNUSED (restored)
2631 kModelAnimationHysteriaPatron1DanceSplitsDuckAndDown = 880,
2632 kModelAnimationHysteriaPatron1DanceSplitsSemiUpAndDown = 881,
2633 kModelAnimationHysteriaPatron1DanceSplitsBackAndForth = 882,
2634 kModelAnimationHysteriaPatron1DanceStandingUpToSplits = 883,
2635 kModelAnimationHysteriaPatron1DanceSplitsToStandingUp = 884,
2636 // 885 - 892: Hysteria Patron2 (dancer) animations
2637 kModelAnimationHysteriaPatron2DanceHandsBellyMotion = 885, // most used
2638 kModelAnimationHysteriaPatron2DanceHandsUpLeftMotion = 886,
2639 kModelAnimationHysteriaPatron2DanceHandsUpSitAndUp = 887,
2640 kModelAnimationHysteriaPatron2DanceHandsDownHipsSwirl = 888,
2641 kModelAnimationHysteriaPatron2DanceHandsDownLegSwirl = 889,
2642 kModelAnimationHysteriaPatron2DanceHandsDownLeanBackForth = 890, // 27 frames - same motion as 438 for Patron3Dance
2643 kModelAnimationHysteriaPatron2DanceHandsUpToHandsDown = 891,
2644 kModelAnimationHysteriaPatron2DanceHandsDownToHandsUp = 892, // 24 frames - same motion as 439 for Patron3Dance
2645 // 893 - 900: Mutant 1 animations - Special with pipe
2646 kModelAnimationMutant1Walking = 893,
2647 kModelAnimationMutant1Idle = 894,
2648 kModelAnimationMutant1CalmTalk = 895, // UNUSED
2649 kModelAnimationMutant1MoreCalmTalk = 896, // untriggered?
2650 kModelAnimationMutant1YellOrHurt = 897, // untriggered
2651 kModelAnimationMutant1MeleeAttack = 898,
2652 kModelAnimationMutant1Jump = 899, // untriggered?
2653 kModelAnimationMutant1ShotDead = 900,
2654 // 901 - 907: Mutant 2 animations - Special with tiny hand, no weapon
2655 kModelAnimationMutant2Walking = 901,
2656 kModelAnimationMutant2Running = 902,
2657 kModelAnimationMutant2Idle = 903,
2658 kModelAnimationMutant2CalmTalk = 904, // untriggered?
2659 kModelAnimationMutant2YellOrHurt = 905, // untriggered
2660 kModelAnimationMutant2MeleeAttack = 906,
2661 kModelAnimationMutant2ShotDead = 907,
2662 // 908 - 917: Mutant 3 animations - Throws rocks, ranged attack
2663 kModelAnimationMutant3Walking = 908,
2664 kModelAnimationMutant3Running = 909,
2665 kModelAnimationMutant3Idle = 910,
2666 kModelAnimationMutant3CalmTalk = 911, // untriggered
2667 kModelAnimationMutant3YellOrHurt = 912, // untriggered?
2668 kModelAnimationMutant3PicksUpAndThrowsRock = 913,
2669 kModelAnimationMutant3CrouchedWaiting = 914, // untriggered?
2670 kModelAnimationMutant3CrouchedToStanding = 915, // untriggered?
2671 kModelAnimationMutant3CrouchedFromStanding = 916, // untriggered?
2672 kModelAnimationMutant3ShotDead = 917,
2673 // 918 - 919: Taffy Patron (Gordo's hostage) animations
2674 kModelAnimationTaffyPatronRunning = 918,
2675 kModelAnimationTaffyPatronShotDead = 919,
2676 // 920 - 930: Hasan animations
2677 kModelAnimationHasanTalkWipeFaceLeftHand01 = 920, // UNUSED
2678 kModelAnimationHasanIdleSlightMovement = 921,
2679 kModelAnimationHasanGestureSuggest = 922,
2680 kModelAnimationHasanTakingABiteSnakeMove = 923,
2681 kModelAnimationHasanTalkPointingRightHand = 924, // UNUSED
2682 kModelAnimationHasanTalkMovingBothHands = 925,
2683 kModelAnimationHasanTalkLeftRightLeftGesture = 926,
2684 kModelAnimationHasanTalkRaiseHandSnakeMove = 927,
2685 kModelAnimationHasanTalkMovingBothHandsAndNod = 928,
2686 kModelAnimationHasanTalkWipeFaceLeftHand02 = 929, // (almost) identical to 920 (same number of frames too)
2687 kModelAnimationHasanTalkUpset = 930,
2688 // 931 - 996: Item animations
2689 kModelAnimationBadge = 931,
2690 kModelAnimationBomb = 932,
2691 kModelAnimationCandy = 933,
2692 kModelAnimationCandyWrapper = 934,
2693 kModelAnimationDektorasCard = 935,
2694 kModelAnimationCheese = 936,
2695 kModelAnimationChopstickWrapper = 937,
2696 kModelAnimationChromeDebris = 938,
2697 kModelAnimationDragonflyBelt = 939,
2698 kModelAnimationDragonflyEarring = 940,
2699 kModelAnimationDNADataDisc = 941,
2700 kModelAnimationDogCollar = 942,
2701 kModelAnimationRagDoll = 943,
2702 kModelAnimationEnvelope = 944,
2703 kModelAnimationFlaskOfAbsinthe = 945,
2704 kModelAnimationFolderInKIA = 946,
2705 kModelAnimationGoldfish = 947,
2706 kModelAnimationFolder = 948,
2707 kModelAnimationLetter = 949, // Restored Content - Used for Crazylegs Note in his Advertisement pamphlet
2708 kModelAnimationGarterSnake = 950,
2709 kModelAnimationLichenDogWrapper = 951,
2710 kModelAnimationLicensePlate = 952,
2711 kModelAnimationGordosLighterReplicant = 953,
2712 kModelAnimationGordosLighterHuman = 954,
2713 kModelAnimationKingstonKitchenBox = 955,
2714 kModelAnimationMaggieBracelet = 956,
2715 kModelAnimationGrigoriansNote = 957,
2716 kModelAnimationOriginalRequisitionForm = 958,
2717 kModelAnimationOriginalShippingForm = 959, // original: Never placed in game world
2718 kModelAnimationPowerSource = 960,
2719 kModelAnimationCollectionReceipt = 961,
2720 kModelAnimationRequisitionForm = 962,
2721 kModelAnimationRadiationGoggles = 963,
2722 kModelAnimationReferenceLetter = 964,
2723 kModelAnimationWeaponsOrderForm = 965,
2724 kModelAnimationShellCasings = 966,
2725 kModelAnimationSlug = 967,
2726// kModelAnimationKnife = 968, // UNUSED - 3 frames - a knife? - spins badly
2727 kModelAnimationStrangeScale = 969,
2728 kModelAnimationHysteriaToken = 970,
2729 kModelAnimationToyDog = 971,
2730 kModelAnimationTyrellSalesPamphlet = 972,
2731 kModelAnimationTyrellSalesPamphletKIA = 973,
2732 kModelAnimationDetonatorWire = 974,
2733 kModelAnimationVideoDisc = 975,
2734 kModelAnimationCageOfScorpions = 976,
2735 kModelAnimationIzoCamera = 977,
2736 kModelAnimationDeadDogA = 978,
2737 kModelAnimationDeadDogB = 979,
2738 kModelAnimationDeadDogC = 980,
2739 kModelAnimationMarcusDead = 981,
2740 kModelAnimationYukonHotelChair = 982,
2741 kModelAnimationWeaponsCrate = 983,
2742 kModelAnimationPhoto = 984,
2743 kModelAnimationCrystalsCigarette = 985,
2744 kModelAnimationSpinnerKeys = 986,
2745 kModelAnimationBriefcase = 987,
2746 kModelAnimationDNAEvidence01OutOf6 = 988,
2747// kModelAnimationDNAEvidence02OutOf6 = 989, // UNUSED - actual 2 parts of DNA
2748 kModelAnimationDNAEvidence03OutOf6 = 990, // used for two parts found
2749 kModelAnimationDNAEvidence04OutOf6 = 991, // used for three parts found
2750// kModelAnimationDNAEvidence05OutOf6 = 992, // UNUSED - actual 5 parts of DNA
2751 kModelAnimationDNAEvidenceComplete = 993,
2752// kModelAnimationAmmoType00 = 994, // UNUSED - simple bullet
2753 kModelAnimationAmmoType01 = 995, // from Bullet Bob's
2754 kModelAnimationAmmoType02 = 996 // from Izo stash (Act 4)
2755};
2756
2757enum Elevators {
2758 kElevatorMA = 1,
2759 kElevatorPS = 2
2760};
2761
2762// enum SceneObjectOffset {
2763// kSceneObjectActorIdStart = 0,
2764// kSceneObjectActorIdEnd = kSceneObjectActorIdStart + 73,
2765// kSceneObjectItemIdStart = kSceneObjectActorIdEnd + 1,
2766// kSceneObjectItemIdEnd = kSceneObjectItemIdStart + 123,
2767// kSceneObjectObjectIdStart = kSceneObjectItemIdEnd + 1,
2768// kSceneObjectObjectIdEnd = kSceneObjectObjectIdStart + 95
2769// };
2770
2771enum SceneObjectOffset {
2772 kSceneObjectOffsetActors = 0,
2773 kSceneObjectOffsetItems = 74,
2774 kSceneObjectOffsetObjects = 198
2775};
2776
2777enum ActorCombatStates {
2778 kActorCombatStateIdle = 0,
2779 kActorCombatStateCover = 1,
2780 kActorCombatStateApproachCloseAttack = 2,
2781 kActorCombatStateUncover = 3,
2782 kActorCombatStateAim = 4,
2783 kActorCombatStateRangedAttack = 5,
2784 kActorCombatStateCloseAttack = 6,
2785 kActorCombatStateFlee = 7,
2786 kActorCombatStateApproachRangedAttack = 8
2787};
2788
2789enum PoliceMazeTrackInstruction {
2790 kPMTIActivate = -26, // args: variableId, maxValue
2791 kPMTILeave = -25, // args: -
2792 kPMTIShoot = -24, // args: soundId, notUsed
2793 kPMTIEnemyReset = -23, // args: otherItemId
2794 kPMTIEnemySet = -22, // args: otherItemId
2795 kPMTIFlagReset = -21, // args: flagId
2796 kPMTIFlagSet = -20, // args: flagId
2797 kPMTIVariableDec = -19, // args: variableId
2798 kPMTIVariableInc = -18, // args: variableId, maxValue
2799 kPMTIVariableReset = -17, // args: variableId
2800 kPMTIVariableSet = -16, // args: variableId, value
2801 kPMTITargetSet = -15, // args: otherItemId, value
2802 kPMTIPausedReset1of3 = -14, // args: otherItemId1, otherItemId2, otherItemId3
2803 kPMTIPausedReset1of2 = -13, // args: otherItemId1, otherItemId2
2804 kPMTIPausedSet = -12, // args: otherItemId
2805 kPMTIPausedReset = -11, // args: otherItemId
2806 kPMTIPlaySound = -10, // args: soundId, volume
2807 kPMTIObstacleReset = -9, // args: otherItemId
2808 kPMTIObstacleSet = -8, // args: otherItemId
2809 kPMTIWaitRandom = -7, // args: min, max
2810 kPMTIRotate = -6, // args: target, delta
2811 kPMTIFacing = -5, // args: angle
2812 kPMTIRestart = -4, // args: -
2813 kPMTIWait = -3, // args: time
2814 kPMTIMove = -2, // args: target
2815 kPMTIPosition = -1, // args: index
2816 kPMTI26 = 0
2817};
2818
2819enum PlayerAgenda {
2820 kPlayerAgendaPolite = 0,
2821 kPlayerAgendaNormal = 1,
2822 kPlayerAgendaSurly = 2,
2823 kPlayerAgendaErratic = 3,
2824 kPlayerAgendaUserChoice = 4
2825};
2826
2827enum AffectionTowards {
2828 kAffectionTowardsNone = 0,
2829 kAffectionTowardsSteele = 1,
2830 kAffectionTowardsDektora = 2,
2831 kAffectionTowardsLucy = 3
2832};
2833
2834/*
2835 * Common goals:
2836 * 0 - 99 - first chapter
2837 * 100 - 199 - second chapter
2838 * 200 - 299 - third chapter
2839 * 300 - 399 - fourth chapter
2840 * 400 - 499 - fifth chapter
2841 * 599 - dead / gone
2842 */
2843
2844enum GoalMcCoy {
2845 kGoalMcCoyDefault = 0,
2846 kGoalMcCoyDodge = 1,
2847 kGoalMcCoyLeanOverAndSearch = 2, // unused, McCoy searching dumpster is done by Actor_Change_Animation_Mode(kActorMcCoy, 38);
2848 kGoalMcCoyBB11GetUp = 100,
2849 kGoalMcCoyBB11PrepareToRunAway = 101,
2850 kGoalMcCoyBB11RunAway = 102,
2851 kGoalMcCoyBB11GetCaught = 103,
2852 kGoalMcCoyNRxxSitAtTable = 200,
2853 kGoalMcCoyNRxxStandUp = 201,
2854 kGoalMcCoyNR01ThrownOut = 210,
2855 kGoalMcCoyNR01GetUp = 211,
2856 kGoalMcCoyNR01LayDrugged = 212,
2857 kGoalMcCoyNR04Drink = 220,
2858 kGoalMcCoyNR04PassOut = 221,
2859 kGoalMcCoyNR11Shoot = 230,
2860 kGoalMcCoyNR10Fall = 231,
2861 kGoalMcCoyUG07Caught = 301,
2862 kGoalMcCoyUG07BrokenFinger = 302,
2863 kGoalMcCoyUG07Released = 303,
2864 kGoalMcCoyCallWithGuzza = 350,
2865 kGoalMcCoyUG15Fall = 390,
2866 kGoalMcCoyUG15Die = 391,
2867 kGoalMcCoyStartChapter5 = 400,
2868 kGoalMcCoyArrested = 500,
2869 kGoalMcCoyGone = 599
2870};
2871
2872enum GoalSteele {
2873 // chapter 1
2874 kGoalSteeleDefault = 0,
2875 kGoalSteeleGoToRC01 = 1,
2876 kGoalSteeleGoToRC02 = 2,
2877 kGoalSteeleGoToFreeSlotC1 = 3,
2878 kGoalSteeleGoToFreeSlotG1 = 4,
2879 kGoalSteeleGoToCT01 = 5,
2880 kGoalSteeleGoToFreeSlotC2 = 6,
2881 kGoalSteeleGoToFreeSlotG2 = 7,
2882 kGoalSteeleGoToPoliceShootingRange = 8,
2883 kGoalSteeleGoToPS02 = 9,
2884 kGoalSteeleGoToFreeSlotG3 = 10,
2885 kGoalSteeleInterviewGrigorian = 11,
2886 // chapter 2
2887 kGoalSteeleApprehendIzo = 100,
2888 kGoalSteeleGoToTB02 = 110,
2889 kGoalSteeleLeaveTB02 = 111,
2890 kGoalSteeleGoToPoliceStation = 112,
2891 kGoalSteeleWalkAround = 113,
2892 kGoalSteeleShootIzo = 120,
2893 kGoalSteeleArrestIzo = 121,
2894 kGoalSteeleIzoBlockedByMcCoy = 125,
2895 kGoalSteeleLeaveRC03 = 130,
2896 kGoalSteeleWalkAroundRestart = 190,
2897 // chapter 3
2898 kGoalSteeleStartChapter3 = 205,
2899 kGoalSteeleNR11StartWaiting = 210,
2900 kGoalSteeleNR11StopWaiting = 211,
2901 kGoalSteeleNR11Enter = 212,
2902 kGoalSteeleNR11Entered = 213,
2903 kGoalSteeleNR11Decide = 214,
2904 kGoalSteeleNR11Shoot = 215,
2905 kGoalSteeleNR11StopShooting = 216,
2906 kGoalSteeleNR01WaitForMcCoy = 230,
2907 kGoalSteeleNR01GoToNR08 = 231,
2908 kGoalSteeleNR01GoToNR02 = 232,
2909 kGoalSteeleNR01GoToHF03 = 233,
2910 kGoalSteeleHF03McCoyChasingLucy = 234,
2911 kGoalSteeleNR08WalkOut = 235,
2912 kGoalSteeleNR10Wait = 236,
2913 kGoalSteeleHF02ConfrontLucy = 240,
2914 kGoalSteeleHF02ShootLucy = 241,
2915 kGoalSteeleHF02LucyShotBySteele = 242,
2916 kGoalSteeleHF02LucyRanAway = 243,
2917 kGoalSteeleHF02LucyShotByMcCoy = 244,
2918 kGoalSteeleHF02LucyLostByMcCoy = 245,
2919 kGoalSteeleHFxxGoToSpinner = 246,
2920 kGoalSteeleNR01ConfrontGordo = 250,
2921 kGoalSteeleNR01TalkToGordo = 251,
2922 kGoalSteeleNR01ShootGordo = 252,
2923 kGoalSteeleNR01ShootMcCoy = 255,
2924 kGoalSteeleNR01McCoyShotGordo = 258,
2925 kGoalSteeleNR01McCoyShotGun = 260,
2926 kGoalSteeleNR01PrepareTalkAboutShotGun = 261,
2927 kGoalSteeleNR01TalkAboutShotGun = 262,
2928 kGoalSteeleNR01ShotByMcCoy = 270,
2929 kGoalSteeleNR01PrepareShotByMcCoy = 271,
2930 kGoalSteeleNRxxGoToSpinner = 275,
2931 kGoalSteeleTalkAboutMissingSpinner = 280,
2932 kGoalSteeleImmediatelyStartChapter4 = 285,
2933 kGoalSteeleNR01StartChapter4 = 290,
2934 kGoalSteeleHF01StartChapter4 = 291,
2935 // chapter 4
2936 kGoalSteeleStartChapter4 = 300,
2937 // chapter 5
2938 kGoalSteeleStartChapter5 = 400,
2939 kGoalSteeleHF06Attack = 402, // has no use
2940 // kGoalSteeleKP03WillShootMcCoy = 410,
2941 kGoalSteeleKP03Walk = 411,
2942 kGoalSteeleKP03StopWalking = 412,
2943 kGoalSteeleKP03Leave = 413,
2944 kGoalSteeleKP03Exploded = 415,
2945 kGoalSteeleKP03Dying = 416,
2946 kGoalSteeleKP03ShootMcCoy = 418,
2947 kGoalSteeleKP03Dead = 419,
2948 kGoalSteeleKP01Wait = 420,
2949 kGoalSteeleKP01TalkToMcCoy = 421,
2950 kGoalSteeleKP01Leave = 422,
2951 kGoalSteeleKP01Left = 423,
2952 kGoalSteeleKP05Enter = 430,
2953 kGoalSteeleKP05Leave = 431,
2954 kGoalSteeleKP06Enter = 432,
2955 kGoalSteeleKP06Leave = 433,
2956 kGoalSteeleWaitingForEnd = 499,
2957 kGoalSteeleGone = 599
2958};
2959
2960enum GoalDektora {
2961 kGoalDektoraDefault = 0,
2962 // chapter 1
2963 kGoalDektoraStartWalkingAround = 100,
2964 kGoalDektoraWalkAroundAsReplicant = 101,
2965 kGoalDektoraWalkAroundAsHuman = 102,
2966 kGoalDektoraStopWalkingAround = 103,
2967 // chapter 2
2968 kGoalDektoraStartChapter3 = 199,
2969 kGoalDektoraNR07Sit = 200,
2970 kGoalDektoraNR08Dance = 210,
2971 kGoalDektoraNR08Leave = 211,
2972 kGoalDektoraNR08ReadyToRun = 245,
2973 kGoalDektoraNR08GoToNR10 = 246,
2974 kGoalDektoraNR10AttackMcCoy = 247,
2975 kGoalDektoraNR11Hiding = 250,
2976 kGoalDektoraNR11WalkAway = 260,
2977 kGoalDektoraNR11PrepareBurning = 269,
2978 kGoalDektoraNR11Burning = 270,
2979 kGoalDektoraNR11BurningGoToMcCoy = 271,
2980 kGoalDektoraNR11BurningGoToWindow = 272,
2981 kGoalDektoraNR11PrepareFallThroughWindow = 273,
2982 kGoalDektoraNR11FallThroughWindow = 274,
2983 kGoalDektoraNR11BurningFallToNR10 = 279,
2984 kGoalDektoraNR11RanAway = 290,
2985 kGoalDektoraNR07RanAway = 295,
2986 kGoalDektoraStartAct4StashedAway = 300,
2987 kGoalDektoraKP07Wait = 513, // new goal when in moonbus, Act 5
2988 kGoalDektoraGone = 599
2989};
2990
2991enum GoalGordo {
2992 // chapter 1
2993 kGoalGordoDefault = 0,
2994 kGoalGordoCT01Leave = 1,
2995 kGoalGordoCT01Left = 2,
2996 kGoalGordoCT05WalkThrough = 3,
2997 kGoalGordoCT05Leave = 4,
2998 kGoalGordoCT05Left = 5,
2999 kGoalGordoCT01StandUp = 90,
3000 kGoalGordoCT01WalkAway = 91,
3001 kGoalGordoCT01BidFarewellToHowieLee = 92,
3002 kGoalGordoCT01WalkToHowieLee = 93,
3003 // chapter 2
3004 kGoalGordoWalkAround = 100,
3005 kGoalGordoGoToDNARow = 101,
3006 kGoalGordoGoToChinaTown = 102,
3007 kGoalGordoGoToFreeSlotHAGJ = 103,
3008 kGoalGordoGoToFreeSlotAH = 104,
3009 // chapter 3
3010 kGoalGordoStartChapter3 = 200,
3011 kGoalGordoNR02WaitAtBar = 201,
3012 kGoalGordoNR02GoToPodium = 202,
3013 kGoalGordoNR02WaitForMcCoy = 204,
3014 kGoalGordoNR02NextAct = 205,
3015 kGoalGordoNR02TellJoke1 = 206,
3016 kGoalGordoNR02TellJoke2 = 207,
3017 kGoalGordoNR02TellJoke3 = 208,
3018 kGoalGordoNR02TalkAboutMcCoy = 210,
3019 kGoalGordoNR02WaitAtPodium = 211,
3020 kGoalGordoNR02TalkToMcCoy = 215,
3021 kGoalGordoNR02RunAway1 = 220,
3022 kGoalGordoNR02RunAway2 = 221,
3023 kGoalGordoNR02RunAway3 = 222,
3024 kGoalGordoGoToFreeSlotGAG = 225,
3025 kGoalGordoNR01WaitAndAttack = 230,
3026 kGoalGordoNR01Attack = 231,
3027 kGoalGordoNR01WaitAndGiveUp = 240,
3028 kGoalGordoNR01GiveUp = 241,
3029 kGoalGordoNR01TalkToMcCoy = 242,
3030 kGoalGordoNR01RunAway = 243,
3031 kGoalGordoNR01WaitAndTakeHostage = 250,
3032 kGoalGordoNR01ReleaseHostage = 251,
3033 kGoalGordoNR01HostageShot = 254,
3034 kGoalGordoNR01HostageDie = 255,
3035 kGoalGordoNR01Arrested = 260,
3036 kGoalGordoNR01RanAway = 280,
3037 kGoalGordoNR01Die = 299,
3038 kGoalGordoKP07Wait = 513, // new goal when in moonbus, Act 5
3039 kGoalGordoGone = 599
3040};
3041
3042enum GoalGuzza {
3043
3044 kGoalGuzzaDefault = 0, // added goal
3045 kGoalGuzzaLeftOffice = 100,
3046 kGoalGuzzaGoToHawkersCircle1 = 101,
3047 kGoalGuzzaAtOffice = 102,
3048 kGoalGuzzaGoToHawkersCircle2 = 103,
3049 kGoalGuzzaGoToFreeSlotB = 104,
3050 kGoalGuzzaGoToFreeSlotG = 105,
3051 kGoalGuzzaWasAtNR03 = 200,
3052 kGoalGuzzaSitAtNR03 = 201,
3053 kGoalGuzzaUG18Wait = 300,
3054 kGoalGuzzaUG18Target = 301,
3055 kGoalGuzzaUG18WillGetShotBySadik = 302,
3056 kGoalGuzzaUG18HitByMcCoy = 303,
3057 kGoalGuzzaUG18MissedByMcCoy = 304,
3058 kGoalGuzzaUG18ShotByMcCoy = 305,
3059 kGoalGuzzaUG18ShootMcCoy = 306,
3060 kGoalGuzzaUG18FallDown = 307,
3061 kGoalGuzzaUG18ShotBySadik = 390,
3062 kGoalGuzzaGone = 599
3063};
3064
3065enum GoalClovis {
3066 kGoalClovisDefault = 100,
3067 kGoalClovisBB11WalkToMcCoy = 101,
3068 kGoalClovisBB11StopSadik = 102,
3069 kGoalClovisBB11TalkWithSadik = 103,
3070 kGoalClovisBB11PrepareTalkToMcCoy = 104, // bug? this is not triggered when player skips dialogue too fast
3071 kGoalClovisBB11TalkToMcCoy = 105, // ends Chapter 2
3072 // chapter 4
3073 kGoalClovisUG18Wait = 300,
3074 kGoalClovisUG18SadikWillShootGuzza = 301,
3075 kGoalClovisUG18SadikIsShootingGuzza = 302,
3076 kGoalClovisUG18GuzzaDied = 303,
3077 kGoalClovisUG18Leave = 310,
3078 kGoalClovisStartChapter3 = 350,
3079 kGoalClovisStartChapter4 = 400,
3080 kGoalClovisUG07ChaseMcCoy = 401,
3081 kGoalClovisUG07KillMcCoy = 402,
3082 // chapter 5
3083 kGoalClovisStartChapter5 = 500,
3084 kGoalClovisDecide = 510,
3085 kGoalClovisKP06Wait = 511, // this immediately reset to kGoalClovisKP07Wait by Sadik at start of chapter 5
3086 kGoalClovisKP06TalkToMcCoy = 512, // never triggered
3087 kGoalClovisKP07Wait = 513,
3088 kGoalClovisKP07TalkToMcCoy = 514,
3089 kGoalClovisKP07SayFinalWords = 515,
3090 kGoalClovisKP07FlyAway = 516, // and game over
3091 kGoalClovisKP07ReplicantsAttackMcCoy = 517,
3092 kGoalClovisKP07LayDown = 518,
3093 kGoalClovisGone = 599
3094};
3095
3096enum GoalLucy {
3097 kGoalLucyDefault = 0,
3098 // chapter 3
3099 kGoalLucyMoveAround = 200,
3100 kGoalLucyWillReturnToHF03 = 201,
3101 kGoalLucyGoToHF03 = 205,
3102 kGoalLucyHF03RunOutPhase1 = 210,
3103 kGoalLucyHF03RunOutPhase2 = 211,
3104 kGoalLucyHF03RunToHF041 = 212,
3105 kGoalLucyHF03RunToHF042 = 213,
3106 kGoalLucyHF03RunAwayWithHelp1 = 214,
3107 kGoalLucyHF03RunAwayWithHelp2 = 215,
3108 kGoalLucyGoToFreeSlotGAG = 220,
3109 kGoalLucyGoToFreeSlotGAHJ = 225,
3110 kGoalLucyHF04Start = 230,
3111 kGoalLucyHF04TalkToMcCoy = 232,
3112 kGoalLucyHF04Run1 = 233,
3113 kGoalLucyHF04Run2 = 234,
3114 kGoalLucyHF04WaitForMcCoy1 = 235,
3115 kGoalLucyHF04Run3 = 236,
3116 kGoalLucyHF04WaitForMcCoy2 = 237,
3117 kGoalLucyHF04Run4 = 238,
3118 kGoalLucyHF04WalkAway = 239,
3119 kGoalLucyReturnToHF03 = 250,
3120 kGoalLucyHF03RanAway = 299,
3121 // chapter 4
3122 kGoalLucyStartChapter4 = 300,
3123 kGoalLucyUG01Wait = 310,
3124 kGoalLucyUG01VoightKampff = 311,
3125 kGoalLucyUG01RunAway = 312,
3126 kGoalLucyKP07Wait = 513, // new goal when in moonbus, Act 5
3127 kGoalLucyGone = 599
3128};
3129
3130enum GoalIzo {
3131 kGoalIzoDefault = 0,
3132 kGoalIzoPrepareCamera = 1,
3133 kGoalIzoTakePhoto = 2,
3134 kGoalIzoRunToUG02 = 3,
3135 kGoalIzoStopRunning = 100,
3136 kGoalIzoRunToRC03 = 101,
3137 kGoalIzoWaitingAtRC03 = 102,
3138 kGoalIzoEscape = 103, // how can this happen? can mccoy catch izo in ug02?
3139 kGoalIzoRC03Walk = 110,
3140 kGoalIzoRC03Run = 111,
3141 kGoalIzoRC03RunAway = 114,
3142 kGoalIzoGetArrested = 120,
3143 kGoalIzoGotArrested = 180,
3144 kGoalIzoRC03RanAwayDone = 181, // new - added for bug fix of Izo getting stuck at RC03
3145 kGoalIzoGoToHC01 = 150,
3146 kGoalIzoGoToHC03 = 155,
3147 kGoalIzoDieHidden = 198,
3148 kGoalIzoDie = 199,
3149 kGoalIzoEscapedSteeleKnows = 200, // Set after conversation with Steele about Izo escaping (original: untriggered)
3150 kGoalIzoKP07Wait = 513, // new goal when in moonbus, Act 5
3151 kGoalIzoGone = 599
3152};
3153
3154enum GoalSadik {
3155 kGoalSadikDefault = 100,
3156 kGoalSadikRunFromBB09 = 101,
3157 kGoalSadikBB11Wait = 102,
3158 kGoalSadikBB11ThrowMcCoy = 103,
3159 kGoalSadikBB11CatchMcCoy = 104,
3160 kGoalSadikBB11KnockOutMcCoy = 105,
3161 kGoalSadikBB11KickMcCoy = 106,
3162 kGoalSadikBB11TalkWithClovis = 107,
3163 kGoalSadikUG18Wait = 300,
3164 kGoalSadikUG18Move = 301,
3165 kGoalSadikUG18Decide = 302,
3166 // 303, 304 and 305 are never set or used
3167 kGoalSadikUG18WillShootMcCoy = 306,
3168 kGoalSadikUG18PrepareShootMcCoy = 307,
3169 kGoalSadikUG18ShootMcCoy = 308,
3170 kGoalSadikUG18Leave = 310,
3171 kGoalSadikKP06NeedsReactorCoreFromMcCoy = 416,
3172 kGoalSadikGone = 599
3173};
3174
3175enum GoalLuther {
3176 kGoalLutherDefault = 400,
3177 kGoalLutherMoveAround = 401,
3178 kGoalLutherMoveAroundRestart = 402,
3179 kGoalLutherStop = 403,
3180 kGoalLutherShot = 494,
3181 kGoalLutherDyingStarted = 495,
3182 kGoalLutherDyingWait = 496,
3183 kGoalLutherDyingCheck = 497,
3184 kGoalLutherDie = 498,
3185 kGoalLutherDead = 499,
3186 kGoalLutherKP07Wait = 513, // new goal when in moonbus, Act 5
3187 kGoalLutherGone = 599
3188};
3189
3190enum GoalHowieLee {
3191 kGoalHowieLeeDefault = 0,
3192 kGoalHowieLeeMovesInDiner01 = 1,
3193 kGoalHowieLeeMovesInDiner02 = 2,
3194 kGoalHowieLeeMovesInDiner03 = 3,
3195 kGoalHowieLeeGoesToCT04GarbageBin = 4,
3196 kGoalHowieLeeGoesToFreeSlotH = 5,
3197 kGoalHowieLeeMovesInDiner06 = 6, // Unused goal?
3198 kGoalHowieLeeStopMoving = 50,
3199 kGoalHowieLeeGoesToFreeSlotC = 100
3200};
3201
3202enum GoalTransient {
3203 kGoalTransientDefault = 0,
3204 kGoalTransientCT04Leave = 2
3205};
3206
3207enum GoalBulletBob {
3208 kGoalBulletBobDefault = 0,
3209 kGoalBulletBobWarningMcCoy = 1,
3210 kGoalBulletBobShootMcCoy = 2,
3211 kGoalBulletBobWillShotMcCoy = 3, // has no use
3212 kGoalBulletBobDead = 4,
3213 kGoalBulletBobShotMcCoy = 6,
3214 kGoalBulletBobGone = 99
3215};
3216
3217// applies to all generic walkers
3218enum GoalGenericWalker {
3219 kGoalGenwalkerDefault = 0, // setup walker model and path
3220 kGoalGenwalkerMoving = 1,
3221 kGoalGenwalkerABulletBobsTrackGun = 200 // only kActorGenWalkerA will change goal to this
3222};
3223
3224enum GoalRachael {
3225 kGoalRachaelDefault = 0,
3226 kGoalRachaelLeavesAfterTyrellMeeting = 200,
3227 kGoalRachaelShouldBeOutsideMcCoysAct3 = 211, // added Rachael goal
3228 kGoalRachaelShouldBeInElevatorMcCoysAct3 = 212, // added Rachael goal
3229 kGoalRachaelIsOutsideMcCoysBuildingAct3 = 300,
3230 kGoalRachaelIsInsideMcCoysElevatorAct3 = 302, // added Rachael goal
3231 kGoalRachaelIsInsideElevatorStartTalkAct3 = 303, // added Rachael goal
3232 kGoalRachaelIsOutWalksToPoliceHQAct3 = 305,
3233 kGoalRachaelIsOutResumesWalkToPoliceHQAct3 = 306,
3234 kGoalRachaelIsOutFleeingToPoliceHQAct3 = 307, // added Rachael goal
3235 kGoalRachaelAtEndOfAct3IfNotMetWithMcCoy = 399, // added Rachael goal
3236 kGoalRachaelAtEndOfAct3IfMetWithMcCoy = 400,
3237 kGoalRachaelIsInsideMcCoysElevatorAct4 = 402, // added Rachael goal
3238 kGoalRachaelIsInsideElevatorStartTalkAct4 = 403, // added Rachael goal
3239 kGoalRachaelIsOutsideMcCoysBuildingAct4 = 404, // added Rachael goal
3240 kGoalRachaelIsOutWalksToPoliceHQAct4 = 405, // added Rachael goal
3241 kGoalRachaelAtEndOfAct4 = 499 // added Rachael goal
3242};
3243
3244enum GoalRunciter {
3245 kGoalRunciterDefault = 0,
3246 kGoalRunciterRC02WalkAround = 1,
3247 kGoalRunciterGoToFreeSlotGH = 2,
3248 kGoalRunciterRC02Wait = 300,
3249 kGoalRunciterDead = 599
3250};
3251
3252enum GoalTyrellGuard {
3253 kGoalTyrellGuardSleeping = 300,
3254 kGoalTyrellGuardWakeUpAndArrestMcCoy = 301,
3255 kGoalTyrellGuardWakeUp = 302,
3256 kGoalTyrellGuardArrestMcCoy = 303,
3257 kGoalTyrellGuardWait = 304
3258};
3259
3260enum GoalEarlyQ {
3261 // cut feature? goals 0 - 200 has no use as EarlyQ is walking around NR which is not accessible
3262 kGoalEarlyQWalkAround = 200,
3263 kGoalEarlyQNR04Enter = 201,
3264 kGoalEarlyQNR04Talk1 = 202,
3265 kGoalEarlyQNR04GoToBar = 203,
3266 kGoalEarlyQNR04PourDrink = 204,
3267 kGoalEarlyQNR04GoToMcCoy = 205,
3268 kGoalEarlyQNR04McCoyPulledGun = 206,
3269 kGoalEarlyQNR04SitDown = 207,
3270 kGoalEarlyQNR04ScorpionsCheck = 208,
3271 kGoalEarlyQNR04Talk2 = 209,
3272 kGoalEarlyQNR04StungByScorpions = 210,
3273 kGoalEarlyQNR04WaitForPulledGun = 211,
3274 kGoalEarlyQNR04TakeDisk = 212,
3275 kGoalEarlyQNR04Talk3 = 213,
3276 kGoalEarlyQNR04AskForDisk = 214,
3277 kGoalEarlyQNR04HandDrink = 215,
3278 kGoalEarlyQNR04GetShot = 216,
3279 kGoalEarlyQNR04Leave = 217,
3280 kGoalEarlyQNR05Wait = 220,
3281 kGoalEarlyQNR05WillLeave = 221,
3282 kGoalEarlyQNR05Leave = 222,
3283 kGoalEarlyQNR05AnnouceDektora = 223,
3284 kGoalEarlyQNR05UnlockNR08 = 224,
3285 kGoalEarlyQNR05UnlockedNR08 = 225,
3286 kGoalEarlyQNR05TalkingToMcCoy = 229,
3287 kGoalEarlyQNR04Wait = 230
3288};
3289
3290enum GoalZuben {
3291 kGoalZubenDefault = 0,
3292 kGoalZubenCT01WalkToCT02 = 1,
3293 kGoalZubenCT02RunToFreeSlotG = 2,
3294 kGoalZubenCT07Spared = 4,
3295 kGoalZubenCT07RunToFreeSlotA = 5,
3296 kGoalZubenDie = 6,
3297 kGoalZubenSpared = 7,
3298 kGoalZubenCT02PushPot = 8,
3299 kGoalZubenCT02RunToDoor = 9,
3300 kGoalZubenCT02OpenDoor = 10,
3301 kGoalZubenCT06JumpDown = 11,
3302 kGoalZubenCT06AttackMcCoy = 12,
3303 kGoalZubenCT06HideAtFreeSlotA = 13,
3304 kGoalZubenCT02PotDodgeCheck = 14,
3305 kGoalZubenFled = 20,
3306 kGoalZubenMA01AttackMcCoy = 21,
3307 kGoalZubenDiesInChapter1 = 99,
3308 kGoalZubenKP07Wait = 513, // new goal when in moonbus, Act 5
3309 kGoalZubenGone = 599
3310};
3311
3312enum GoalHasan {
3313 kGoalHasanDefault = 0,
3314 kGoalHasanIsAway = 300, // original final goal for Hasan
3315 kGoalHasanIsWalkingAroundIsAtAR02 = 301, // new goal for restored content
3316 kGoalHasanIsWalkingAroundStayAwayFromAR02 = 302, // new goal for restored content
3317 kGoalHasanIsWalkingAroundStaysAtAR02 = 303, // new goal for restored content
3318 kGoalHasanIsWalkingAroundIsAway = 304 // new goal for restored content
3319};
3320
3321enum GoalOfficerLeary {
3322 kGoalOfficerLearyDefault = 0,
3323 kGoalOfficerLearyRC01WalkToCrowd = 1,
3324#if BLADERUNNER_ORIGINAL_BUGS
3325 kGoalOfficerLearyRC01CrowdInterrogation = 2,
3326#else
3327 kGoalOfficerLearyRC01CrowdInterrogation = 2,
3328 kGoalOfficerLearyRC01ResumeWalkToCrowd = 4, // added OfficerLeary goal
3329#endif // BLADERUNNER_ORIGINAL_BUGS
3330 kGoalOfficerLearyPoliceDoneFromRC01 = 3,
3331 kGoalOfficerLearyEndOfAct1 = 99,
3332 kGoalOfficerLearyVisitsBulletBob = 102, // un-triggered
3333 kGoalOfficerLearyStartOfAct4 = 300,
3334 kGoalOfficerLearyHuntingAroundAct4 = 305,
3335 kGoalOfficerLearyPrepareToHuntAroundAct4 = 306,
3336 kGoalOfficerLearyBlockingUG07 = 307,
3337 // 308 - 309 un-triggered?
3338 kGoalOfficerLearyAttackMcCoyAct4 = 310,
3339 kGoalOfficerLearyStartOfAct5 = 400,
3340 kGoalOfficerLearyDummyGoalAct5 = 410,
3341 kGoalOfficerLearyPoliceWait120SecondsToAttackHF05 = 420,
3342 kGoalOfficerLearyPoliceWait60SecondsToAttackHF05 = 425,
3343 kGoalOfficerLearyPoliceAboutToAttackHF05 = 430,
3344 kGoalOfficerLearyDead = 599
3345};
3346
3347
3348enum GoalOfficerGrayford {
3349 kGoalOfficerGrayfordDefault = 0,
3350 kGoalOfficerGrayfordWalksInPS03a = 1,
3351 kGoalOfficerGrayfordWalksInPS03b = 2,
3352 kGoalOfficerGrayfordWalksInPS03c = 3,
3353 kGoalOfficerGrayfordWalksInPS03d = 4,
3354 kGoalOfficerGrayfordWalksInFreeSlotC = 5,
3355 kGoalOfficerGrayfordWalksInPS09a = 6,
3356 kGoalOfficerGrayfordWalksInPS09b = 7,
3357 kGoalOfficerGrayfordWalksInPS09c = 8,
3358 kGoalOfficerGrayfordWalksInPS03e = 9,
3359 kGoalOfficerGrayfordPrepareToRestartWalkAround = 10,
3360 kGoalOfficerGrayfordStopAndTalk1 = 99, // this is used temporarily to make him stop and talk
3361 kGoalOfficerGrayfordArrivesToDR04 = 101,
3362 kGoalOfficerGrayfordArrivedAtDR04 = 102,
3363 kGoalOfficerGrayfordTalkToMcCoyAndReportAtDR04 = 103,
3364 kGoalOfficerGrayfordPatrolsAtDR04a = 104,
3365 kGoalOfficerGrayfordPatrolsAtDR04b = 105,
3366 kGoalOfficerGrayfordStopPatrolToTalkToMcCoyAtDR04 = 106,
3367 kGoalOfficerGrayfordLeavesWithMorajiCorpseDR04 = 110,
3368 kGoalOfficerGrayfordStopAndTalkDR04 = 199, // this is used temporarily to make him stop and talk while at DR04 (Moraji's death scene)
3369 kGoalOfficerGrayfordStartOfAct4 = 300,
3370 kGoalOfficerGrayfordHuntingAroundAct4 = 305,
3371 kGoalOfficerGrayfordPrepareToHuntAroundAct4 = 306,
3372 kGoalOfficerGrayfordBlockingUG07 = 307,
3373 kGoalOfficerGrayfordArrestsMcCoyAct4CT12 = 308,
3374 kGoalOfficerGrayfordAttackMcCoyAct4 = 310,
3375 kGoalOfficerGrayfordArrestMcCoyInTB03Act4 = 399, // TB02_TB03
3376 kGoalOfficerGrayfordStartOfAct5 = 400,
3377 kGoalOfficerGrayfordDummyGoalAct5 = 410,
3378 kGoalOfficerGrayfordPoliceAboutToAttackHF05 = 430,
3379 kGoalOfficerGrayfordDead = 599
3380};
3381
3382enum GoalHanoi {
3383 kGoalHanoiDefault = 200,
3384 kGoalHanoiResetTimer = 201,
3385 kGoalHanoiNR07TalkToMcCoy = 202,
3386 kGoalHanoiNR07GrabMcCoy = 203,
3387 kGoalHanoiNR03GoToDefaultPosition = 210,
3388 kGoalHanoiNR03GoToSwivelTable = 211,
3389 kGoalHanoiNR03GoToOfficeDoor = 212,
3390 kGoalHanoiNR03GoToDancer = 213,
3391 kGoalHanoiNR03StartGuarding = 215,
3392 kGoalHanoiThrowOutMcCoy = 220,
3393 kGoalHanoiNR08WatchShow = 230,
3394 kGoalHanoiNR08Leave = 235,
3395 kGoalHanoiNR08Left = 236,
3396 kGoalHanoiNR04Enter = 240,
3397 kGoalHanoiNR04ShootMcCoy = 241
3398};
3399
3400enum GoalDeskClerk {
3401 kGoalDeskClerkDefault = 0,
3402 kGoalDeskClerkKnockedOut = 1,
3403 kGoalDeskClerkRecovered = 2,
3404 kGoalDeskClerkGone = 400
3405};
3406
3407enum GoalKlein {
3408 kGoalKleinDefault = 0,
3409 kGoalKleinMovingInLab01 = 1,
3410 kGoalKleinMovingInLab02 = 2,
3411 kGoalKleinGotoLabSpeaker = 3,
3412 kGoalKleinIsAnnoyedByMcCoyInit = 4,
3413 kGoalKleinIsAnnoyedByMcCoy01 = 5,
3414 kGoalKleinIsAnnoyedByMcCoy02 = 6,
3415 kGoalKleinIsAnnoyedByMcCoyFinal = 7,
3416 kGoalKleinIsAnnoyedByMcCoyPreInit = 8, // new goal
3417 kGoalKleinAwayAtEndOfActOne = 100,
3418 kGoalKleinAwayAtEndOfActThree = 299 // new goal for restored content purposes
3419};
3420
3421enum GoalHolloway {
3422 kGoalHollowayDefault = 0,
3423 kGoalHollowayGoToNR07 = 240,
3424 kGoalHollowayGoToNR02 = 241,
3425 kGoalHollowayGoToHF03 = 242,
3426 kGoalHollowayApproachMcCoy = 250,
3427 kGoalHollowayTalkToMcCoy = 251,
3428 kGoalHollowayKnockOutMcCoy = 255,
3429 kGoalHollowayPrepareCaptureMcCoy = 256,
3430 kGoalHollowayCaptureMcCoy = 257
3431};
3432
3433enum GoalMoraji {
3434 kGoalMorajiDefault = 0,
3435 kGoalMorajiShot = 5,
3436 kGoalMorajiFreed = 10,
3437 kGoalMorajiRunOut = 11,
3438 kGoalMorajiGetUp = 18,
3439 kGoalMorajiScream = 19,
3440 kGoalMorajiJump = 20,
3441 kGoalMorajiLayDown = 21,
3442 kGoalMorajiDie = 22,
3443 kGoalMorajiDead = 23,
3444 kGoalMorajiChooseFate = 30,
3445 kGoalMorajiPerished = 99
3446};
3447
3448enum GoalGaff {
3449 kGoalGaffDefault = 0,
3450 kGoalGaffCT12WaitForMcCoy = 1,
3451 kGoalGaffCT12GoToSpinner = 2,
3452 kGoalGaffMA01ApproachMcCoy = 3,
3453 kGoalGaffMA01Leave = 4,
3454 kGoalGaffCT12Leave = 5,
3455 kGoalGaffCT12FlyAway = 10,
3456 kGoalGaffStartWalkingAround = 100,
3457 kGoalGaffWalkAround = 101,
3458 kGoalGaffRepeatWalkingAround = 102,
3459 kGoalGaffStartChapter4 = 299,
3460 kGoalGaffMA07Wait = 300,
3461 kGoalGaffMA07TalkToMcCoy = 301,
3462 kGoalGaffMA07Left = 302,
3463 kGoalGaffMA07ShootMcCoy = 303, // cannot be triggered
3464 kGoalGaffGone = 499
3465};
3466
3467enum GoalLeon {
3468 kGoalLeonDefault = 0,
3469 kGoalLeonHoldingDeskClerk = 1,
3470 kGoalLeonReleaseDeskClerk = 2,
3471 kGoalLeonPrepareTalkToMcCoy = 3,
3472 kGoalLeonTalkToMcCoy = 4,
3473 kGoalLeonApproachMcCoy = 5, // there is no way how to trigger this path in the game
3474 kGoalLeonPunchMcCoy = 6, // there is no way how to trigger this path in the game
3475 kGoalLeonLeave = 7,
3476 kGoalLeonGone = 8
3477};
3478
3479enum GoalCrazyLegs {
3480 kGoalCrazyLegsDefault = 0,
3481 kGoalCrazyLegsShotAndHit = 1,
3482 kGoalCrazyLegsLeavesShowroom = 2, // set either after McCoy re-holsters his gun, or if McCoy tells him to lie to Steele
3483 // goal 10 seems unused
3484 // goal 10 updates to 11 (also unused)
3485 kGoalCrazyLegsMcCoyDrewHisGun = 210, // When McCoy draws gun and Ch < 5
3486 kGoalCrazyLegsIsArrested = 699
3487};
3488
3489enum GoalFreeSlotA { // Rat A
3490 kGoalFreeSlotADefault = 0,
3491 kGoalFreeSlotAUG15Wait = 300,
3492 kGoalFreeSlotAUG15WalkOut = 301,
3493 kGoalFreeSlotAUG15RunToOtherSide = 302,
3494 kGoalFreeSlotAUG15RunBack = 303,
3495 kGoalFreeSlotAUG15Attack = 304,
3496 kGoalFreeSlotAWalkAround = 306,
3497 kGoalFreeSlotAWalkAroundRestart = 307,
3498 kGoalFreeSlotAAttackMcCoy = 308,
3499 kGoalFreeSlotAUG15Die = 305,
3500 kGoalFreeSlotAUG15Fall = 309,
3501 kGoalFreeSlotAUG15Prepare = 310,
3502 kGoalFreeSlotAAct5Default = 400,
3503 kGoalFreeSlotAAct5Prepare = 405,
3504 kGoalFreeSlotAAct5KP02Attack = 406,
3505 kGoalFreeSlotAGoneIntermediate = 411,
3506 kGoalFreeSlotAGone = 599
3507};
3508
3509enum GoalFreeSlotB { // Rat B
3510 kGoalFreeSlotBAct4Default = 300,
3511 kGoalFreeSlotBAct4WalkAround = 301,
3512 kGoalFreeSlotBAct4AttackMcCoy = 302,
3513 kGoalFreeSlotBAct5Default = 400,
3514 kGoalFreeSlotBAct5Prepare = 405,
3515 kGoalFreeSlotBAct5KP02Attack = 406,
3516 kGoalFreeSlotBGoneIntermediate = 411,
3517 kGoalFreeSlotBGone = 599
3518};
3519
3520enum GoalMaggie {
3521 kGoalMaggieMA02Default = 0,
3522 kGoalMaggieMA02WalkToEntrance = 1,
3523 kGoalMaggieMA02Intermediate02 = 2, // unused (checked in MA02 but never assigned)
3524 kGoalMaggieMA02GetFed = 3,
3525 kGoalMaggieMA02SitDownToGetUp = 6, // new - original: Unused
3526 kGoalMaggieMA02WalkToMcCoy = 7,
3527 kGoalMaggieMA02Wait = 8,
3528 kGoalMaggieMA02GoingToSleep = 9,
3529 kGoalMaggieMA02SitDownToSleep = 10,
3530 kGoalMaggieMA02Sleeping = 11,
3531 kGoalMaggieMA02Intermediate12 = 12,
3532 kGoalMaggieAct5Default = 400,
3533 kGoalMaggieAct5Start = 410,
3534 kGoalMaggieKP05Wait = 411,
3535 kGoalMaggieKP05McCoyEntered = 412,
3536 kGoalMaggieKP05WalkToMcCoy = 413,
3537 kGoalMaggieKP05WillExplode = 414,
3538 kGoalMaggieKP05Explode = 415,
3539 kGoalMaggieDead = 599
3540};
3541
3542enum ActorTimers {
3543 kActorTimerAIScriptCustomTask0 = 0,
3544 kActorTimerAIScriptCustomTask1 = 1,
3545 kActorTimerAIScriptCustomTask2 = 2,
3546 kActorTimerMovementTrack = 3,
3547 kActorTimerClueExchange = 4,
3548 kActorTimerAnimationFrame = 5,
3549 kActorTimerRunningStaminaFPS = 6
3550};
3551
3552// Certain tracks are available at Frank Klepacki's website/portfolio for Blade Runner
3553// Those are noted with their "official" name in a side-comment here, as they appear at the website
3554// A few may not match the incremental number given in-game (eg. kMusicGothic3 is "Gothic Club 2")
3555enum MusicTracks {
3556 kMusicArabLoop = 0, // Animoid Row track (Not available at Frank Klepacki's website/portfolio for Blade Runner)
3557 kMusicBatl226M = 1, // "Battle Theme"
3558 kMusicBRBlues = 2, // "Blade Runner Blues"
3559 kMusicKyoto = 3, // "Etsuko Theme"
3560 kMusicOneTime = 4, // "One More Time, Love" (Not available at Frank Klepacki's website/portfolio for Blade Runner)
3561 kMusicGothic3 = 5, // "Gothic Club 2"
3562 kMusicArkdFly1 = 6,
3563 kMusicArkDnce1 = 7,
3564 kMusicTaffy2 = 8, // "Taffy's Club 2"
3565 kMusicTaffy3 = 9, // "Enigma Drift"
3566 kMusicTaffy4 = 10, // "Late Call"
3567 kMusicBeating1 = 11, // "Nexus"
3568 kMusicCrysDie1 = 12, // "Awakenings"
3569 kMusicGothic1 = 13, // "Gothic Club"
3570 kMusicGothic2 = 14, // "Transition"
3571 kMusicStrip1 = 15, // "The Eyes Follow"
3572 kMusicDkoDnce1 = 16,
3573 kMusicCredits = 17, // "End Credits"
3574 kMusicMoraji = 18, // "Ending"
3575 kMusicClovDie1 = 19, // "Remorse"
3576 kMusicClovDies = 20, // "Solitude"
3577 kMusicLoveSong = 21 // "Love Theme" (Lucy, Dektora, Subway drive ending)
3578};
3579
3580enum SFXSounds {
3581 kSfxCROSLOCK = 0, // PS02, PS10, VK
3582 kSfxSTEAM1 = 1,
3583 kSfxSPINNY1 = 2, // used only in Shooting Range Set
3584 kSfxFEMHURT1 = 3, // used only 3 times; 2 of them are bugs
3585 kSfxFEMHURT2 = 4, // used only in Shooting Range Set (and for Moraji (Removed))
3586 kSfxGUNMISS1 = 5, // unused
3587 kSfxGUNMISS2 = 6, // unused
3588 kSfxGUNMISS3 = 7, // unused
3589 kSfxGUNMISS4 = 8, // unused
3590 kSfxHITTARG1 = 9, // unused
3591 kSfxHITTARG2 = 10, // unused
3592 kSfxHITTARG3 = 11, // unused
3593 kSfxLGCAL1 = 12,
3594 kSfxLGCAL2 = 13, // used only twice in UG18
3595 kSfxLGCAL3 = 14, // used only in UG18
3596 kSfxMDCAL1 = 15, // unused
3597 kSfxMDCAL2 = 16, // unused
3598 kSfxRICO1 = 17, // unused
3599 kSfxRICO2 = 18, // unused
3600 kSfxRICO3 = 19, // used only once - PS11 for a maze target (A Bug?)
3601 kSfxRICOCHT1 = 20, // unused
3602 kSfxRICOCHT2 = 21, // unused
3603 kSfxRICOCHT3 = 22, // unused
3604 kSfxRICOCHT4 = 23, // unused
3605 kSfxRICOCHT5 = 24, // unused
3606 kSfxSMCAL1 = 25, // unused
3607 kSfxSMCAL2 = 26, // unused
3608 kSfxSMCAL3 = 27,
3609 kSfxSMCAL4 = 28, // unused
3610 kSfxTARGUP1 = 29,
3611 kSfxTARGUP2 = 30, // unused
3612 kSfxTARGUP3 = 31, // used only once - PS11
3613 kSfxTARGUP4 = 32,
3614 kSfxTARGUP5 = 33,
3615 kSfxTARGUP6 = 34,
3616 kSfxTARGUP7 = 35, // unused - similar to TARGUP6, bit more sustained
3617 kSfxTRGSPIN1 = 36, // unused
3618 kSfxTRGSPIN2 = 37, // unused - similar to kSfxTRGSPIN1, bit faster
3619 kSfxTRGSPIN3 = 38, // unused - ugly sound
3620 kSfxDRIPPY4 = 39, // unused
3621 kSfxDRIPPY10 = 40, // used only once - CT05
3622 kSfxDRIPPY1 = 41, // used only once - CT05
3623 kSfxDRIPPY2 = 42, // used only once - CT05
3624 kSfxDRIPPY6 = 43, // used only once - CT05
3625 kSfxDRIPPY7 = 44, // used only once - CT05
3626 kSfxPSAMB6 = 45, // - Looping
3627 kSfxRTONE3 = 46, // - Looping (Guzza's Office PS04) - Used once
3628 kSfxSCANNER1 = 47, // used only twice. In PS04 and UG02 (Izo's stash)
3629 kSfxSCANNER2 = 48, // used only twice. In PS04 and UG02 (Izo's stash)
3630 kSfxSCANNER3 = 49, // used only twice. In PS04 and UG02 (Izo's stash)
3631 kSfxSCANNER4 = 50, // used only twice. In PS04 and UG02 (Izo's stash)
3632 kSfxSCANNER5 = 51, // used only twice. In PS04 and UG02 (Izo's stash)
3633 kSfxSCANNER6 = 52, // used only twice. In PS04 and UG02 (Izo's stash)
3634 kSfxSCANNER7 = 53, // used only twice. In PS04 and UG02 (Izo's stash)
3635 kSfxCTRAIN1 = 54, // - Looping
3636 kSfxCTAMBL1 = 55, // - Looping (CT01, CT12) - Used twice
3637 kSfxCTAMBR1 = 56, // - Looping
3638 kSfxSTEAM3 = 57,
3639 kSfxSTEAM6A = 58,
3640 kSfxNEON5 = 59, // used three times. In CT01, CT12, DR03.
3641 kSfxNEON6 = 60, // used three times. In CT01, CT12, HC02.
3642 kSfxDISH1 = 61,
3643 kSfxDISH2 = 62,
3644 kSfxDISH3 = 63,
3645 kSfxDISH4 = 64,
3646 kSfxDISH5 = 65, // unused
3647 kSfxSPIN1A = 66,
3648 kSfxSPIN2A = 67,
3649 kSfxSPIN2B = 68,
3650 kSfxSPIN3A = 69,
3651 kSfxBOOLOOP2 = 70, // - Looping (Hall of Mirrors HF04) - Used once
3652 kSfxBRBED5 = 71, // - Looping
3653 kSfxSWEEP2 = 72,
3654 kSfxSWEEP3 = 73,
3655 kSfxSWEEP4 = 74,
3656 kSfxWINDLOP8 = 75, // - Looping (Runciter's interior RC02) - Used once
3657 kSfxPETDEAD1 = 76, // used only once - RC02
3658 kSfxPETDEAD3 = 77, // used only once - RC02
3659 kSfxPETDEAD4 = 78, // used only once - RC02
3660 kSfxPETDEAD5 = 79, // used only once - CT05 (Chinatown Warehouse)
3661 kSfxRCAMB1 = 80, // unused - Looping
3662 kSfxRCAMBR1 = 81, // - Looping
3663 kSfxRCCARBY1 = 82,
3664 kSfxRCCARBY2 = 83,
3665 kSfxRCCARBY3 = 84,
3666 kSfxRCRAIN1 = 85, // - Looping (Runciter's interior RC02) - Used once
3667 kSfxRCTALK1 = 86, // unused - Looping?
3668 kSfxSIREN2 = 87,
3669 kSfxRCTALK2 = 88, // unused - Looping?
3670 kSfxRCTALK3 = 89, // unused - Looping?
3671 kSfxPSDOOR1 = 90,
3672 kSfxPSDOOR2 = 91,
3673 kSfxPSPA6 = 92, // used only once - PS03 (Ground Level)
3674 kSfxPSPA7 = 93, // used only once - PS03 (Ground Level)
3675 kSfxPSPA8 = 94, // used only once - PS03 (Ground Level)
3676 kSfxBOILPOT2 = 95, // - Looping
3677 kSfxKTCHRAIN = 96, // - Looping - (Zuben's Kitchen CT02) - Used once
3678 kSfxNEON7 = 97,
3679 kSfxBIGFAN2 = 98, // - Looping (DR01, DR02) - Used twice
3680 kSfxROOFAIR1 = 99, // - Looping
3681 kSfxROOFRMB1 = 100, // - Looping
3682 kSfxROOFRAN1 = 101, // - Looping
3683 kSfxROOFLIT1 = 102, // used only twice. In MA01 (McCoy's roof) and MA05 (McCoy's balcony)
3684 kSfxRAINAWN1 = 103, // - Looping
3685 kSfxAPRTAMB5 = 104, // - Looping (MA02, MA04) - Used twice
3686 kSfxCTRUNOFF = 105, // - Looping
3687 kSfxCTROOFL1 = 106, // - Looping (Chinatown Warehouse CT05) - Used once
3688 kSfxCTROOFR1 = 107, // - Looping (Chinatown Warehouse CT05) - Used once
3689 kSfxDRAMB4 = 108, // - Looping (Crazylegs underground basement HF07) - Used once
3690 kSfxBRBED3 = 109, // - Looping
3691 kSfxRESPRTR1 = 110, // - Looping (Chew's EyeWorld DR03) - Used once
3692 kSfxDRAMB5 = 111, // - Looping (Dektora's Backstage NR06, NR07) - Used twice
3693 kSfxFACTAMB2 = 112, // Looping (DR01, HF07) - Used twice
3694 kSfxDRRAIN1 = 113, // unused - Looping
3695 kSfxSPINUP1 = 114, // used only in elevator MA06 (Name implies use for Spinner taking off)
3696 kSfxSPINOPN3 = 115, // unused (spinner door open)
3697 kSfxSPINOPN4 = 116,
3698 kSfxCARUP3 = 117,
3699 kSfxCARDOWN3 = 118,
3700 kSfxSPINCLS1 = 119,
3701 kSfxSERVOU1 = 120, // used only in PS01 (Police HQ Roof)
3702 kSfxSERVOD1 = 121, // used only twice; 1 is unused (shot doll "General"), other is in PS01
3703 kSfxMTLHIT1 = 122, // used three times; MA01 (Roof), PS01 (Roof), NR11 (Loft)
3704 kSfxSPNBEEP9 = 123,
3705 kSfxPRISAMB3 = 124, // - Looping (Lockup PS09) - Used once
3706 kSfxPRISSLM1 = 125, // used once in PS09
3707 kSfxPRISSLM2 = 126, // used once in PS09
3708 kSfxPRISSLM3 = 127, // used once in PS09
3709 kSfxSPINAMB2 = 128, // unused - Restored in spinner.cpp (At "Select Destination" message)
3710 kSfxSPNAMB1 = 129, // unused - Looping? Ugly Sound
3711 kSfxSPNBEEP2 = 130, // used once in UG02
3712 kSfxSPNBEEP3 = 131, // used only twice; UG02 and KIA Save
3713 kSfxSPNBEEP4 = 132, // used only twice; UG02 and MA04
3714 kSfxSPNBEEP5 = 133, // used once in UG02
3715 kSfxSPNBEEP6 = 134, // used only twice; UG02 and KIA Save
3716 kSfxSPNBEEP7 = 135, // used in UG02, and KIA Save, KIA Settings
3717 kSfxSPNBEEP8 = 136, // used once in UG02
3718 kSfxPRISAMB1 = 137, // - Looping (Lockup PS09) - Used once
3719 kSfxBRBED5X = 138, // - Looping (Lockup PS09) - Used once
3720 kSfxLABAMB1 = 139, // unused - Looping?
3721 kSfxLABAMB2 = 140, // unused - Looping?
3722 kSfxLABAMB3 = 141, // - Looping
3723 kSfxTUBES1 = 142, // used once in PS07 (Lab)
3724 kSfxTUBES2 = 143, // unused
3725 kSfxTUBES3 = 144, // unused
3726 kSfxTUBES4 = 145, // used once in PS07 (Lab)
3727 kSfxLABMISC1 = 146, // used twice; in PS07, TB05
3728 kSfxLABMISC2 = 147,
3729 kSfxLABMISC3 = 148,
3730 kSfxLABMISC4 = 149,
3731 kSfxLABMISC5 = 150,
3732 kSfxLABMISC6 = 151,
3733 kSfxLABMISC7 = 152, // used once in PS07 (Lab)
3734 kSfxLABMISC8 = 153, // used once in PS07 (Lab)
3735 kSfxLABMISC9 = 154, // used once in PS07 (Lab)
3736 kSfxLABBUZZ1 = 155, // used in PS07 (restored), PS10 (Buzzer fix), PS15 (removed)
3737 kSfxPAGE1 = 156, // used twice; in PS15 (Sgt Walls Armory), PS05 (Mainframe Hall)
3738 kSfxPAGE2 = 157, // used twice; in PS15 (Sgt Walls Armory), PS05 (Mainframe Hall)
3739 kSfxPAGE3 = 158, // used twice; in PS15 (Sgt Walls Armory), PS05 (Mainframe Hall)
3740 kSfxUPTARG3 = 159, // used in PS10 (for Maze Targets)
3741 kSfxCEMENTL1 = 160, // footsteps sound (left) (also used in DR06 for mannequin head)
3742 kSfxCEMENTL2 = 161, // footsteps sound (left) (also used in DR06 for mannequin head)
3743 kSfxCEMENTL3 = 162, // footsteps sound (left)
3744 kSfxCEMENTL4 = 163, // footsteps sound (left)
3745 kSfxCEMENTL5 = 164, // footsteps sound (left)
3746 kSfxCEMENTR1 = 165, // footsteps sound (right)
3747 kSfxCEMENTR2 = 166, // footsteps sound (right)
3748 kSfxCEMENTR3 = 167, // footsteps sound (right)
3749 kSfxCEMENTR4 = 168, // footsteps sound (right)
3750 kSfxCEMENTR5 = 169, // footsteps sound (right)
3751 kSfxCEMWETL1 = 170, // footsteps sound (Wet, left)
3752 kSfxCEMWETL2 = 171, // footsteps sound (Wet, left)
3753 kSfxCEMWETL3 = 172, // footsteps sound (Wet, left)
3754 kSfxCEMWETL4 = 173, // footsteps sound (Wet, left)
3755 kSfxCEMWETL5 = 174, // footsteps sound (Wet, left)
3756 kSfxCEMWETR1 = 175, // footsteps sound (Wet, right)
3757 kSfxCEMWETR2 = 176, // footsteps sound (Wet, right)
3758 kSfxCEMWETR3 = 177, // footsteps sound (Wet, right)
3759 kSfxCEMWETR4 = 178, // footsteps sound (Wet, right)
3760 kSfxCEMWETR5 = 179, // footsteps sound (Wet, right)
3761 kSfxGARBAGE4 = 180, // used once in CT04 (Chinatown Back Alley with big dumpster)
3762 kSfx67_0470R = 181,
3763 kSfx67_0480R = 182,
3764 kSfx67_0500R = 183,
3765 kSfx67_0540R = 184,
3766 kSfx67_0560R = 185,
3767 kSfx67_0870R = 186,
3768 kSfx67_0880R = 187, // unused
3769 kSfx67_0900R = 188,
3770 kSfx67_0940R = 189,
3771 kSfx67_0960R = 190,
3772 kSfx67_1070R = 191,
3773 kSfx67_1080R = 192,
3774 kSfx67_1100R = 193,
3775 kSfx67_1140R = 194,
3776 kSfx67_1160R = 195,
3777 kSfxZUBWLK1 = 196,
3778 kSfxZUBWLK2 = 197,
3779 kSfxZUBWLK3 = 198,
3780 kSfxZUBWLK4 = 199,
3781 kSfxBIGPOT4 = 200, // unused
3782 kSfxMTLDOOR2 = 201,
3783 kSfxPOTSPL4 = 202, // unused
3784 kSfxPOTSPL5 = 203, // used once in CT02 - also in (cut) ShotAtAndHit() code of Generic Walkers A, B, C
3785 kSfxBIGPOT3 = 204, // used only twice; CT02 and DR06 (mannequin head broken)
3786 kSfxCTDRONE1 = 205,
3787 kSfxZUBLAND1 = 206,
3788 kSfxZUBDEAD1 = 207, // used only in Zuben AI
3789 kSfxELDOORO2 = 208, // used in MA06, PS02
3790 kSfxELDOORC1 = 209, // used in MA06, PS02
3791 kSfxELEAMB3 = 210, // - Looping used in MA06, PS02
3792 kSfxFOUNTAIN = 211, // - Looping used in TB02, TB03
3793 kSfxBELLY1 = 212, // used in TB02, TB03, TB07
3794 kSfxBELLY2 = 213, // used in TB02, TB03, TB07
3795 kSfxBELLY3 = 214, // used in TB02, TB03, TB07
3796 kSfxBELLY4 = 215, // used in TB02, TB03, TB07
3797 kSfxBELLY5 = 216, // used in TB02, TB03, TB07
3798 kSfxHUMMER1 = 217, // - Looping (DR04) and non-looping (TB05)
3799 kSfxHUMMER2 = 218, // used once in TB05
3800 kSfxHUMMER3 = 219, // - Looping (DR01, DR02, TB05)
3801 kSfxHUMMER4 = 220, // used once in TB05
3802 kSfxPUNCH1 = 221, // used only in Sadik AI
3803 kSfxKICK1 = 222, // used only in Sadik and holloway AI
3804 kSfxKICK2 = 223, // used only in Sadik AI
3805 kSfxBANG1 = 224,
3806 kSfxBANG2 = 225,
3807 kSfxBANG3 = 226, // used twice; UG03 and UG05
3808 kSfxBANG4 = 227,
3809 kSfxBANG5 = 228,
3810 kSfxBANG6 = 229,
3811 kSfxGLOOP1 = 230, // used only in UG10
3812 kSfxGLOOP2 = 231, // unused
3813 kSfxGLOOP3 = 232, // unused
3814 kSfxGLOOP4 = 233, // used only in UG10
3815 kSfxPIPER1 = 234,
3816 kSfxSQUEAK1 = 235,
3817 kSfxTB5LOOP1 = 236, // - Looping (TB05, TB06)
3818 kSfxTB5LOOP2 = 237, // - Looping (TB05, TB06)
3819 kSfxHCBELL1 = 238, // used twice; HC02 and HC03
3820 kSfxHCSING1 = 239, // unused
3821 kSfxINDFLUT1 = 240, // used twice; HC02 and HC03
3822 kSfxHCLOOP1 = 241, // - Looping
3823 kSfxHCANM8 = 242,
3824 kSfxHCANM2 = 243,
3825 kSfxHCANM3 = 244,
3826 kSfxHCANM4 = 245,
3827 kSfxHCANM5 = 246,
3828 kSfxHCANM6 = 247,
3829 kSfxHCANM7 = 248,
3830 kSfxHCANM1 = 249,
3831 kSfxDOGTOY3 = 250, // unused
3832 kSfxBARAMB2 = 251, // unused - identical to kSfxBARAMB1
3833 kSfxBARSFX1 = 252,
3834 kSfxBARSFX2 = 253, // unused
3835 kSfxBARSFX3 = 254,
3836 kSfxBARSFX4 = 255,
3837 kSfxBARSFX5 = 256,
3838 kSfxBARSFX6 = 257,
3839 kSfxBARSFX7 = 258,
3840 kSfxCLINK1 = 259,
3841 kSfxCLINK2 = 260,
3842 kSfxCLINK3 = 261,
3843 kSfxCLINK4 = 262,
3844 kSfxDOGBARK1 = 263, // used only in Maggie AI
3845 kSfxDOGBARK3 = 264, // used only in Maggie AI
3846 kSfxDOGBITE1 = 265, // unused
3847 kSfxDOGCRY1 = 266, // unused
3848 kSfxDOGCRY2 = 267, // unused
3849 kSfxDOGFAR1 = 268, // unused
3850 kSfxDOGFAR2 = 269, // unused
3851 kSfxDOGGUN1 = 270, // unused
3852 kSfxDOGGUN2 = 271, // unused
3853 kSfxDOGHURT1 = 272, // used only in Maggie AI
3854 kSfxDOGMAD1 = 273, // unused
3855 kSfxDOGNEED1 = 274, // unused
3856 kSfxDOGNEED2 = 275, // unused
3857 kSfxDOGTAIL1 = 276, // used only in Maggie AI
3858 kSfxDOGTAIL2 = 277, // unused
3859 kSfxDOGTOY1 = 278, // unused
3860 kSfxDOGTOY2 = 279, // unused
3861 kSfxBARAMB1 = 280, // - Looping
3862 kSfx14KBEEP1 = 281, // used only in HC03
3863 kSfxTBBEEP1 = 282, // unused
3864 kSfxTBDOOR1 = 283, // used twice; TB05, TB06
3865 kSfxTBDOOR2 = 284, // unused
3866 kSfxTBLOOP1 = 285, // - Looping (TB06)
3867 kSfxTRUCKBY1 = 286, // used twice; BB01, RC03
3868 kSfxCHEVBY1 = 287, // used only in RC03 (outside Bullet Bob's)
3869 kSfxFIREBD1 = 288, // - Looping (DR04, UG06)
3870 kSfxGLASSY1 = 289, // used only in BB10 (Bradubury Bookcase Before Rooftop)
3871 kSfxGLASSY2 = 290, // used only in BB10
3872 kSfxBBDRIP1 = 291,
3873 kSfxBBDRIP2 = 292,
3874 kSfxBBDRIP3 = 293,
3875 kSfxBBDRIP4 = 294,
3876 kSfxBBDRIP5 = 295,
3877 kSfxRADIATR1 = 296, // unused
3878 kSfxRADIATR2 = 297, // used only in BB09 (Bradubury above bathroom)
3879 kSfxRADIATR3 = 298, // used only in BB09
3880 kSfxRADIATR4 = 299, // used only in BB09
3881 kSfxJESTMOV1 = 300, // used only in DR06
3882 kSfxINDXPLOD = 301, // used only in DR04
3883 kSfxJESTMUS1 = 302, // unused
3884 kSfxBBGRN1 = 303,
3885 kSfxBBGRN2 = 304,
3886 kSfxBBGRN3 = 305,
3887 kSfxBBMOVE1 = 306,
3888 kSfxBBMOVE2 = 307,
3889 kSfxBBMOVE3 = 308,
3890 kSfxHAUNT1 = 309,
3891 kSfxHAUNT2 = 310,
3892 kSfxMONKCYM1 = 311,
3893 kSfxCAMERA2 = 312,
3894 kSfxMONKEY1 = 313,
3895 kSfxMONKEY2 = 314, // unused
3896 kSfxRUNAWAY1 = 315,
3897 kSfxTRPDOOR1 = 316, // open and shut
3898 kSfxTRPDORO = 317, // unused - open
3899 kSfxTRPDORC = 318, // unused - shut
3900 kSfxAUDLAFF1 = 319,
3901 kSfxAUDLAFF2 = 320,
3902 kSfxAUDLAFF3 = 321,
3903 kSfxAUDLAFF4 = 322,
3904 kSfxAUDLAFF5 = 323,
3905 kSfxAUDLAFF6 = 324,
3906 kSfxAUDLAFF7 = 325,
3907 kSfxAUDLAFF8 = 326,
3908 kSfxAUDLAFF9 = 327,
3909 kSfxCHAINLNK = 328,
3910 kSfxMAMASNG1 = 329, // - Looping
3911 kSfxROTIS2 = 330, // - Looping
3912 kSfxSTMLOOP7 = 331, // - Looping
3913 kSfxUGBED1 = 332, // - Looping
3914 kSfxUGBED2 = 333, // - Looping
3915 kSfxBIGFAN3 = 334, // unused
3916 kSfxGETITEM1 = 335,
3917 kSfxFLORBUZZ = 336, // - Looping
3918 kSfxDESKBELL = 337,
3919 kSfxCURTAIN1 = 338,
3920 kSfxDRAWER1 = 339,
3921 kSfxARCBED1 = 340, // - Looping
3922 kSfxCIRCUS1 = 341, // - Looping
3923 kSfxFORTUNE1 = 342, // unused (un-triggered)
3924 kSfxCARCREK1 = 343,
3925 kSfxCARLAND1 = 344,
3926 kSfxDORSLID1 = 345, // used only twice
3927 kSfxDORSLID2 = 346, // used only once
3928 kSfxKUNG1 = 347, // unused
3929 kSfxLOWERN1 = 348,
3930 kSfxLOWERY1 = 349,
3931 kSfxMAGCHNK1 = 350,
3932 kSfxMAGDROP1 = 351,
3933 kSfxMAGMOVE1 = 352,
3934 kSfxMAGMOVE2 = 353,
3935 kSfxRAISEN1 = 354,
3936 kSfxRAISEY1 = 355,
3937 kSfxBUMSNOR1 = 356,
3938 kSfxBUMSNOR2 = 357,
3939 kSfxBUMSNOR3 = 358,
3940 kSfxSTONDOR1 = 359,
3941 kSfxSTONDOR2 = 360,
3942 kSfxSEXYAD2 = 361,
3943 kSfxMUSBLEED = 362, // - Looping ("Iron Fist" track from Command & Conquer - The Covert Operations (OST))
3944 kSfxSUNROOM1 = 363,
3945 kSfxSUNROOM2 = 364,
3946 kSfxSUNROOM3 = 365,
3947 kSfxSUNROOM4 = 366,
3948 kSfxSUBWAY1 = 367,
3949 kSfxYELL1M1 = 368,
3950 kSfxGRUNT1M1 = 369,
3951 kSfxGRUNT2M1 = 370,
3952 kSfxHURT1M1 = 371,
3953 kSfxCARGELE2 = 372,
3954 kSfxCARUP3B = 373,
3955 kSfxCOLONY = 374,
3956 kSfxTHNDER2 = 375,
3957 kSfxTHNDER3 = 376,
3958 kSfxTHNDER4 = 377,
3959 kSfxTHNDR1 = 378,
3960 kSfxTHNDR2 = 379,
3961 kSfxTHNDR3 = 380,
3962 kSfxRAIN10 = 381, // - Looping
3963 kSfxRAINALY1 = 382, // - Looping
3964 kSfxSKINBED1 = 383, // - Looping
3965 kSfxRUMLOOP1 = 384, // - Looping
3966 kSfxPHONE1 = 385,
3967 kSfxESPLOOP1 = 386, // - Looping
3968 kSfxESPLOOP2 = 387, // - Looping
3969 kSfxESPLOOP3 = 388, // - Looping
3970 kSfxSTEAMY1 = 389,
3971 kSfxSTEAMY2 = 390,
3972 kSfxSQUEAK2 = 391,
3973 kSfxSQUEAK3 = 392,
3974 kSfxSQUEAK4 = 393, // used only once
3975 kSfxSQUEAK5 = 394,
3976 kSfxGRUNT1M2 = 395,
3977 kSfxGRUNT1M3 = 396,
3978 kSfxGRUNT2M2 = 397,
3979 kSfxGRUNT2M3 = 398,
3980 kSfxHURT1M2 = 399,
3981 kSfxHURT1M3 = 400,
3982 kSfxYELL1M2 = 401,
3983 kSfxYELL1M3 = 402,
3984 kSfxVIDFONE1 = 403,
3985 kSfxDRAIN1X = 404,
3986 kSfxTOILET1 = 405,
3987 kSfxGARGLE1 = 406,
3988 kSfxWASH1 = 407,
3989 kSfxAPRTFAN1 = 408, // - Looping
3990 kSfxMA04VO1A = 409, // unused Developer commentary for MA04 scene (McCoy's apartment)
3991 kSfxCT01VO1A = 410, // unused Developer commentary for CT01 scene (Howie Lee's, Chinatown)
3992 kSfxHC01VO1A = 411, // unused Developer commentary for HC01 scene (Hawker's Circle)
3993 kSfxELEBAD1 = 412,
3994 kSfxBR025_5A = 413,
3995 kSfxBR027_1P = 414,
3996 kSfxBR024_4B = 415,
3997 kSfxBR029_3A = 416,
3998 kSfxBR034_1A = 417,
3999 kSfxBR030_3A = 418,
4000 kSfxBR031_1P = 419,
4001 kSfxBR028_2A = 420,
4002 kSfxBR026_2A = 421, // unused
4003 kSfxBR032_7B = 422,
4004 kSfxBR033_4B = 423,
4005 kSfxBR035_7B = 424,
4006 kSfxBR010_4A = 425, // unused
4007 kSfxBR011_2A = 426,
4008 kSfxBR012_3B = 427, // unused
4009 kSfxBR013_3D = 428,
4010 kSfxBR014_5A = 429,
4011 kSfxBR015_3C = 430, // unused
4012 kSfxBR016_2B = 431,
4013 kSfxBR017_2A = 432, // unused
4014 kSfxBR018_3E = 433, // unused
4015 kSfxBBELE2 = 434,
4016 kSfxRATTY1 = 435, // unused
4017 kSfxRATTY2 = 436, // unused
4018 kSfxRATTY3 = 437,
4019 kSfxRATTY4 = 438,
4020 kSfxRATTY5 = 439,
4021 kSfxSCARY1 = 440,
4022 kSfxSCARY2 = 441,
4023 kSfxSCARY3 = 442,
4024 kSfxSCARY4 = 443,
4025 kSfxSCARY5 = 444,
4026 kSfxSCARY6 = 445,
4027 kSfxSCARY7 = 446,
4028 kSfxPNEUM5 = 447, // used only once
4029 kSfxROBOTMV1 = 448,
4030 kSfxMCGUN1 = 449,
4031 kSfxMCGUN2 = 450,
4032 kSfxDEKGLAS1 = 451, // used only once
4033 kSfx35MM = 452,
4034 kSfx35MMBRK1 = 453,
4035 kSfx35MMGO1 = 454, // unused
4036 kSfxBR027_3P = 455,
4037 kSfxBRWIND2 = 456,
4038 kSfxBUTN6 = 457,
4039 kSfxBR018_1P = 458,
4040 kSfxBR003_1A = 459,
4041 kSfxBRTARGET = 460,
4042 kSfxVKBEEP1 = 461,
4043 kSfxVKBEEP2 = 462,
4044 kSfxCAMCOP1 = 463,
4045 kSfxKPAMB1 = 464, // - Looping
4046 kSfxMANHOLE1 = 465, // unused
4047 kSfxMETALL1 = 466,
4048 kSfxMETALL2 = 467,
4049 kSfxMETALL3 = 468,
4050 kSfxMETALL4 = 469,
4051 kSfxMETALL5 = 470,
4052 kSfxMETALR1 = 471,
4053 kSfxMETALR2 = 472,
4054 kSfxMETALR3 = 473,
4055 kSfxMETALR4 = 474,
4056 kSfxMETALR5 = 475,
4057 kSfxWOODL1 = 476,
4058 kSfxWOODL2 = 477,
4059 kSfxWOODL3 = 478,
4060 kSfxWOODL4 = 479,
4061 kSfxWOODL5 = 480,
4062 kSfxWOODR1 = 481,
4063 kSfxWOODR2 = 482,
4064 kSfxWOODR3 = 483,
4065 kSfxWOODR4 = 484,
4066 kSfxWOODR5 = 485,
4067 kSfxDIALOUT3 = 486, // unused
4068 kSfxBIKEMIX4 = 487,
4069 kSfxCHAINBRK = 488,
4070 kSfxGUNAIM1 = 489, // unused
4071 kSfxCAREXPL1 = 490,
4072 kSfxCRYEXPL1 = 491,
4073 kSfxSHOTCOK1 = 492,
4074 kSfxSHOTGUN1 = 493,
4075 kSfxDOGEXPL1 = 494,
4076 kSfxBEEP16 = 495,
4077 kSfxMECHAN1C = 496,
4078 kSfxMECHAN1 = 497,
4079 kSfxPANEL1 = 498,
4080 kSfxPANEL2 = 499,
4081 kSfxPANOPEN = 500,
4082 kSfxELECTRO1 = 501,
4083 kSfxBEEP1 = 502,
4084 kSfxBUTN4P = 503,
4085 kSfxBUTN4R = 504,
4086 kSfxBUTN5P = 505,
4087 kSfxBUTN5R = 506,
4088 kSfxTEXT1 = 507,
4089 kSfxTEXT3 = 508,
4090 kSfxBEEP10 = 509,
4091 kSfxBEEP10A = 510,
4092 kSfxBEEP15 = 511,
4093 kSfxMUSVOL8 = 512,
4094 kSfxELECBP1 = 513,
4095 kSfxCRZYEXPL = 514, // unused
4096 kSfxELEBUTN1 = 515,
4097 kSfxELECLAB1 = 516, // - Looping
4098 kSfxGUNH1A = 517,
4099 kSfxGUNH1B = 518,
4100 kSfxGUNH1C = 519,
4101 kSfxGUNH2A = 520,
4102 kSfxGUNH2B = 521,
4103 kSfxGUNH2C = 522,
4104 kSfxGUNH3A = 523,
4105 kSfxGUNH3B = 524,
4106 kSfxGUNH3C = 525,
4107 kSfxGUNM1A = 526,
4108 kSfxGUNM1B = 527,
4109 kSfxGUNM1C = 528,
4110 kSfxGUNM2A = 529,
4111 kSfxGUNM2B = 530,
4112 kSfxGUNM2C = 531,
4113 kSfxGUNM3A = 532,
4114 kSfxGUNM3B = 533,
4115 kSfxGUNM3C = 534,
4116 kSfxGUNH1AR = 535, // unused - adds reverb to 517
4117 kSfxGUNH1BR = 536, // unused - adds reverb to 518
4118 kSfxGUNH1CR = 537, // unused - adds reverb to 519
4119 kSfxGUNH2AR = 538, // unused - adds reverb to 520
4120 kSfxGUNH2BR = 539, // unused - adds reverb to 521
4121 kSfxGUNH2CR = 540, // unused - adds reverb to 522
4122 kSfxGUNH3AR = 541, // unused - adds reverb to 523
4123 kSfxGUNH3BR = 542, // unused - adds reverb to 524
4124 kSfxGUNH3CR = 543, // unused - adds reverb to 525
4125 kSfxGUNM1AR = 544, // unused - adds reverb to 526
4126 kSfxGUNM1BR = 545, // unused - adds reverb to 527
4127 kSfxGUNM1CR = 546, // unused - adds reverb to 528
4128 kSfxGUNM2AR = 547, // unused - adds reverb to 529
4129 kSfxGUNM2BR = 548, // unused - adds reverb to 530
4130 kSfxGUNM2CR = 549, // unused - adds reverb to 531
4131 kSfxGUNM3AR = 550, // unused - adds reverb to 532
4132 kSfxGUNM3BR = 551, // unused - adds reverb to 533
4133 kSfxGUNM3CR = 552, // unused - adds reverb to 534
4134 kSfxGARBAGE = 553,
4135 kSfxBELLTONE = 554, // unused
4136 kSfxMALEHURT = 555,
4137 kSfxHOLSTER1 = 556,
4138 kSfxHEADHIT2 = 557,
4139 kSfxUGLEVER1 = 558,
4140 kSfxCOMPDWN4 = 559,
4141 kSfxDROPGLAS = 560,
4142 kSfxBRKFNGR1 = 561,
4143 kSfxBOMBFAIL = 562,
4144 kSfxBABYCRY2 = 563,
4145 kSfxBRKROPE1 = 564,
4146 kSfxKICKDOOR = 565, // unused
4147 kSfxDEKCLAP1 = 566,
4148 kSfxWHISTLE1 = 567,
4149 kSfxWHISTLE2 = 568,
4150 kSfxWHISTLE3 = 569,
4151 kSfxFEMORG1 = 570,
4152 kSfxFEMORG2 = 571,
4153 kSfxFEMORG3 = 572,
4154 kSfxFEMORG4 = 573,
4155 kSfxDOORLOCK = 574,
4156 kSfxRIMSHOT1 = 575,
4157 kSfxRIMSHOT2 = 576,
4158 kSfxRIMSHOT3 = 577,
4159 kSfxRIMSHOT4 = 578,
4160 kSfxRIMSHOT5 = 579,
4161 kSfxGOTSHOT1 = 580, // unused
4162 kSfxCOMEDY = 581,
4163 kSfxDRUGOUT = 582,
4164 kSfxPLANKDWN = 583,
4165 kSfxBANGDOOR = 584, // unused
4166 kSfxCOMPBED1 = 585, // - Looping
4167 kSfxMOONBED2 = 586, // - Looping
4168 kSfxDATALOAD = 587,
4169 kSfxBEEPNEAT = 588,
4170 kSfxWINDLOOP = 589, // - Looping
4171 kSfxTBALARM = 590,
4172 kSfxLIGHTON = 591,
4173 kSfxCOMPON1 = 592,
4174 kSfxCHARMTL7 = 593,
4175 kSfxCHARMTL8 = 594,
4176 kSfxCHARMTL9 = 595,
4177 kSfxSHUTDOWN = 596
4178};
4179
4180enum GameDifficultyLevel {
4181 kGameDifficultyEasy = 0,
4182 kGameDifficultyMedium = 1,
4183 kGameDifficultyHard = 2
4184};
4185
4186enum MusicTrackLoop {
4187 kMusicLoopPlayOnce = 0, // do not loop
4188 kMusicLoopRepeat = 1, // loop track
4189 kMusicLoopRepeatRandomStart = 2, // (Restored Content) start from random point - do not loop track
4190 kMusicLoopPlayOnceRandomStart = 3 // (Restored Content) start from random point - loop track
4191};
4192
4193} // End of namespace BladeRunner
4194
4195#endif