79 lines
2.4 KiB
C
79 lines
2.4 KiB
C
#pragma once
|
|
#include "pilot.h"
|
|
|
|
// Flag definitions.
|
|
#define PLAYER_TURN_LEFT (1<<0) // Player is turning left.
|
|
#define PLAYER_TURN_RIGHT (1<<1) // Player is turning right.
|
|
#define PLAYER_REVERSE (1<<2) // Player is facint opposite vel.
|
|
#define PLAYER_AFTERBURNER (1<<3) // Player is burning it up.
|
|
#define PLAYER_DESTROYED (1<<9) // Player goes BOOM!
|
|
#define PLAYER_FACE (1<<10) // Player is facing target.
|
|
#define PLAYER_PRIMARY (1<<11) // Player is shooting primary weapon.
|
|
#define PLAYER_SECONDARY (1<<12) // Player is shooting secondary weapon.
|
|
#define PLAYER_LANDACK (1<<13) // Player has permission to land.
|
|
#define PLAYER_CREATING (1<<14) // Player is being created.
|
|
|
|
// Flag functions.
|
|
#define player_isFlag(f) (player_flags & f)
|
|
#define player_setFlag(f) if(!player_isFlag(f)) (player_flags |= f)
|
|
#define player_rmFlag(f) if(player_isFlag(f)) (player_flags ^= f)
|
|
|
|
// The player.
|
|
extern Pilot* pilot;
|
|
extern char* player_name;
|
|
extern unsigned int player_flags;
|
|
extern int combat_crating;
|
|
|
|
// Enums.
|
|
|
|
// For render functions.
|
|
typedef enum RadarShape_ { RADAR_RECT, RADAR_CIRCLE } RadarShape;
|
|
|
|
// Creation/Cleanup.
|
|
void player_new(void);
|
|
void player_newShip(Ship* ship, double px, double py,
|
|
double vx, double vy, double dir);
|
|
void player_cleanup(void);
|
|
|
|
// Render.
|
|
int gui_init(void);
|
|
void gui_free(void);
|
|
void player_render(void);
|
|
void player_renderBG(void); // Render BG layer.
|
|
|
|
// Misc.
|
|
void player_message(const char* fmt, ...);
|
|
void player_clear(void);
|
|
void player_warp(const double x, const double y);
|
|
const char* player_rating(void);
|
|
// Cargo.
|
|
int player_outfitOwned(const char* outfitname);
|
|
int player_cargoOwned(const char* commodityname);
|
|
void player_rmMissionCargo(unsigned int cargo_id);
|
|
|
|
// Pilot ships.
|
|
char** player_ships(int* nships);
|
|
int player_nships(void);
|
|
Pilot* player_getShip(char* shipname);
|
|
char* player_getLoc(char* shipname);
|
|
void player_setLoc(char* shipname, char* loc);
|
|
void player_swapShip(char* shipname);
|
|
|
|
// Player missions.
|
|
void player_missionFinished(int id);
|
|
int player_missionAlreadyDone(int id);
|
|
|
|
// Keybind actions.
|
|
void player_setRadarRel(int mod);
|
|
void player_secondaryNext(void);
|
|
void player_targetPlanet(void);
|
|
void player_land(void);
|
|
void player_targetHyperspace(void);
|
|
void player_jump(void);
|
|
void player_screenshot(void);
|
|
void player_afterburn(void);
|
|
void player_afterburnOver(void);
|
|
void player_accel(double acc);
|
|
void player_accelOver(void);
|
|
|