Open Source Tomb Raider Engine
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

TombRaider1.h 18KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590
  1. /*!
  2. * \file include/TombRaider1.h
  3. * \brief Tomb Raider 1 items and states.
  4. *
  5. * Based on TR Rosetta Stone
  6. *
  7. * \author Mongoose
  8. * \author xythobuz
  9. */
  10. #ifndef _TOMBRAIDER1_H_
  11. #define _TOMBRAIDER1_H_
  12. /*!
  13. * \brief Tomb Raider 1 items and states
  14. */
  15. class TombRaider1 {
  16. public:
  17. // Associated with Item 7
  18. enum WolfStates {
  19. WolfState_Walking = 1,
  20. WolfState_Running = 2,
  21. WolfState_Jumping = 3,
  22. WolfState_Stalking = 5,
  23. WolfState_JumpingAttack = 6,
  24. WolfState_Attacking = 7,
  25. WolfState_Lying = 8, //!< Lying down
  26. WolfState_Getting = 9, //!< Getting ready to strike
  27. WolfState_RunningJump = 10,
  28. WolfState_Dying = 11,
  29. WolfState_Biting = 12
  30. };
  31. // Associated with Item 8
  32. enum BearStates {
  33. BearState_Walking = 0, //!< Walking on all fours
  34. BearState_Getting = 1, //!< Getting back to all fours
  35. BearState_WalkingHind = 2, //!< Walking on hind legs
  36. BearState_Running = 3, //!< Running on all fours
  37. BearState_Rearing = 4, //!< Rearing up on hind legs
  38. BearState_Growling = 5, //!< ?
  39. BearState_RunningAttack = 6, //!< Running and attacking
  40. BearState_Standing = 7, //!< Standing on hind legs
  41. BearState_Biting = 8,
  42. BearState_Dying = 9
  43. };
  44. // Associated with Item 9
  45. enum BatStates {
  46. BatState_Starting = 1, //!< Starting to fly
  47. BatState_Flying = 2, //!< Flying straight
  48. BatState_Biting = 3,
  49. BatState_Circling = 4,
  50. BatState_Dying = 5
  51. };
  52. // Associated with Item 10
  53. enum CrocodileLandStates {
  54. CrocodileLandState_Stationary = 1,
  55. CrocodileLandState_Walking1 = 2,
  56. CrocodileLandState_Walking2 = 3,
  57. CrocodileLandState_Turning = 4,
  58. CrocodileLandState_Biting = 5,
  59. CrocodileLandState_Dying = 7
  60. };
  61. // Associated with Item 11
  62. enum CrocodileWaterStates {
  63. CrocodileWaterState_Swimming = 1,
  64. CrocodileWaterState_Biting = 2,
  65. CrocodileWaterState_Dying = 3
  66. };
  67. // Associated with Items 12, 13 and 14
  68. enum LionStates {
  69. LionState_Standing = 1,
  70. LionState_Walking = 2,
  71. LionState_Leaping = 3,
  72. LionState_LeapBite = 4,
  73. LionState_Dying = 5,
  74. LionState_Biting1 = 6,
  75. LionState_Biting2 = 7
  76. };
  77. // Associated with Item 15
  78. enum GorillaStates {
  79. GorillaState_Standing = 1, //!< Standing on all fours
  80. GorillaState_Running = 3, //!< Running on all fours
  81. GorillaState_Walking = 4, //!< Walking on legs (attacking?)
  82. GorillaState_Dying = 5,
  83. GorillaState_Thumping = 6, //!< Thumping on chest
  84. GorillaState_Waving = 7, //!< Waving arms
  85. GorillaState_TurningL = 8, //!< Turning leftward?
  86. GorillaState_TurningR = 9, //!< Turning rightward?
  87. GorillaState_Jumping = 10, //!< Jumping up and waving arms
  88. GorillaState_Climbing = 11
  89. };
  90. // Associated with Item 16
  91. enum GiantRatLandStates {
  92. GiantRatLandState_Standing = 1,
  93. GiantRatLandState_JumpBite = 2,
  94. GiantRatLandState_Running = 3,
  95. GiantRatLandState_Biting = 4,
  96. GiantRatLandState_Dying = 5,
  97. GiantRatLandState_RearingUp = 6
  98. };
  99. // Associated with Item 17
  100. enum GiantRatWaterStates {
  101. GiantRatWaterState_Swimming = 1,
  102. GiantRatWaterState_Biting = 2,
  103. GiantRatWaterState_Dying = 3
  104. };
  105. // Associated with Item 18
  106. enum TyrannosaurStates {
  107. TyrannosaurState_Standing = 1,
  108. TyrannosaurState_Walking = 2,
  109. TyrannosaurState_Running = 3,
  110. TyrannosaurState_Dying = 5,
  111. TyrannosaurState_Bellowing = 6,
  112. TyrannosaurState_Biting = 7,
  113. TyrannosaurState_Shaking = 8 //!< Shaking Head and Spitting Out
  114. };
  115. // Associated with Item 19
  116. enum RaptorStates {
  117. RaptorState_Dying = 0,
  118. RaptorState_Standing = 1,
  119. RaptorState_Walking = 2,
  120. RaptorState_Running = 3,
  121. RaptorState_JumpBite = 4,
  122. RaptorState_Bellowing = 6,
  123. RaptorState_RunBellow = 7,
  124. RaptorState_Biting = 8,
  125. };
  126. // Associated with Item 20
  127. enum WingedMutantStates {
  128. WingedMutantState_Crouching = 1,
  129. WingedMutantState_Walking = 2,
  130. WingedMutantState_Running = 3,
  131. WingedMutantState_Biting = 4,
  132. WingedMutantState_Looking = 6,
  133. WingedMutantState_Jumping = 7,
  134. WingedMutantState_Clawing = 8,
  135. WingedMutantState_Aiming = 9, //!< Aiming Right-Hand Gun
  136. WingedMutantState_AimFire = 10, //!< Aiming and Firing Left-Hand Gun
  137. WingedMutantState_Firing = 11, //!< Firing Right-Hand Gun
  138. WingedMutantState_Standing = 12,
  139. WingedMutantState_Flying = 13
  140. };
  141. // Associated with Item 23
  142. enum CentaurMutantStates {
  143. CentaurMutantState_Standing = 1,
  144. CentaurMutantState_Firing = 2,
  145. CentaurMutantState_Galloping = 3,
  146. CentaurMutantState_Aiming = 4,
  147. CentaurMutantState_Dying = 5,
  148. CentaurMutantState_Rearing = 6 //!< Rearing up
  149. };
  150. // Associated with Item 24
  151. enum MummyStates {
  152. MummyState_Standing = 1,
  153. MummyState_Falling = 2 //!< Falling forward
  154. };
  155. // Associated with Item 27
  156. enum LarsonStates {
  157. LarsonState_Walking1 = 0,
  158. LarsonState_StandingGun = 1,
  159. LarsonState_Walking2 = 2,
  160. LarsonState_Running = 3,
  161. LarsonState_Aiming = 4,
  162. LarsonState_Injured = 5, //!< Injured by gunshot / Dying
  163. LarsonState_Standing = 6,
  164. LarsonState_Firing = 7
  165. };
  166. // Associated with Item 28
  167. enum PierreStates {
  168. PierreState_Standing = 1,
  169. PierreState_Walking = 2,
  170. PierreState_Running = 3,
  171. PierreState_Aiming = 4,
  172. PierreState_Dying = 5,
  173. PierreState_Holstering = 6,
  174. PierreState_Firing = 7
  175. };
  176. // Associated with Item 29
  177. enum SkateboardStates {
  178. SkateboardState_BeingTurned = 0,
  179. SkateboardState_Stationary1 = 1,
  180. SkateboardState_Stationary2 = 2,
  181. SkateboardState_Stationary3 = 3,
  182. SkateboardState_Stationary4 = 4
  183. };
  184. // Associated with Item 30
  185. enum SkateboardKidStates {
  186. SkateboardKidState_Turning = 0, //!< Turning and Aiming?
  187. SkateboardKidState_Firing1 = 1,
  188. SkateboardKidState_Skating = 2,
  189. SkateboardKidState_Aiming = 3,
  190. SkateboardKidState_Firing2 = 4,
  191. SkateboardKidState_Dying = 5
  192. };
  193. // Associated with Item 31
  194. enum CowboyStates {
  195. CowboyState_Aiming1 = 1,
  196. CowboyState_Walking = 2,
  197. CowboyState_Running = 3,
  198. CowboyState_Aiming2 = 4,
  199. CowboyState_Dying = 5,
  200. CowboyState_Firing = 6
  201. };
  202. // Associated with Item 32
  203. enum MrTStates {
  204. MrTState_Dying = 0,
  205. MrTState_Standing = 1,
  206. MrTState_Walking = 2,
  207. MrTState_Running = 3,
  208. MrTState_Aiming = 4,
  209. MrTState_Firing = 6
  210. };
  211. // Associated with Item 33
  212. enum WingedNatlaStates {
  213. WingedNatlaState_Standing1 = 1,
  214. WingedNatlaState_Flying = 2,
  215. WingedNatlaState_Running = 3,
  216. WingedNatlaState_Aiming = 4, //!< Aiming and Firing
  217. WingedNatlaState_Dying1 = 5, //!< "Dying" the first time
  218. WingedNatlaState_Spinning = 7, //!< Spinning around in air
  219. WingedNatlaState_Standing2 = 8,
  220. WingedNatlaState_Dying2 = 9, //!< Dying for real
  221. };
  222. // Associated with Item 34
  223. enum GiantMutantStates {
  224. GiantMutantState_Dying = 0,
  225. GiantMutantState_Sitting = 1, //!< Sitting on floor
  226. GiantMutantState_Pulling = 2, //!< Pulling self forward
  227. GiantMutantState_SlappingRight = 4, //!< Slapping with right hand
  228. GiantMutantState_SlappingBoth = 5, //!< Slapping with both hands
  229. GiantMutantState_MakingWave = 6, //!< Making big wave with right hand
  230. GiantMutantState_Dropping = 8, //!< Dropping to floor after hatching
  231. GiantMutantState_RaisingArms = 9,
  232. GiantMutantState_Shaking = 11 //!< Shaking victim with right hand
  233. };
  234. // Associated with Item 35
  235. enum CollapsibleFloorStates {
  236. CollapsibleFloorState_Stationary = 0,
  237. CollapsibleFloorState_Shaking = 1,
  238. CollapsibleFloorState_Falling = 2,
  239. CollapsibleFloorState_Settling = 3 //!< Settling down
  240. };
  241. // Associated with Item 36
  242. enum SwingingBladeStates {
  243. SwingingBladeState_Stationary = 0,
  244. SwingingBladeState_Swinging = 2
  245. };
  246. // Associated with Item 38
  247. enum BoulderStates {
  248. BoulderState_Stationary = 0,
  249. BoulderState_Rolling = 1
  250. };
  251. // Associated with Item 40
  252. enum DartGunStates {
  253. DartGunState_Idle = 0, //!< ?
  254. DartGunState_Firing = 1 //!< ?
  255. };
  256. // Associated with Item 41
  257. enum DoorUpwardStates {
  258. DoorUpwardState_Upward = 0,
  259. DoorUpwardState_OnSide = 1
  260. };
  261. // Associated with Item 42
  262. enum SlammingDoorStates {
  263. SlammingDoorState_Open = 0,
  264. SlammingDoorState_Closed = 1
  265. };
  266. // Associated with Item 44
  267. enum ThorHammerHandleStates {
  268. ThorHammerHandleState_Stationary = 0, //!< Stationary in up position
  269. ThorHammerHandleState_Moving1 = 1, //!< Moving down a little and returning
  270. ThorHammerHandleState_Moving2 = 2, //!< Moving down all the way
  271. ThorHammerHandleState_Stopped = 3 //!< Stopped at down position
  272. };
  273. // Associated with Item 45
  274. enum ThorHammerBlockStates {
  275. ThorHammerBlockState_Stationary = 0,
  276. ThorHammerBlockState_Moving1 = 1, //!< Moving down a little and returning
  277. ThorHammerBlockState_Moving2 = 2 //!< Moving down all the way
  278. };
  279. // Associated with Item 47
  280. enum MetalRodStates {
  281. MetalRodState_Stationary = 0,
  282. MetalRodState_Moving = 1
  283. };
  284. // Associated with Items 48 - 51
  285. enum PushableStates {
  286. PushableState_Stationary = 0,
  287. PushableState_Pulled = 1, //!< ?
  288. PushableState_Pushed = 2 //!< ?
  289. };
  290. // Associated with Item 52
  291. enum MovableTallBlockStates {
  292. MovableTallBlockState_Stationary = 0,
  293. MovableTallBlockState_MovingForward = 1, //!< ?
  294. MovableTallBlockState_MovingBackward = 2 //!< ?
  295. };
  296. // Associated with Item 53
  297. enum FallingPiecesStates {
  298. FallingPiecesState_Stationary = 0,
  299. FallingPiecesState_Falling = 1,
  300. FallingPiecesState_Settling = 2 //!< Settling down
  301. };
  302. // Associated with Items 55, 56
  303. enum SwitchStates {
  304. SwitchState_Off = 0,
  305. SwitchState_On = 1 //!< States may be reversed
  306. };
  307. // Associated with Items 57 - 66
  308. enum DoorStates {
  309. DoorState_Closed = 0,
  310. DoorState_Open = 1
  311. };
  312. // Associated with Items 74 - 76
  313. enum CogStates {
  314. CogState_Stationary = 0,
  315. CogState_Turning = 1
  316. };
  317. // Associated with Item 162
  318. enum ShackStates {
  319. ShackState_StartingPosition = 0,
  320. ShackState_DroppingFirst = 1, //!< Dropping after first fuse
  321. ShackState_DroppingSecond = 2, //!< Dropping after second fuse
  322. ShackState_DroppingThird = 3, //!< Dropping to ground after third fuse
  323. ShackState_OnGround = 4
  324. };
  325. // Associated with Items 163 and 181
  326. enum MutantEggStates {
  327. MutantEggState_Starting = 0,
  328. MutantEggState_Hatching = 1 //!< Is the fragmenting hardcoded?
  329. };
  330. // Associated with Item 182
  331. enum MotorboatStates {
  332. MotorboatState_StationaryInitial = 1,
  333. MotorboatState_Moving = 2,
  334. MotorboatState_StationaryFinal = 3,
  335. };
  336. enum Items {
  337. Lara = 0,
  338. PistolAnimation = 1,
  339. ShotgunAnimation = 2,
  340. MagnumAnimation = 3,
  341. LaraAlternate = 4, //!< Lara's home appearance, wounded, or turned to gold
  342. UziAnimation = 5,
  343. LaraMutant = 6,
  344. Wolf = 7,
  345. Bear = 8,
  346. Bat = 9,
  347. CrocodileLand = 10,
  348. CrocodileWater = 11,
  349. LionMale = 12,
  350. LionFemale = 13, //!< Same states as Male Lion
  351. Panther = 14, //!< Same states as Male and Female Lion
  352. Gorilla = 15,
  353. GiantRatLand = 16,
  354. GiantRatWater = 17,
  355. Tyrannosaur = 18,
  356. Raptor = 19,
  357. WingedMutant = 20, //!< Also winged mummy (unused)
  358. LaraHips1 = 21,
  359. LaraHips2 = 22,
  360. CentaurMutant = 23,
  361. Mummy = 24,
  362. Larson = 27,
  363. Pierre = 28,
  364. Skateboard = 29,
  365. SkateboardKid = 30,
  366. Cowboy = 31,
  367. MrT = 32,
  368. WingedNatla = 33, //!< Actually Natla with a winged mutant
  369. GiantMutant = 34,
  370. CollapsibleFloor = 35,
  371. SwingingBlade = 36,
  372. Spikes = 37,
  373. Boulder = 38,
  374. Dart = 39,
  375. DartGun = 40,
  376. DoorUpward = 41,
  377. SlammingDoor = 42,
  378. SwordOfDamocles1 = 43,
  379. ThorHammerHandle = 44,
  380. ThorHammerBlock = 45,
  381. HangingBall = 46, //!< Hanging ball? Some kind of box?
  382. MetalRod = 47, //!< Metal rod? / Powered mining cart
  383. PushableCubical1 = 48,
  384. PushableCubical2 = 49,
  385. PushableCubical3 = 50,
  386. PushableCubical4 = 51,
  387. MovableTallBlock = 52,
  388. FallingPieces = 53,
  389. SwordOfDamocles2 = 54,
  390. AboveWaterSwitch = 55,
  391. UnderWaterSwitch = 56,
  392. Door1 = 57,
  393. Door2 = 58,
  394. Door3 = 59,
  395. Door4 = 60,
  396. Door5 = 61,
  397. Door6 = 62,
  398. Door7 = 63,
  399. Door8 = 64,
  400. Trapdoor1 = 65, //!< Uses DoorStates
  401. Trapdoor2 = 66, //!< Uses DoorStates
  402. BridgeFlat = 68,
  403. BridgeSlope1 = 69,
  404. BridgeSlope2 = 70,
  405. PassportOpen = 71, //!< Passport opening up
  406. Compass = 72,
  407. Cogs1 = 74, //!< animated
  408. Cogs2 = 75, //!< animated
  409. Cogs3 = 76, //!< animated
  410. CS_Lara = 77, //!< Lara / Scion holder in Cut Scene
  411. CS_Larson = 78, //!< Larson / Natla / Scion holder in Cut Scene
  412. CS_LarsonGun = 79, //!< Larsons gun / Scion / Natla in Cut Scene
  413. CS_Scion = 80, //!< Scion in Cut Scene
  414. PassportClosed = 81, //!< Passport closed
  415. N = 82, //!< N-thingy, Playstation memory card?
  416. SaveCrystal = 83,
  417. _Pistols = 84,
  418. _Shotgun = 85,
  419. _Magnums = 86,
  420. _Uzis = 87,
  421. _PistolAmmo = 88, //!< ?
  422. _ShotgunAmmo = 89,
  423. _MagnumAmmo = 90,
  424. _UziAmmo = 91,
  425. _SmallMedipack = 93,
  426. _LargeMedipack = 94,
  427. Sunglasses = 95,
  428. Cassette = 96, // Cassette player and headphones
  429. DirectionKeys = 97,
  430. Pistol = 99,
  431. Shotgun = 100,
  432. Magnum = 101,
  433. Uzi = 102,
  434. PistolAmmo = 103, //!< ?
  435. ShotgunAmmo = 104,
  436. MagnumAmmo = 105,
  437. UziAmmo = 106,
  438. SmallMedipack = 108,
  439. LargeMedipack = 109,
  440. _Puzzle1 = 110,
  441. _Puzzle2 = 111,
  442. _Puzzle3 = 112,
  443. _Puzzle4 = 113,
  444. Puzzle1 = 114,
  445. Puzzle2 = 115,
  446. Puzzle3 = 116,
  447. Puzzle4 = 117,
  448. Slot1Empty = 118,
  449. Slot2Empty = 119,
  450. Slot3Empty = 120,
  451. Slot4Empty = 121,
  452. Slot1Full = 122,
  453. Slot2Full = 123,
  454. Slot3Full = 124,
  455. Slot4Full = 125,
  456. _Pickup1 = 126,
  457. Pickup1 = 127,
  458. LaraHips3 = 128,
  459. _Key1 = 129,
  460. _Key2 = 130,
  461. _Key3 = 131,
  462. _Key4 = 132,
  463. Key1 = 133,
  464. Key2 = 134,
  465. Key3 = 135,
  466. Key4 = 136,
  467. Lock1 = 137,
  468. Lock2 = 138,
  469. Lock3 = 139,
  470. Lock4 = 140,
  471. _ScionPiece = 143,
  472. CompleteScion = 146,
  473. ScionHolder = 147,
  474. ScionPiece = 150,
  475. _Flare = 151, //!< Flare(?) / Explosion
  476. _Splash = 153,
  477. _Bubbles1 = 155,
  478. _Bubbles2 = 156,
  479. _BloodSplatter = 158,
  480. _FlyingDisk = 160,
  481. CentaurStatue = 161,
  482. Shack = 162, //!< Suspended from wire rope
  483. MutantEggNormal = 163, //!< Mutant Egg and Holder (Normal)
  484. _BulletHit = 164,
  485. _Sparkle = 165,
  486. Gunflare1 = 166,
  487. LaraHips4 = 169,
  488. LaraHips5 = 170,
  489. MutantBullet = 172,
  490. MutantGrenade = 173,
  491. _Splatter = 176,
  492. LaraHips6 = 177,
  493. _Fire = 178,
  494. LaraHips7 = 179,
  495. FlowingLava = 180, //!< Flowing Atlantean Lava
  496. MutantEggBig = 181, //!< Mutant Egg and Holder (Big)
  497. Motorboat = 182,
  498. LaraHips8 = 183,
  499. ShrinkingWedge = 189, //!< ?
  500. _StandardSymbols = 190,
  501. _Plant1 = 191,
  502. _Plant2 = 192,
  503. _Plant3 = 193,
  504. _Plant4 = 194,
  505. _Plant5 = 195,
  506. _Bag1 = 200,
  507. _Bag2 = 204,
  508. Gunflare2 = 207,
  509. _Rock1 = 212,
  510. _Rock2 = 213,
  511. _Rock3 = 214,
  512. _Bag3 = 215,
  513. _Pottery1 = 216,
  514. _Pottery2 = 217,
  515. _PaintedPot = 231,
  516. _IncaMummy = 233,
  517. _Pottery3 = 236,
  518. _Pottery4 = 237,
  519. _Pottery5 = 238,
  520. _Pottery6 = 239
  521. };
  522. };
  523. #endif