#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_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. // Flag functions. #define player_isFlag(f) (player_flags & f) #define player_setFlag(f) (player_flags |= f) #define player_rmFlag(f) (player_flags ^= f) // The player. extern Pilot* pilot; extern unsigned int player_flags; extern unsigned int credits; typedef enum { RADAR_RECT, RADAR_CIRCLE } RadarShape; // For render functions. // Creation. void player_new(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); // Keybind actions. void player_setRadarRel(int mod); void player_board(void); void player_secondaryNext(void); void player_targetPlanet(void); void player_land(void); void player_targetHyperspace(void); void player_jump(void); void player_screenshot(void);