summaryrefslogtreecommitdiffstats
path: root/sdl/pyramid.c
diff options
context:
space:
mode:
Diffstat (limited to 'sdl/pyramid.c')
-rw-r--r--sdl/pyramid.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/sdl/pyramid.c b/sdl/pyramid.c
index 1e14ebb..ff8a03f 100644
--- a/sdl/pyramid.c
+++ b/sdl/pyramid.c
@@ -31,9 +31,6 @@
#include "sdltools.h"
#include "window.h"
-/* globals */
-struct platform p;
-
/* sane defaults, these are overwritable by config.lua */
int program_running = 1;
unsigned int xres_w = 640;
@@ -49,7 +46,7 @@ unsigned int maxfps_w = 60;
static int client_init(struct client *);
static int client_destroy(struct client *);
static inline void process_events(void);
-static void render(void);
+static void render(struct platform *);
static int client_init(struct client *p)
{
@@ -90,7 +87,7 @@ static inline void process_events(void)
sdl_process_events();
}
-static void render(void)
+static void render(struct platform *p)
{
/* clear the window with current clearing color */
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
@@ -98,17 +95,17 @@ static void render(void)
/* save the matrix state and do the rotations */
glPushMatrix();
/* apply camera transform, and draw the ground */
- glframe_apply_camera_transform(&p.camera, 1);
- glCallList(p.c->ground_list);
+ glframe_apply_camera_transform(&p->camera, 1);
+ glCallList(p->c->ground_list);
glPushMatrix();
/* move object back and do in place rotation */
glTranslatef(0.0f, 0.2f, -3.5f);
- glRotatef(p.c->xrot, 1.0f, 0.0f, 0.0f);
- glRotatef(p.c->yrot, 0.0f, 1.0f, 0.0f);
+ glRotatef(p->c->xrot, 1.0f, 0.0f, 0.0f);
+ glRotatef(p->c->yrot, 0.0f, 1.0f, 0.0f);
/* draw the pyramid */
- glCallList(p.c->triangle_list);
+ glCallList(p->c->triangle_list);
glPopMatrix();
/* draw a snowman */
@@ -127,6 +124,7 @@ static void render(void)
int main(int argc, char **argv)
{
+ struct platform p;
memset(&p, 0, sizeof(p));
/* setup client platform */
@@ -148,7 +146,7 @@ int main(int argc, char **argv)
startclock = SDL_GetTicks();
process_events();
- render();
+ render(&p);
sdlFrameControl(startclock);
}