Subversion Repositories Games.Descent

Rev

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