#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 player_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); int gui_load(const char* name); /* Render. */ int gui_init(void); void gui_free(void); void player_render(void); void player_renderBG(void); /* Render BG layer. */ void player_renderGUI(void); /* Render the GUI stuff. */ /* 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);