ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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 
25 namespace BladeRunner {
26 
27 enum 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 
104 enum 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 
395 enum ClueTypes {
396  kClueTypeIntangible = -1,
397  kClueTypePhotograph = 0,
398  kClueTypeVideoClip = 1,
399  kClueTypeAudioRecording = 2,
400  kClueTypeObject = 3
401 };
402 
403 enum 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 
415 enum 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 
427 enum 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 
440 enum 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 
1175 enum 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 
1226 enum 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 
1271 enum 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 
1341 enum SceneLoopMode {
1342  kSceneLoopModeNone = -1,
1343  kSceneLoopModeLoseControl = 0,
1344  kSceneLoopModeChangeSet = 1,
1345  kSceneLoopModeOnce = 2,
1346  kSceneLoopModeSpinner = 3,
1347  kSceneLoopModeOnceNStay = 4
1348 };
1349 
1350 enum 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 
1464 enum 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 
1570 enum 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 
1696 enum 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 
2757 enum 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 
2771 enum SceneObjectOffset {
2772  kSceneObjectOffsetActors = 0,
2773  kSceneObjectOffsetItems = 74,
2774  kSceneObjectOffsetObjects = 198
2775 };
2776 
2777 enum 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 
2789 enum 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 
2819 enum PlayerAgenda {
2820  kPlayerAgendaPolite = 0,
2821  kPlayerAgendaNormal = 1,
2822  kPlayerAgendaSurly = 2,
2823  kPlayerAgendaErratic = 3,
2824  kPlayerAgendaUserChoice = 4
2825 };
2826 
2827 enum 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 
2844 enum 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 
2872 enum 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 
2960 enum 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 
2991 enum 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 
3042 enum 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 
3065 enum 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 
3096 enum 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 
3130 enum 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 
3154 enum 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 
3175 enum 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 
3190 enum 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 
3202 enum GoalTransient {
3203  kGoalTransientDefault = 0,
3204  kGoalTransientCT04Leave = 2
3205 };
3206 
3207 enum 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
3218 enum GoalGenericWalker {
3219  kGoalGenwalkerDefault = 0, // setup walker model and path
3220  kGoalGenwalkerMoving = 1,
3221  kGoalGenwalkerABulletBobsTrackGun = 200 // only kActorGenWalkerA will change goal to this
3222 };
3223 
3224 enum 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 
3244 enum GoalRunciter {
3245  kGoalRunciterDefault = 0,
3246  kGoalRunciterRC02WalkAround = 1,
3247  kGoalRunciterGoToFreeSlotGH = 2,
3248  kGoalRunciterRC02Wait = 300,
3249  kGoalRunciterDead = 599
3250 };
3251 
3252 enum GoalTyrellGuard {
3253  kGoalTyrellGuardSleeping = 300,
3254  kGoalTyrellGuardWakeUpAndArrestMcCoy = 301,
3255  kGoalTyrellGuardWakeUp = 302,
3256  kGoalTyrellGuardArrestMcCoy = 303,
3257  kGoalTyrellGuardWait = 304
3258 };
3259 
3260 enum 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 
3290 enum 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 
3312 enum 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 
3321 enum 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 
3348 enum 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 
3382 enum 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 
3400 enum GoalDeskClerk {
3401  kGoalDeskClerkDefault = 0,
3402  kGoalDeskClerkKnockedOut = 1,
3403  kGoalDeskClerkRecovered = 2,
3404  kGoalDeskClerkGone = 400
3405 };
3406 
3407 enum 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 
3421 enum 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 
3433 enum 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 
3448 enum 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 
3467 enum 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 
3479 enum 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 
3489 enum 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 
3509 enum 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 
3520 enum 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 
3542 enum 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")
3555 enum 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 
3580 enum 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 
4180 enum GameDifficultyLevel {
4181  kGameDifficultyEasy = 0,
4182  kGameDifficultyMedium = 1,
4183  kGameDifficultyHard = 2
4184 };
4185 
4186 enum 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
Definition: actor.h:31