26 #define MAX_KEYED_TARGETS 8 // number of hot keys available to assign targets to
29 #define PLAYER_PILOT_PIC_W 160
30 #define PLAYER_PILOT_PIC_H 120
32 #define PLAYER_SQUAD_PIC_W 128
33 #define PLAYER_SQUAD_PIC_H 128
36 #define PLAYER_FLAGS_MATCH_TARGET (1<<0) // currently matching speed with selected target
37 #define PLAYER_FLAGS_MSG_MODE (1<<1) // is the player in messaging mode?
38 #define PLAYER_FLAGS_AUTO_TARGETING (1<<2) // is auto targeting on?
39 #define PLAYER_FLAGS_AUTO_MATCH_SPEED (1<<3) // is auto speed matching on?
40 #define PLAYER_FLAGS_STRUCTURE_IN_USE (1<<4) // is this structure in use -- for multiplayer games
41 #define PLAYER_FLAGS_PROMOTED (1<<5) // possibly set in mission to automatically give player promotion
42 #define PLAYER_FLAGS_IS_MULTI (1<<6) // this is a multiplayer pilot
43 #define PLAYER_FLAGS_DIST_WARNING (1<<7) // is this player under warning for being too far from battle
44 #define PLAYER_FLAGS_FORCE_MISSION_OVER (1<<8) // mission is being forced over for this player
45 #define PLAYER_FLAGS_LINK_PRIMARY (1<<9) // primary weapons were linked last mission
46 #define PLAYER_FLAGS_LINK_SECONDARY (1<<10) // secondary weapons were linked last mission
47 #define PLAYER_FLAGS_NO_CHECK_ALL_ALONE_MSG (1<<11) // player can't receive 'you're all alone...' message from Terran Command
48 #define PLAYER_FLAGS_KILLED_BY_EXPLOSION (1<<12) // player was killed by an instantaneous area-effect explosion
49 #define PLAYER_FLAGS_HAS_PLAYED_PXO (1<<13) // this pilot has at least played PXO once in the past.
50 #define PLAYER_FLAGS_DIST_TO_BE_KILLED (1<<14) // the pilot has been warned about distance and will be killed after message finishes playing
51 #define PLAYER_FLAGS_KILLED_BY_ENGINE_WASH (1<<15) // player was killed by engine wash
52 #define PLAYER_FLAGS_KILLED_SELF_UNKNOWN (1<<16) // player died by his own hand
53 #define PLAYER_FLAGS_KILLED_SELF_MISSILES (1<<17) // player died by his own missile
54 #define PLAYER_FLAGS_KILLED_SELF_SHOCKWAVE (1<<18) // player died by his own shockwave
56 #define PLAYER_KILLED_SELF ( PLAYER_FLAGS_KILLED_SELF_MISSILES | PLAYER_FLAGS_KILLED_SELF_SHOCKWAVE )
58 #define PCM_NORMAL 0 // normal flying mode
59 #define PCM_WARPOUT_STAGE1 1 // speed up to 40 km/s
60 #define PCM_WARPOUT_STAGE2 2 // flying towards and through warp hole
61 #define PCM_WARPOUT_STAGE3 3 // through warp hole, waiting for it to disapper.
62 #define PCM_SUPERNOVA 4 // supernova. lock everything to where it is.
65 #define LGC_NORMAL (1<<0) // normal controls
66 #define LGC_STEERING (1<<1) // allow lua to fully override steering controls
67 #define LGC_FULL (1<<2) // allow lua to fully override controls
69 #define LGC_B_NORMAL (1<<3) // allow lua to keep recording button commands
70 #define LGC_B_OVERRIDE (1<<4) // allow lua to override current button commands
71 #define LGC_B_ADDITIVE (1<<5) // allow lua add current lua button commands to current commands
73 #define LGC_B_POLL_ALL (1<<6) // tell game code to pass all button commands to lua.
77 #define PLAYER_MISSION_FAILURE_LIMIT 5
279 #define PLAYER_WARPOUT_SPEED 40.0f // speed you need to be going to warpout
280 #define TARGET_WARPOUT_MATCH_PERCENT 0.05f // how close to TARGET_WARPOUT_SPEED you need to be
281 #define MINIMUM_PLAYER_WARPOUT_TIME 3.0f // How long before you can press 'ESC' to abort warpout
void player_maybe_play_all_alone_msg()
void player_maybe_fire_turret(object *objp)
float player_farthest_weapon_range()
void player_set_squad_bitmap(player *p, char *fnamem, bool ismulti)
char campaign_name[MAX_FILENAME_LEN+1]
char s_squad_name[NAME_LENGTH+1]
void player_generate_death_message(player *player_p)
void player_display_padlock_view()
char image_filename[MAX_FILENAME_LEN+1]
void player_clear_speed_matching()
multi_server_options m_server_options
float lock_time_to_target
void player_stop_looped_sounds()
int check_for_all_alone_msg
void player_get_padlock_orient(matrix *eye_orient)
void player_set_squad(player *p, char *squad_name)
void player_stop_cargo_scan_sound()
char s_squad_filename[MAX_FILENAME_LEN+1]
int distance_warning_count
#define MAX_KEYED_TARGETS
char m_squad_name[NAME_LENGTH+1]
std::basic_string< char, std::char_traits< char >, std::allocator< char > > SCP_string
char callsign[CALLSIGN_LEN+1]
void assign(const player *pl)
float lock_dist_to_target
player Players[MAX_PLAYERS]
void read_player_controls(object *obj, float frametime)
int low_ammo_complaint_count
fix friendly_last_hit_time
char current_campaign[MAX_FILENAME_LEN+1]
int readyroom_listing_mode
int allow_praise_timestamp
int last_ship_flown_si_index
int praise_delay_timestamp
void toggle_player_object()
multi_local_options m_local_options
void player_show_death_message()
int failures_this_session
void player_maybe_start_repair_sound()
char killer_parent_name[NAME_LENGTH]
int lock_indicator_start_y
char language[LCL_LANG_NAME_LEN+1]
int allow_scream_timestamp
void player_set_pilot_defaults(player *p)
int player_process_pending_praise()
See if there is a praise message to deliver to the player. We want to delay the praise messages a bit...
void player_match_target_speed(char *no_target_text=NULL, char *match_off_text=NULL, char *match_on_text=NULL)
int allow_ask_help_timestamp
void player_restore_target_and_weapon_link_prefs()
int request_repair_timestamp
int distance_warning_time
void player_maybe_start_cargo_scan_sound()
ship_subsys * locking_subsys
#define LCL_LANG_NAME_LEN
fix last_warning_message_time
void player_control_reset_ci(control_info *ci)
int lock_indicator_visible
GLsizei GLsizei GLuint * obj
SCP_vector< sexp_variable > variables
void player_controls_init()
int player_inspect_cargo(float frametime, char *outstr)
void player_save_target_and_weapon_link_prefs()
void player_stop_repair_sound()
htarget_list keyed_targets[MAX_KEYED_TARGETS]
char m_squad_filename[MAX_FILENAME_LEN+1]
struct campaign_stats campaign_stats
int lock_indicator_start_x
int locking_subsys_parent
char short_callsign[CALLSIGN_LEN+1]
int praise_self_timestamp
void player_set_next_all_alone_msg_timestamp()
int lead_indicator_active