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 |