[Change] A little opengl code cleanup.
This commit is contained in:
parent
68833542be
commit
14fed140c3
24
src/opengl.c
24
src/opengl.c
@ -460,7 +460,7 @@ void gl_blitSprite(const glTexture* sprite, const double bx, const double by,
|
|||||||
x = bx - VX(*gl_camera) - sprite->sw/2. + gui_xoff;
|
x = bx - VX(*gl_camera) - sprite->sw/2. + gui_xoff;
|
||||||
y = by - VY(*gl_camera) - sprite->sh/2. + gui_yoff;
|
y = by - VY(*gl_camera) - sprite->sh/2. + gui_yoff;
|
||||||
|
|
||||||
/* Don't draw if offscreen. */
|
/* Check if inbounds. */
|
||||||
if((fabs(x) > SCREEN_W/2 + sprite->sw) ||
|
if((fabs(x) > SCREEN_W/2 + sprite->sw) ||
|
||||||
(fabs(y) > SCREEN_H/2 + sprite->sh))
|
(fabs(y) > SCREEN_H/2 + sprite->sh))
|
||||||
return;
|
return;
|
||||||
@ -473,6 +473,23 @@ void gl_blitSprite(const glTexture* sprite, const double bx, const double by,
|
|||||||
gl_blitTexture(sprite, x, y, tx, ty, c);
|
gl_blitTexture(sprite, x, y, tx, ty, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Blit the sprite at pos (blits absolute position). */
|
||||||
|
void gl_blitStaticSprite(const glTexture* sprite, const double bx,
|
||||||
|
const double by, const int sx, const int sy, const glColour* c) {
|
||||||
|
|
||||||
|
double x, y, tx, ty;
|
||||||
|
|
||||||
|
x = bx - (double)SCREEN_W/2.;
|
||||||
|
y = by - (double)SCREEN_H/2.;
|
||||||
|
|
||||||
|
/* Texture coords. */
|
||||||
|
tx = sprite->sw*(double)(sx)/sprite->rw;
|
||||||
|
ty = sprite->sh*(sprite->sy-(double)sy-1)/sprite->rh;
|
||||||
|
|
||||||
|
/* Actual blitting. */
|
||||||
|
gl_blitTexture(sprite, x, y, tx, ty, c);
|
||||||
|
}
|
||||||
|
|
||||||
/* Like gl_blitSprite but will use the actual direction, for things that */
|
/* Like gl_blitSprite but will use the actual direction, for things that */
|
||||||
/* can just rotate around. */
|
/* can just rotate around. */
|
||||||
void gl_blitRotate(const glTexture* texture,
|
void gl_blitRotate(const glTexture* texture,
|
||||||
@ -485,11 +502,6 @@ void gl_blitRotate(const glTexture* texture,
|
|||||||
x = bx - VX(*gl_camera) - texture->sw/2. + gui_xoff;
|
x = bx - VX(*gl_camera) - texture->sw/2. + gui_xoff;
|
||||||
y = by - VY(*gl_camera) - texture->sh/2. + gui_yoff;
|
y = by - VY(*gl_camera) - texture->sh/2. + gui_yoff;
|
||||||
|
|
||||||
/* Don't draw if offscreen. */
|
|
||||||
if((fabs(x) > SCREEN_W/2 + texture->sw) ||
|
|
||||||
(fabs(y) > SCREEN_H/2 + texture->sh))
|
|
||||||
return;
|
|
||||||
|
|
||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
glRotated(dir, 0., 0., 1.);
|
glRotated(dir, 0., 0., 1.);
|
||||||
|
@ -74,6 +74,11 @@ void gl_freeTexture(glTexture* texture);
|
|||||||
void gl_blitSprite(const glTexture* sprite, const double bx, const double by,
|
void gl_blitSprite(const glTexture* sprite, const double bx, const double by,
|
||||||
const int sx, const int sy, const glColour* c);
|
const int sx, const int sy, const glColour* c);
|
||||||
|
|
||||||
|
/* Blit a sprite, absolute position. */
|
||||||
|
void gl_blitStaticSprite(const glTexture* sprite,
|
||||||
|
const double bx, const double by,
|
||||||
|
const int sx, const int sy, const glColour* c);
|
||||||
|
|
||||||
/* Blits a texture rotated, relative pos. */
|
/* Blits a texture rotated, relative pos. */
|
||||||
void gl_blitRotate(const glTexture* texture,
|
void gl_blitRotate(const glTexture* texture,
|
||||||
const double bx, const double by,
|
const double bx, const double by,
|
||||||
|
12
src/player.c
12
src/player.c
@ -34,6 +34,9 @@
|
|||||||
|
|
||||||
#define START_DATA "../dat/start.xml"
|
#define START_DATA "../dat/start.xml"
|
||||||
|
|
||||||
|
#define TARGET_WIDTH 128
|
||||||
|
#define TARGET_HEIGHT 96
|
||||||
|
|
||||||
/* Player stuff. */
|
/* Player stuff. */
|
||||||
Pilot* player = NULL; /* extern in pilot.h */
|
Pilot* player = NULL; /* extern in pilot.h */
|
||||||
static Ship* player_ship = NULL; /* Temp ship to hold when naming it. */
|
static Ship* player_ship = NULL; /* Temp ship to hold when naming it. */
|
||||||
@ -640,9 +643,8 @@ void player_render(void) {
|
|||||||
/* Render the targetted pilot. */
|
/* Render the targetted pilot. */
|
||||||
if(j != 0) gui_renderPilot(pilot_stack[j]);
|
if(j != 0) gui_renderPilot(pilot_stack[j]);
|
||||||
|
|
||||||
/* Player. */
|
/* The + sign in the middle of the radar represents the player. */
|
||||||
glBegin(GL_LINES);
|
glBegin(GL_LINES);
|
||||||
/* Player. -- Drawn last. */
|
|
||||||
COLOUR(cRadar_player);
|
COLOUR(cRadar_player);
|
||||||
glVertex2d( 0., -3.);
|
glVertex2d( 0., -3.);
|
||||||
glVertex2d( 0., 3.);
|
glVertex2d( 0., 3.);
|
||||||
@ -726,7 +728,13 @@ void player_render(void) {
|
|||||||
if(player_target != PLAYER_ID) {
|
if(player_target != PLAYER_ID) {
|
||||||
p = pilot_get(player_target);
|
p = pilot_get(player_target);
|
||||||
|
|
||||||
|
/* Blit the pilot target. */
|
||||||
gl_blitStatic(p->ship->gfx_target, gui.target.x, gui.target.y, NULL);
|
gl_blitStatic(p->ship->gfx_target, gui.target.x, gui.target.y, NULL);
|
||||||
|
/* Blit the pilot space image. */
|
||||||
|
/*x = gui.target.x + (TARGET_WIDTH - p->ship->gfx_space->sw)/2.;
|
||||||
|
y = gui.target.y + (TARGET_HEIGHT - p->ship->gfx_space->sh)/2.;
|
||||||
|
gl_blitStaticSprite(p->ship->gfx_space,
|
||||||
|
x, y, p->tsx, p->tsy, NULL);*/
|
||||||
|
|
||||||
/* Target name. */
|
/* Target name. */
|
||||||
gl_print(NULL, gui.target_name.x, gui.target_name.y,
|
gl_print(NULL, gui.target_name.x, gui.target_name.y,
|
||||||
|
Loading…
Reference in New Issue
Block a user