summaryrefslogtreecommitdiff
path: root/gfx-iso/app/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'gfx-iso/app/main.c')
-rw-r--r--gfx-iso/app/main.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/gfx-iso/app/main.c b/gfx-iso/app/main.c
index fa5a76b..5b441d3 100644
--- a/gfx-iso/app/main.c
+++ b/gfx-iso/app/main.c
@@ -43,6 +43,18 @@ static bool init(const GfxAppDesc* desc, void** app_state) {
43 if (!make_demo_app(state->iso, &state->app)) { 43 if (!make_demo_app(state->iso, &state->app)) {
44 goto cleanup; 44 goto cleanup;
45 } 45 }
46
47 // Apply pixel scaling if requested by the app.
48 int texture_width, texture_height;
49 if (state->app.pixel_scale > 1) {
50 texture_width = SCREEN_WIDTH / state->app.pixel_scale;
51 texture_height = SCREEN_HEIGHT / state->app.pixel_scale;
52 isogfx_resize(state->iso, texture_width, texture_height);
53 } else {
54 texture_width = SCREEN_WIDTH;
55 texture_height = SCREEN_HEIGHT;
56 }
57
46 if (!(state->gfx = gfx_init())) { 58 if (!(state->gfx = gfx_init())) {
47 goto cleanup; 59 goto cleanup;
48 } 60 }
@@ -50,8 +62,8 @@ static bool init(const GfxAppDesc* desc, void** app_state) {
50 62
51 if (!(state->screen_texture = gfx_make_texture( 63 if (!(state->screen_texture = gfx_make_texture(
52 render_backend, &(TextureDesc){ 64 render_backend, &(TextureDesc){
53 .width = SCREEN_WIDTH, 65 .width = texture_width,
54 .height = SCREEN_HEIGHT, 66 .height = texture_height,
55 .dimension = Texture2D, 67 .dimension = Texture2D,
56 .format = TextureSRGBA8, 68 .format = TextureSRGBA8,
57 .filtering = NearestFiltering, 69 .filtering = NearestFiltering,