[Add] Documented Player.

This commit is contained in:
Allanis 2013-10-22 18:42:17 +01:00
parent 2533dd816f
commit 6764a1c424
2 changed files with 48 additions and 28 deletions

View File

@ -73,11 +73,11 @@ unsigned int player_flags = 0; /**< Player flags. */
/* Input.c */
double player_turn = 0.; /**< Turn velocity from input. */
static double player_acc = 0.; /**< Accel velocity from input. */
unsigned int player_target = PLAYER_ID; /**< Targetted pilot. */
unsigned int player_target = PLAYER_ID; /**< Targetted pilot. PLAYER_ID is none. */
/* Internal */
int planet_target = -1; /**< Targetted planet. */
int hyperspace_target = -1; /**< Target hyperspace route. */
int planet_target = -1; /**< Targetted planet. -1 is none. */
int hyperspace_target = -1; /**< Target hyperspace route. -1 is none. */
/* For death etc. */
static unsigned int player_timer = 0; /**< For death and such. */
@ -94,7 +94,11 @@ extern int pilot_nstack;
/* Space stuff for GUI. */
extern StarSystem* systems_stack;
/* GUI crap. */
/**
* @struct Radar
*
* @brief Represents the player's radar.
*/
typedef struct Radar_ {
double x,y; /**< Position. */
double w,h; /**< Dimensions. */
@ -108,11 +112,21 @@ typedef struct Radar_ {
#define RADAR_RES_INTERVAL 10. /**< Steps used to increase/decrease resolution. */
#define RADAR_RES_DEFAULT 40. /**< Default resolution. */
/**
* @struct Rect
*
* @brief Represents a rectangle.
*/
typedef struct Rect_ {
double x,y;
double w,h;
} Rect;
/**
* @struct GUI
*
* @brief Represents the ingame player graphical user interface.
*/
typedef struct GUI_ {
/* Graphics. */
glTexture* gfx_frame; /**< Frame of the GUI. */
@ -138,18 +152,24 @@ static GUI gui = {
}; /**< The GUI. */
/* Needed to render properly. */
double gui_xoff = 0.;
double gui_yoff = 0.;
double gui_xoff = 0.; /**< X offset that GUI introduces. */
double gui_yoff = 0.; /**< Y offset that GUI introduces. */
/* Messages. */
#define MSG_SIZE_MAX 80
#define MSG_SIZE_MAX 80 /**< Max message length. */
int msg_timeout = 5000; /**< How long it takes for a message to timeout. */
int msg_max = 5; /**< Max messages on screen. */
/**
* @struct Mesg
*
* @brief On screen player message.
*/
typedef struct Msg_ {
char str[MSG_SIZE_MAX];
unsigned int t;
char str[MSG_SIZE_MAX]; /**< The message. */
unsigned int t; /**< Time of creation. */
} Msg;
static Msg* msg_stack; /**< Stack of messages. */
static Msg* msg_stack; /**< Stack of messages, will be of mesg_max size. */
/* External. */
extern void pilot_render(const Pilot* pilot); /* Extern is in Pilot.* */

View File

@ -2,34 +2,34 @@
#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_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 facing opposite of 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_PRIMARY_L (1<<12) /**< Player shot primary weapon last frame. */
#define PLAYER_SECONDARY (1<<13) /* Player is shooting secondary weapon. */
#define PLAYER_SECONDARY (1<<13) /**< Player is shooting secondary weapon. */
#define PLAYER_SECONDARY_L (1<<14) /**< Player shot secondary last frame. */
#define PLAYER_LANDACK (1<<15) /* Player has permission to land. */
#define PLAYER_CREATING (1<<16) /* Player is being created. */
#define PLAYER_LANDACK (1<<15) /**< Player has permission to land. */
#define PLAYER_CREATING (1<<16) /**< 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)
#define player_isFlag(f) (player_flags & f) /**< Check for a player flag. */
#define player_setFlag(f) if(!player_isFlag(f)) (player_flags |= f) /**< Set a player flag. */
#define player_rmFlag(f) if(player_isFlag(f)) (player_flags ^= f) /**< Remove a player flag. */
/* The player. */
extern Pilot* pilot;
extern char* player_name;
extern unsigned int player_flags;
extern int player_crating;
extern Pilot* pilot; /**< The player. */
extern char* player_name; /**< Player's name. */
extern unsigned int player_flags; /**< Player's flags. */
extern int player_crating; /**< Player's combat rating. */
/* Enums. */
/* For render functions. */
typedef enum RadarShape_ { RADAR_RECT, RADAR_CIRCLE } RadarShape;
typedef enum RadarShape_ { RADAR_RECT, RADAR_CIRCLE } RadarShape; /**< Player's radar shape. */
/* Creation/Cleanup. */
void player_new(void);