naev 0.12.6
land.h
1/*
2 * See Licensing and Copyright notice in naev.h
3 */
4#pragma once
5
6#include "conf.h"
7#include "mission.h"
8#include "nstring.h"
9#include "space.h"
10#include "start.h" // IWYU pragma: keep
11
12/*
13 * The window interfaces.
14 */
15enum {
16 LAND_WINDOW_MAIN,
17 LAND_WINDOW_BAR,
18 LAND_WINDOW_MISSION,
19 LAND_WINDOW_OUTFITS,
20 LAND_WINDOW_SHIPYARD,
21 LAND_WINDOW_EQUIPMENT,
22 LAND_WINDOW_COMMODITY,
23 LAND_NUMWINDOWS
24};
25
26typedef enum {
27 MISNCOMPUTER_SORT_PRIORITY,
28 MISNCOMPUTER_SORT_REWARD,
29 MISNCOMPUTER_SORT_DISTANCE,
30 MISNCOMPUTER_SORT_SETTINGS,
31} MissionComputerSort;
32typedef struct MissionComputerOptions_ {
33 MissionComputerSort sortby;
36extern MissionComputerOptions misn_opts;
37
38/* global/main window */
39#define LAND_WIDTH RESOLUTION_W_MIN
40#define LAND_HEIGHT RESOLUTION_H_MIN
41#define PORTRAIT_WIDTH 200
42#define PORTRAIT_HEIGHT 150
43
44/*
45 * Default button sizes.
46 */
47#define LAND_BUTTON_WIDTH 200
48#define LAND_BUTTON_HEIGHT 40
49
50/*
51 * For the 'buy map' button
52 */
53#define LOCAL_MAP_NAME ( start_local_map_default() )
54
55/*
56 * Landed at.
57 */
58extern int landed;
59extern Spob *land_spob;
60
61/* Tracking for which tabs have been generated. */
62#define land_tabGenerate( w ) \
63 ( land_generated |= ( 1 << w ) )
64#define land_tabGenerated( w ) \
65 ( land_generated & ( 1 << w ) )
66extern unsigned int land_generated;
67
68/*
69 * Main interface.
70 */
71void land_queueTakeoff( void );
72void land_needsTakeoff( int delay );
73int land_canSave( void );
74int land_doneLoading( void );
75void land( Spob *p, int load );
76void land_genWindows( int load );
77void takeoff( int delay, int nosave );
78void land_cleanup( void );
79void land_exit( void );
80int land_setWindow( int window );
81
82/*
83 * Internal usage.
84 */
85void land_refuel( void );
86void land_updateMainTab( void );
87void land_buttonTakeoff( unsigned int wid, const char *unused );
88unsigned int land_getWid( int window );
89void bar_regen( void );
90void misn_regen( void );
91void misn_patchMission( const Mission *misn );
92
93/*
94 * Error dialogue generation and associated checks.
95 */
96void land_errClear( void );
97PRINTF_FORMAT( 1, 2 ) void land_errDialogueBuild( const char *fmt, ... );
98int land_errDisplay( void );
void bar_regen(void)
Regenerates the bar list.
Definition land.c:432
void land_queueTakeoff(void)
Queue a takeoff.
Definition land.c:159
void takeoff(int delay, int nosave)
Makes the player take off if landed.
Definition land.c:1690
void misn_patchMission(const Mission *misn)
Patches a mission into the mission computer.
Definition land.c:411
int land_setWindow(int window)
Sets the land window tab.
Definition land.c:1399
unsigned int land_getWid(int window)
Gets the WID of a window by type.
Definition land.c:1162
void land_cleanup(void)
Cleans up some land-related variables.
Definition land.c:1952
int landed
Definition land.c:78
int land_doneLoading(void)
Check to see if finished loading.
Definition land.c:207
void land(Spob *p, int load)
Opens up all the land dialogue stuff.
Definition land.c:1413
void land_errDialogueBuild(const char *fmt,...)
Generates error dialogues used by several landing tabs.
Definition land.c:226
void land_exit(void)
Exits all the landing stuff.
Definition land.c:1999
void land_genWindows(int load)
Recreates the land windows.
Definition land.c:1232
void land_updateMainTab(void)
Adds the "Buy Local Map" button if needed and updates info.
Definition land.c:1054
Spob * land_spob
Definition land.c:87
void land_errClear(void)
Clear error dialogues.
Definition land.c:217
int land_canSave(void)
Whether or not the player can save.
Definition land.c:182
void misn_regen(void)
Regenerates the mission list.
Definition land.c:419
void land_buttonTakeoff(unsigned int wid, const char *unused)
Wrapper for takeoff mission button.
Definition land.c:1124
void land_refuel(void)
Refuels the player's current ship, if possible.
Definition land.c:995
int land_errDisplay(void)
Displays an error if applicable.
Definition land.c:248
MissionComputerSort sortby
Definition land.h:33
Represents an active mission.
Definition mission.h:83
Represents a Space Object (SPOB), including and not limited to planets, stations, wormholes,...
Definition space.h:102