From 5f402fc99a19d7d73ba75f632aed5cbef7e3920a Mon Sep 17 00:00:00 2001 From: nathan Date: Mon, 20 Oct 2025 04:36:48 -0600 Subject: Fuck ultra wide --- src/game.c | 49 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 40 insertions(+), 9 deletions(-) (limited to 'src/game.c') diff --git a/src/game.c b/src/game.c index 6166ac7..913be9c 100644 --- a/src/game.c +++ b/src/game.c @@ -30,6 +30,19 @@ void resetScreenScale(Game* game) width, height }; + + // Fuck ultra-wide. + game->screen.ultraWideMode = renderWidth / renderHeight >= MAX_ASPECT; + + if (game->screen.ultraWideMode) + { + game->screen.destination = (Rectangle){ + renderWidth / 2.0, + renderHeight / 2.0, + renderWidth, + renderHeight + }; + } } void initGame(Game* game) @@ -78,13 +91,33 @@ void drawGameScreen(Game* game) { Texture texture = game->screen.render.texture; - DrawTexturePro( - texture, - (Rectangle){0.0, 0.0, texture.width, -texture.height}, - game->screen.destination, - (Vector2){0.0, 0.0}, - 0.0, - WHITE); + if (game->screen.ultraWideMode) + { + BeginShaderMode(game->assets.shaders[POSTPROCESSING_SHADER]); + DrawTexturePro( + texture, + (Rectangle){0.0, 0.0, texture.width, -texture.height}, + game->screen.destination, + (Vector2){GetRenderWidth() / 2.0, GetRenderHeight() / 2.0}, + (int)(GetTime() * ULTRA_WIDE_SPIN_SPEED) % 360, + WHITE); + EndShaderMode(); + + DrawText("FUCK ULTRA WIDE FUCK ULTRA WIDE FUCK ULTRA WIDE FUCK ULTRA WIDE FUCK ULTRA WIDE FUCK ULTRA WIDE FUCK ULTRA WIDE FUCK ULTRA WIDE", + 0.0, 0.0, 50, RED); + } + else + { + BeginShaderMode(game->assets.shaders[POSTPROCESSING_SHADER]); + DrawTexturePro( + texture, + (Rectangle){0.0, 0.0, texture.width, -texture.height}, + game->screen.destination, + (Vector2){0.0, 0.0}, + 0.0, + WHITE); + EndShaderMode(); + } } void updateGameScene(Game* game) @@ -108,9 +141,7 @@ void updateGameScene(Game* game) ClearBackground(BLACK); - BeginShaderMode(game->assets.shaders[POSTPROCESSING_SHADER]); drawGameScreen(game); - EndShaderMode(); } void handleGameResize(Game* game) -- cgit v1.2.3