From 8c7dfa2167ca737e33947b98ed6c077351f6a2b6 Mon Sep 17 00:00:00 2001 From: Arslaan Pathan Date: Thu, 12 Jun 2025 20:22:40 +1200 Subject: Button is work, very very nice --- assets/fonts/OpenSans-Bold.ttf | Bin 0 -> 130860 bytes assets/fonts/OpenSans-BoldItalic.ttf | Bin 0 -> 136360 bytes assets/fonts/OpenSans-ExtraBold.ttf | Bin 0 -> 131244 bytes assets/fonts/OpenSans-ExtraBoldItalic.ttf | Bin 0 -> 136928 bytes assets/fonts/OpenSans-Italic.ttf | Bin 0 -> 136604 bytes assets/fonts/OpenSans-Light.ttf | Bin 0 -> 130804 bytes assets/fonts/OpenSans-LightItalic.ttf | Bin 0 -> 136896 bytes assets/fonts/OpenSans-Medium.ttf | Bin 0 -> 130976 bytes assets/fonts/OpenSans-MediumItalic.ttf | Bin 0 -> 136796 bytes assets/fonts/OpenSans-Regular.ttf | Bin 0 -> 130832 bytes assets/fonts/OpenSans-SemiBold.ttf | Bin 0 -> 130760 bytes assets/fonts/OpenSans-SemiBoldItalic.ttf | Bin 0 -> 136724 bytes assets/fonts/OpenSans_Condensed-Bold.ttf | Bin 0 -> 130372 bytes assets/fonts/OpenSans_Condensed-BoldItalic.ttf | Bin 0 -> 136240 bytes assets/fonts/OpenSans_Condensed-ExtraBold.ttf | Bin 0 -> 130812 bytes .../fonts/OpenSans_Condensed-ExtraBoldItalic.ttf | Bin 0 -> 136652 bytes assets/fonts/OpenSans_Condensed-Italic.ttf | Bin 0 -> 136588 bytes assets/fonts/OpenSans_Condensed-Light.ttf | Bin 0 -> 130472 bytes assets/fonts/OpenSans_Condensed-LightItalic.ttf | Bin 0 -> 136760 bytes assets/fonts/OpenSans_Condensed-Medium.ttf | Bin 0 -> 130520 bytes assets/fonts/OpenSans_Condensed-MediumItalic.ttf | Bin 0 -> 136700 bytes assets/fonts/OpenSans_Condensed-Regular.ttf | Bin 0 -> 130492 bytes assets/fonts/OpenSans_Condensed-SemiBold.ttf | Bin 0 -> 130524 bytes assets/fonts/OpenSans_Condensed-SemiBoldItalic.ttf | Bin 0 -> 136792 bytes assets/fonts/OpenSans_SemiCondensed-Bold.ttf | Bin 0 -> 131168 bytes assets/fonts/OpenSans_SemiCondensed-BoldItalic.ttf | Bin 0 -> 137104 bytes assets/fonts/OpenSans_SemiCondensed-ExtraBold.ttf | Bin 0 -> 131744 bytes .../OpenSans_SemiCondensed-ExtraBoldItalic.ttf | Bin 0 -> 137584 bytes assets/fonts/OpenSans_SemiCondensed-Italic.ttf | Bin 0 -> 137000 bytes assets/fonts/OpenSans_SemiCondensed-Light.ttf | Bin 0 -> 131128 bytes .../fonts/OpenSans_SemiCondensed-LightItalic.ttf | Bin 0 -> 137220 bytes assets/fonts/OpenSans_SemiCondensed-Medium.ttf | Bin 0 -> 130976 bytes .../fonts/OpenSans_SemiCondensed-MediumItalic.ttf | Bin 0 -> 137068 bytes assets/fonts/OpenSans_SemiCondensed-Regular.ttf | Bin 0 -> 130848 bytes assets/fonts/OpenSans_SemiCondensed-SemiBold.ttf | Bin 0 -> 130856 bytes .../OpenSans_SemiCondensed-SemiBoldItalic.ttf | Bin 0 -> 137132 bytes assets/scripts/mainMenu.lua | 17 +++++++++-- src/main.cpp | 33 ++++++++++++++++++++- 38 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 assets/fonts/OpenSans-Bold.ttf create mode 100644 assets/fonts/OpenSans-BoldItalic.ttf create mode 100644 assets/fonts/OpenSans-ExtraBold.ttf create mode 100644 assets/fonts/OpenSans-ExtraBoldItalic.ttf create mode 100644 assets/fonts/OpenSans-Italic.ttf create mode 100644 assets/fonts/OpenSans-Light.ttf create mode 100644 assets/fonts/OpenSans-LightItalic.ttf create mode 100644 assets/fonts/OpenSans-Medium.ttf create mode 100644 assets/fonts/OpenSans-MediumItalic.ttf create mode 100644 assets/fonts/OpenSans-Regular.ttf create mode 100644 assets/fonts/OpenSans-SemiBold.ttf create mode 100644 assets/fonts/OpenSans-SemiBoldItalic.ttf create mode 100644 assets/fonts/OpenSans_Condensed-Bold.ttf create mode 100644 assets/fonts/OpenSans_Condensed-BoldItalic.ttf create mode 100644 assets/fonts/OpenSans_Condensed-ExtraBold.ttf create mode 100644 assets/fonts/OpenSans_Condensed-ExtraBoldItalic.ttf create mode 100644 assets/fonts/OpenSans_Condensed-Italic.ttf create mode 100644 assets/fonts/OpenSans_Condensed-Light.ttf create mode 100644 assets/fonts/OpenSans_Condensed-LightItalic.ttf create mode 100644 assets/fonts/OpenSans_Condensed-Medium.ttf create mode 100644 assets/fonts/OpenSans_Condensed-MediumItalic.ttf create mode 100644 assets/fonts/OpenSans_Condensed-Regular.ttf create mode 100644 assets/fonts/OpenSans_Condensed-SemiBold.ttf create mode 100644 assets/fonts/OpenSans_Condensed-SemiBoldItalic.ttf create mode 100644 assets/fonts/OpenSans_SemiCondensed-Bold.ttf create mode 100644 assets/fonts/OpenSans_SemiCondensed-BoldItalic.ttf create mode 100644 assets/fonts/OpenSans_SemiCondensed-ExtraBold.ttf create mode 100644 assets/fonts/OpenSans_SemiCondensed-ExtraBoldItalic.ttf create mode 100644 assets/fonts/OpenSans_SemiCondensed-Italic.ttf create mode 100644 assets/fonts/OpenSans_SemiCondensed-Light.ttf create mode 100644 assets/fonts/OpenSans_SemiCondensed-LightItalic.ttf create mode 100644 assets/fonts/OpenSans_SemiCondensed-Medium.ttf create mode 100644 assets/fonts/OpenSans_SemiCondensed-MediumItalic.ttf create mode 100644 assets/fonts/OpenSans_SemiCondensed-Regular.ttf create mode 100644 assets/fonts/OpenSans_SemiCondensed-SemiBold.ttf create mode 100644 assets/fonts/OpenSans_SemiCondensed-SemiBoldItalic.ttf diff --git a/assets/fonts/OpenSans-Bold.ttf b/assets/fonts/OpenSans-Bold.ttf new file mode 100644 index 0000000..3a53300 Binary files /dev/null and b/assets/fonts/OpenSans-Bold.ttf differ diff --git a/assets/fonts/OpenSans-BoldItalic.ttf b/assets/fonts/OpenSans-BoldItalic.ttf new file mode 100644 index 0000000..5133a56 Binary files /dev/null and b/assets/fonts/OpenSans-BoldItalic.ttf differ diff --git a/assets/fonts/OpenSans-ExtraBold.ttf b/assets/fonts/OpenSans-ExtraBold.ttf new file mode 100644 index 0000000..2b4ba63 Binary files /dev/null and b/assets/fonts/OpenSans-ExtraBold.ttf differ diff --git a/assets/fonts/OpenSans-ExtraBoldItalic.ttf b/assets/fonts/OpenSans-ExtraBoldItalic.ttf new file mode 100644 index 0000000..b6a9f4f Binary files /dev/null and b/assets/fonts/OpenSans-ExtraBoldItalic.ttf differ diff --git a/assets/fonts/OpenSans-Italic.ttf b/assets/fonts/OpenSans-Italic.ttf new file mode 100644 index 0000000..6d869c5 Binary files /dev/null and b/assets/fonts/OpenSans-Italic.ttf differ diff --git a/assets/fonts/OpenSans-Light.ttf b/assets/fonts/OpenSans-Light.ttf new file mode 100644 index 0000000..1bd1532 Binary files /dev/null and b/assets/fonts/OpenSans-Light.ttf differ diff --git a/assets/fonts/OpenSans-LightItalic.ttf b/assets/fonts/OpenSans-LightItalic.ttf new file mode 100644 index 0000000..5081650 Binary files /dev/null and b/assets/fonts/OpenSans-LightItalic.ttf differ diff --git a/assets/fonts/OpenSans-Medium.ttf b/assets/fonts/OpenSans-Medium.ttf new file mode 100644 index 0000000..117ce67 Binary files /dev/null and b/assets/fonts/OpenSans-Medium.ttf differ diff --git a/assets/fonts/OpenSans-MediumItalic.ttf b/assets/fonts/OpenSans-MediumItalic.ttf new file mode 100644 index 0000000..5d23fed Binary files /dev/null and b/assets/fonts/OpenSans-MediumItalic.ttf differ diff --git a/assets/fonts/OpenSans-Regular.ttf b/assets/fonts/OpenSans-Regular.ttf new file mode 100644 index 0000000..705966c Binary files /dev/null and b/assets/fonts/OpenSans-Regular.ttf differ diff --git a/assets/fonts/OpenSans-SemiBold.ttf b/assets/fonts/OpenSans-SemiBold.ttf new file mode 100644 index 0000000..5d39dde Binary files /dev/null and b/assets/fonts/OpenSans-SemiBold.ttf differ diff --git a/assets/fonts/OpenSans-SemiBoldItalic.ttf b/assets/fonts/OpenSans-SemiBoldItalic.ttf new file mode 100644 index 0000000..367ab79 Binary files /dev/null and b/assets/fonts/OpenSans-SemiBoldItalic.ttf differ diff --git a/assets/fonts/OpenSans_Condensed-Bold.ttf b/assets/fonts/OpenSans_Condensed-Bold.ttf new file mode 100644 index 0000000..b0054ae Binary files /dev/null and b/assets/fonts/OpenSans_Condensed-Bold.ttf differ diff --git a/assets/fonts/OpenSans_Condensed-BoldItalic.ttf b/assets/fonts/OpenSans_Condensed-BoldItalic.ttf new file mode 100644 index 0000000..6402128 Binary files /dev/null and b/assets/fonts/OpenSans_Condensed-BoldItalic.ttf differ diff --git a/assets/fonts/OpenSans_Condensed-ExtraBold.ttf b/assets/fonts/OpenSans_Condensed-ExtraBold.ttf new file mode 100644 index 0000000..cb468b5 Binary files /dev/null and b/assets/fonts/OpenSans_Condensed-ExtraBold.ttf differ diff --git a/assets/fonts/OpenSans_Condensed-ExtraBoldItalic.ttf b/assets/fonts/OpenSans_Condensed-ExtraBoldItalic.ttf new file mode 100644 index 0000000..d22b11e Binary files /dev/null and b/assets/fonts/OpenSans_Condensed-ExtraBoldItalic.ttf differ diff --git a/assets/fonts/OpenSans_Condensed-Italic.ttf b/assets/fonts/OpenSans_Condensed-Italic.ttf new file mode 100644 index 0000000..7a40de1 Binary files /dev/null and b/assets/fonts/OpenSans_Condensed-Italic.ttf differ diff --git a/assets/fonts/OpenSans_Condensed-Light.ttf b/assets/fonts/OpenSans_Condensed-Light.ttf new file mode 100644 index 0000000..2b9c16f Binary files /dev/null and b/assets/fonts/OpenSans_Condensed-Light.ttf differ diff --git a/assets/fonts/OpenSans_Condensed-LightItalic.ttf b/assets/fonts/OpenSans_Condensed-LightItalic.ttf new file mode 100644 index 0000000..23c6280 Binary files /dev/null and b/assets/fonts/OpenSans_Condensed-LightItalic.ttf differ diff --git a/assets/fonts/OpenSans_Condensed-Medium.ttf b/assets/fonts/OpenSans_Condensed-Medium.ttf new file mode 100644 index 0000000..e42ee36 Binary files /dev/null and b/assets/fonts/OpenSans_Condensed-Medium.ttf differ diff --git a/assets/fonts/OpenSans_Condensed-MediumItalic.ttf b/assets/fonts/OpenSans_Condensed-MediumItalic.ttf new file mode 100644 index 0000000..830c187 Binary files /dev/null and b/assets/fonts/OpenSans_Condensed-MediumItalic.ttf differ diff --git a/assets/fonts/OpenSans_Condensed-Regular.ttf b/assets/fonts/OpenSans_Condensed-Regular.ttf new file mode 100644 index 0000000..4f2fb27 Binary files /dev/null and b/assets/fonts/OpenSans_Condensed-Regular.ttf differ diff --git a/assets/fonts/OpenSans_Condensed-SemiBold.ttf b/assets/fonts/OpenSans_Condensed-SemiBold.ttf new file mode 100644 index 0000000..45f2c21 Binary files /dev/null and b/assets/fonts/OpenSans_Condensed-SemiBold.ttf differ diff --git a/assets/fonts/OpenSans_Condensed-SemiBoldItalic.ttf b/assets/fonts/OpenSans_Condensed-SemiBoldItalic.ttf new file mode 100644 index 0000000..8dd9bcb Binary files /dev/null and b/assets/fonts/OpenSans_Condensed-SemiBoldItalic.ttf differ diff --git a/assets/fonts/OpenSans_SemiCondensed-Bold.ttf b/assets/fonts/OpenSans_SemiCondensed-Bold.ttf new file mode 100644 index 0000000..b60406e Binary files /dev/null and b/assets/fonts/OpenSans_SemiCondensed-Bold.ttf differ diff --git a/assets/fonts/OpenSans_SemiCondensed-BoldItalic.ttf b/assets/fonts/OpenSans_SemiCondensed-BoldItalic.ttf new file mode 100644 index 0000000..eb97f18 Binary files /dev/null and b/assets/fonts/OpenSans_SemiCondensed-BoldItalic.ttf differ diff --git a/assets/fonts/OpenSans_SemiCondensed-ExtraBold.ttf b/assets/fonts/OpenSans_SemiCondensed-ExtraBold.ttf new file mode 100644 index 0000000..b9b6bda Binary files /dev/null and b/assets/fonts/OpenSans_SemiCondensed-ExtraBold.ttf differ diff --git a/assets/fonts/OpenSans_SemiCondensed-ExtraBoldItalic.ttf b/assets/fonts/OpenSans_SemiCondensed-ExtraBoldItalic.ttf new file mode 100644 index 0000000..2c8f934 Binary files /dev/null and b/assets/fonts/OpenSans_SemiCondensed-ExtraBoldItalic.ttf differ diff --git a/assets/fonts/OpenSans_SemiCondensed-Italic.ttf b/assets/fonts/OpenSans_SemiCondensed-Italic.ttf new file mode 100644 index 0000000..601a1fa Binary files /dev/null and b/assets/fonts/OpenSans_SemiCondensed-Italic.ttf differ diff --git a/assets/fonts/OpenSans_SemiCondensed-Light.ttf b/assets/fonts/OpenSans_SemiCondensed-Light.ttf new file mode 100644 index 0000000..fcef5fd Binary files /dev/null and b/assets/fonts/OpenSans_SemiCondensed-Light.ttf differ diff --git a/assets/fonts/OpenSans_SemiCondensed-LightItalic.ttf b/assets/fonts/OpenSans_SemiCondensed-LightItalic.ttf new file mode 100644 index 0000000..db6b275 Binary files /dev/null and b/assets/fonts/OpenSans_SemiCondensed-LightItalic.ttf differ diff --git a/assets/fonts/OpenSans_SemiCondensed-Medium.ttf b/assets/fonts/OpenSans_SemiCondensed-Medium.ttf new file mode 100644 index 0000000..e75244a Binary files /dev/null and b/assets/fonts/OpenSans_SemiCondensed-Medium.ttf differ diff --git a/assets/fonts/OpenSans_SemiCondensed-MediumItalic.ttf b/assets/fonts/OpenSans_SemiCondensed-MediumItalic.ttf new file mode 100644 index 0000000..1caac86 Binary files /dev/null and b/assets/fonts/OpenSans_SemiCondensed-MediumItalic.ttf differ diff --git a/assets/fonts/OpenSans_SemiCondensed-Regular.ttf b/assets/fonts/OpenSans_SemiCondensed-Regular.ttf new file mode 100644 index 0000000..565ccde Binary files /dev/null and b/assets/fonts/OpenSans_SemiCondensed-Regular.ttf differ diff --git a/assets/fonts/OpenSans_SemiCondensed-SemiBold.ttf b/assets/fonts/OpenSans_SemiCondensed-SemiBold.ttf new file mode 100644 index 0000000..082c1a8 Binary files /dev/null and b/assets/fonts/OpenSans_SemiCondensed-SemiBold.ttf differ diff --git a/assets/fonts/OpenSans_SemiCondensed-SemiBoldItalic.ttf b/assets/fonts/OpenSans_SemiCondensed-SemiBoldItalic.ttf new file mode 100644 index 0000000..b829909 Binary files /dev/null and b/assets/fonts/OpenSans_SemiCondensed-SemiBoldItalic.ttf differ diff --git a/assets/scripts/mainMenu.lua b/assets/scripts/mainMenu.lua index 2f6b342..d08d82a 100644 --- a/assets/scripts/mainMenu.lua +++ b/assets/scripts/mainMenu.lua @@ -1,18 +1,29 @@ movementSpeed = 3; bannerTextureWidth = 509; +buttonHeight = 50; +buttonWidth = 110; +bigButtonWidth = 150; +bigButtonHeight = buttonHeight; function Setup() setRenderPlayer(false) setBgImage("assets/backgrounds/city-background-1.png") end -function TestButtonFunction() - setBgImage("assets/gui/mainMenu_banner.png") +function Local2PButton() +end + +function MultiplayerButton() +end + +function SettingsButton() end function Update() queueTextureForRender("assets/gui/mainMenu_banner.png", WIDTH // 2 - bannerTextureWidth // 2, 0) - queueButtonForRender("Local 2P", 0, 0, 100, 50, "TestButtonFunction"); + queueButtonForRender("Local 2P", WIDTH // 2 - buttonWidth // 2, HEIGHT // 2 - buttonHeight // 2, buttonWidth, buttonHeight, "Local2PButton"); + queueButtonForRender("Multiplayer", WIDTH // 2 - bigButtonWidth // 2, HEIGHT // 2 - bigButtonHeight // 2 + 55, bigButtonWidth, bigButtonHeight, "MultiplayerButton"); + queueButtonForRender("Settings", WIDTH // 2 - buttonWidth // 2, HEIGHT // 2 - buttonHeight // 2 + 55 + 55, buttonWidth, buttonHeight, "SettingsButton"); -- if keys[getKeycodeByName("RIGHT")] or keys[getKeycodeByName("D")] then -- movePlayer(movementSpeed, 0) diff --git a/src/main.cpp b/src/main.cpp index e4dadc0..ee291a7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -230,6 +230,18 @@ int main() { SDL_SetWindowTitle(window, "Showdown of the Sticks"); SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_BLEND); + if (TTF_Init() == -1) { + std::cerr << "TTF_Init failed: " << TTF_GetError() << std::endl; + return 1; + } + + globalFont = TTF_OpenFont("assets/fonts/OpenSans-Regular.ttf", 24); + if (!globalFont) { + std::cerr << "Failed to load font: " << TTF_GetError() << std::endl; + return 1; + } + + if (!(IMG_Init(IMG_INIT_PNG) & IMG_INIT_PNG)) { std::cerr << "Failed to initialize SDL_image: " << IMG_GetError() << std::endl; return 1; @@ -265,7 +277,7 @@ int main() { } else { lua_pop(L, 1); } - + SDL_Delay(25); } } } @@ -302,6 +314,25 @@ int main() { for (const auto& button: buttonList) { SDL_SetRenderDrawColor(renderer, 252, 210, 77, 255); SDL_RenderFillRect(renderer, &button.rect); + if (globalFont) { + SDL_Color white = {255, 255, 255, 255}; + SDL_Surface* textSurface = TTF_RenderText_Blended(globalFont, button.text.c_str(), white); + if (textSurface) { + SDL_Texture* textTexture = SDL_CreateTextureFromSurface(renderer, textSurface); + SDL_Rect textRect; + textRect.w = textSurface->w; + textRect.h = textSurface->h; + textRect.x = button.rect.x + (button.rect.w - textRect.w) / 2; + textRect.y = button.rect.y + (button.rect.h - textRect.h) / 2; + + SDL_FreeSurface(textSurface); + + if (textTexture) { + SDL_RenderCopy(renderer, textTexture, nullptr, &textRect); + SDL_DestroyTexture(textTexture); + } + } + } } -- cgit v1.2.3