From 5800341ac69e3d358e2156a06a3abade61e52271 Mon Sep 17 00:00:00 2001 From: Ratstail91 Date: Tue, 28 Feb 2023 14:13:23 +1100 Subject: [PATCH] Added a debugging print for HW acceleration --- assets/scripts/tilemap/tilemap.toy | 2 +- box/box_engine.c | 13 ++++++++++--- box/lib_engine.c | 4 ++-- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/assets/scripts/tilemap/tilemap.toy b/assets/scripts/tilemap/tilemap.toy index 14614cd..0632be9 100644 --- a/assets/scripts/tilemap/tilemap.toy +++ b/assets/scripts/tilemap/tilemap.toy @@ -28,7 +28,7 @@ fn onStep(node: opaque) { } fn onDraw(node: opaque) { - print stepCounter; + //print stepCounter; stepCounter = 0; var screenWidth: int const = getRootNode().callNodeFn("getScreenWidth"); diff --git a/box/box_engine.c b/box/box_engine.c index 14bb6cf..49ee200 100644 --- a/box/box_engine.c +++ b/box/box_engine.c @@ -44,6 +44,12 @@ void Box_initEngine() { fatalError("Failed to initialize SDL2"); } + //init SDL_image + int imageFlags = IMG_INIT_PNG | IMG_INIT_JPG; + if (IMG_Init(imageFlags) != imageFlags) { + fatalError("Failed to initialize SDL2_image"); + } + //init events Toy_initLiteralDictionary(&engine.symKeyDownEvents); Toy_initLiteralDictionary(&engine.symKeyUpEvents); @@ -109,9 +115,10 @@ static void execEvents() { case SDL_WINDOWEVENT: { switch(event.window.event) { case SDL_WINDOWEVENT_RESIZED: - engine.screenWidth = event.window.data1; - engine.screenHeight = event.window.data2; - SDL_RenderSetLogicalSize(engine.renderer, engine.screenWidth, engine.screenHeight); + //TODO: toy onWindowResized, setLogicalWindowSize, getLogicalWindowSize + //engine.screenWidth = event.window.data1; + //engine.screenHeight = event.window.data2; + //SDL_RenderSetLogicalSize(engine.renderer, engine.screenWidth, engine.screenHeight); break; } } diff --git a/box/lib_engine.c b/box/lib_engine.c index 678d30c..b68f0e0 100644 --- a/box/lib_engine.c +++ b/box/lib_engine.c @@ -55,7 +55,7 @@ static int nativeInitWindow(Toy_Interpreter* interpreter, Toy_LiteralArray* argu //init the renderer // SDL_SetHint(SDL_HINT_RENDER_DRIVER, "software"); - engine.renderer = SDL_CreateRenderer(engine.window, -1, 0); + engine.renderer = SDL_CreateRenderer(engine.window, -1, SDL_RENDERER_ACCELERATED); if (engine.renderer == NULL) { fatalError("Failed to initialize the renderer\n"); @@ -64,7 +64,7 @@ static int nativeInitWindow(Toy_Interpreter* interpreter, Toy_LiteralArray* argu SDL_RendererInfo rendererInfo; SDL_GetRendererInfo(engine.renderer, &rendererInfo); - printf("Renderer: %s\n", rendererInfo.name); + printf("Renderer: %s (HW %s)\n", rendererInfo.name, rendererInfo.flags & SDL_RENDERER_ACCELERATED ? "yes" : "no"); SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "best"); SDL_RenderSetLogicalSize(engine.renderer, engine.screenWidth, engine.screenHeight);