Subversion Repositories Games.Descent

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * This file is part of the DXX-Rebirth project <https://www.dxx-rebirth.com/>.
  3.  * It is copyright by its individual contributors, as recorded in the
  4.  * project's Git history.  See COPYING.txt at the top level for license
  5.  * terms and a link to the Git history.
  6.  */
  7. /*
  8.  *
  9.  * Header for escort.c
  10.  *
  11.  */
  12.  
  13. #pragma once
  14.  
  15. #include "maths.h"
  16.  
  17. #ifdef __cplusplus
  18. #include "fwd-object.h"
  19.  
  20. #ifdef dsx
  21. namespace dsx {
  22. #if defined(DXX_BUILD_DESCENT_I)
  23. static inline void detect_escort_goal_accomplished(const vmobjptridx_t &)
  24. {
  25. }
  26. static inline void drop_stolen_items (const vcobjptr_t &) {}
  27. #elif defined(DXX_BUILD_DESCENT_II)
  28. #define GUIDEBOT_NAME_LEN 9
  29. struct netgame_info;
  30. extern void change_guidebot_name(void);
  31. extern void do_escort_menu(void);
  32. void detect_escort_goal_accomplished(vmobjptridx_t index);
  33. void detect_escort_goal_fuelcen_accomplished();
  34. void set_escort_special_goal(d_unique_buddy_state &BuddyState, int key);
  35. void recreate_thief(uint8_t thief_id);
  36. void init_buddy_for_level(void);
  37. void invalidate_escort_goal(d_unique_buddy_state &);
  38. void drop_stolen_items (vcobjptr_t);
  39. unsigned check_warn_local_player_can_control_guidebot(fvcobjptr &vcobjptr, const d_unique_buddy_state &, const netgame_info &Netgame);
  40.  
  41. enum escort_goal_t : uint8_t
  42. {
  43.         ESCORT_GOAL_UNSPECIFIED = UINT8_MAX,
  44.         ESCORT_GOAL_BLUE_KEY = 1,
  45.         ESCORT_GOAL_GOLD_KEY = 2,
  46.         ESCORT_GOAL_RED_KEY = 3,
  47.         ESCORT_GOAL_CONTROLCEN = 4,
  48.         ESCORT_GOAL_EXIT = 5,
  49.  
  50. // Custom escort goals.
  51.         ESCORT_GOAL_ENERGY = 6,
  52.         ESCORT_GOAL_ENERGYCEN = 7,
  53.         ESCORT_GOAL_SHIELD = 8,
  54.         ESCORT_GOAL_POWERUP = 9,
  55.         ESCORT_GOAL_ROBOT = 10,
  56.         ESCORT_GOAL_HOSTAGE = 11,
  57.         ESCORT_GOAL_PLAYER_SPEW = 12,
  58.         ESCORT_GOAL_SCRAM = 13,
  59.         ESCORT_GOAL_BOSS = 15,
  60.         ESCORT_GOAL_MARKER1 = 16,
  61.         ESCORT_GOAL_MARKER2 = 17,
  62.         ESCORT_GOAL_MARKER3 = 18,
  63.         ESCORT_GOAL_MARKER4 = 19,
  64.         ESCORT_GOAL_MARKER5 = 20,
  65.         ESCORT_GOAL_MARKER6 = 21,
  66.         ESCORT_GOAL_MARKER7 = 22,
  67.         ESCORT_GOAL_MARKER8 = 23,
  68.         ESCORT_GOAL_MARKER9 = 24,
  69. };
  70. #endif
  71. }
  72. #endif
  73.  
  74. #endif
  75.