naev 0.10.4
Functions | Variables
player_autonav.c File Reference

Contains all the player autonav related stuff. More...

#include "player.h"
#include "array.h"
#include "board.h"
#include "conf.h"
#include "map.h"
#include "pause.h"
#include "pilot.h"
#include "pilot_ew.h"
#include "sound.h"
#include "space.h"
#include "toolkit.h"

Go to the source code of this file.

Functions

static int player_autonavSetup (void)
 Prepares the player to enter autonav. More...
 
static void player_autonav (void)
 Handles the autonavigation process for the player. More...
 
static int player_autonavApproach (const vec2 *pos, double *dist2, int count_target)
 Handles approaching a position with autonav. More...
 
static void player_autonavFollow (const vec2 *pos, const vec2 *vel, const int follow, double *dist2)
 Handles following a moving point with autonav (PD controller). More...
 
static int player_autonavApproachBoard (const vec2 *pos, const vec2 *vel, double *dist2, double sw)
 
static int player_autonavBrake (void)
 Handles the autonav braking. More...
 
void player_autonavResetSpeed (void)
 Resets the game speed. More...
 
void player_autonavStart (void)
 Starts autonav. More...
 
void player_autonavEnd (void)
 Ends the autonav. More...
 
void player_autonavStartWindow (unsigned int wid, const char *str)
 Starts autonav and closes the window. More...
 
void player_autonavPos (double x, double y)
 Starts autonav with a local position destination. More...
 
void player_autonavSpob (const char *name, int tryland)
 Starts autonav with a spob destination. More...
 
void player_autonavPil (unsigned int p)
 Starts autonav with a pilot to follow. More...
 
void player_autonavBoard (unsigned int p)
 Starts autonav with a pilot to board. More...
 
static void player_autonavRampdown (double d)
 Handles common time accel ramp-down for autonav to positions and spobs. More...
 
void player_autonavAbortJump (const char *reason)
 Aborts regular interstellar autonav, but not in-system autonav. More...
 
void player_autonavAbort (const char *reason)
 Aborts autonav. More...
 
int player_autonavShouldResetSpeed (void)
 Checks whether the speed should be reset due to damage or missile locks. More...
 
void player_thinkAutonav (Pilot *pplayer, double dt)
 Handles autonav thinking. More...
 
void player_updateAutonav (double dt)
 Updates the player's autonav. More...
 

Variables

double player_acc
 
static double tc_mod = 1.
 
static double tc_base = 1.
 
static double tc_down = 0.
 
static int tc_rampdown = 0
 
static double last_shield
 
static double last_armour
 
static int target_known = 0
 

Detailed Description

Contains all the player autonav related stuff.

Definition in file player_autonav.c.

Function Documentation

◆ player_autonav()

static void player_autonav ( void  )
static

Handles the autonavigation process for the player.

Definition at line 336 of file player_autonav.c.

◆ player_autonavAbort()

void player_autonavAbort ( const char *  reason)

Aborts autonav.

Parameters
reasonHuman-readable string describing abort condition.

Definition at line 297 of file player_autonav.c.

◆ player_autonavAbortJump()

void player_autonavAbortJump ( const char *  reason)

Aborts regular interstellar autonav, but not in-system autonav.

Parameters
reasonHuman-readable string describing abort condition.

Definition at line 278 of file player_autonav.c.

◆ player_autonavApproach()

static int player_autonavApproach ( const vec2 pos,
double *  dist2,
int  count_target 
)
static

Handles approaching a position with autonav.

Parameters
[in]posPosition to go to.
[out]dist2Square distance left to target.
count_targetIf 1 it subtracts the braking distance from dist2. Otherwise it returns the full distance.
Returns
1 on completion.

Definition at line 535 of file player_autonav.c.

◆ player_autonavApproachBoard()

static int player_autonavApproachBoard ( const vec2 pos,
const vec2 vel,
double *  dist2,
double  sw 
)
static

Definition at line 621 of file player_autonav.c.

◆ player_autonavBoard()

