g_objectives.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // leave this line at the top for all g_xxxx.cpp files...
  2. #include "g_headers.h"
  3. //g_objectives.cpp
  4. //reads in ext_data\objectives.dat to objectives[]
  5. #include "g_local.h"
  6. #include "g_items.h"
  7. #define G_OBJECTIVES_CPP
  8. #include "objectives.h"
  9. qboolean missionInfo_Updated;
  10. /*
  11. ============
  12. OBJ_SetPendingObjectives
  13. ============
  14. */
  15. void OBJ_SetPendingObjectives(gentity_t *ent)
  16. {
  17. int i;
  18. for (i=0;i<MAX_OBJECTIVES;++i)
  19. {
  20. if ((ent->client->sess.mission_objectives[i].status == OBJECTIVE_STAT_PENDING) &&
  21. (ent->client->sess.mission_objectives[i].display))
  22. {
  23. ent->client->sess.mission_objectives[i].status = OBJECTIVE_STAT_FAILED;
  24. }
  25. }
  26. }
  27. /*
  28. ============
  29. OBJ_SaveMissionObjectives
  30. ============
  31. */
  32. void OBJ_SaveMissionObjectives( gclient_t *client )
  33. {
  34. gi.AppendToSaveGame('OBJT', client->sess.mission_objectives, sizeof(client->sess.mission_objectives));
  35. }
  36. /*
  37. ============
  38. OBJ_SaveObjectiveData
  39. ============
  40. */
  41. void OBJ_SaveObjectiveData(void)
  42. {
  43. gclient_t *client;
  44. client = &level.clients[0];
  45. OBJ_SaveMissionObjectives( client );
  46. }
  47. /*
  48. ============
  49. OBJ_LoadMissionObjectives
  50. ============
  51. */
  52. void OBJ_LoadMissionObjectives( gclient_t *client )
  53. {
  54. gi.ReadFromSaveGame('OBJT', (void *) &client->sess.mission_objectives, sizeof(client->sess.mission_objectives));
  55. }
  56. /*
  57. ============
  58. OBJ_LoadObjectiveData
  59. ============
  60. */
  61. void OBJ_LoadObjectiveData(void)
  62. {
  63. gclient_t *client;
  64. client = &level.clients[0];
  65. OBJ_LoadMissionObjectives( client );
  66. }