naev 0.12.6
safelanes.h
1/*
2 * See Licensing and Copyright notice in naev.h
3 */
4#pragma once
5
6#include "space.h"
7
8/* Bit flags to specify what standing to get. */
9#define SAFELANES_FRIENDLY \
10 ( 1 << 0 )
12#define SAFELANES_NEUTRAL \
13 ( 1 << 1 )
15#define SAFELANES_HOSTILE ( 1 << 3 )
16
20typedef enum SafeLaneLocType_ {
21 SAFELANE_LOC_SPOB,
22 SAFELANE_LOC_DEST_SYS,
24} SafeLaneLocType;
25
29typedef struct SafeLane_ {
30 int faction;
31 SafeLaneLocType point_type[2];
32 int point_id[2];
33 double map_alpha;
34} SafeLane;
35
36void safelanes_init( void );
37void safelanes_destroy( void );
38SafeLane *safelanes_get( int faction, int standing, const StarSystem *system );
39void safelanes_recalculate( void );
40int safelanes_calculated( void );
int safelanes_calculated(void)
Whether or not the safe lanes have been calculated at least once.
Definition safelanes.c:327
void safelanes_destroy(void)
Shuts down the safelanes system.
Definition safelanes.c:218
void safelanes_init(void)
Initializes the safelanes system.
Definition safelanes.c:206
void safelanes_recalculate(void)
Update the safe lane locations in response to the universe changing (e.g., diff applied).
Definition safelanes.c:296
SafeLane * safelanes_get(int faction, int standing, const StarSystem *system)
Gets a set of safelanes for a faction and system.
Definition safelanes.c:233
Describes a safe lane, patrolled by a faction, within a system.
Definition safelanes.h:29
int point_id[2]
Definition safelanes.h:32
int faction
Definition safelanes.h:30
SafeLaneLocType point_type[2]
Definition safelanes.h:31
double map_alpha
Definition safelanes.h:33