Make aspect global
This commit is contained in:
6
game.c
6
game.c
@@ -119,7 +119,6 @@ static shape_t shapes[MAX_SHAPES];
|
||||
static unsigned entity_count;
|
||||
static unsigned shape_count;
|
||||
|
||||
static float aspect;
|
||||
static unsigned level;
|
||||
|
||||
static bool dead;
|
||||
@@ -516,12 +515,11 @@ static void pause()
|
||||
counter = 0;
|
||||
}
|
||||
|
||||
void game_init(float _aspect)
|
||||
void game_init()
|
||||
{
|
||||
input_on_shoot(shoot);
|
||||
input_on_restart(reset);
|
||||
input_on_pause(pause);
|
||||
aspect = _aspect;
|
||||
|
||||
reset();
|
||||
}
|
||||
@@ -578,7 +576,7 @@ void game_draw()
|
||||
shapes[i].connect);
|
||||
}
|
||||
|
||||
text_draw_score(aspect, score);
|
||||
text_draw_score(score);
|
||||
|
||||
if (paused && !(counter & COUNTER_MASK)) {
|
||||
text_draw_centre("PAUSED");
|
||||
|
||||
2
game.h
2
game.h
@@ -1,7 +1,7 @@
|
||||
#ifndef GAME_H
|
||||
#define GAME_H
|
||||
|
||||
void game_init(float aspect);
|
||||
void game_init();
|
||||
void game_update();
|
||||
void game_draw();
|
||||
|
||||
|
||||
5
main.c
5
main.c
@@ -18,16 +18,15 @@ static void quit()
|
||||
int main()
|
||||
{
|
||||
const int input_fd = input_init();
|
||||
const renderer_params_t renderer_params = renderer_init();
|
||||
const int drm_fd = renderer_init();
|
||||
rng_init();
|
||||
game_init(renderer_params.aspect);
|
||||
game_init();
|
||||
|
||||
input_on_quit(quit);
|
||||
|
||||
renderer_clear();
|
||||
renderer_swap();
|
||||
|
||||
const int drm_fd = renderer_params.drm_fd;
|
||||
const int max_fd = MAX(input_fd, drm_fd);
|
||||
fd_set set;
|
||||
|
||||
|
||||
11
renderer.c
11
renderer.c
@@ -9,6 +9,8 @@
|
||||
#include <unistd.h>
|
||||
#include <xf86drm.h>
|
||||
|
||||
float aspect;
|
||||
|
||||
static int drm_fd;
|
||||
static drmModeConnector *conn;
|
||||
static drmModeCrtc *crtc;
|
||||
@@ -74,7 +76,7 @@ static void draw_line(vec3_t v1, vec3_t v2)
|
||||
}
|
||||
}
|
||||
|
||||
renderer_params_t renderer_init()
|
||||
int renderer_init()
|
||||
{
|
||||
drm_fd = open("/dev/dri/card1", O_RDWR | O_CLOEXEC);
|
||||
assert(drm_fd != -1);
|
||||
@@ -104,7 +106,7 @@ renderer_params_t renderer_init()
|
||||
|
||||
wrap = true;
|
||||
|
||||
const float aspect = (float)width / (float)height;
|
||||
aspect = (float)width / (float)height;
|
||||
const float scale = (float)height / 2.0f;
|
||||
view = (mat3_t) {
|
||||
{ scale, 0, 0 },
|
||||
@@ -112,10 +114,7 @@ renderer_params_t renderer_init()
|
||||
{ aspect * scale, scale, 1 },
|
||||
};
|
||||
|
||||
return (renderer_params_t) {
|
||||
.drm_fd = drm_fd,
|
||||
.aspect = aspect,
|
||||
};
|
||||
return drm_fd;
|
||||
}
|
||||
|
||||
void renderer_cleanup()
|
||||
|
||||
@@ -7,12 +7,9 @@
|
||||
|
||||
#define MAX_VERTS 8U
|
||||
|
||||
typedef struct {
|
||||
int drm_fd;
|
||||
float aspect;
|
||||
} renderer_params_t;
|
||||
extern float aspect;
|
||||
|
||||
renderer_params_t renderer_init();
|
||||
int renderer_init();
|
||||
void renderer_cleanup();
|
||||
|
||||
void renderer_handle();
|
||||
|
||||
2
text.c
2
text.c
@@ -255,7 +255,7 @@ void text_draw_centre(const char *s)
|
||||
draw_text(s, pos);
|
||||
}
|
||||
|
||||
void text_draw_score(float aspect, unsigned score)
|
||||
void text_draw_score(unsigned score)
|
||||
{
|
||||
char buf[MAX_SCORE_CHARS + 1];
|
||||
buf[MAX_SCORE_CHARS] = '\0';
|
||||
|
||||
Reference in New Issue
Block a user