Open Source Tomb Raider Engine
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

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