0bd7f7065cb8cdd248822b2e963992df78ac54a6
[vrtris] / src / gamescr.c
1 #include "opengl.h"
2 #include "screen.h"
3 #include "cmesh.h"
4
5 static int init(void);
6 static void cleanup(void);
7 static void start(void);
8 static void stop(void);
9 static void update(float dt);
10 static void draw(void);
11 static void reshape(int x, int y);
12 static void keyboard(int key, int pressed);
13 static void mouse(int bn, int pressed, int x, int y);
14 static void motion(int x, int y);
15 static void wheel(int dir);
16
17 struct game_screen game_screen = {
18         "game",
19         1,      /* opaque */
20         0,      /* next */
21         init,
22         cleanup,
23         start,
24         stop,
25         update,
26         draw,
27         reshape,
28         keyboard,
29         mouse,
30         motion,
31         wheel
32 };
33
34 static struct cmesh *blkmesh;
35
36 static int init(void)
37 {
38         if(!(blkmesh = cmesh_alloc())) {
39                 return -1;
40         }
41         if(cmesh_load(blkmesh, "data/noisecube.obj") == -1) {
42                 fprintf(stderr, "failed to load block model\n");
43                 return -1;
44         }
45         return 0;
46 }
47
48 static void cleanup(void)
49 {
50         cmesh_free(blkmesh);
51 }
52
53 static void start(void)
54 {
55 }
56
57 static void stop(void)
58 {
59 }
60
61 static void update(float dt)
62 {
63 }
64
65 static void draw(void)
66 {
67         glTranslatef(0, 0, 6);
68
69         cmesh_draw(blkmesh);
70 }
71
72 static void reshape(int x, int y)
73 {
74 }
75
76 static void keyboard(int key, int pressed)
77 {
78 }
79
80 static void mouse(int bn, int pressed, int x, int y)
81 {
82 }
83
84 static void motion(int x, int y)
85 {
86 }
87
88 static void wheel(int dir)
89 {
90 }