MissionX0.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395
  1. /*
  2. ** Command & Conquer Renegade(tm)
  3. ** Copyright 2025 Electronic Arts Inc.
  4. **
  5. ** This program is free software: you can redistribute it and/or modify
  6. ** it under the terms of the GNU General Public License as published by
  7. ** the Free Software Foundation, either version 3 of the License, or
  8. ** (at your option) any later version.
  9. **
  10. ** This program is distributed in the hope that it will be useful,
  11. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. ** GNU General Public License for more details.
  14. **
  15. ** You should have received a copy of the GNU General Public License
  16. ** along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. /******************************************************************************
  19. *
  20. * FILE
  21. * MissionX0.h
  22. *
  23. * DESCRIPTION
  24. * Mission X0 definitions
  25. *
  26. * PROGRAMMER
  27. * Design Team
  28. *
  29. * VERSION INFO
  30. * $Author: Rich_d $
  31. * $Revision: 106 $
  32. * $Modtime: 12/17/01 1:12p $
  33. * $Archive: /Commando/Code/Scripts/MissionX0.h $
  34. *
  35. ******************************************************************************/
  36. #ifndef _MISSIONX0_H_
  37. #define _MISSIONX0_H_
  38. // Defines and Includes
  39. #include "toolkit.h"
  40. // Predefined Constants
  41. // Public Variables
  42. // Enumerations
  43. #define LEAD 100
  44. #define ENGINEER_GOTO 101
  45. #define COUNTER 102
  46. #define SET_ENGINEER 103
  47. #define CHECK_ENGINEER 104
  48. #define RETURN_ENGINEER1 105
  49. #define RETURN_ENGINEER2 106
  50. #define AMB_SOUND 107
  51. #define COUNT_UP 108
  52. #define SNIPE 108
  53. #define TROOP_DROP 109
  54. #define SEND_EM 110
  55. #define KILL_SNIPER 111
  56. #define KILL 112
  57. #define DOING_ANIMATION 113
  58. #define START_SNIPER 114
  59. #define RUNNING_CONV 115
  60. #define RESEND_GOTO 116
  61. #define EQUIP 117
  62. #define F1_HELP 118
  63. #define INITIAL_CONV 119
  64. #define PROMPT_LOOP 120
  65. #define STATIONARY 121
  66. #define POINT_ANIM 122
  67. #define WAVE_ANIM 123
  68. #define SNIPER_REMINDER 124
  69. #define SNIPER_ANIM 125
  70. #define FIRE_HELP 126
  71. #define MOUSE_HELP 127
  72. #define WSAD_HELP 128
  73. #define INITIAL_EQUIP 129
  74. #define ENGINEER_RETURN 130
  75. #define RUN_AWAY 131
  76. #define ENGINEER_CROUCH 132
  77. #define SNIPER_CREATE 133
  78. #define SNIPER_EXCHANGE 134
  79. #define HIT_ANIMATION 135
  80. #define CROUCH_WANDER 136
  81. #define CROUCH_GOTO 137
  82. #define SNIPER1KILLED 138
  83. #define SNIPE_CONV 139
  84. #define SNIPE_CONV2 140
  85. #define SNIPE_CONV_DONE 141
  86. #define STAY_HERE 142
  87. // Rich's Elements
  88. #define MX0_A02_CONTROLLER_ID 1100000
  89. #define MX0_A01_CONTROLLER_ID 1200001
  90. #define MX0_A02_SPAWNER_01 1100026
  91. #define MX0_A02_SPAWNER_02 1100027
  92. #define MX0_A02_SPAWNER_03 1100028
  93. #define MX0_A02_WAYPATH_01 1100029
  94. #define MX0_A02_WAYPATH_02 1100034
  95. #define MX0_A02_MOVE_OBJ_01 1100006
  96. #define MX0_A02_MOVE_OBJ_02 1100007
  97. #define MX0_A02_MOVE_OBJ_03 1100010
  98. #define MX0_A02_MOVE_OBJ_04 1100011
  99. #define MX0_A02_MOVE_OBJ_05 1100008
  100. #define MX0_A02_MOVE_OBJ_06 1100009
  101. #define MX0_A02_MOVE_OBJ_07 1100012
  102. #define MX0_A02_MOVE_OBJ_08 1100013
  103. #define MX0_A02_MOVE_OBJ_09 1100014
  104. #define MX0_A02_MOVE_OBJ_10 1100015
  105. #define MX0_A02_MOVE_OBJ_11 1100016
  106. #define MX0_A02_MOVE_OBJ_12 1100017
  107. #define MX0_A02_MOVE_OBJ_13 1100018
  108. #define MX0_A02_MOVE_OBJ_14 1100019
  109. #define MX0_A02_MOVE_OBJ_15 1100020
  110. #define MX0_A02_MOVE_OBJ_16 1100021
  111. #define MX0_A02_MOVE_OBJ_SNIPER_01 1100023
  112. #define MX0_A02_MOVE_OBJ_SNIPER_02 1100024
  113. #define MX0_A02_ACTOR_HEADCOUNT 9
  114. #define MX0_A02_ACTOR_NOD_START 5
  115. #define MX0_A02_PLAYER_RETREAT_DISTANCE 30
  116. #define MX0_A02_PRE_AMBIENT_MAX 11
  117. #define MX0_A02_TIMERLENGTH_BASIC_MOVE 4
  118. #define MX0_A02_APPROACH_DISTANCE 50
  119. #define MX0_A02_PRIORITY_ENEMY_SEEN_SHOOT 80
  120. #define MX0_A02_PRIORITY_DEFAULT_SHOOT 90
  121. #define MX0_A02_PRIORITY_DEFAULT_MOVE 95
  122. #define MX0_A02_PRIORITY_FORCED_ACTION 100
  123. // Darren's Stuff
  124. #define MX0_A03_CONTROLLER_ID 1400041 // section 3 controler
  125. #define MX0_A03_TROOPER_ONE_ID 1400141 // test trooper1 id.
  126. #define MX0_A03_NOD_BUGGIE_ID 1400081
  127. #define MX0_A03_NOD_HARVESTER_ID 1400001
  128. #define MX0_A03_DROP_TROOP_ONE_LOC_ID 1400138
  129. #define MX0_A03_DROP_TROOP_TWO_LOC_ID 1400139
  130. #define MX0_A03_DROP_TROOP_THREE_LOC_ID 1400140
  131. #define MX0_A03_NOD_MINIGUNNER_ONE 1400110
  132. #define MX0_A03_NOD_MINIGUNNER_TWO 1400109
  133. #define MX0_A03_GDI_HAVOC_TANK_ID 1400080 // test havoc tank id.
  134. #define MX0_A03_NOD_TURRET_ONE 1400144
  135. #define MX0_A03_NOD_TURRET_TWO 1400146
  136. #define MX0_A03_NOD_PLACED_MINIGUNNER_ONE_ID 1400150
  137. #define MX0_A03_NOD_PLACED_MINIGUNNER_TWO_ID 1400149
  138. #define MX0_A03_CUSTOM_TYPE_START_ZONE 401
  139. #define MX0_A03_CUSTOM_TYPE_NOD_BUGGIE 402
  140. #define MX0_A03_CUSTOM_NOD_TURRET_CREATED 403
  141. #define MX0_A03_CUSTOM_NOD_TURRET_DESTROYED 404
  142. #define MX0_A03_CUSTOM_TYPE_END_ZONE 405
  143. #define MX0_A03_CUSTOM_NOD_LEDGE_CREATED 406
  144. #define MX0_A03_CUSTOM_NOD_LEDGE_KILLED 407
  145. #define MX0_A03_CUSTOM_HARVESTER_DEAD 408
  146. #define MX0_A03_CUSTOM_NOD_INFANTRY_DEAD 409
  147. #define MX0_A03_CUSTOM_GET_TARGET 410
  148. #define MX0_A03_CUSTOM_SEND_TARGET 411
  149. #define MX0_A03_CUSTOM_NO_TARGET 412
  150. #define MX0_A03_CUSTOM_NOD_HARVESTER_DMG_SELF 413
  151. #define MX0_A03_CUSTOM_LOCK_END_ZONE 414
  152. #define MX0_A03_CUSTOM_BUGGIE_DEAD 415
  153. #define MX0_A03_CUSTOM_IS_ZONE_FINISHED 416
  154. #define MX0_A03_CUSTOM_NOD_PLACED_MINIGUNNER_INNATE_ENABLE 417
  155. #define MX0_A03_HUMVEE_DROP_ID 1400042 // humvee drop off location
  156. #define MX0_A03_GDI_TROOP_DROP_ID 1400053 // GDI infantry drop off location
  157. #define MX0_A03_GDI_TANK_DROP_ID 1400057 // GDI Medium Tank drop off location
  158. #define MX0_A03_GDI_ORCA_STRIKE_ID 1400131 // Orca strike location
  159. #define MX0_A03_NOD_LEDGE_DROP_LOC_ID 1400152
  160. #define MX0_A03_NOD_LEDGE_LEFT_LOC_ID 1400153
  161. #define MX0_A03_NOD_LEDGE_RIGHT_LOC_ID 1400155
  162. #define MX0_A03_END_ZONE_ID 1400069
  163. #define MX0_A03_WAYPATH_TANK_ID 1400058 // Medium Tank section 3 waypath
  164. #define MX0_A03_WAYPATH_HUMVEE_TO_A04_ID 1400070 // humvee to section 4 waypath
  165. #define MX0_A03_WAYPATH_NOD_BUGGIE_ID 1400096 // NOD buggie waypath ID.
  166. #define MX0_A03_WAYPATH_HUMVEE_ID 1400043 // humvee secton 3 waypath
  167. #define MX0_A03_WAYPATH_NOD_HARVESTER_ID 1400093 // NOD Harvester waypath ID.
  168. #define MX0_A03_WAYPATH_GDI_TROOPER_ONE_A_ID 1400117
  169. #define MX0_A03_WAYPATH_GDI_TROOPER_ONE_B_ID 1400124
  170. #define MX0_A03_WAYPATH_GDI_TROOPER_ONE_C_ID 1400132
  171. enum
  172. {
  173. MX0_A02_TIMER_DEFAULT = 201,
  174. MX0_A02_TIMER_BASIC_MOVE_01,
  175. MX0_A02_TIMER_BASIC_MOVE_02,
  176. MX0_A02_TIMER_PRE_AMBIENT,
  177. MX0_A02_TIMER_SOLDIER_01_START,
  178. MX0_A02_TIMER_SOLDIER_02_START,
  179. MX0_A02_TIMER_PLAYER_RETREAT,
  180. MX0_A02_TIMER_PREVENT_SPAWNS,
  181. MX0_A02_TIMER_AFTER_HELI_01,
  182. MX0_A02_TIMER_DESTROY_FLAME,
  183. MX0_A02_TIMER_DESTROY_HELI_02,
  184. MX0_A02_TIMER_NOD_RETREAT,
  185. MX0_A02_TIMER_RETREAT_DONE,
  186. MX0_A02_TIMER_DESTROY_MINIGUNNER,
  187. MX0_A02_TIMER_ENGINEER_FIX_TANK,
  188. MX0_A02_TIMER_WAITFOR_MOVETOTANK,
  189. MX0_A02_TIMER_WAITFOR_MOVETORUBBLE,
  190. MX0_A02_TIMER_EAGLE_BASE,
  191. MX0_A02_TIMER_ENTER_TANK,
  192. MX0_A02_TIMER_RANDOM_EXPLOSIONS,
  193. MX0_A02_TIMER_DESTROY_RUBBLE,
  194. MX0_A02_TIMER_WRONG_WAY
  195. };
  196. enum
  197. {
  198. MX0_A02_ACTION_DEFAULT = 201,
  199. MX0_A02_ACTION_ROCKET_SNIPER_MOVE,
  200. MX0_A02_ACTION_ROCKET_SNIPER_MOVE_02,
  201. MX0_A02_ACTION_ROCKET_SNIPER_SHOOT,
  202. MX0_A02_ACTION_ROCKET_SNIPER_SHOOT_02,
  203. MX0_A02_ACTION_BASIC_MOVE_01,
  204. MX0_A02_ACTION_BASIC_MOVE_02,
  205. MX0_A02_ACTION_APPROACH_HAVOC_01,
  206. MX0_A02_ACTION_NODFALL01_MOVE,
  207. MX0_A02_ACTION_GDI_SHOOTS_NOD_01,
  208. MX0_A02_ACTION_NODFALL02_MOVE,
  209. MX0_A02_ACTION_GDI_SHOOTS_NOD_02,
  210. MX0_A02_ACTION_NOD_MOVETO_APC,
  211. MX0_A02_ACTION_NOD_SHOOT_APC,
  212. MX0_A02_ACTION_NOD_DONEWITH_APC,
  213. MX0_A02_ACTION_NOD_HELI_01_MOVE,
  214. MX0_A02_ACTION_NOD_HELI_02_MOVE,
  215. MX0_A02_ACTION_RETREAT_MOVE,
  216. MX0_A02_ACTION_ENGINEER_01_MEDTANK,
  217. MX0_A02_ACTION_ENGINEER_02_RUBBLE,
  218. MX0_A02_ACTION_ENGINEER_RETREAT
  219. };
  220. enum
  221. {
  222. MX0_A02_SPEECH_DEFAULT = 201,
  223. MX0_A02_SPEECH_GDI_01_STARTUP,
  224. MX0_A02_SPEECH_GDI_02_STARTUP,
  225. MX0_A02_SPEECH_GDI_01_STARTUP_02,
  226. MX0_A02_SPEECH_GDI_02_BECKON,
  227. MX0_A02_SPEECH_GDI_03_STARTUP,
  228. MX0_A02_SPEECH_GDI_SOLDIER_CONGRATS_01,
  229. MX0_A02_SPEECH_GDI_SOLDIER_CONGRATS_02,
  230. MX0_A02_SPEECH_GDI_SOLDIER_CONGRATS_03,
  231. MX0_A02_SPEECH_GDI_SOLDIER_CONGRATS_04,
  232. MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_01,
  233. MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_02,
  234. MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_03,
  235. MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_04,
  236. MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_05,
  237. MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_06,
  238. MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_07,
  239. MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_08,
  240. MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_09,
  241. MX0_A02_SPEECH_GDI_PLAYER_CONGRATS_10,
  242. MX0_A02_SPEECH_GDI_PLAYER_RETREAT_01,
  243. MX0_A02_SPEECH_GDI_PLAYER_RETREAT_02,
  244. MX0_A02_SPEECH_GDI_PLAYER_RETREAT_03,
  245. MX0_A02_SPEECH_GDI_PLAYER_RETREAT_04,
  246. MX0_A02_SPEECH_GDI_NOTICES_NOD_01,
  247. MX0_A02_SPEECH_GDI_RESPONDS_01,
  248. MX0_A02_SPEECH_GDI_SPOTS_HELI_DESTROY,
  249. MX0_A02_SPEECH_GDI_SPOTS_HELI_01,
  250. MX0_A02_SPEECH_GDI_SPOTS_HELI_02,
  251. MX0_A02_SPEECH_GDI_NOTICES_FLAME,
  252. MX0_A02_SPEECH_GDI_NOTICES_FLAME_DEAD,
  253. MX0_A02_SPEECH_NOD_HELI_DESTROYED_01,
  254. MX0_A02_SPEECH_NOD_HELI_DESTROYED_02,
  255. MX0_A02_SPEECH_ENDING_01,
  256. MX0_A02_SPEECH_ENDING_02,
  257. MX0_A02_SPEECH_ENDING_03,
  258. MX0_A02_SPEECH_ENDING_04,
  259. MX0_A02_SPEECH_ENDING_05,
  260. MX0_A02_SPEECH_ENGINEER_TANK_01,
  261. MX0_A02_SPEECH_ENGINEER_DONE,
  262. MX0_A02_SPEECH_UNSTOPPABLE,
  263. MX0_A02_SPEECH_TANKSAY_01,
  264. MX0_A02_SPEECH_TANKSAY_02,
  265. MX0_A02_SPEECH_TANKSAY_03,
  266. MX0_A02_SPEECH_TANKSAY_04,
  267. MX0_A02_SPEECH_APC_DOWN,
  268. MX0_A02_SPEECH_WRONGWAY_01,
  269. MX0_A02_SPEECH_WRONGWAY_02,
  270. MX0_A02_SPEECH_WRONGWAY_03
  271. };
  272. enum
  273. {
  274. MX0_A02_CUSTOM_TYPE_DEFAULT = 201,
  275. MX0_A02_CUSTOM_TYPE_MAIN_STARTUP,
  276. MX0_A02_CUSTOM_TYPE_MAIN_ENDING,
  277. MX0_A02_CUSTOM_TYPE_REGISTER_ACTOR_ID,
  278. MX0_A02_CUSTOM_TYPE_DAMAGE_ON,
  279. MX0_A02_CUSTOM_TYPE_DAMAGE_OFF,
  280. MX0_A02_CUSTOM_TYPE_DEFAULT_STATE_ON,
  281. MX0_A02_CUSTOM_TYPE_DEFAULT_STATE_OFF,
  282. MX0_A02_CUSTOM_TYPE_REQUEST_TARGET,
  283. MX0_A02_CUSTOM_TYPE_DESTROY_APC,
  284. MX0_A02_CUSTOM_TYPE_PRE_AMBIENT,
  285. MX0_A02_CUSTOM_TYPE_PRE_AMBIENT_OFF,
  286. MX0_A02_CUSTOM_KILL_SNIPER_01,
  287. MX0_A02_CUSTOM_KILL_SNIPER_02,
  288. //DAY - Added these two to fix scripts.
  289. MX0_A02_CUSTOM_TYPE_STARTUP,
  290. MX0_A02_CUSTOM_TYPE_ROCKET_SNIPER,
  291. MX0_A02_CUSTOM_TYPE_START_GDI_01,
  292. MX0_A02_CUSTOM_TYPE_START_GDI_02,
  293. MX0_A02_CUSTOM_TYPE_START_GDI_03,
  294. MX0_A02_CUSTOM_TYPE_START_GDI_04,
  295. MX0_A02_CUSTOM_TYPE_START_GDI_05,
  296. MX0_A02_CUSTOM_TYPE_CONTINUE,
  297. MX0_A02_CUSTOM_TYPE_GET_SNIPER_01_ID,
  298. MX0_A02_CUSTOM_TYPE_GET_SNIPER_02_ID,
  299. MX0_A02_CUSTOM_TYPE_HANDOFF_SNIPER_01_ID,
  300. MX0_A02_CUSTOM_TYPE_HANDOFF_SNIPER_02_ID,
  301. MX0_A02_CUSTOM_TYPE_PLAYER_KILLED_NOD,
  302. MX0_A02_CUSTOM_TYPE_SOLDIER_KILLED_NOD,
  303. MX0_A02_CUSTOM_TYPE_PLAYER_CONGRATS,
  304. MX0_A02_CUSTOM_TYPE_SOLDIER_CONGRATS,
  305. MX0_A02_CUSTOM_TYPE_PLAYER_RETREAT,
  306. MX0_A02_CUSTOM_TYPE_NOD_SOLDIER_KILLED,
  307. MX0_A02_CUSTOM_TYPE_GDI_NOTICES_NOD_01,
  308. MX0_A02_CUSTOM_TYPE_GDI_SHOOTS_NOD_01,
  309. MX0_A02_CUSTOM_TYPE_NEXT_SEQUENCE,
  310. MX0_A02_CUSTOM_TYPE_GDI_RESPONDS_01,
  311. MX0_A02_CUSTOM_TYPE_GDI_SHOOTS_NOD_02,
  312. MX0_A02_CUSTOM_TYPE_APC_DESTROY,
  313. MX0_A02_CUSTOM_TYPE_APC_BLOWITUP,
  314. MX0_A02_CUSTOM_TYPE_GET_APC_ID,
  315. MX0_A02_CUSTOM_TYPE_HELI_DESTROYED,
  316. MX0_A02_CUSTOM_TYPE_GDI_NOTICES_HELI_01,
  317. MX0_A02_CUSTOM_TYPE_GDI_NOTICES_HELI_02,
  318. MX0_A02_CUSTOM_TYPE_GDI_NOTICES_FLAME,
  319. MX0_A02_CUSTOM_TYPE_GDI_NOTICES_FLAME_DEAD,
  320. MX0_A02_CUSTOM_TYPE_HELI_DESTROYED_02,
  321. MX0_A02_CUSTOM_TYPE_RETREAT_SEQUENCE,
  322. MX0_A02_CUSTOM_TYPE_RETREAT_DONE,
  323. MX0_A02_CUSTOM_TYPE_ENDING_01,
  324. MX0_A02_CUSTOM_TYPE_ENDING_02,
  325. MX0_A02_CUSTOM_TYPE_ENDING_03,
  326. MX0_A02_CUSTOM_TYPE_ENDING_04,
  327. MX0_A02_CUSTOM_TYPE_ENDING_05,
  328. MX0_A02_CUSTOM_TYPE_ENDING_06,
  329. MX0_A02_CUSTOM_TYPE_ENGINEER_MOVETOTANK,
  330. MX0_A02_CUSTOM_TYPE_ENGINEER_DONE,
  331. MX0_A02_CUSTOM_TYPE_SAY_TANK,
  332. MX0_A02_CUSTOM_TYPE_ENGINEER_02_REGISTER,
  333. MX0_A02_CUSTOM_TYPE_TANKSAY_01,
  334. MX0_A02_CUSTOM_TYPE_TANKSAY_02,
  335. MX0_A02_CUSTOM_TYPE_TANKSAY_03,
  336. MX0_A02_CUSTOM_TYPE_ENTERED_TANK,
  337. MX0_A02_CUSTOM_TYPE_SAY_FIREHOLE,
  338. MX0_A02_CUSTOM_TYPE_EXPLODE,
  339. MX0_A02_CUSTOM_TYPE_FOLLOW_HAVOC,
  340. MX0_A02_CUSTOM_TYPE_A02_DONE,
  341. MX0_A02_CUSTOM_TYPE_SAY_APC_DOWN,
  342. MX0_A02_CUSTOM_TYPE_SHOOT_HELI_02,
  343. MX0_A02_CUSTOM_TYPE_SAY_WRONG_WAY
  344. };
  345. enum
  346. {
  347. MX0_A02_CUSTOM_PARAM_DEFAULT
  348. };
  349. enum
  350. {
  351. MX0_A02_ID_DEFAULT,
  352. MX0_A02_ID_TROOPER_01,
  353. MX0_A02_ID_TROOPER_02,
  354. MX0_A02_ID_TROOPER_03,
  355. MX0_A02_ID_TROOPER_04,
  356. MX0_A02_ID_NOD_UNIT_01,
  357. MX0_A02_ID_NOD_UNIT_02,
  358. MX0_A02_ID_NOD_UNIT_03,
  359. MX0_A02_ID_NOD_UNIT_04
  360. };
  361. #endif // _MISSION4_H_