test/snake/snake.c

changeset 93
52611a99e574
parent 89
e1f682a8a145
equal deleted inserted replaced
92:78ce93fb46e5 93:52611a99e574
35 TEX2D_COUNT 35 TEX2D_COUNT
36 }; 36 };
37 static AscTexture tex2d[TEX2D_COUNT]; 37 static AscTexture tex2d[TEX2D_COUNT];
38 #define TEXTURE_SHIP &tex2d[TEX_SHIP] 38 #define TEXTURE_SHIP &tex2d[TEX_SHIP]
39 39
40 static void destroy_textures(void *dummy) {
41 asc_texture_destroy(tex2d, TEX2D_COUNT);
42 }
43
40 static void init_textures(void) { 44 static void init_textures(void) {
41 asc_texture_init_2d(tex2d, TEX2D_COUNT); 45 asc_texture_init_2d(tex2d, TEX2D_COUNT);
42 asc_texture_from_file(TEXTURE_SHIP, "ship.png"); 46 asc_texture_from_file(TEXTURE_SHIP, "ship.png");
43 } 47 cxMempoolRegister(asc_active_glctx_mpool, tex2d, destroy_textures);
44
45 static void destroy_textures(void) {
46 asc_texture_destroy(tex2d, TEX2D_COUNT);
47 } 48 }
48 49
49 static void update_fps_counter(AscSceneNode *node) { 50 static void update_fps_counter(AscSceneNode *node) {
50 static uint64_t last_fps = 0; 51 static uint64_t last_fps = 0;
51 static uint64_t debounce = ASC_NANOS_SECOND - 1; 52 static uint64_t debounce = ASC_NANOS_SECOND - 1;
153 asc_context_quit(); 154 asc_context_quit();
154 } 155 }
155 } while (asc_loop_next()); 156 } while (asc_loop_next());
156 157
157 // cleanup 158 // cleanup
158 destroy_textures();
159 asc_context_destroy(); 159 asc_context_destroy();
160 return 0; 160 return 0;
161 } 161 }
162 162

mercurial