void player_autonavBoard ( unsigned int  p)

Starts autonav with a pilot to board.

Definition at line 237 of file player_autonav.c.

◆ player_autonavBrake()

static int player_autonavBrake ( void  )
static

Handles the autonav braking.

Returns
1 on completion.

Definition at line 661 of file player_autonav.c.

◆ player_autonavEnd()

void player_autonavEnd ( void  )

Ends the autonav.

Definition at line 149 of file player_autonav.c.

◆ player_autonavFollow()

static void player_autonavFollow ( const vec2 pos,
const vec2 vel,
const int  follow,
double *  dist2 
)
static

Handles following a moving point with autonav (PD controller).

Parameters
[in]posPosition to go to.
[in]velVelocity of the target.
[in]followWhether to follow, or arrive at
[out]dist2Distance left to target.

Definition at line 583 of file player_autonav.c.

◆ player_autonavPil()

void player_autonavPil ( unsigned int  p)

Starts autonav with a pilot to follow.

Definition at line 220 of file player_autonav.c.

◆ player_autonavPos()

void player_autonavPos ( double  x,
double  y 
)

Starts autonav with a local position destination.

Definition at line 173 of file player_autonav.c.

◆ player_autonavRampdown()

static void player_autonavRampdown ( double  d)
static

Handles common time accel ramp-down for autonav to positions and spobs.

Definition at line 259 of file player_autonav.c.

◆ player_autonavResetSpeed()

void player_autonavResetSpeed ( void  )

Resets the game speed.

Definition at line 52 of file player_autonav.c.

◆ player_autonavSetup()

static int player_autonavSetup ( void  )
static

Prepares the player to enter autonav.

Returns
0 on success, -1 on failure (disabled, etc.)

Definition at line 104 of file player_autonav.c.

◆ player_autonavShouldResetSpeed()

int player_autonavShouldResetSpeed ( void  )

Checks whether the speed should be reset due to damage or missile locks.

Returns
1 if the speed should be reset.

Definition at line 687 of file player_autonav.c.

◆ player_autonavSpob()

void player_autonavSpob ( const char *  name,
int  tryland 
)

Starts autonav with a spob destination.

Definition at line 188 of file player_autonav.c.

◆ player_autonavStart()

void player_autonavStart ( void  )

Starts autonav.

Definition at line 62 of file player_autonav.c.

◆ player_autonavStartWindow()

void player_autonavStartWindow ( unsigned int  wid,
const char *  str 
)

Starts autonav and closes the window.

Definition at line 162 of file player_autonav.c.

◆ player_thinkAutonav()

void player_thinkAutonav ( Pilot pplayer,
double  dt 
)

Handles autonav thinking.

Parameters
pplayerPlayer doing the thinking.
dtCurrent delta tick.

Definition at line 772 of file player_autonav.c.

◆ player_updateAutonav()

void player_updateAutonav ( double  dt)

Updates the player's autonav.

Parameters
dtCurrent delta tick (should be real delta tick, not game delta tick).

Definition at line 802 of file player_autonav.c.

Variable Documentation

◆ last_armour

double last_armour
static

Player's last armour value.

Definition at line 36 of file player_autonav.c.

◆ last_shield

double last_shield
static

Player's last shield value.

Definition at line 35 of file player_autonav.c.

◆ player_acc

double player_acc
extern

Player acceleration.

Accel velocity from input.

Definition at line 122 of file player.c.

◆ target_known

int target_known = 0
static

Is the target known?

Definition at line 37 of file player_autonav.c.

◆ tc_base

double tc_base = 1.
static

Base compression modifier.

Definition at line 32 of file player_autonav.c.

◆ tc_down

double tc_down = 0.
static

Rate of decrement.

Definition at line 33 of file player_autonav.c.

◆ tc_mod

double tc_mod = 1.
static

Time compression modifier.

Definition at line 31 of file player_autonav.c.

◆ tc_rampdown

int tc_rampdown = 0
static

Ramping down time compression?

Definition at line 34 of file player_autonav.c.