summaryrefslogtreecommitdiff
path: root/src/test/testrender.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/testrender.c')
-rw-r--r--src/test/testrender.c66
1 files changed, 59 insertions, 7 deletions
diff --git a/src/test/testrender.c b/src/test/testrender.c
index 98a940f..93fa217 100644
--- a/src/test/testrender.c
+++ b/src/test/testrender.c
@@ -1,8 +1,9 @@
+#include "graphic.h"
#include "parser.h"
#include "loader.h"
+#include "utils.h"
#define DATA_BASEPATH "./data"
-#define MAX_PATH_LEN 255
int main(int argc, char **argv) {
int res;
@@ -29,10 +30,12 @@ int main(int argc, char **argv) {
if (res!=0) exit(res);
// Check if we found a "style =" line in level ini file
- if (gIni.level.style==NULL) {
- fprintf(stderr, "No valid style detected\n");
- exit(1);
- }
+ MPL_CHECK(
+ gIni.level.style,
+ { exit(1); },
+ SDL_LOG_PRIORITY_CRITICAL,
+ "No valid style detected in level ini file"
+ );
// Loading style ini file
SDL_snprintf(filepath, MAX_PATH_LEN, "%s/style/%s/%s.ini", DATA_BASEPATH, gIni.level.style, gIni.level.style);
@@ -45,7 +48,56 @@ int main(int argc, char **argv) {
if (res!=0) exit(res);
*/
- res=loadRessources(&gIni, DATA_BASEPATH, &gRess);
+ SDL_Window *sdl_win;
+ SDL_Renderer *sdl_rend;
+ SDL_RendererInfo sdl_rend_info;
+ SDL_Rect sdl_viewport;
+
+ SDL_Event sdl_ev;
+ int mainloop_end=0;
+
+ SDL_Rect win_pos = { .x=SDL_WINDOWPOS_UNDEFINED, .y=SDL_WINDOWPOS_UNDEFINED, .w=640, .h=480 };
+ Uint32 init_flags = SDL_INIT_TIMER|SDL_INIT_VIDEO;//|SDL_INIT_EVENTS;
+ Uint32 win_flags = SDL_WINDOW_SHOWN;
+ Uint32 rend_flags = SDL_RENDERER_ACCELERATED;
+
+ my_SDL_init_or_die(__FILE__, win_pos, init_flags, win_flags, rend_flags, &sdl_win, &sdl_rend, &sdl_rend_info, &sdl_viewport);
+
+ // Setting default values
+ SDL_memset(&gRess,0,sizeof(gameRess_t));
+
+ res=loadMiscRes(sdl_rend, DATA_BASEPATH, &gRess);
+ if (res!=0) exit(res);
+ res=loadStyleRes(sdl_rend, &gIni, DATA_BASEPATH, &gRess);
+ if (res!=0) exit(res);
+
+ /* Main render loop */
+ while (!mainloop_end) {
+ /* Check for events */
+ while (SDL_PollEvent(&sdl_ev)) {
+ if (sdl_ev.type == SDL_QUIT || sdl_ev.type == SDL_KEYDOWN) {
+ mainloop_end = 1;
+ }
+ }
+ /* Draw a gray background */
+ SDL_SetRenderDrawColor(sdl_rend, 0xA0, 0xA0, 0xA0, 0xFF);
+ SDL_RenderClear(sdl_rend);
+
+ /* Blit the sprite onto the screen */
+ SDL_RenderCopy(sdl_rend, gRess.objects[0].t, NULL, NULL);
+ //SDL_RenderCopy(sdl_rend, t1, &t1_src, &t1_dst);
+
+ /* Update the screen */
+ SDL_RenderPresent(sdl_rend);
+
+ SDL_Delay(50);
+ }
+ unloadStyleRes(&gRess);
+ unloadMiscRes(&gRess);
+
+ SDL_DestroyRenderer(sdl_rend);
+ SDL_DestroyWindow(sdl_win);
+ SDL_Quit();
- return res;
+ return 0;
}