Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 1 | pmbaty | 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 |