From 54b7dfbfd4dd83cff415793587190454b4dc4d9a Mon Sep 17 00:00:00 2001 From: huaqo-games Date: Fri, 17 Oct 2025 18:19:44 +0200 Subject: [PATCH] fix: settings functionality. --- include/settings.h | 61 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 include/settings.h diff --git a/include/settings.h b/include/settings.h new file mode 100644 index 0000000..5fc568f --- /dev/null +++ b/include/settings.h @@ -0,0 +1,61 @@ +#ifndef SETTINGS_H +#define SETTINGS_H + +#include +#include +#include + +typedef struct +{ + Button showFPS; + Button soundtrackOn; + +} SettingsState; + +void InitSettings(SettingsState *s) +{ + int windowWidth = GetScreenWidth(); + int windowHeight = GetScreenHeight(); + Vector2 windowCenter = {windowWidth / 2, windowHeight / 2}; + + Vector2 standardButtonDimensions = {100, 50}; + int standardSpacing = standardButtonDimensions.y / 2; + + Vector2 button1Pos = {windowCenter.x, windowCenter.y}; + Vector2 button2Pos = {windowCenter.x, windowCenter.y + standardButtonDimensions.y + standardSpacing}; + + s->showFPS = initButton("showFPS", standardButtonDimensions, button1Pos); + s->soundtrackOn = initButton("soundtrackOn", standardButtonDimensions, button2Pos); +} + +void UpdateSettings(SettingsState *s, Flags *flags) +{ + ShowCursor(); + + if(isButtonClicked(&s->showFPS)){ + flags->showFPS = !flags->showFPS; + } + + if(isButtonClicked(&s->soundtrackOn)){ + flags->soundtrackOn = !flags->soundtrackOn; + } +} + +void RenderSettings(SettingsState *s, Flags *flags) +{ + BeginDrawing(); + ClearBackground(BLACK); + + renderButton(&s->showFPS); + + if (flags->showFPS){ + DrawFPS(10,10); + } + + renderButton(&s->soundtrackOn); + + EndDrawing(); + +} + +#endif // SETTINGS_H