objectives.h 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. #ifndef __OBJECTIVES_H__
  2. #define __OBJECTIVES_H__
  3. // mission Objectives
  4. // DO NOT CHANGE MAX_MISSION_OBJ. IT AFFECTS THE SAVEGAME STRUCTURE
  5. typedef enum //# Objective_e
  6. {
  7. //=================================================
  8. //
  9. //=================================================
  10. LIGHTSIDE_OBJ = 0,
  11. HOTH2_OBJ1,
  12. HOTH2_OBJ2,
  13. HOTH2_OBJ3,
  14. HOTH3_OBJ1,
  15. HOTH3_OBJ2,
  16. HOTH3_OBJ3,
  17. T2_DPREDICAMENT_OBJ1,
  18. T2_DPREDICAMENT_OBJ2,
  19. T2_DPREDICAMENT_OBJ3,
  20. T2_DPREDICAMENT_OBJ4,
  21. T2_RANCOR_OBJ1,
  22. T2_RANCOR_OBJ2,
  23. T2_RANCOR_OBJ3,
  24. T2_RANCOR_OBJ4,
  25. T2_RANCOR_OBJ5,
  26. T2_RANCOR_OBJ5_2,
  27. T2_RANCOR_OBJ6,
  28. T2_WEDGE_OBJ1,
  29. T2_WEDGE_OBJ2,
  30. T2_WEDGE_OBJ3,
  31. T2_WEDGE_OBJ4,
  32. T2_WEDGE_OBJ5,
  33. T2_WEDGE_OBJ6,
  34. T2_WEDGE_OBJ7,
  35. T2_WEDGE_OBJ8,
  36. T2_WEDGE_OBJ9,
  37. T2_WEDGE_OBJ10,
  38. T2_WEDGE_OBJ11,
  39. T2_WEDGE_OBJ12,
  40. T3_RIFT_OBJ1,
  41. T3_RIFT_OBJ2,
  42. T3_RIFT_OBJ3,
  43. T1_DANGER_OBJ1,
  44. T1_DANGER_OBJ2,
  45. T1_DANGER_OBJ3,
  46. T1_DANGER_OBJ4,
  47. T1_DANGER_OBJ5,
  48. T3_BOUNTY_OBJ1,
  49. T3_BOUNTY_OBJ2,
  50. T3_BOUNTY_OBJ3,
  51. T3_BOUNTY_OBJ4,
  52. T3_BOUNTY_OBJ5,
  53. T3_BOUNTY_OBJ6,
  54. T3_BOUNTY_OBJ7,
  55. T3_BOUNTY_OBJ8,
  56. T3_BOUNTY_OBJ9,
  57. T2_ROGUE_OBJ1,
  58. T2_ROGUE_OBJ2,
  59. T2_TRIP_OBJ1,
  60. T2_TRIP_OBJ2,
  61. T3_BYSS_OBJ1,
  62. T3_BYSS_OBJ2,
  63. T3_BYSS_OBJ3,
  64. T3_HEVIL_OBJ1,
  65. T3_HEVIL_OBJ2,
  66. T3_HEVIL_OBJ3,
  67. T3_STAMP_OBJ1,
  68. T3_STAMP_OBJ2,
  69. T3_STAMP_OBJ3,
  70. T3_STAMP_OBJ4,
  71. TASPIR1_OBJ1,
  72. TASPIR1_OBJ2,
  73. TASPIR1_OBJ3,
  74. TASPIR1_OBJ4,
  75. TASPIR2_OBJ1,
  76. TASPIR2_OBJ2,
  77. VJUN1_OBJ1,
  78. VJUN1_OBJ2,
  79. VJUN2_OBJ1,
  80. VJUN3_OBJ1,
  81. YAVIN1_OBJ1,
  82. YAVIN1_OBJ2,
  83. YAVIN2_OBJ1,
  84. T1_FATAL_OBJ1,
  85. T1_FATAL_OBJ2,
  86. T1_FATAL_OBJ3,
  87. T1_FATAL_OBJ4,
  88. T1_FATAL_OBJ5,
  89. T1_FATAL_OBJ6,
  90. KOR1_OBJ1,
  91. KOR1_OBJ2,
  92. KOR2_OBJ1,
  93. KOR2_OBJ2,
  94. KOR2_OBJ3,
  95. KOR2_OBJ4,
  96. T1_RAIL_OBJ1,
  97. T1_RAIL_OBJ2,
  98. T1_RAIL_OBJ3,
  99. T1_SOUR_OBJ1,
  100. T1_SOUR_OBJ2,
  101. T1_SOUR_OBJ3,
  102. T1_SOUR_OBJ4,
  103. T1_SURPRISE_OBJ1,
  104. T1_SURPRISE_OBJ2,
  105. T1_SURPRISE_OBJ3,
  106. T1_SURPRISE_OBJ4,
  107. //# #eol
  108. MAX_OBJECTIVES,
  109. } objectiveNumber_t;
  110. typedef enum //# MissionFailed_e
  111. {
  112. MISSIONFAILED_JAN=0, //#
  113. MISSIONFAILED_LUKE, //#
  114. MISSIONFAILED_LANDO, //#
  115. MISSIONFAILED_R5D2, //#
  116. MISSIONFAILED_WARDEN, //#
  117. MISSIONFAILED_PRISONERS, //#
  118. MISSIONFAILED_EMPLACEDGUNS, //#
  119. MISSIONFAILED_LADYLUCK, //#
  120. MISSIONFAILED_KYLECAPTURE, //#
  121. MISSIONFAILED_TOOMANYALLIESDIED, //#
  122. MISSIONFAILED_CHEWIE, //#
  123. MISSIONFAILED_KYLE, //#
  124. MISSIONFAILED_ROSH, //#
  125. MISSIONFAILED_WEDGE, //#
  126. MISSIONFAILED_TURNED, //# Turned on your friends.
  127. //# #eol
  128. MAX_MISSIONFAILED,
  129. } missionFailed_t;
  130. typedef enum //# StatusText_e
  131. {
  132. //=================================================
  133. //
  134. //=================================================
  135. STAT_INSUBORDINATION = 0, //# Starfleet will not tolerate such insubordination
  136. STAT_YOUCAUSEDDEATHOFTEAMMATE, //# You caused the death of a teammate.
  137. STAT_DIDNTPROTECTTECH, //# You failed to protect Chell, your technician.
  138. STAT_DIDNTPROTECT7OF9, //# You failed to protect 7 of 9
  139. STAT_NOTSTEALTHYENOUGH, //# You weren't quite stealthy enough
  140. STAT_STEALTHTACTICSNECESSARY, //# Starfleet will not tolerate such insubordination
  141. STAT_WATCHYOURSTEP, //# Watch your step
  142. STAT_JUDGEMENTMUCHDESIRED, //# Your judgement leaves much to be desired
  143. //# #eol
  144. MAX_STATUSTEXT,
  145. } statusText_t;
  146. extern qboolean missionInfo_Updated;
  147. #define SET_TACTICAL_OFF 0
  148. #define SET_TACTICAL_ON 1
  149. #define SET_OBJ_HIDE 0
  150. #define SET_OBJ_SHOW 1
  151. #define SET_OBJ_PENDING 2
  152. #define SET_OBJ_SUCCEEDED 3
  153. #define SET_OBJ_FAILED 4
  154. #define OBJECTIVE_HIDE 0
  155. #define OBJECTIVE_SHOW 1
  156. #define OBJECTIVE_STAT_PENDING 0
  157. #define OBJECTIVE_STAT_SUCCEEDED 1
  158. #define OBJECTIVE_STAT_FAILED 2
  159. extern int statusTextIndex;
  160. void OBJ_SaveObjectiveData(void);
  161. void OBJ_LoadObjectiveData(void);
  162. extern void OBJ_SetPendingObjectives(gentity_t *ent);
  163. #ifndef G_OBJECTIVES_CPP
  164. extern stringID_table_t objectiveTable [];
  165. extern stringID_table_t statusTextTable [];
  166. extern stringID_table_t missionFailedTable [];
  167. #else
  168. stringID_table_t objectiveTable [] =
  169. {
  170. //=================================================
  171. //
  172. //=================================================
  173. ENUM2STRING(LIGHTSIDE_OBJ),
  174. ENUM2STRING(HOTH2_OBJ1),
  175. ENUM2STRING(HOTH2_OBJ2),
  176. ENUM2STRING(HOTH2_OBJ3),
  177. ENUM2STRING(HOTH3_OBJ1),
  178. ENUM2STRING(HOTH3_OBJ2),
  179. ENUM2STRING(HOTH3_OBJ3),
  180. ENUM2STRING(T2_DPREDICAMENT_OBJ1),
  181. ENUM2STRING(T2_DPREDICAMENT_OBJ2),
  182. ENUM2STRING(T2_DPREDICAMENT_OBJ3),
  183. ENUM2STRING(T2_DPREDICAMENT_OBJ4),
  184. ENUM2STRING(T2_RANCOR_OBJ1),
  185. ENUM2STRING(T2_RANCOR_OBJ2),
  186. ENUM2STRING(T2_RANCOR_OBJ3),
  187. ENUM2STRING(T2_RANCOR_OBJ4),
  188. ENUM2STRING(T2_RANCOR_OBJ5),
  189. ENUM2STRING(T2_RANCOR_OBJ5_2),
  190. ENUM2STRING(T2_RANCOR_OBJ6),
  191. ENUM2STRING(T2_WEDGE_OBJ1),
  192. ENUM2STRING(T2_WEDGE_OBJ2),
  193. ENUM2STRING(T2_WEDGE_OBJ3),
  194. ENUM2STRING(T2_WEDGE_OBJ4),
  195. ENUM2STRING(T2_WEDGE_OBJ5),
  196. ENUM2STRING(T2_WEDGE_OBJ6),
  197. ENUM2STRING(T2_WEDGE_OBJ7),
  198. ENUM2STRING(T2_WEDGE_OBJ8),
  199. ENUM2STRING(T2_WEDGE_OBJ9),
  200. ENUM2STRING(T2_WEDGE_OBJ10),
  201. ENUM2STRING(T2_WEDGE_OBJ11),
  202. ENUM2STRING(T2_WEDGE_OBJ12),
  203. ENUM2STRING(T3_RIFT_OBJ1),
  204. ENUM2STRING(T3_RIFT_OBJ2),
  205. ENUM2STRING(T3_RIFT_OBJ3),
  206. ENUM2STRING(T1_DANGER_OBJ1),
  207. ENUM2STRING(T1_DANGER_OBJ2),
  208. ENUM2STRING(T1_DANGER_OBJ3),
  209. ENUM2STRING(T1_DANGER_OBJ4),
  210. ENUM2STRING(T1_DANGER_OBJ5),
  211. ENUM2STRING(T3_BOUNTY_OBJ1),
  212. ENUM2STRING(T3_BOUNTY_OBJ2),
  213. ENUM2STRING(T3_BOUNTY_OBJ3),
  214. ENUM2STRING(T3_BOUNTY_OBJ4),
  215. ENUM2STRING(T3_BOUNTY_OBJ5),
  216. ENUM2STRING(T3_BOUNTY_OBJ6),
  217. ENUM2STRING(T3_BOUNTY_OBJ7),
  218. ENUM2STRING(T3_BOUNTY_OBJ8),
  219. ENUM2STRING(T3_BOUNTY_OBJ9),
  220. ENUM2STRING(T2_ROGUE_OBJ1),
  221. ENUM2STRING(T2_ROGUE_OBJ2),
  222. ENUM2STRING(T2_TRIP_OBJ1),
  223. ENUM2STRING(T2_TRIP_OBJ2),
  224. ENUM2STRING(T3_BYSS_OBJ1),
  225. ENUM2STRING(T3_BYSS_OBJ2),
  226. ENUM2STRING(T3_BYSS_OBJ3),
  227. ENUM2STRING(T3_HEVIL_OBJ1),
  228. ENUM2STRING(T3_HEVIL_OBJ2),
  229. ENUM2STRING(T3_HEVIL_OBJ3),
  230. ENUM2STRING(T3_STAMP_OBJ1),
  231. ENUM2STRING(T3_STAMP_OBJ2),
  232. ENUM2STRING(T3_STAMP_OBJ3),
  233. ENUM2STRING(T3_STAMP_OBJ4),
  234. ENUM2STRING(TASPIR1_OBJ1),
  235. ENUM2STRING(TASPIR1_OBJ2),
  236. ENUM2STRING(TASPIR1_OBJ3),
  237. ENUM2STRING(TASPIR1_OBJ4),
  238. ENUM2STRING(TASPIR2_OBJ1),
  239. ENUM2STRING(TASPIR2_OBJ2),
  240. ENUM2STRING(VJUN1_OBJ1),
  241. ENUM2STRING(VJUN1_OBJ2),
  242. ENUM2STRING(VJUN2_OBJ1),
  243. ENUM2STRING(VJUN3_OBJ1),
  244. ENUM2STRING(YAVIN1_OBJ1),
  245. ENUM2STRING(YAVIN1_OBJ2),
  246. ENUM2STRING(YAVIN2_OBJ1),
  247. ENUM2STRING(T1_FATAL_OBJ1),
  248. ENUM2STRING(T1_FATAL_OBJ2),
  249. ENUM2STRING(T1_FATAL_OBJ3),
  250. ENUM2STRING(T1_FATAL_OBJ4),
  251. ENUM2STRING(T1_FATAL_OBJ5),
  252. ENUM2STRING(T1_FATAL_OBJ6),
  253. ENUM2STRING(KOR1_OBJ1),
  254. ENUM2STRING(KOR1_OBJ2),
  255. ENUM2STRING(KOR2_OBJ1),
  256. ENUM2STRING(KOR2_OBJ2),
  257. ENUM2STRING(KOR2_OBJ3),
  258. ENUM2STRING(KOR2_OBJ4),
  259. ENUM2STRING(T1_RAIL_OBJ1),
  260. ENUM2STRING(T1_RAIL_OBJ2),
  261. ENUM2STRING(T1_RAIL_OBJ3),
  262. ENUM2STRING(T1_SOUR_OBJ1),
  263. ENUM2STRING(T1_SOUR_OBJ2),
  264. ENUM2STRING(T1_SOUR_OBJ3),
  265. ENUM2STRING(T1_SOUR_OBJ4),
  266. ENUM2STRING(T1_SURPRISE_OBJ1),
  267. ENUM2STRING(T1_SURPRISE_OBJ2),
  268. ENUM2STRING(T1_SURPRISE_OBJ3),
  269. ENUM2STRING(T1_SURPRISE_OBJ4),
  270. //stringID_table_t Must end with a null entry
  271. "", NULL
  272. };
  273. stringID_table_t missionFailedTable [] =
  274. {
  275. ENUM2STRING(MISSIONFAILED_JAN), //# JAN DIED
  276. ENUM2STRING(MISSIONFAILED_LUKE), //# LUKE DIED
  277. ENUM2STRING(MISSIONFAILED_LANDO), //# LANDO DIED
  278. ENUM2STRING(MISSIONFAILED_R5D2), //# R5D2 DIED
  279. ENUM2STRING(MISSIONFAILED_WARDEN), //# THE WARDEN DIED
  280. ENUM2STRING(MISSIONFAILED_PRISONERS), //# TOO MANY PRISONERS DIED
  281. ENUM2STRING(MISSIONFAILED_EMPLACEDGUNS),//# ALL EMPLACED GUNS GONE
  282. ENUM2STRING(MISSIONFAILED_LADYLUCK), //# LADY LUCK DISTROYED
  283. ENUM2STRING(MISSIONFAILED_KYLECAPTURE), //# KYLE HAS BEEN CAPTURED
  284. ENUM2STRING(MISSIONFAILED_TOOMANYALLIESDIED), //# TOO MANY ALLIES DIED
  285. ENUM2STRING(MISSIONFAILED_CHEWIE),
  286. ENUM2STRING(MISSIONFAILED_KYLE),
  287. ENUM2STRING(MISSIONFAILED_ROSH),
  288. ENUM2STRING(MISSIONFAILED_WEDGE),
  289. ENUM2STRING(MISSIONFAILED_TURNED), //# Turned on your friends.
  290. //stringID_table_t Must end with a null entry
  291. "", NULL
  292. };
  293. stringID_table_t statusTextTable [] =
  294. {
  295. //=================================================
  296. //
  297. //=================================================
  298. ENUM2STRING(STAT_INSUBORDINATION), //# Starfleet will not tolerate such insubordination
  299. ENUM2STRING(STAT_YOUCAUSEDDEATHOFTEAMMATE), //# You caused the death of a teammate.
  300. ENUM2STRING(STAT_DIDNTPROTECTTECH), //# You failed to protect Chell, your technician.
  301. ENUM2STRING(STAT_DIDNTPROTECT7OF9), //# You failed to protect 7 of 9
  302. ENUM2STRING(STAT_NOTSTEALTHYENOUGH), //# You weren't quite stealthy enough
  303. ENUM2STRING(STAT_STEALTHTACTICSNECESSARY), //# Starfleet will not tolerate such insubordination
  304. ENUM2STRING(STAT_WATCHYOURSTEP), //# Watch your step
  305. ENUM2STRING(STAT_JUDGEMENTMUCHDESIRED), //# Your judgement leaves much to be desired
  306. //stringID_table_t Must end with a null entry
  307. "", NULL
  308. };
  309. #endif// #ifndef G_OBJECTIVES_CPP
  310. #endif// #ifndef __OBJECTIVES_H__