2014-06-01 17:55:23 +00:00
|
|
|
/*
|
2018-09-02 00:57:29 +00:00
|
|
|
* This file is part of the DXX-Rebirth project <https://www.dxx-rebirth.com/>.
|
2014-06-01 17:55:23 +00:00
|
|
|
* It is copyright by its individual contributors, as recorded in the
|
|
|
|
* project's Git history. See COPYING.txt at the top level for license
|
|
|
|
* terms and a link to the Git history.
|
|
|
|
*/
|
2006-03-20 17:12:09 +00:00
|
|
|
/*
|
|
|
|
*
|
|
|
|
* Header for escort.c
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2015-08-22 20:43:04 +00:00
|
|
|
#pragma once
|
2012-11-11 22:12:51 +00:00
|
|
|
|
2013-10-26 03:40:50 +00:00
|
|
|
#include "maths.h"
|
|
|
|
|
2012-11-11 22:12:51 +00:00
|
|
|
#ifdef __cplusplus
|
2015-10-10 03:44:14 +00:00
|
|
|
#include "fwd-object.h"
|
2012-11-11 22:12:51 +00:00
|
|
|
|
2016-01-09 16:38:15 +00:00
|
|
|
#ifdef dsx
|
2015-12-22 04:18:50 +00:00
|
|
|
namespace dsx {
|
2013-03-03 01:03:33 +00:00
|
|
|
#if defined(DXX_BUILD_DESCENT_I)
|
2017-06-10 03:31:02 +00:00
|
|
|
static inline void detect_escort_goal_accomplished(const vmobjptridx_t &)
|
2013-03-03 01:03:33 +00:00
|
|
|
{
|
|
|
|
}
|
2014-10-02 03:02:34 +00:00
|
|
|
static inline void drop_stolen_items (const vcobjptr_t &) {}
|
2013-03-03 01:03:33 +00:00
|
|
|
#elif defined(DXX_BUILD_DESCENT_II)
|
2006-03-20 17:12:09 +00:00
|
|
|
#define GUIDEBOT_NAME_LEN 9
|
2019-06-27 03:26:20 +00:00
|
|
|
struct netgame_info;
|
2006-03-20 17:12:09 +00:00
|
|
|
extern void change_guidebot_name(void);
|
|
|
|
extern void do_escort_menu(void);
|
2017-06-10 03:31:02 +00:00
|
|
|
void detect_escort_goal_accomplished(vmobjptridx_t index);
|
2012-12-08 21:28:59 +00:00
|
|
|
void detect_escort_goal_fuelcen_accomplished();
|
2019-06-27 03:26:20 +00:00
|
|
|
void set_escort_special_goal(d_unique_buddy_state &BuddyState, int key);
|
2016-04-06 03:34:15 +00:00
|
|
|
void recreate_thief(uint8_t thief_id);
|
2012-11-11 00:14:30 +00:00
|
|
|
void init_buddy_for_level(void);
|
2019-03-03 00:31:08 +00:00
|
|
|
void invalidate_escort_goal(d_unique_buddy_state &);
|
2014-10-02 03:02:34 +00:00
|
|
|
void drop_stolen_items (vcobjptr_t);
|
2019-06-27 03:26:20 +00:00
|
|
|
unsigned check_warn_local_player_can_control_guidebot(fvcobjptr &vcobjptr, const d_unique_buddy_state &, const netgame_info &Netgame);
|
2019-03-03 00:31:08 +00:00
|
|
|
|
|
|
|
enum escort_goal_t : uint8_t
|
|
|
|
{
|
|
|
|
ESCORT_GOAL_UNSPECIFIED = UINT8_MAX,
|
|
|
|
ESCORT_GOAL_BLUE_KEY = 1,
|
|
|
|
ESCORT_GOAL_GOLD_KEY = 2,
|
|
|
|
ESCORT_GOAL_RED_KEY = 3,
|
|
|
|
ESCORT_GOAL_CONTROLCEN = 4,
|
|
|
|
ESCORT_GOAL_EXIT = 5,
|
|
|
|
|
|
|
|
// Custom escort goals.
|
|
|
|
ESCORT_GOAL_ENERGY = 6,
|
|
|
|
ESCORT_GOAL_ENERGYCEN = 7,
|
|
|
|
ESCORT_GOAL_SHIELD = 8,
|
|
|
|
ESCORT_GOAL_POWERUP = 9,
|
|
|
|
ESCORT_GOAL_ROBOT = 10,
|
|
|
|
ESCORT_GOAL_HOSTAGE = 11,
|
|
|
|
ESCORT_GOAL_PLAYER_SPEW = 12,
|
|
|
|
ESCORT_GOAL_SCRAM = 13,
|
|
|
|
ESCORT_GOAL_BOSS = 15,
|
|
|
|
ESCORT_GOAL_MARKER1 = 16,
|
|
|
|
ESCORT_GOAL_MARKER2 = 17,
|
|
|
|
ESCORT_GOAL_MARKER3 = 18,
|
|
|
|
ESCORT_GOAL_MARKER4 = 19,
|
|
|
|
ESCORT_GOAL_MARKER5 = 20,
|
|
|
|
ESCORT_GOAL_MARKER6 = 21,
|
|
|
|
ESCORT_GOAL_MARKER7 = 22,
|
|
|
|
ESCORT_GOAL_MARKER8 = 23,
|
|
|
|
ESCORT_GOAL_MARKER9 = 24,
|
|
|
|
};
|
2013-03-03 01:03:33 +00:00
|
|
|
#endif
|
2015-12-22 04:18:50 +00:00
|
|
|
}
|
|
|
|
#endif
|
2012-11-11 22:12:51 +00:00
|
|
|
|
|
|
|
#endif
|