[Add Gui's NAV and WEAPON monitors are now utilised.
This commit is contained in:
parent
6ace8da900
commit
184d527abf
@ -4,7 +4,7 @@
|
|||||||
<ai>test</ai>
|
<ai>test</ai>
|
||||||
<faction>Independent</faction>
|
<faction>Independent</faction>
|
||||||
<pilots>
|
<pilots>
|
||||||
<pilot chance='100'>Enemy Test</pilot>
|
<pilot chance='100' name="Enemy Test">Lancer</pilot>
|
||||||
</pilots>
|
</pilots>
|
||||||
</fleet>
|
</fleet>
|
||||||
<fleet name="Merchant Ship">
|
<fleet name="Merchant Ship">
|
||||||
|
26
dat/gui.xml
26
dat/gui.xml
@ -59,42 +59,54 @@
|
|||||||
<x>72</x>
|
<x>72</x>
|
||||||
<y>72</y>
|
<y>72</y>
|
||||||
</radar>
|
</radar>
|
||||||
|
<nav>
|
||||||
|
<x>40</x>
|
||||||
|
<y>151</y>
|
||||||
|
<w>112</w>
|
||||||
|
<h>42</h>
|
||||||
|
</nav>
|
||||||
<health>
|
<health>
|
||||||
<shield>
|
<shield>
|
||||||
<w>98</w>
|
<w>98</w>
|
||||||
<h>8</h>
|
<h>8</h>
|
||||||
<x>52</x>
|
<x>52</x>
|
||||||
<y>186</y>
|
<y>201</y>
|
||||||
</shield>
|
</shield>
|
||||||
<armor>
|
<armor>
|
||||||
<w>98</w>
|
<w>98</w>
|
||||||
<h>8</h>
|
<h>8</h>
|
||||||
<x>52</x>
|
<x>52</x>
|
||||||
<y>197</y>
|
<y>212</y>
|
||||||
</armor>
|
</armor>
|
||||||
<energy>
|
<energy>
|
||||||
<w>98</w>
|
<w>98</w>
|
||||||
<h>8</h>
|
<h>8</h>
|
||||||
<x>52</x>
|
<x>52</x>
|
||||||
<y>207</y>
|
<y>223</y>
|
||||||
</energy>
|
</energy>
|
||||||
</health>
|
</health>
|
||||||
|
<weapon>
|
||||||
|
<x>40</x>
|
||||||
|
<y>239</y>
|
||||||
|
<w>112</w>
|
||||||
|
<h>42</h>
|
||||||
|
</weapon>
|
||||||
<target>
|
<target>
|
||||||
<gfx>
|
<gfx>
|
||||||
<x>34</x>
|
<x>34</x>
|
||||||
<y>273</y>
|
<y>304</y>
|
||||||
</gfx>
|
</gfx>
|
||||||
<name>
|
<name>
|
||||||
<x>40</x>
|
<x>40</x>
|
||||||
<y>260</y>
|
<y>291</y>
|
||||||
</name>
|
</name>
|
||||||
<faction>
|
<faction>
|
||||||
<x>40</x>
|
<x>40</x>
|
||||||
<y>273</y>
|
<y>304</y>
|
||||||
</faction>
|
</faction>
|
||||||
<health>
|
<health>
|
||||||
<x>40</x>
|
<x>40</x>
|
||||||
<y>370</y>
|
<y>401</y>
|
||||||
</health>
|
</health>
|
||||||
</target>
|
</target>
|
||||||
</gui>
|
</gui>
|
||||||
|
@ -54,10 +54,10 @@
|
|||||||
<outfit quantity ='2'>laser</outfit>
|
<outfit quantity ='2'>laser</outfit>
|
||||||
</outfits>
|
</outfits>
|
||||||
</ship>
|
</ship>
|
||||||
<ship name="Enemy Test">
|
<ship name="Lancer">
|
||||||
<GFX>ship1</GFX>
|
<GFX>ship1</GFX>
|
||||||
<GUI>simple</GUI>
|
<GUI>simple</GUI>
|
||||||
<class>1</class>
|
<class>2</class>
|
||||||
<movement>
|
<movement>
|
||||||
<thrust>180</thrust>
|
<thrust>180</thrust>
|
||||||
<turn>130</turn>
|
<turn>130</turn>
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.9 KiB |
45
src/opengl.c
45
src/opengl.c
@ -17,6 +17,9 @@
|
|||||||
|
|
||||||
#define FONT_DEF "../gfx/fonts/FreeSans.ttf"
|
#define FONT_DEF "../gfx/fonts/FreeSans.ttf"
|
||||||
|
|
||||||
|
// Default colors.
|
||||||
|
glColor cGrey = { .r = .75, .g = 0.75, .b = 0.75, .a = 1 };
|
||||||
|
|
||||||
// offsets to Adjust the pilot's place onscreen to be in the middle, even with the GUI.
|
// offsets to Adjust the pilot's place onscreen to be in the middle, even with the GUI.
|
||||||
extern double gui_xoff;
|
extern double gui_xoff;
|
||||||
extern double gui_yoff;
|
extern double gui_yoff;
|
||||||
@ -38,7 +41,7 @@ static int pot(int n);
|
|||||||
// gl_texture.
|
// gl_texture.
|
||||||
static GLuint gl_loadSurface(SDL_Surface* surface, int* rw, int* rh);
|
static GLuint gl_loadSurface(SDL_Surface* surface, int* rw, int* rh);
|
||||||
// Gl font.
|
// Gl font.
|
||||||
static void gl_fontMakeDList(FT_Face face, char ch, GLuint list_base, GLuint* tex_base);
|
static void gl_fontMakeDList(FT_Face face, char ch, GLuint list_base, GLuint* tex_base, int* width_base);
|
||||||
|
|
||||||
// ================
|
// ================
|
||||||
// MISC!
|
// MISC!
|
||||||
@ -437,10 +440,32 @@ void gl_print(const gl_font* ft_font, const Vec2* pos, const glColor* c, const c
|
|||||||
glDisable(GL_TEXTURE_2D);
|
glDisable(GL_TEXTURE_2D);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get the width of the text about to be printed.
|
||||||
|
int gl_printWidth(const gl_font* ft_font, const char* fmt, ...) {
|
||||||
|
int i, n;
|
||||||
|
char txt[256]; // Holds the string.
|
||||||
|
va_list ap;
|
||||||
|
|
||||||
|
if(ft_font == NULL) ft_font = &gl_defFont;
|
||||||
|
|
||||||
|
if(fmt == NULL) return 0;
|
||||||
|
else {
|
||||||
|
// Convert the symbols to text.
|
||||||
|
va_start(ap, fmt);
|
||||||
|
vsprintf(txt, fmt, ap);
|
||||||
|
va_end(ap);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(n = 0, i = 0; i < (int)strlen(txt); i++)
|
||||||
|
n += ft_font->w[(int)txt[i]];
|
||||||
|
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
// ================
|
// ================
|
||||||
// FONT!
|
// FONT!
|
||||||
// ================
|
// ================
|
||||||
static void gl_fontMakeDList(FT_Face face, char ch, GLuint list_base, GLuint* tex_base) {
|
static void gl_fontMakeDList(FT_Face face, char ch, GLuint list_base, GLuint* tex_base, int* width_base) {
|
||||||
FT_Glyph glyph;
|
FT_Glyph glyph;
|
||||||
FT_Bitmap bitmap;
|
FT_Bitmap bitmap;
|
||||||
GLubyte* expanded_data;
|
GLubyte* expanded_data;
|
||||||
@ -492,6 +517,9 @@ static void gl_fontMakeDList(FT_Face face, char ch, GLuint list_base, GLuint* te
|
|||||||
double x = (double)bitmap.width/(double)w;
|
double x = (double)bitmap.width/(double)w;
|
||||||
double y = (double)bitmap.rows/(double)h;
|
double y = (double)bitmap.rows/(double)h;
|
||||||
|
|
||||||
|
// Give the width a value.
|
||||||
|
width_base[(int)ch] = bitmap.width;
|
||||||
|
|
||||||
// Draw the texture mapped quad.
|
// Draw the texture mapped quad.
|
||||||
glBindTexture(GL_TEXTURE_2D, tex_base[(int)ch]);
|
glBindTexture(GL_TEXTURE_2D, tex_base[(int)ch]);
|
||||||
glBegin(GL_TRIANGLE_STRIP);
|
glBegin(GL_TRIANGLE_STRIP);
|
||||||
@ -514,14 +542,20 @@ static void gl_fontMakeDList(FT_Face face, char ch, GLuint list_base, GLuint* te
|
|||||||
FT_Done_Glyph(glyph);
|
FT_Done_Glyph(glyph);
|
||||||
}
|
}
|
||||||
|
|
||||||
void gl_fontInit(gl_font* font, const char* fname, unsigned int h) {
|
void gl_fontInit(gl_font* font, const char* fname, const unsigned int h) {
|
||||||
if(font == NULL) font = &gl_defFont;
|
if(font == NULL) font = &gl_defFont;
|
||||||
|
|
||||||
uint32_t bufsize;
|
uint32_t bufsize;
|
||||||
FT_Byte* buf = pack_readfile(DATA, (fname) ? fname : FONT_DEF, &bufsize);
|
FT_Byte* buf = pack_readfile(DATA, (fname) ? fname : FONT_DEF, &bufsize);
|
||||||
|
|
||||||
|
// Allocatagery.
|
||||||
font->textures = malloc(sizeof(GLuint)*128);
|
font->textures = malloc(sizeof(GLuint)*128);
|
||||||
font->h = h;
|
font->w = malloc(sizeof(int)*128);
|
||||||
|
font->h = (int)h;
|
||||||
|
if(font->textures == NULL || font->w == NULL) {
|
||||||
|
WARN("Out of memory!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Create a FreeType font library.
|
// Create a FreeType font library.
|
||||||
FT_Library library;
|
FT_Library library;
|
||||||
@ -544,7 +578,7 @@ void gl_fontInit(gl_font* font, const char* fname, unsigned int h) {
|
|||||||
// Create each of the font display lists.
|
// Create each of the font display lists.
|
||||||
unsigned char i;
|
unsigned char i;
|
||||||
for(i = 0; i < 128; i++)
|
for(i = 0; i < 128; i++)
|
||||||
gl_fontMakeDList(face, i, font->list_base, font->textures);
|
gl_fontMakeDList(face, i, font->list_base, font->textures, font->w);
|
||||||
|
|
||||||
// We can now free the face and library.
|
// We can now free the face and library.
|
||||||
FT_Done_Face(face);
|
FT_Done_Face(face);
|
||||||
@ -557,6 +591,7 @@ void gl_freeFont(gl_font* font) {
|
|||||||
glDeleteLists(font->list_base, 128);
|
glDeleteLists(font->list_base, 128);
|
||||||
glDeleteTextures(128, font->textures);
|
glDeleteTextures(128, font->textures);
|
||||||
free(font->textures);
|
free(font->textures);
|
||||||
|
free(font->w);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ================
|
// ================
|
||||||
|
@ -33,6 +33,9 @@ typedef struct {
|
|||||||
} glColor;
|
} glColor;
|
||||||
#define COLOR(x) glColor4d((x).r, (x).g, (x).b, (x).a)
|
#define COLOR(x) glColor4d((x).r, (x).g, (x).b, (x).a)
|
||||||
|
|
||||||
|
// Default colors.
|
||||||
|
extern glColor cGrey;
|
||||||
|
|
||||||
// Spritesheet info.
|
// Spritesheet info.
|
||||||
typedef struct {
|
typedef struct {
|
||||||
double w, h; // Real size of the image (excluding POT buffer.
|
double w, h; // Real size of the image (excluding POT buffer.
|
||||||
@ -45,7 +48,8 @@ typedef struct {
|
|||||||
|
|
||||||
// Font info.
|
// Font info.
|
||||||
typedef struct {
|
typedef struct {
|
||||||
float h; // Height.
|
int h; // Height.
|
||||||
|
int* w;
|
||||||
GLuint* textures;
|
GLuint* textures;
|
||||||
GLuint list_base;
|
GLuint list_base;
|
||||||
} gl_font;
|
} gl_font;
|
||||||
@ -53,7 +57,7 @@ extern gl_font gl_defFont; // Default font.
|
|||||||
|
|
||||||
// gl_font loading/freeing.
|
// gl_font loading/freeing.
|
||||||
// If font is NULL it uses the internal default font, same with gl_print
|
// If font is NULL it uses the internal default font, same with gl_print
|
||||||
void gl_fontInit(gl_font* font, const char* fname, unsigned int h);
|
void gl_fontInit(gl_font* font, const char* fname, const unsigned int h);
|
||||||
void gl_freeFont(gl_font* font);
|
void gl_freeFont(gl_font* font);
|
||||||
|
|
||||||
// gl_texute loading/freeing.
|
// gl_texute loading/freeing.
|
||||||
@ -69,6 +73,7 @@ void gl_blitSprite(const gl_texture* sprite, const Vec2* pos,
|
|||||||
void gl_blitStatic(const gl_texture* texture, const Vec2* pos, const glColor* c);
|
void gl_blitStatic(const gl_texture* texture, const Vec2* pos, const glColor* c);
|
||||||
void gl_bindCamera(const Vec2* pos);
|
void gl_bindCamera(const Vec2* pos);
|
||||||
void gl_print(const gl_font* ft_font, const Vec2* pos, const glColor* c, const char* fmt, ...);
|
void gl_print(const gl_font* ft_font, const Vec2* pos, const glColor* c, const char* fmt, ...);
|
||||||
|
int gl_printWidth(const gl_font* ft_font, const char* fmt, ...);
|
||||||
|
|
||||||
// Initialize/cleanup.
|
// Initialize/cleanup.
|
||||||
int gl_init(void);
|
int gl_init(void);
|
||||||
|
56
src/player.c
56
src/player.c
@ -8,9 +8,6 @@
|
|||||||
#include "xml.h"
|
#include "xml.h"
|
||||||
#include "player.h"
|
#include "player.h"
|
||||||
|
|
||||||
#define XML_NODE_START 1
|
|
||||||
#define XML_NODE_TEXT 3
|
|
||||||
|
|
||||||
#define XML_GUI_ID "GUIs" // XML section identifier.
|
#define XML_GUI_ID "GUIs" // XML section identifier.
|
||||||
#define XML_GUI_TAG "gui"
|
#define XML_GUI_TAG "gui"
|
||||||
|
|
||||||
@ -43,7 +40,10 @@ Pilot* player = NULL; // extern in pilot.h
|
|||||||
static double player_turn = 0.; // Turn velocity from input.
|
static double player_turn = 0.; // Turn velocity from input.
|
||||||
static double player_acc = 0.; // Accel velocity from input.
|
static double player_acc = 0.; // Accel velocity from input.
|
||||||
static int player_primary = 0; // Player is shooting primary weapon.
|
static int player_primary = 0; // Player is shooting primary weapon.
|
||||||
|
static int player_secondary = 0; // layer is shooting secondary weapon.
|
||||||
static unsigned int player_target = PLAYER_ID; // Targetted pilot.
|
static unsigned int player_target = PLAYER_ID; // Targetted pilot.
|
||||||
|
static int planet_target = -1; // Targetted planet.
|
||||||
|
static int weapon = -1; // Secondary weapon is in use.
|
||||||
|
|
||||||
// Pilot stuff for GUI.
|
// Pilot stuff for GUI.
|
||||||
extern Pilot** pilot_stack;
|
extern Pilot** pilot_stack;
|
||||||
@ -88,11 +88,16 @@ typedef struct {
|
|||||||
gl_texture* gfx_frame;
|
gl_texture* gfx_frame;
|
||||||
gl_texture* gfx_targetPilot, *gfx_targetPlanet;
|
gl_texture* gfx_targetPilot, *gfx_targetPlanet;
|
||||||
Radar radar;
|
Radar radar;
|
||||||
|
Rect nav;
|
||||||
Rect shield, armor, energy;
|
Rect shield, armor, energy;
|
||||||
|
Rect weapon;
|
||||||
|
|
||||||
// Positions.
|
// Positions.
|
||||||
Vec2 pos_frame;
|
Vec2 pos_frame;
|
||||||
Vec2 pos_radar;
|
Vec2 pos_radar;
|
||||||
|
Vec2 pos_nav;
|
||||||
Vec2 pos_shield, pos_armor, pos_energy;
|
Vec2 pos_shield, pos_armor, pos_energy;
|
||||||
|
Vec2 pos_weapon;
|
||||||
Vec2 pos_target, pos_target_health, pos_target_name, pos_target_faction;
|
Vec2 pos_target, pos_target_health, pos_target_name, pos_target_faction;
|
||||||
Vec2 pos_msg;
|
Vec2 pos_msg;
|
||||||
} GUI;
|
} GUI;
|
||||||
@ -225,6 +230,18 @@ void player_render(void) {
|
|||||||
gui_renderBar(&cArmor, &gui.pos_armor, &gui.armor, player->armor / player->armor_max);
|
gui_renderBar(&cArmor, &gui.pos_armor, &gui.armor, player->armor / player->armor_max);
|
||||||
gui_renderBar(&cEnergy, &gui.pos_energy, &gui.energy, player->energy / player->energy_max);
|
gui_renderBar(&cEnergy, &gui.pos_energy, &gui.energy, player->energy / player->energy_max);
|
||||||
|
|
||||||
|
// Nav.
|
||||||
|
if(planet_target != -1) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
i = gl_printWidth(NULL, "Nav");
|
||||||
|
vect_csetmin(&v, VX(gui.pos_nav) + (gui.nav.w - i)/2., VY(gui.pos_nav) - 5);
|
||||||
|
gl_print(NULL, &v, &cGrey, "NAV");
|
||||||
|
i = gl_printWidth(&gui.smallFont, "No Target");
|
||||||
|
vect_csetmin(&v, VX(gui.pos_nav) + (gui.nav.w - i)/2., VY(gui.pos_nav) - 10 - gui.smallFont.h);
|
||||||
|
gl_print(&gui.smallFont, &v, &cGrey, "No Target");
|
||||||
|
}
|
||||||
|
|
||||||
// Target.
|
// Target.
|
||||||
if(player_target != PLAYER_ID) {
|
if(player_target != PLAYER_ID) {
|
||||||
p = pilot_get(player_target);
|
p = pilot_get(player_target);
|
||||||
@ -245,6 +262,17 @@ void player_render(void) {
|
|||||||
else
|
else
|
||||||
// On armor.
|
// On armor.
|
||||||
gl_print(&gui.smallFont, &gui.pos_target_health, NULL, "%s: %.0f%%", "Armor", p->armor/p->armor_max*100.);
|
gl_print(&gui.smallFont, &gui.pos_target_health, NULL, "%s: %.0f%%", "Armor", p->armor/p->armor_max*100.);
|
||||||
|
}
|
||||||
|
// Weapon.
|
||||||
|
if(weapon == -1) {
|
||||||
|
i = gl_printWidth(NULL, "Secondary");
|
||||||
|
vect_csetmin(&v, VX(gui.pos_weapon) + (gui.weapon.w - i)/2., VY(gui.pos_weapon) - 5);
|
||||||
|
gl_print(NULL, &v, &cGrey, "Secondary");
|
||||||
|
i = gl_printWidth(&gui.smallFont, "None");
|
||||||
|
vect_csetmin(&v, VX(gui.pos_weapon) + (gui.weapon.w - i)/2., VY(gui.pos_weapon) - 10 - gl_defFont.h);
|
||||||
|
gl_print(&gui.smallFont, &v, &cGrey, "None");
|
||||||
|
} else {
|
||||||
|
|
||||||
}
|
}
|
||||||
// Messages.
|
// Messages.
|
||||||
VX(v) = VX(gui.pos_msg);
|
VX(v) = VX(gui.pos_msg);
|
||||||
@ -318,6 +346,11 @@ static void gui_renderBar(const glColor* c, const Vec2* p, const Rect* r, const
|
|||||||
|
|
||||||
// Init GUI.
|
// Init GUI.
|
||||||
int gui_init(void) {
|
int gui_init(void) {
|
||||||
|
// Set graphics to NULL.
|
||||||
|
gui.gfx_frame = NULL;
|
||||||
|
gui.gfx_targetPilot = NULL;
|
||||||
|
gui.gfx_targetPlanet = NULL;
|
||||||
|
|
||||||
// Font.
|
// Font.
|
||||||
gl_fontInit(&gui.smallFont, NULL, 10);
|
gl_fontInit(&gui.smallFont, NULL, 10);
|
||||||
// -- Radar.
|
// -- Radar.
|
||||||
@ -446,12 +479,15 @@ static int gui_parse(const xmlNodePtr parent, const char* name) {
|
|||||||
tmp = malloc((strlen(tmp2)+strlen(GUI_GFX)+12) * sizeof(char));
|
tmp = malloc((strlen(tmp2)+strlen(GUI_GFX)+12) * sizeof(char));
|
||||||
// Frame.
|
// Frame.
|
||||||
snprintf(tmp, strlen(tmp2)+strlen(GUI_GFX)+5, GUI_GFX"%s.png", tmp2);
|
snprintf(tmp, strlen(tmp2)+strlen(GUI_GFX)+5, GUI_GFX"%s.png", tmp2);
|
||||||
|
if(gui.gfx_frame) gl_freeTexture(gui.gfx_frame); // Free if needed.
|
||||||
gui.gfx_frame = gl_newImage(tmp);
|
gui.gfx_frame = gl_newImage(tmp);
|
||||||
// Pilot.
|
// Pilot.
|
||||||
snprintf(tmp, strlen(tmp2)+strlen(GUI_GFX)+11, GUI_GFX"%s_pilot.png", tmp2);
|
snprintf(tmp, strlen(tmp2)+strlen(GUI_GFX)+11, GUI_GFX"%s_pilot.png", tmp2);
|
||||||
|
if(gui.gfx_targetPilot) gl_freeTexture(gui.gfx_targetPilot); // Free if needed.
|
||||||
gui.gfx_targetPilot = gl_newSprite(tmp, 2, 2);
|
gui.gfx_targetPilot = gl_newSprite(tmp, 2, 2);
|
||||||
// Planet.
|
// Planet.
|
||||||
snprintf(tmp, strlen(tmp2)+strlen(GUI_GFX)+12, GUI_GFX"%s_planet.png", tmp2);
|
snprintf(tmp, strlen(tmp2)+strlen(GUI_GFX)+12, GUI_GFX"%s_planet.png", tmp2);
|
||||||
|
if(gui.gfx_targetPlanet) gl_freeTexture(gui.gfx_targetPlanet); // Free if needed.
|
||||||
gui.gfx_targetPlanet = gl_newSprite(tmp, 2, 2);
|
gui.gfx_targetPlanet = gl_newSprite(tmp, 2, 2);
|
||||||
free(tmp);
|
free(tmp);
|
||||||
free(tmp2);
|
free(tmp2);
|
||||||
@ -490,6 +526,13 @@ static int gui_parse(const xmlNodePtr parent, const char* name) {
|
|||||||
VX(gui.pos_frame) + x,
|
VX(gui.pos_frame) + x,
|
||||||
VY(gui.pos_frame) + gui.gfx_frame->h - y);
|
VY(gui.pos_frame) + gui.gfx_frame->h - y);
|
||||||
}
|
}
|
||||||
|
// Nav computer.
|
||||||
|
else if(xml_isNode(node, "nav")) {
|
||||||
|
rect_parse(node, &x, &y, &gui.nav.w, &gui.nav.h);
|
||||||
|
vect_csetmin(&gui.pos_nav,
|
||||||
|
VX(gui.pos_frame) + x,
|
||||||
|
VY(gui.pos_frame) + gui.gfx_frame->h - y - gl_defFont.h);
|
||||||
|
}
|
||||||
// Health bars.
|
// Health bars.
|
||||||
else if(xml_isNode(node, "health")) {
|
else if(xml_isNode(node, "health")) {
|
||||||
cur = node->children;
|
cur = node->children;
|
||||||
@ -516,6 +559,13 @@ static int gui_parse(const xmlNodePtr parent, const char* name) {
|
|||||||
}
|
}
|
||||||
} while((cur = cur->next));
|
} while((cur = cur->next));
|
||||||
}
|
}
|
||||||
|
// Secondary weapon.
|
||||||
|
else if(xml_isNode(node, "weapon")) {
|
||||||
|
rect_parse(node, &x, &y, &gui.weapon.w, &gui.weapon.h);
|
||||||
|
vect_csetmin(&gui.pos_weapon,
|
||||||
|
VX(gui.pos_frame) + x,
|
||||||
|
VY(gui.pos_frame) + gui.gfx_frame->h - y - gl_defFont.h);
|
||||||
|
}
|
||||||
// Target.
|
// Target.
|
||||||
else if(xml_isNode(node, "target")) {
|
else if(xml_isNode(node, "target")) {
|
||||||
cur = node->children;
|
cur = node->children;
|
||||||
|
@ -8,10 +8,10 @@
|
|||||||
#define SHIP_TARGET_H 96
|
#define SHIP_TARGET_H 96
|
||||||
|
|
||||||
enum ship_class {
|
enum ship_class {
|
||||||
SHIP_CLASS_NULL,
|
SHIP_CLASS_NULL = 0,
|
||||||
SHIP_CLASS_CIV_LIGHT,
|
SHIP_CLASS_CIV_LIGHT = 1,
|
||||||
SHIP_CLASS_CIV_MEDIUM,
|
SHIP_CLASS_CIV_MEDIUM = 2,
|
||||||
SHIP_CLASS_CIV_HEAVY
|
SHIP_CLASS_CIV_HEAVY = 3
|
||||||
};
|
};
|
||||||
typedef enum ship_class ship_class;
|
typedef enum ship_class ship_class;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user